Assembly Diffs
linux arm64
Diffs are based on 1,610,906 contexts (368,644 MinOpts, 1,242,262 FullOpts).
MISSED contexts: base: 2,790 (0.17%), diff: 2,794 (0.17%)
Overall (-7,300 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.linux.arm64.checked.mch | 13,063,852 | -164 | 
| benchmarks.run_pgo.linux.arm64.checked.mch | 65,248,792 | +172 | 
| benchmarks.run_tiered.linux.arm64.checked.mch | 20,463,728 | -80 | 
| coreclr_tests.run.linux.arm64.checked.mch | 301,233,192 | -748 | 
| libraries.crossgen2.linux.arm64.checked.mch | 63,764,680 | -216 | 
| libraries.pmi.linux.arm64.checked.mch | 76,205,836 | -2,312 | 
| libraries_tests.run.linux.arm64.Release.mch | 38,230,684 | -1,028 | 
| librariestestsnotieredcompilation.run.linux.arm64.Release.mch | 161,794,580 | -2,520 | 
| realworld.run.linux.arm64.checked.mch | 15,928,884 | -316 | 
| smoke_tests.nativeaot.linux.arm64.checked.mch | 2,851,260 | -88 | 
  
FullOpts (-7,300 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.linux.arm64.checked.mch | 12,930,536 | -164 | 
| benchmarks.run_pgo.linux.arm64.checked.mch | 43,966,168 | +172 | 
| benchmarks.run_tiered.linux.arm64.checked.mch | 4,685,104 | -80 | 
| coreclr_tests.run.linux.arm64.checked.mch | 140,439,428 | -748 | 
| libraries.crossgen2.linux.arm64.checked.mch | 63,763,044 | -216 | 
| libraries.pmi.linux.arm64.checked.mch | 76,085,852 | -2,312 | 
| libraries_tests.run.linux.arm64.Release.mch | 14,335,208 | -1,028 | 
| librariestestsnotieredcompilation.run.linux.arm64.Release.mch | 148,391,748 | -2,520 | 
| realworld.run.linux.arm64.checked.mch | 15,346,680 | -316 | 
| smoke_tests.nativeaot.linux.arm64.checked.mch | 2,850,272 | -88 | 
  
Example diffs
benchmarks.run.linux.arm64.checked.mch
-24 (-4.92%) : 3782.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
@@ -8,10 +8,10 @@
 ; 0 inlinees with PGO data; 12 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] (  3,  3   )    long  ->  x19         single-def
-;  V01 arg1         [V01,T19] (  3,  3   )    long  ->  x20         single-def
-;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x20]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T20] (  4, 11   )    long  ->  x20        
+;  V00 arg0         [V00,T19] (  3,  3   )    long  ->  x19         single-def
+;  V01 arg1         [V01,T20] (  3,  3   )    long  ->  x20         single-def
+;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x28]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
+;  V03 loc1         [V03,T21] (  4, 11   )    long  ->  x20        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
@@ -19,14 +19,14 @@
 ;  V08 tmp1         [V08,T10] (  7, 84   )     ref  ->  x19         class-hnd single-def "non-inline candidate call" <<unknown class>>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V11 tmp4         [V11,T29] (  3,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V12 tmp5         [V12,T22] (  2,  4   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp4         [V11,T30] (  3,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp5         [V12,T23] (  2,  4   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp10        [V17,T08] (  2, 16   )     int  ->   x4         "Inlining Arg"
-;  V18 tmp11        [V18,T07] (  2, 16   )   byref  ->   x3         "Inlining Arg"
+;  V17 tmp10        [V17,T07] (  2, 16   )     int  ->   x4         "Inlining Arg"
+;  V18 tmp11        [V18,T06] (  2, 16   )   byref  ->   x3         "Inlining Arg"
 ;* V19 tmp12        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V21 tmp14        [V21,T12] (  2,  8   )   ubyte  ->   x0         "Inline return value spill temp"
@@ -40,30 +40,30 @@
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V30 tmp23        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V32 tmp25        [V32,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V32 tmp25        [V32,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V33 tmp26        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V34 tmp27        [V34,T23] (  3, 17   )     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
-;  V35 tmp28        [V35,T21] (  4, 18   )     int  ->  x15         "Inline stloc first use temp"
-;  V36 tmp29        [V36,T17] (  3, 20   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [fp+0x10]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
-;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
-;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
-;  V40 tmp33        [V40,T02] (  4, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V41 tmp34        [V41,T03] (  4, 20   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V34 tmp27        [V34,T24] (  3, 17   )     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
+;  V35 tmp28        [V35,T22] (  4, 18   )     int  ->  x15         "Inline stloc first use temp"
+;  V36 tmp29        [V36,T18] (  3, 20   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [fp+0x18]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
+;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
+;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
+;  V40 tmp33        [V40,T03] (  4, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V41 tmp34        [V41,T02] (  4, 20   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V42 tmp35        [V42,T00] (  6, 41   )     int  ->  x22         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V43 tmp36        [V43,T05] (  3, 17   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
-;  V44 tmp37        [V44,T13] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp38        [V45,T15] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp36        [V43,T13] (  2,  9   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
+;  V44 tmp37        [V44,T14] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp38        [V45,T16] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V46 tmp39        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V47 tmp40        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V48 tmp41        [V48,T24] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;  V48 tmp41        [V48,T25] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V49 tmp42        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V50 tmp43        [V50,T27] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
-;  V51 tmp44        [V51,T25] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
+;* V50 tmp43        [V50,T28] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
+;  V51 tmp44        [V51,T26] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
 ;  V52 tmp45        [V52,T11] (  3, 12   )   byref  ->   x3         "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V53 tmp46        [V53,T06] (  4, 16   )     int  ->   x4         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V54 tmp47        [V54,T14] (  2,  8   )   byref  ->   x3         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V55 tmp48        [V55,T16] (  2,  8   )     int  ->   x4         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V53 tmp46        [V53,T05] (  4, 16   )     int  ->   x4         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V54 tmp47        [V54,T15] (  2,  8   )   byref  ->   x3         "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V55 tmp48        [V55,T17] (  2,  8   )     int  ->   x4         "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp50        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V58 tmp51        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
@@ -79,26 +79,26 @@
 ;* V68 tmp61        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V69 tmp62        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;  V70 tmp63        [V70,T01] (  3, 48   )     ref  ->   x2         "arr expr"
-;  V71 PSPSym       [V71,T28] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
-;  V72 cse0         [V72,T04] (  3, 24   )     int  ->  x23         "CSE - aggressive"
-;  V73 cse1         [V73,T26] (  2, 16   )     int  ->  x12         "CSE - moderate"
+;  V71 PSPSym       [V71,T29] (  1,  1   )    long  ->  [fp+0x38]  do-not-enreg[V] "PSPSym"
+;  V72 cse0         [V72,T09] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V73 cse1         [V73,T04] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V74 cse2         [V74,T27] (  2, 16   )     int  ->  x12         "CSE - moderate"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 48
 
 G_M19804_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x38]
-            stp     x21, x22, [sp, #0x48]
-            str     x23, [sp, #0x58]
+            stp     x19, x20, [sp, #0x40]
+            stp     x21, x22, [sp, #0x50]
             mov     fp, sp
-            str     xzr, [fp, #0x20]  // [V02 loc0]
+            str     xzr, [fp, #0x28] // [V02 loc0]
             add     x2, sp, #96
-            str     x2, [fp, #0x30]   // [V71 PSPSym]
+            str     x2, [fp, #0x38]    // [V71 PSPSym]
             mov     x19, x0
             mov     x20, x1
-                      ;; size=40 bbWeight=1 PerfScore 8.00
+                      ;; size=36 bbWeight=1 PerfScore 7.00
 G_M19804_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x0, fp, #16    // [V37 tmp30]
+            add     x0, fp, #24 // [V37 tmp30]
             bl      CORINFO_HELP_JIT_REVERSE_PINVOKE_ENTER
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 1.50
@@ -111,9 +111,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             blr     x1
             ; byrRegs +[x0]
             ; gcr arg pop 0
-            stp     x0, x1, [fp, #0x20]   // [V02 loc0], [V02 loc0+0x08]
+            stp     x0, x1, [fp, #0x28] // [V02 loc0], [V02 loc0+0x08]
             ldrb    w2, [x20, #0x08]
-            cbz     w2, G_M19804_IG11
+            cbz     w2, G_M19804_IG10
             ldr     x19, [x20]
             ; gcrRegs +[x19]
             ldr     w21, [x19, #0x14]
@@ -123,9 +123,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M19804_IG04:        ; bbWeight=4, gcrefRegs=80004 {x2 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x2]
             ; byrRegs -[x0]
-            ldr     x0, [fp, #0x20]   // [V38 tmp31]
+            ldr     x0, [fp, #0x28] // [V38 tmp31]
             ; byrRegs +[x0]
-            ldr     w1, [fp, #0x28]  // [V39 tmp32]
+            ldr     w1, [fp, #0x30] // [V39 tmp32]
             cbnz    x2, G_M19804_IG05
             mov     x3, xzr
             ; byrRegs +[x3]
@@ -153,15 +153,15 @@ G_M19804_IG06:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0009 {x0 x3
             blr     x3
             ; byrRegs -[x0-x1]
             ; gcr arg pop 0
-            cbnz    w0, G_M19804_IG14
+            cbnz    w0, G_M19804_IG13
                       ;; size=40 bbWeight=4 PerfScore 38.00
 G_M19804_IG07:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            ldr     w23, [x19, #0x14]
-            cmp     w21, w23
-            bne     G_M19804_IG10
+            ldr     w2, [x19, #0x14]
+            cmp     w21, w2
+            bne     G_M19804_IG09
             ldr     w2, [x19, #0x10]
             cmp     w22, w2
-            bhs     G_M19804_IG11
+            bhs     G_M19804_IG10
             ldr     x2, [x19, #0x08]
             ; gcrRegs +[x2]
             ldr     w0, [x2, #0x08]
@@ -191,13 +191,9 @@ G_M19804_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
 G_M19804_IG10:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            cmp     w21, w23
-            bne     G_M19804_IG09
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldr     x19, [x20]
             ; gcrRegs +[x19]
-            add     x0, fp, #32  // [V02 loc0]
+            add     x0, fp, #40  // [V02 loc0]
             movz    x1, #0xD1FFAB1E      // code for <unknown method>
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
@@ -214,9 +210,9 @@ G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x14]
             ldr     w12, [x14, #0x08]
             cmp     w12, w15
-            bls     G_M19804_IG13
+            bls     G_M19804_IG12
                      ;; size=60 bbWeight=8 PerfScore 172.00
-G_M19804_IG12:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG11:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             add     w12, w15, #1
             str     w12, [x19, #0x10]
@@ -229,9 +225,9 @@ G_M19804_IG12:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x1 x15 x19]
             ; byrRegs -[x14]
-            b       G_M19804_IG14
+            b       G_M19804_IG13
                      ;; size=28 bbWeight=1 PerfScore 5.50
-G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG12:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x1 x19]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -243,28 +239,26 @@ G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {},
             ; gcrRegs -[x0-x1 x19]
             ; gcr arg pop 0
                        ;; size=24 bbWeight=1 PerfScore 6.00
-G_M19804_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x0, fp, #16    // [V37 tmp30]
+G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            add     x0, fp, #24    // [V37 tmp30]
             bl      CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x23, [sp, #0x58]
-            ldp     x21, x22, [sp, #0x48]
-            ldp     x19, x20, [sp, #0x38]
+G_M19804_IG14:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x50]
+            ldp     x19, x20, [sp, #0x40]
             ldp     fp, lr, [sp], #0x60
             ret     lr
-                       ;; size=20 bbWeight=1 PerfScore 6.00
-G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                      ;; size=16 bbWeight=1 PerfScore 4.00
+G_M19804_IG15:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             ; gcrRegs +[x0]
             stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            str     x23, [sp, #0x38]
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
             add     x3, fp, #96
-            str     x3, [sp, #0x10]
-                       ;; size=24 bbWeight=0 PerfScore 0.00
-G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
+            str     x3, [sp, #0x18]
+                       ;; size=20 bbWeight=0 PerfScore 0.00
+G_M19804_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
             ldr     x1, [x0]
             ldr     x1, [x1, #0x48]
             ldr     x1, [x1, #0x08]
@@ -277,17 +271,16 @@ G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
...
  
-12 (-1.94%) : 6839.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
@@ -10,8 +10,8 @@
 ;
 ;  V00 this         [V00,T10] (  3,  4   )     ref  ->  x20         this class-hnd single-def <System.Threading.Tasks.Task>
 ;  V01 arg1         [V01,T09] (  5,  4.50)     ref  ->  x19         class-hnd single-def <System.Threading.Tasks.Task+ContingentProperties>
-;  V02 loc0         [V02,T12] (  5,  3.50)     ref  ->  x21         class-hnd single-def <<unknown class>>
-;  V03 loc1         [V03,T16] (  3,  0.50)     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <<unknown class>>
+;  V02 loc0         [V02,T13] (  5,  3.50)     ref  ->  x21         class-hnd single-def <<unknown class>>
+;  V03 loc1         [V03,T17] (  3,  0.50)     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <<unknown class>>
 ;  V04 loc2         [V04    ] (  6,  2.50)   ubyte  ->  [fp+0x18]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
@@ -24,20 +24,21 @@
 ;  V13 tmp5         [V13,T05] (  3, 12   )     ref  ->  x24         class-hnd "Inlining Arg" <System.AggregateException>
 ;* V14 tmp6         [V14    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V15 tmp7         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V16 tmp8         [V16,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V16 tmp8         [V16,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V17 tmp9         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V18 tmp10        [V18,T02] (  4, 12.50)     ref  ->  x21         single-def "field V05._list (fldOffset=0x0)" P-INDEP
-;  V19 tmp11        [V19,T03] (  3, 10   )     ref  ->  x24         "field V05._current (fldOffset=0x8)" P-INDEP
+;  V18 tmp10        [V18,T03] (  4, 12.50)     ref  ->  x21         single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V19 tmp11        [V19,T02] (  3, 10   )     ref  ->  x24         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V20 tmp12        [V20,T00] (  6, 20.50)     int  ->  x23         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V21 tmp13        [V21,T07] (  3,  8.50)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
-;  V22 tmp14        [V22,T13] (  3,  1.50)     ref  ->  x21         single-def "field V09._list (fldOffset=0x0)" P-INDEP
+;  V21 tmp13        [V21,T12] (  2,  4.50)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V22 tmp14        [V22,T14] (  3,  1.50)     ref  ->  x21         single-def "field V09._list (fldOffset=0x0)" P-INDEP
 ;* V23 tmp15        [V23    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V09._current (fldOffset=0x8)" P-INDEP
-;* V24 tmp16        [V24,T17] (  0,  0   )     int  ->  zero-ref    "field V09._index (fldOffset=0x10)" P-INDEP
-;  V25 tmp17        [V25,T14] (  2,  1   )     int  ->  x22         "field V09._version (fldOffset=0x14)" P-INDEP
+;* V24 tmp16        [V24,T18] (  0,  0   )     int  ->  zero-ref    "field V09._index (fldOffset=0x10)" P-INDEP
+;  V25 tmp17        [V25,T15] (  2,  1   )     int  ->  x22         "field V09._version (fldOffset=0x14)" P-INDEP
 ;  V26 tmp18        [V26,T01] (  3, 24   )     ref  ->   x0         "arr expr"
-;  V27 PSPSym       [V27,T15] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
-;  V28 cse0         [V28,T06] (  3, 12   )     int  ->  x24         "CSE - aggressive"
-;  V29 cse1         [V29,T04] (  4, 12   )   byref  ->  x25         "CSE - aggressive"
+;  V27 PSPSym       [V27,T16] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
+;  V28 cse0         [V28,T08] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V29 cse1         [V29,T06] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V30 cse2         [V30,T04] (  4, 12   )   byref  ->  x25         "CSE - aggressive"
 ;
 ; Lcl frame size = 24
 
@@ -68,7 +69,7 @@ G_M37406_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             ; byrRegs +[x1]
             ldapr   x21, [x1]
             ; gcrRegs +[x21]
-            cbz     x21, G_M37406_IG15
+            cbz     x21, G_M37406_IG14
                        ;; size=40 bbWeight=1 PerfScore 11.00
 G_M37406_IG03:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
             ; byrRegs -[x1]
@@ -76,7 +77,7 @@ G_M37406_IG03:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs
             ; GC ptr vars +{V03}
             str     wzr, [fp, #0x18]   // [V04 loc2]
                        ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M37406_IG04:        ; bbWeight=0.50, gcVars=0000000000010000 {V03}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M37406_IG04:        ; bbWeight=0.50, gcVars=0000000000020000 {V03}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w1, [fp, #0x18] // [V04 loc2]
             cbnz    w1, G_M37406_IG09
             add     x1, fp, #24    // [V04 loc2]
@@ -96,17 +97,17 @@ G_M37406_IG04:        ; bbWeight=0.50, gcVars=0000000000010000 {V03}, gcrefRegs=
             mov     w23, wzr
                        ;; size=52 bbWeight=0.50 PerfScore 8.00
 G_M37406_IG05:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
-            ldr     w24, [x21, #0x14]
-            cmp     w22, w24
-            bne     G_M37406_IG10
+            ldr     w0, [x21, #0x14]
+            cmp     w22, w0
+            bne     G_M37406_IG11
             ldr     w0, [x21, #0x10]
             cmp     w23, w0
-            bhs     G_M37406_IG13
+            bhs     G_M37406_IG12
             ldr     x0, [x21, #0x08]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x08]
             cmp     w23, w1
-            bhs     G_M37406_IG11
+            bhs     G_M37406_IG10
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
@@ -213,18 +214,11 @@ G_M37406_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M37406_IG10:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x19]
-            cmp     w22, w24
-            bne     G_M37406_IG12
-            b       G_M37406_IG13
-                       ;; size=12 bbWeight=4 PerfScore 10.00
-G_M37406_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x19]
+G_M37406_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M37406_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M37406_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -233,10 +227,10 @@ G_M37406_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M37406_IG13:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M37406_IG12:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x19]
             ldrb    w0, [fp, #0x18]    // [V04 loc2]
-            cbz     w0, G_M37406_IG14
+            cbz     w0, G_M37406_IG13
             ldr     x0, [fp, #0x10]  // [V03 loc1]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V03}
@@ -244,12 +238,12 @@ G_M37406_IG13:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0.50 PerfScore 3.00
-G_M37406_IG14:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M37406_IG13:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             add     x0, x19, #40
             ; byrRegs +[x0]
             stlr    xzr, [x0]
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
-G_M37406_IG15:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M37406_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x19]
             ; byrRegs -[x0]
             ldr     x25, [sp, #0x58]
@@ -259,8 +253,8 @@ G_M37406_IG15:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=24 bbWeight=1 PerfScore 7.00
-G_M37406_IG16:        ; bbWeight=0, gcVars=0000000000010000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-            ; GC ptr vars +{V03 V16}
+G_M37406_IG15:        ; bbWeight=0, gcVars=0000000000020000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+            ; GC ptr vars +{V03}
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x18]
             stp     x21, x22, [sp, #0x28]
@@ -269,17 +263,17 @@ G_M37406_IG16:        ; bbWeight=0, gcVars=0000000000010000 {V03}, gcrefRegs=000
             add     x3, fp, #96
             str     x3, [sp, #0x10]
                        ;; size=28 bbWeight=0 PerfScore 0.00
-G_M37406_IG17:        ; bbWeight=0, gcVars=0000000000010000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M37406_IG16:        ; bbWeight=0, gcVars=0000000000020000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w0, [fp, #0x18]   // [V04 loc2]
-            cbz     w0, G_M37406_IG18
+            cbz     w0, G_M37406_IG17
             ldr     x0, [fp, #0x10]  // [V03 loc1]
             ; gcrRegs +[x0]
-            ; GC ptr vars -{V03 V16}
+            ; GC ptr vars -{V03}
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M37406_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M37406_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldr     x25, [sp, #0x48]
             ldp     x23, x24, [sp, #0x38]
             ldp     x21, x22, [sp, #0x28]
@@ -288,7 +282,7 @@ G_M37406_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 620, prolog size 40, PerfScore 268.75, instruction count 155, allocated bytes for code 620 (MethodHash=88f36de1) for method System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
+; Total bytes of code 608, prolog size 40, PerfScore 258.75, instruction count 152, allocated bytes for code 608 (MethodHash=88f36de1) for method System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -299,7 +293,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 138 (0x0008a) Actual length = 552 (0x000228)
+  Function Length   : 135 (0x00087) Actual length = 540 (0x00021c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -338,4 +332,4 @@ Unwind Info:
 
 *************** EH table for System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M37406_IG04..G_M37406_IG13) handled by [G_M37406_IG16..END) (fault)
+EH#0: try [G_M37406_IG04..G_M37406_IG12) handled by [G_M37406_IG15..END) (fault)
  
-8 (-1.82%) : 6652.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
@@ -10,62 +10,63 @@
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Net.Http.Headers.HeaderDescriptor>
 ;  V01 arg1         [V01,T03] (  8, 13.50)     ref  ->  x19         class-hnd single-def <System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo>
-;  V02 loc0         [V02,T16] (  3,  0.50)     ref  ->  [fp+0x18]  class-hnd exact EH-live spill-single-def <System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo>
-;  V03 loc1         [V03    ] (  6,  5   )   ubyte  ->  [fp+0x20]  do-not-enreg[X] addr-exposed ld-addr-op
-;  V04 loc2         [V04,T12] (  3,  1.50)     ref  ->   x0         class-hnd single-def <<unknown class>>
+;  V02 loc0         [V02,T17] (  3,  0.50)     ref  ->  [fp+0x10]  class-hnd exact EH-live spill-single-def <System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo>
+;  V03 loc1         [V03    ] (  6,  5   )   ubyte  ->  [fp+0x18]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V04 loc2         [V04,T13] (  3,  1.50)     ref  ->   x0         class-hnd single-def <<unknown class>>
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
-;  V07 loc5         [V07,T10] (  5,  2.50)     ref  ->   x2         class-hnd exact <System.String>
+;  V07 loc5         [V07,T11] (  5,  2.50)     ref  ->   x2         class-hnd exact <System.String>
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V09 tmp1         [V09,T11] (  2,  2   )     ref  ->   x2         single-def "CASTCLASS eval op1"
+;  V09 tmp1         [V09,T12] (  2,  2   )     ref  ->   x2         single-def "CASTCLASS eval op1"
 ;* V10 tmp2         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.String>
 ;* V11 tmp3         [V11    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
-;* V12 tmp4         [V12,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V12 tmp4         [V12,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V13 tmp5         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V14 tmp6         [V14,T08] (  3,  5.50)     ref  ->  x20         single-def "field V00._descriptor (fldOffset=0x0)" P-INDEP
 ;  V15 tmp7         [V15,T02] (  4, 12.50)     ref  ->  x21         single-def "field V05._list (fldOffset=0x0)" P-INDEP
 ;  V16 tmp8         [V16,T04] (  2,  8   )     ref  ->   x2         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V17 tmp9         [V17,T00] (  6, 20.50)     int  ->  x23         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V18 tmp10        [V18,T06] (  3,  8.50)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
-;  V19 tmp11        [V19,T13] (  3,  1.50)     ref  ->  x21         single-def "field V11._list (fldOffset=0x0)" P-INDEP
+;  V18 tmp10        [V18,T09] (  2,  4.50)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V19 tmp11        [V19,T14] (  3,  1.50)     ref  ->  x21         single-def "field V11._list (fldOffset=0x0)" P-INDEP
 ;* V20 tmp12        [V20    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V11._current (fldOffset=0x8)" P-INDEP
-;* V21 tmp13        [V21,T17] (  0,  0   )     int  ->  zero-ref    "field V11._index (fldOffset=0x10)" P-INDEP
-;  V22 tmp14        [V22,T14] (  2,  1   )     int  ->  x22         "field V11._version (fldOffset=0x14)" P-INDEP
+;* V21 tmp13        [V21,T18] (  0,  0   )     int  ->  zero-ref    "field V11._index (fldOffset=0x10)" P-INDEP
+;  V22 tmp14        [V22,T15] (  2,  1   )     int  ->  x22         "field V11._version (fldOffset=0x14)" P-INDEP
 ;  V23 tmp15        [V23,T01] (  3, 24   )     ref  ->   x0         "arr expr"
-;  V24 PSPSym       [V24,T15] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
-;  V25 cse0         [V25,T05] (  3, 12   )     int  ->  x24         "CSE - aggressive"
-;  V26 cse1         [V26,T09] (  4,  3   )     ref  ->  x21         "CSE - aggressive"
+;  V24 PSPSym       [V24,T16] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
+;  V25 cse0         [V25,T07] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V26 cse1         [V26,T05] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V27 cse2         [V27,T10] (  4,  3   )     ref  ->  x21         "CSE - aggressive"
 ;
-; Lcl frame size = 32
+; Lcl frame size = 24
 
 G_M53769_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x30]
-            stp     x21, x22, [sp, #0x40]
-            stp     x23, x24, [sp, #0x50]
+            stp     fp, lr, [sp, #-0x50]!
+            stp     x19, x20, [sp, #0x28]
+            stp     x21, x22, [sp, #0x38]
+            str     x23, [sp, #0x48]
             mov     fp, sp
-            add     x2, sp, #96
-            str     x2, [fp, #0x28]    // [V24 PSPSym]
+            add     x2, sp, #80
+            str     x2, [fp, #0x20]    // [V24 PSPSym]
             mov     x20, x0
             ; gcrRegs +[x20]
             mov     x19, x1
             ; gcrRegs +[x19]
                        ;; size=36 bbWeight=1 PerfScore 7.00
 G_M53769_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
-            str     x19, [fp, #0x18] // [V02 loc0]
+            str     x19, [fp, #0x10] // [V02 loc0]
             ; GC ptr vars +{V02}
-            str     wzr, [fp, #0x20] // [V03 loc1]
+            str     wzr, [fp, #0x18] // [V03 loc1]
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M53769_IG03:        ; bbWeight=1, gcVars=0000000000010000 {V02}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
-            ldrb    w1, [fp, #0x20]    // [V03 loc1]
+G_M53769_IG03:        ; bbWeight=1, gcVars=0000000000020000 {V02}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
+            ldrb    w1, [fp, #0x18]    // [V03 loc1]
             cbnz    w1, G_M53769_IG06
-            add     x1, fp, #32 // [V03 loc1]
+            add     x1, fp, #24  // [V03 loc1]
             mov     x0, x19
             ; gcrRegs +[x0]
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            ldrb    w0, [fp, #0x20]   // [V03 loc1]
+            ldrb    w0, [fp, #0x18]  // [V03 loc1]
             movz    x1, #0xD1FFAB1E      // code for <unknown method>
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
@@ -74,7 +75,7 @@ G_M53769_IG03:        ; bbWeight=1, gcVars=0000000000010000 {V02}, gcrefRegs=180
             ; gcr arg pop 0
             ldr     x21, [x19, #0x08]
             ; gcrRegs +[x21]
-            cbz     x21, G_M53769_IG12
+            cbz     x21, G_M53769_IG11
                        ;; size=52 bbWeight=1 PerfScore 16.50
 G_M53769_IG04:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             mov     x1, x21
@@ -85,24 +86,24 @@ G_M53769_IG04:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs
             bl      CORINFO_HELP_ISINSTANCEOFCLASS
             ; gcrRegs -[x1] +[x0]
             ; gcr arg pop 0
-            cbz     x0, G_M53769_IG11
+            cbz     x0, G_M53769_IG10
             mov     x21, x0
             ldr     w22, [x21, #0x14]
             mov     w23, wzr
                        ;; size=36 bbWeight=0.50 PerfScore 4.00
 G_M53769_IG05:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
-            ldr     w24, [x21, #0x14]
-            cmp     w22, w24
-            bne     G_M53769_IG07
+            ldr     w0, [x21, #0x14]
+            cmp     w22, w0
+            bne     G_M53769_IG09
             ldr     w0, [x21, #0x10]
             cmp     w23, w0
-            bhs     G_M53769_IG08
+            bhs     G_M53769_IG07
             ldr     x0, [x21, #0x08]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x08]
             cmp     w23, w1
-            bhs     G_M53769_IG09
+            bhs     G_M53769_IG08
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
@@ -133,21 +134,17 @@ G_M53769_IG06:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M53769_IG07:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M53769_IG07:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x19]
-            cmp     w22, w24
-            bne     G_M53769_IG10
-                       ;; size=8 bbWeight=4 PerfScore 6.00
-G_M53769_IG08:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             str     xzr, [x19, #0x08]
-            b       G_M53769_IG12
+            b       G_M53769_IG11
                      ;; size=8 bbWeight=4 PerfScore 8.00
-G_M53769_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M53769_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M53769_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M53769_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -156,7 +153,7 @@ G_M53769_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M53769_IG11:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+G_M53769_IG10:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x19-x21]
             mov     x2, x21
             ; gcrRegs +[x2]
@@ -177,56 +174,56 @@ G_M53769_IG11:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs
             blr     x3
             ; gcrRegs -[x0-x2 x20-x21]
             ; gcr arg pop 0
-            b       G_M53769_IG08
+            b       G_M53769_IG07
                       ;; size=60 bbWeight=0.50 PerfScore 6.75
-G_M53769_IG12:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M53769_IG11:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x19]
-            ldrb    w0, [fp, #0x20]    // [V03 loc1]
-            cbz     w0, G_M53769_IG14
+            ldrb    w0, [fp, #0x18] // [V03 loc1]
+            cbz     w0, G_M53769_IG13
                       ;; size=8 bbWeight=1 PerfScore 3.00
-G_M53769_IG13:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ldr     x0, [fp, #0x18]    // [V02 loc0]
+G_M53769_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ldr     x0, [fp, #0x10]    // [V02 loc0]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V02}
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=8 bbWeight=0.50 PerfScore 1.50
-G_M53769_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ldp     x23, x24, [sp, #0x50]
-            ldp     x21, x22, [sp, #0x40]
-            ldp     x19, x20, [sp, #0x30]
-            ldp     fp, lr, [sp], #0x60
+G_M53769_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            ldr     x23, [sp, #0x48]
+            ldp     x21, x22, [sp, #0x38]
+            ldp     x19, x20, [sp, #0x28]
+            ldp     fp, lr, [sp], #0x50
             ret     lr
-                        ;; size=20 bbWeight=1 PerfScore 5.00
-G_M53769_IG15:        ; bbWeight=0, gcVars=0000000000010000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-            ; GC ptr vars +{V02 V16}
-            stp     fp, lr, [sp, #-0x50]!
-            stp     x19, x20, [sp, #0x20]
-            stp     x21, x22, [sp, #0x30]
-            stp     x23, x24, [sp, #0x40]
-            add     x3, fp, #96
-            str     x3, [sp, #0x18]
+                      ;; size=20 bbWeight=1 PerfScore 6.00
+G_M53769_IG14:        ; bbWeight=0, gcVars=0000000000020000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+            ; GC ptr vars +{V02 V17}
+            stp     fp, lr, [sp, #-0x40]!
+            stp     x19, x20, [sp, #0x18]
+            stp     x21, x22, [sp, #0x28]
+            str     x23, [sp, #0x38]
+            add     x3, fp, #80
+            str     x3, [sp, #0x10]
                         ;; size=24 bbWeight=0 PerfScore 0.00
-G_M53769_IG16:        ; bbWeight=0, gcVars=0000000000010000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            ldrb    w0, [fp, #0x20]    // [V03 loc1]
-            cbz     w0, G_M53769_IG17
-            ldr     x0, [fp, #0x18]    // [V02 loc0]
+G_M53769_IG15:        ; bbWeight=0, gcVars=0000000000020000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+            ldrb    w0, [fp, #0x18]    // [V03 loc1]
+            cbz     w0, G_M53769_IG16
+            ldr     x0, [fp, #0x10]    // [V02 loc0]
             ; gcrRegs +[x0]
-            ; GC ptr vars -{V02 V16}
+            ; GC ptr vars -{V02 V17}
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M53769_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
-            ldp     x23, x24, [sp, #0x40]
-            ldp     x21, x22, [sp, #0x30]
-            ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x50
+G_M53769_IG16:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+            ldr     x23, [sp, #0x38]
+            ldp     x21, x22, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 440, prolog size 36, PerfScore 171.75, instruction count 110, allocated bytes for code 440 (MethodHash=4a3e2df6) for method System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
+; Total bytes of code 432, prolog size 36, PerfScore 166.75, instruction count 108, allocated bytes for code 432 (MethodHash=4a3e2df6) for method System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
...
  
-8 (-0.15%) : 12036.dasm - Jil.Deserialize.InlineDeserializer`1[System.__Canon]:ReadObjectAutomata(System.Type):this (FullOpts)
@@ -10,211 +10,212 @@
 ;
 ;  V00 this         [V00,T00] ( 86,251   )     ref  ->  [fp+0x60]  this class-hnd EH-live single-def <Jil.Deserialize.InlineDeserializer`1[System.__Canon]>
 ;  V01 arg1         [V01,T32] ( 15, 12   )     ref  ->  x19         class-hnd single-def <System.Type>
-;  V02 loc0         [V02,T53] (  6,  6   )     ref  ->  x20         class-hnd exact single-def <Jil.Deserialize.InlineDeserializer`1+<>c__DisplayClass89_0[System.__Canon]>
-;  V03 loc1         [V03,T79] (  4,  4   )     ref  ->  x21         class-hnd single-def <Sigil.Label>
+;  V02 loc0         [V02,T54] (  6,  6   )     ref  ->  x20         class-hnd exact single-def <Jil.Deserialize.InlineDeserializer`1+<>c__DisplayClass89_0[System.__Canon]>
+;  V03 loc1         [V03,T80] (  4,  4   )     ref  ->  x21         class-hnd single-def <Sigil.Label>
 ;  V04 loc2         [V04,T23] ( 12, 18   )     ref  ->  [fp+0x58]  class-hnd exact EH-live spill-single-def <Jil.Deserialize.InlineDeserializer`1+<>c__DisplayClass89_1[System.__Canon]>
 ;  V05 loc3         [V05,T22] (  8, 22   )     ref  ->  x22         class-hnd <<unknown class>>
 ;  V06 loc4         [V06,T24] (  5, 18   )     ref  ->  x24         class-hnd single-def <Sigil.Label>
-;  V07 loc5         [V07,T139] (  2,  2   )     ref  ->  x25         class-hnd single-def <System.Type>
-;  V08 loc6         [V08,T71] (  5,  5   )     ref  ->  x25         class-hnd single-def <System.Type>
+;  V07 loc5         [V07,T140] (  2,  2   )     ref  ->  x25         class-hnd single-def <System.Type>
+;  V08 loc6         [V08,T72] (  5,  5   )     ref  ->  x25         class-hnd single-def <System.Type>
 ;* V09 loc7         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <<unknown class>>
-;  V10 loc8         [V10,T132] (  3,  3   )     ref  ->  x26         class-hnd single-def <<unknown class>>
+;  V10 loc8         [V10,T133] (  3,  3   )     ref  ->  x26         class-hnd single-def <<unknown class>>
 ;  V11 loc9         [V11,T39] (  4, 11   )     ref  ->  x28         class-hnd <System.Reflection.MethodInfo>
-;  V12 loc10        [V12,T140] (  2,  2   )     ref  ->  x25         class-hnd single-def <Sigil.Label[]>
+;  V12 loc10        [V12,T141] (  2,  2   )     ref  ->  x25         class-hnd single-def <Sigil.Label[]>
 ;  V13 loc11        [V13,T43] (  3, 10   )     ref  ->  x27         class-hnd single-def <Sigil.Label>
 ;  V14 loc12        [V14,T20] (  3, 24   )     ref  ->  x25         class-hnd single-def <Sigil.Label>
-;  V15 loc13        [V15,T133] (  3,  3   )     ref  ->   x1         class-hnd single-def <System.Reflection.ConstructorInfo>
+;  V15 loc13        [V15,T134] (  3,  3   )     ref  ->   x1         class-hnd single-def <System.Reflection.ConstructorInfo>
 ;* V16 loc14        [V16    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.Nullable`1[int]>
-;  V17 loc15        [V17,T78] (  7,  4   )     ref  ->  [fp+0x50]  class-hnd EH-live spill-single-def <Sigil.Local>
-;  V18 loc16        [V18,T134] (  3,  3   )     ref  ->  [fp+0x48]  class-hnd spill-single-def <Sigil.Label>
+;  V17 loc15        [V17,T79] (  7,  4   )     ref  ->  [fp+0x50]  class-hnd EH-live spill-single-def <Sigil.Local>
+;  V18 loc16        [V18,T135] (  3,  3   )     ref  ->  [fp+0x48]  class-hnd spill-single-def <Sigil.Label>
 ;* V19 loc17        [V19    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[<>f__AnonymousType0`4[int,System.String,System.Reflection.MemberInfo[],Sigil.Label]]>
-;  V20 loc18        [V20,T49] (  2,  8   )     ref  ->  [fp+0x40]  class-hnd exact spill-single-def <System.String>
+;  V20 loc18        [V20,T50] (  2,  8   )     ref  ->  [fp+0x40]  class-hnd exact spill-single-def <System.String>
 ;  V21 loc19        [V21,T36] (  3, 12   )     ref  ->   x1         class-hnd <Sigil.Label>
-;  V22 loc20        [V22,T26] (  4, 16   )     ref  ->  [fp+0x38]  class-hnd spill-single-def <System.Reflection.MemberInfo[]>
-;  V23 loc21        [V23,T50] (  2,  8   )     ref  ->  [fp+0x30]  class-hnd spill-single-def <System.Reflection.MemberInfo>
+;  V22 loc20        [V22,T25] (  4, 16   )     ref  ->  [fp+0x38]  class-hnd spill-single-def <System.Reflection.MemberInfo[]>
+;  V23 loc21        [V23,T51] (  2,  8   )     ref  ->  [fp+0x30]  class-hnd spill-single-def <System.Reflection.MemberInfo>
 ;# V24 OutArgs      [V24    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V25 tmp1         [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <Jil.Deserialize.InlineDeserializer`1+<>c__DisplayClass89_0[System.__Canon]>
 ;* V26 tmp2         [V26    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V27 tmp3         [V27,T86] (  2,  4   )     ref  ->  x21         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
-;  V28 tmp4         [V28,T87] (  2,  4   )     ref  ->  x22         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V27 tmp3         [V27,T87] (  2,  4   )     ref  ->  x21         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V28 tmp4         [V28,T88] (  2,  4   )     ref  ->  x22         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
 ;* V29 tmp5         [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <Jil.Deserialize.InlineDeserializer`1+<>c__DisplayClass89_1[System.__Canon]>
 ;* V30 tmp6         [V30    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V31 tmp7         [V31,T88] (  2,  4   )     ref  ->  x22         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
-;  V32 tmp8         [V32,T44] (  4,  8   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V33 tmp9         [V33,T89] (  2,  4   )     ref  ->  x24         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
-;  V34 tmp10        [V34,T45] (  4,  8   )     ref  ->   x0         class-hnd exact single-def "dup spill" <System.Type[]>
+;  V31 tmp7         [V31,T89] (  2,  4   )     ref  ->  x22         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V32 tmp8         [V32,T45] (  4,  8   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V33 tmp9         [V33,T90] (  2,  4   )     ref  ->  x24         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V34 tmp10        [V34,T46] (  4,  8   )     ref  ->   x0         class-hnd exact single-def "dup spill" <System.Type[]>
 ;* V35 tmp11        [V35    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "impSpillLclRefs" <System.RuntimeType>
-;  V36 tmp12        [V36,T73] (  3,  4.50)     ref  ->   x1         single-def "CASTCLASS eval op1"
-;  V37 tmp13        [V37,T138] (  3,  2.50)    long  ->   x2         "fgMakeTemp is creating a new local variable"
+;  V36 tmp12        [V36,T74] (  3,  4.50)     ref  ->   x1         single-def "CASTCLASS eval op1"
+;  V37 tmp13        [V37,T139] (  3,  2.50)    long  ->   x2         "fgMakeTemp is creating a new local variable"
 ;  V38 tmp14        [V38,T37] (  7, 11.50)     ref  ->  x26         class-hnd "spilling QMark2" <<unknown class>>
 ;* V39 tmp15        [V39    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V40 tmp16        [V40,T90] (  2,  4   )     ref  ->  x28         class-hnd single-def "dup spill" <<unknown class>>
+;  V40 tmp16        [V40,T91] (  2,  4   )     ref  ->  x28         class-hnd single-def "dup spill" <<unknown class>>
 ;* V41 tmp17        [V41    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V42 tmp18        [V42,T72] (  5,  5   )     ref  ->  x28        
-;  V43 tmp19        [V43,T46] (  4,  8   )     ref  ->  x26         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V44 tmp20        [V44,T91] (  2,  4   )     ref  ->  x28         class-hnd exact single-def "impAppendStmt" <<unknown class>>
-;  V45 tmp21        [V45,T54] (  3,  6   )     ref  ->   x5         class-hnd exact single-def "dup spill" <System.Type[]>
+;  V42 tmp18        [V42,T73] (  5,  5   )     ref  ->  x28        
+;  V43 tmp19        [V43,T47] (  4,  8   )     ref  ->  x26         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V44 tmp20        [V44,T92] (  2,  4   )     ref  ->  x28         class-hnd exact single-def "impAppendStmt" <<unknown class>>
+;  V45 tmp21        [V45,T55] (  3,  6   )     ref  ->   x5         class-hnd exact single-def "dup spill" <System.Type[]>
 ;* V46 tmp22        [V46    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.RuntimeType>
 ;* V47 tmp23        [V47    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V48 tmp24        [V48,T92] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <<unknown class>>
+;  V48 tmp24        [V48,T93] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <<unknown class>>
 ;* V49 tmp25        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V50 tmp26        [V50,T80] (  4,  4   )     ref  ->   x2        
-;  V51 tmp27        [V51,T93] (  2,  4   )     ref  ->  x27         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
-;  V52 tmp28        [V52,T94] (  2,  4   )     ref  ->  [fp+0x28]  class-hnd spill-single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
-;  V53 tmp29        [V53,T95] (  2,  4   )     ref  ->  [fp+0x20]  class-hnd spill-single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
-;  V54 tmp30        [V54,T55] (  3,  6   )     ref  ->   x1         class-hnd exact single-def "dup spill" <System.Object[]>
+;  V50 tmp26        [V50,T81] (  4,  4   )     ref  ->   x2        
+;  V51 tmp27        [V51,T94] (  2,  4   )     ref  ->  x27         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V52 tmp28        [V52,T95] (  2,  4   )     ref  ->  [fp+0x28]  class-hnd spill-single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V53 tmp29        [V53,T96] (  2,  4   )     ref  ->  [fp+0x20]  class-hnd spill-single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V54 tmp30        [V54,T56] (  3,  6   )     ref  ->   x1         class-hnd exact single-def "dup spill" <System.Object[]>
 ;* V55 tmp31        [V55    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "dup spill" <<>f__AnonymousType0`4[int,System.String,System.Reflection.MemberInfo[],Sigil.Label]>
-;  V56 tmp32        [V56,T06] (  2, 32   )     ref  ->  x25         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V56 tmp32        [V56,T05] (  2, 32   )     ref  ->  x25         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
 ;  V57 tmp33        [V57,T01] (  4, 64   )     ref  ->   x1         class-hnd exact single-def "dup spill" <System.Object[]>
 ;  V58 tmp34        [V58,T02] (  4, 64   )     ref  ->   x1         class-hnd exact single-def "dup spill" <System.Object[]>
-;  V59 tmp35        [V59,T96] (  2,  4   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
-;* V60 tmp36        [V60,T145] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;  V59 tmp35        [V59,T97] (  2,  4   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;* V60 tmp36        [V60,T146] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V61 tmp37        [V61,T40] (  5, 10   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V62 tmp38        [V62    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V63 tmp39        [V63,T56] (  3,  6   )     ref  ->  x28         class-hnd exact single-def "dup spill" <System.Type[]>
-;  V64 tmp40        [V64,T97] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.RuntimeType>
-;* V65 tmp41        [V65,T146] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;  V63 tmp39        [V63,T57] (  3,  6   )     ref  ->  x28         class-hnd exact single-def "dup spill" <System.Type[]>
+;  V64 tmp40        [V64,T98] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.RuntimeType>
+;* V65 tmp41        [V65,T147] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V66 tmp42        [V66,T41] (  5, 10   )     ref  ->  x28         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V67 tmp43        [V67    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V68 tmp44        [V68,T98] (  2,  4   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V68 tmp44        [V68,T99] (  2,  4   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
 ;* V69 tmp45        [V69    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V70 tmp46        [V70    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V71 tmp47        [V71    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V72 tmp48        [V72,T152] (  3,  0   )     ref  ->  x20        
-;  V73 tmp49        [V73,T153] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V74 tmp50        [V74,T47] (  4,  8   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V72 tmp48        [V72,T153] (  3,  0   )     ref  ->  x20        
+;  V73 tmp49        [V73,T154] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V74 tmp50        [V74,T48] (  4,  8   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V75 tmp51        [V75    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V76 tmp52        [V76,T99] (  2,  4   )     ref  ->  x23         class-hnd exact single-def "dup spill" <<unknown class>>
+;  V76 tmp52        [V76,T100] (  2,  4   )     ref  ->  x23         class-hnd exact single-def "dup spill" <<unknown class>>
 ;* V77 tmp53        [V77    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V78 tmp54        [V78    ] (  0,  0   )     int  ->  zero-ref    single-def
-;  V79 tmp55        [V79,T81] (  4,  4   )     ref  ->  x23        
-;  V80 tmp56        [V80,T48] (  4,  8   )     ref  ->   x3         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;* V81 tmp57        [V81,T147] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;  V79 tmp55        [V79,T82] (  4,  4   )     ref  ->  x23        
+;  V80 tmp56        [V80,T49] (  4,  8   )     ref  ->   x3         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;* V81 tmp57        [V81,T148] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V82 tmp58        [V82,T42] (  5, 10   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V83 tmp59        [V83    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V84 tmp60        [V84,T100] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V85 tmp61        [V85,T101] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V84 tmp60        [V84,T101] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V85 tmp61        [V85,T102] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V86 tmp62        [V86    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Reflection.TypeInfo>
-;  V87 tmp63        [V87,T57] (  3,  6   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
-;  V88 tmp64        [V88,T102] (  2,  4   )     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V87 tmp63        [V87,T58] (  3,  6   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V88 tmp64        [V88,T103] (  2,  4   )     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V89 tmp65        [V89    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Reflection.TypeInfo>
-;  V90 tmp66        [V90,T103] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V90 tmp66        [V90,T104] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
 ;* V91 tmp67        [V91    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Sigil.Local>
-;  V92 tmp68        [V92,T104] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V92 tmp68        [V92,T105] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
 ;* V93 tmp69        [V93    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V94 tmp70        [V94,T105] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V95 tmp71        [V95,T106] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V94 tmp70        [V94,T106] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V95 tmp71        [V95,T107] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
 ;* V96 tmp72        [V96    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Sigil.Local>
-;  V97 tmp73        [V97,T107] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V97 tmp73        [V97,T108] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V98 tmp74        [V98    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Reflection.MethodInfo>
 ;* V99 tmp75        [V99    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Object[]>
 ;* V100 tmp76       [V100    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Reflection.TypeInfo>
 ;* V101 tmp77       [V101    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.Nullable`1[int]>
-;  V102 tmp78       [V102,T58] (  3,  6   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V102 tmp78       [V102,T59] (  3,  6   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
 ;  V103 tmp79       [V103,T33] (  7, 14   )     ref  ->  [fp+0x18]  class-hnd exact spill-single-def "NewObj constructor temp" <<unknown class>>
 ;* V104 tmp80       [V104    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V105 tmp81       [V105    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V106 tmp82       [V106    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V107 tmp83       [V107    ] (  0,  0   )     ref  ->  zero-ref   
-;  V108 tmp84       [V108,T59] (  3,  6   )     ref  ->  x12         class-hnd exact single-def "Inlining Arg" <Jil.Deserialize.InlineDeserializer`1+<>c__DisplayClass89_0[System.__Canon]>
-;  V109 tmp85       [V109,T141] (  2,  2   )     ref  ->   x1         class-hnd "Inline return value spill temp" <<unknown class>>
-;* V110 tmp86       [V110,T149] (  0,  0   )   ubyte  ->  zero-ref    single-def "Inline return value spill temp"
+;  V108 tmp84       [V108,T60] (  3,  6   )     ref  ->  x12         class-hnd exact single-def "Inlining Arg" <Jil.Deserialize.InlineDeserializer`1+<>c__DisplayClass89_0[System.__Canon]>
+;  V109 tmp85       [V109,T142] (  2,  2   )     ref  ->   x1         class-hnd "Inline return value spill temp" <<unknown class>>
+;* V110 tmp86       [V110,T150] (  0,  0   )   ubyte  ->  zero-ref    single-def "Inline return value spill temp"
 ;* V111 tmp87       [V111    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline stloc first use temp" <<unknown class>>
 ;  V112 tmp88       [V112,T34] (  6, 12   )     ref  ->  [fp+0x10]  class-hnd exact spill-single-def "NewObj constructor temp" <<unknown class>>
 ;* V113 tmp89       [V113    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.RuntimeTypeHandle>
 ;  V114 tmp90       [V114    ] (  2,  2   )  struct ( 8) [fp+0x78]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" <System.RuntimeTypeHandle>
-;  V115 tmp91       [V115,T60] (  3,  6   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
-;  V116 tmp92       [V116,T108] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V117 tmp93       [V117,T109] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V118 tmp94       [V118,T110] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V119 tmp95       [V119,T111] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V120 tmp96       [V120,T112] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V121 tmp97       [V121,T113] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V122 tmp98       [V122,T114] (  2,  4   )     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V123 tmp99       [V123,T61] (  3,  6   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <<unknown class>>
-;  V124 tmp100      [V124,T115] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V125 tmp101      [V125,T116] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V126 tmp102      [V126,T117] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V127 tmp103      [V127,T118] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V128 tmp104      [V128,T119] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V129 tmp105      [V129,T120] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V130 tmp106      [V130,T121] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V131 tmp107      [V131,T122] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V132 tmp108      [V132,T123] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V133 tmp109      [V133,T124] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V115 tmp91       [V115,T61] (  3,  6   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V116 tmp92       [V116,T109] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V117 tmp93       [V117,T110] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V118 tmp94       [V118,T111] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V119 tmp95       [V119,T112] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V120 tmp96       [V120,T113] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V121 tmp97       [V121,T114] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V122 tmp98       [V122,T115] (  2,  4   )     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V123 tmp99       [V123,T62] (  3,  6   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V124 tmp100      [V124,T116] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V125 tmp101      [V125,T117] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V126 tmp102      [V126,T118] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V127 tmp103      [V127,T119] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V128 tmp104      [V128,T120] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V129 tmp105      [V129,T121] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V130 tmp106      [V130,T122] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V131 tmp107      [V131,T123] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V132 tmp108      [V132,T124] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V133 tmp109      [V133,T125] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
 ;* V134 tmp110      [V134    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[<>f__AnonymousType0`4[int,System.String,System.Reflection.MemberInfo[],Sigil.Label]]>
-;  V135 tmp111      [V135,T27] (  2, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V136 tmp112      [V136,T28] (  2, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V137 tmp113      [V137,T29] (  2, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V138 tmp114      [V138,T30] (  2, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Sigil.NonGeneric.Emit>
-;* V139 tmp115      [V139,T31] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V135 tmp111      [V135,T26] (  2, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V136 tmp112      [V136,T27] (  2, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V137 tmp113      [V137,T28] (  2, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V138 tmp114      [V138,T29] (  2, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Sigil.NonGeneric.Emit>
+;* V139 tmp115      [V139,T30] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V140 tmp116      [V140    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V141 tmp117      [V141,T07] (  2, 32   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V142 tmp118      [V142,T08] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V143 tmp119      [V143,T09] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V144 tmp120      [V144,T10] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V145 tmp121      [V145,T11] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V146 tmp122      [V146,T12] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V147 tmp123      [V147,T13] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V141 tmp117      [V141,T06] (  2, 32   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V142 tmp118      [V142,T07] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V143 tmp119      [V143,T08] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V144 tmp120      [V144,T09] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V145 tmp121      [V145,T10] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V146 tmp122      [V146,T11] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V147 tmp123      [V147,T12] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
 ;* V148 tmp124      [V148    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Sigil.Label>
-;  V149 tmp125      [V149,T14] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V150 tmp126      [V150,T15] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V151 tmp127      [V151,T16] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V152 tmp128      [V152,T17] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V153 tmp129      [V153,T18] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V154 tmp130      [V154,T125] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V155 tmp131      [V155,T126] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V156 tmp132      [V156,T127] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V149 tmp125      [V149,T13] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V150 tmp126      [V150,T14] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
...
  
-8 (-0.15%) : 1187.dasm - System.Number:NumberToStringFormatushort (FullOpts)
@@ -10,7 +10,7 @@
 ;
 ;  V00 arg0         [V00,T02] ( 79,268.50)   byref  ->  x19         single-def
 ;  V01 arg1         [V01,T60] ( 17, 21.50)   byref  ->  x21         single-def
-;  V02 arg2         [V02,T81] (  6, 12   )  struct (16) [fp+0xE8]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
+;  V02 arg2         [V02,T82] (  6, 12   )  struct (16) [fp+0xE8]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
 ;  V03 arg3         [V03,T42] ( 15, 25   )     ref  ->  x20         class-hnd single-def <System.Globalization.NumberFormatInfo>
 ;  V04 loc0         [V04,T08] ( 15, 96   )     int  ->  x27        
 ;  V05 loc1         [V05,T16] ( 18, 56   )     int  ->  x28        
@@ -24,55 +24,55 @@
 ;  V13 loc9         [V13,T19] (  8, 48   )     int  ->   x8        
 ;  V14 loc10        [V14,T26] ( 11, 42   )     int  ->  [fp+0xD0]  ptr
 ;  V15 loc11        [V15,T64] (  6, 18.50)     int  ->  x26        
-;  V16 loc12        [V16,T00] ( 57,909.50)     int  ->  [fp+0xCC]  ptr
+;  V16 loc12        [V16,T00] ( 55,905.50)     int  ->  [fp+0xCC]  ptr
 ;  V17 loc13        [V17,T67] (  6, 17   )    long  ->  x25        
 ;  V18 loc14        [V18,T05] ( 36,238   )  ushort  ->  [fp+0xC8]  ptr
 ;* V19 loc15        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[int]>
 ;  V20 loc16        [V20,T10] ( 16, 71   )     int  ->  [fp+0xC4]  ptr
-;  V21 loc17        [V21,T147] (  3,  5   )   ubyte  ->  [fp+0xC0] 
+;  V21 loc17        [V21,T148] (  3,  5   )   ubyte  ->  [fp+0xC0] 
 ;  V22 loc18        [V22,T07] (  8,184   )    long  ->   x9        
 ;  V23 loc19        [V23    ] (  2, 16   )   byref  ->  [fp+0xB8]  must-init pinned ptr
 ;* V24 loc20        [V24    ] (  0,  0   )     int  ->  zero-ref   
 ;* V25 loc21        [V25    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[int]>
-;  V26 loc22        [V26,T146] (  5,  5.50)     ref  ->  [fp+0x60]  class-hnd spill-single-def ptr <int[]>
-;  V27 loc23        [V27,T82] (  6, 12.50)     int  ->  [fp+0xB4]  ptr
+;  V26 loc22        [V26,T147] (  5,  5.50)     ref  ->  [fp+0x60]  class-hnd spill-single-def ptr <int[]>
+;  V27 loc23        [V27,T83] (  6, 12.50)     int  ->  [fp+0xB4]  ptr
 ;  V28 loc24        [V28,T66] (  7, 17.50)     int  ->  [fp+0xB0]  ptr
-;  V29 loc25        [V29,T148] (  3,  5   )     int  ->  [fp+0xAC]  spill-single-def ptr
-;  V30 loc26        [V30,T87] (  5, 11   )     int  ->  [fp+0xA8]  ptr
-;  V31 loc27        [V31,T194] (  3,  1.50)     int  ->   x1        
-;  V32 loc28        [V32,T149] (  3,  5   )     int  ->  [fp+0xA4]  spill-single-def ptr
-;  V33 loc29        [V33,T88] (  5, 10   )     ref  ->  [fp+0x58]  class-hnd exact spill-single-def ptr <int[]>
+;  V29 loc25        [V29,T149] (  3,  5   )     int  ->  [fp+0xAC]  spill-single-def ptr
+;  V30 loc26        [V30,T88] (  5, 11   )     int  ->  [fp+0xA8]  ptr
+;  V31 loc27        [V31,T195] (  3,  1.50)     int  ->   x1        
+;  V32 loc28        [V32,T150] (  3,  5   )     int  ->  [fp+0xA4]  spill-single-def ptr
+;  V33 loc29        [V33,T89] (  5, 10   )     ref  ->  [fp+0x58]  class-hnd exact spill-single-def ptr <int[]>
 ;  V34 loc30        [V34,T11] ( 11, 65   )    long  ->  x22        
 ;  V35 loc31        [V35    ] (  2,  2   )   byref  ->  [fp+0x98]  must-init pinned ptr
 ;  V36 loc32        [V36,T33] (  8, 33   )    long  ->  [fp+0x90]  ptr
-;  V37 loc33        [V37,T121] (  3,  6   )   ubyte  ->  x14        
+;  V37 loc33        [V37,T122] (  3,  6   )   ubyte  ->  x14        
 ;  V38 loc34        [V38,T46] (  6, 24   )     int  ->  x12        
 ;* V39 loc35        [V39    ] (  0,  0   )     int  ->  zero-ref   
 ;# V40 OutArgs      [V40    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V41 tmp1         [V41    ] (  0,  0   )     int  ->  zero-ref   
 ;* V42 tmp2         [V42    ] (  0,  0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
 ;* V43 tmp3         [V43    ] (  0,  0   )  struct (16) zero-ref    multireg-arg <System.ReadOnlySpan`1[ushort]>
-;  V44 tmp4         [V44,T182] (  3,  2   )     int  ->   x2        
-;  V45 tmp5         [V45,T187] (  2,  2   )     int  ->   x3        
-;  V46 tmp6         [V46,T188] (  2,  2   )     int  ->   x4        
-;  V47 tmp7         [V47,T206] (  2,  1   )     int  ->   x3        
+;  V44 tmp4         [V44,T183] (  3,  2   )     int  ->   x2        
+;  V45 tmp5         [V45,T188] (  2,  2   )     int  ->   x3        
+;  V46 tmp6         [V46,T189] (  2,  2   )     int  ->   x4        
+;  V47 tmp7         [V47,T207] (  2,  1   )     int  ->   x3        
 ;  V48 tmp8         [V48    ] (  1,  1   )  struct (16) [fp+0xF8]  do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
 ;* V49 tmp9         [V49    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V50 tmp10        [V50    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V51 tmp11        [V51,T50] (  3, 24   )     int  ->   x1         "impSpillLclRefs"
-;  V52 tmp12        [V52,T79] (  2, 16   )     int  ->   x1         "dup spill"
-;  V53 tmp13        [V53,T106] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
-;  V54 tmp14        [V54,T107] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
+;  V52 tmp12        [V52,T80] (  2, 16   )     int  ->   x1         "dup spill"
+;  V53 tmp13        [V53,T107] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
+;  V54 tmp14        [V54,T108] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
 ;  V55 tmp15        [V55,T35] (  2, 32   )     int  ->   x6         "impSpillLclRefs"
 ;  V56 tmp16        [V56,T13] (  2, 64   )     int  ->   x6         "dup spill"
-;  V57 tmp17        [V57,T122] (  3,  6   )     int  ->   x5        
+;  V57 tmp17        [V57,T123] (  3,  6   )     int  ->   x5        
 ;* V58 tmp18        [V58    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V59 tmp19        [V59    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V60 tmp20        [V60    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V61 tmp21        [V61,T83] (  3, 12   )    long  ->   x1         "impSpillLclRefs"
-;  V62 tmp22        [V62,T99] (  4,  8   )     int  ->   x1        
+;  V61 tmp21        [V61,T84] (  3, 12   )    long  ->   x1         "impSpillLclRefs"
+;  V62 tmp22        [V62,T100] (  4,  8   )     int  ->   x1        
 ;* V63 tmp23        [V63    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V64 tmp24        [V64,T123] (  3,  6   )     int  ->  x13        
+;  V64 tmp24        [V64,T124] (  3,  6   )     int  ->  x13        
 ;  V65 tmp25        [V65,T36] (  2, 32   )     int  ->   x6         "impSpillLclRefs"
 ;* V66 tmp26        [V66    ] (  0,  0   )   byref  ->  zero-ref    ptr
 ;  V67 tmp27        [V67,T37] (  2, 32   )    long  ->   x0         "impSpillLclRefs"
@@ -82,11 +82,11 @@
 ;* V71 tmp31        [V71    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V72 tmp32        [V72    ] (  0,  0   )     int  ->  zero-ref   
 ;* V73 tmp33        [V73    ] (  0,  0   )     int  ->  zero-ref    ptr
-;  V74 tmp34        [V74,T207] (  2,  1   )     int  ->   x1        
-;  V75 tmp35        [V75,T208] (  2,  1   )     int  ->  xip0        
+;  V74 tmp34        [V74,T208] (  2,  1   )     int  ->   x1        
+;  V75 tmp35        [V75,T209] (  2,  1   )     int  ->  xip0        
 ;* V76 tmp36        [V76    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[int]>
 ;  V77 tmp37        [V77,T47] (  3, 24   )   byref  ->   x0         "dup spill"
-;  V78 tmp38        [V78,T101] (  3,  8   )     int  ->   x1        
+;  V78 tmp38        [V78,T102] (  3,  8   )     int  ->   x1        
 ;  V79 tmp39        [V79,T09] (  3, 96   )     int  ->   x0         "impSpillLclRefs"
 ;  V80 tmp40        [V80,T14] (  2, 64   )     int  ->  x11         "dup spill"
 ;  V81 tmp41        [V81,T03] (  2,256   )     int  ->  x10         "dup spill"
@@ -97,28 +97,28 @@
 ;* V86 tmp46        [V86    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;* V87 tmp47        [V87    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V88 tmp48        [V88    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
-;  V89 tmp49        [V89,T108] (  2,  8   )    long  ->   x2         "Inlining Arg"
+;  V89 tmp49        [V89,T109] (  2,  8   )    long  ->   x2         "Inlining Arg"
 ;* V90 tmp50        [V90    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V91 tmp51        [V91    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V92 tmp52        [V92    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V93 tmp53        [V93    ] (  0,  0   )     int  ->  zero-ref   
 ;* V94 tmp54        [V94    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V95 tmp55        [V95    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V96 tmp56        [V96,T150] (  4,  4   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V96 tmp56        [V96,T151] (  4,  4   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V97 tmp57        [V97    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V98 tmp58        [V98    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V99 tmp59        [V99,T189] (  2,  2   )     int  ->  [fp+0x8C]  spill-single-def ptr "Inlining Arg"
-;  V100 tmp60       [V100,T183] (  2,  2   )   byref  ->  [fp+0x50]  spill-single-def ptr "Inlining Arg"
+;  V99 tmp59        [V99,T190] (  2,  2   )     int  ->  [fp+0x8C]  spill-single-def ptr "Inlining Arg"
+;  V100 tmp60       [V100,T184] (  2,  2   )   byref  ->  [fp+0x50]  spill-single-def ptr "Inlining Arg"
 ;* V101 tmp61       [V101    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V102 tmp62       [V102    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V103 tmp63       [V103    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V104 tmp64       [V104    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V105 tmp65       [V105    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V106 tmp66       [V106,T195] (  3,  1.50)     int  ->  [fp+0x88]  spill-single-def ptr "Inline stloc first use temp"
+;  V106 tmp66       [V106,T196] (  3,  1.50)     int  ->  [fp+0x88]  spill-single-def ptr "Inline stloc first use temp"
 ;* V107 tmp67       [V107    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V108 tmp68       [V108    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V109 tmp69       [V109    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "Inlining Arg"
-;  V110 tmp70       [V110,T180] (  4,  2   )     int  ->   x3         "Inline stloc first use temp"
+;  V110 tmp70       [V110,T181] (  4,  2   )     int  ->   x3         "Inline stloc first use temp"
 ;* V111 tmp71       [V111    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V112 tmp72       [V112    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V113 tmp73       [V113    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
@@ -153,7 +153,7 @@
 ;  V142 tmp102      [V142,T29] (  5, 40   )     int  ->  x15         "Inline stloc first use temp"
 ;* V143 tmp103      [V143    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V144 tmp104      [V144    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;  V145 tmp105      [V145,T89] (  5, 10   )     int  ->   x1         "Inline stloc first use temp"
+;  V145 tmp105      [V145,T90] (  5, 10   )     int  ->   x1         "Inline stloc first use temp"
 ;* V146 tmp106      [V146    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V147 tmp107      [V147    ] (  0,  0   )  ushort  ->  zero-ref    ptr "Inlining Arg"
 ;* V148 tmp108      [V148    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -162,11 +162,11 @@
 ;* V151 tmp111      [V151    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V152 tmp112      [V152    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V153 tmp113      [V153    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V154 tmp114      [V154,T69] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V154 tmp114      [V154,T70] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V155 tmp115      [V155    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V156 tmp116      [V156    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V157 tmp117      [V157,T109] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V158 tmp118      [V158,T102] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V157 tmp117      [V157,T110] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V158 tmp118      [V158,T103] (  2,  8   )   byref  ->  x13         "Inlining Arg"
 ;* V159 tmp119      [V159    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V160 tmp120      [V160    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V161 tmp121      [V161    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -174,13 +174,13 @@
 ;* V163 tmp123      [V163    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V164 tmp124      [V164    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V165 tmp125      [V165    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V166 tmp126      [V166,T124] (  3,  6   )     int  ->  [fp+0x80]  spill-single-def ptr "Inline stloc first use temp"
+;  V166 tmp126      [V166,T125] (  3,  6   )     int  ->  [fp+0x80]  spill-single-def ptr "Inline stloc first use temp"
 ;* V167 tmp127      [V167    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V168 tmp128      [V168    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V169 tmp129      [V169    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V170 tmp130      [V170    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V171 tmp131      [V171    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V172 tmp132      [V172,T90] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
+;  V172 tmp132      [V172,T91] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
 ;* V173 tmp133      [V173    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V174 tmp134      [V174    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V175 tmp135      [V175    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -189,11 +189,11 @@
 ;* V178 tmp138      [V178    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V179 tmp139      [V179    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V180 tmp140      [V180    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V181 tmp141      [V181,T70] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V181 tmp141      [V181,T71] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V182 tmp142      [V182    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V183 tmp143      [V183    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V184 tmp144      [V184,T110] (  2,  8   )     int  ->  x13         "Inlining Arg"
-;  V185 tmp145      [V185,T103] (  2,  8   )   byref  ->  x11         "Inlining Arg"
+;  V184 tmp144      [V184,T111] (  2,  8   )     int  ->  x13         "Inlining Arg"
+;  V185 tmp145      [V185,T104] (  2,  8   )   byref  ->  x11         "Inlining Arg"
 ;* V186 tmp146      [V186    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V187 tmp147      [V187    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V188 tmp148      [V188    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -201,13 +201,13 @@
 ;* V190 tmp150      [V190    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V191 tmp151      [V191    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V192 tmp152      [V192    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V193 tmp153      [V193,T125] (  3,  6   )     int  ->  [fp+0x7C]  spill-single-def ptr "Inline stloc first use temp"
+;  V193 tmp153      [V193,T126] (  3,  6   )     int  ->  [fp+0x7C]  spill-single-def ptr "Inline stloc first use temp"
 ;* V194 tmp154      [V194    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V195 tmp155      [V195    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V196 tmp156      [V196    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V197 tmp157      [V197    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V198 tmp158      [V198    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V199 tmp159      [V199,T91] (  5, 10   )     int  ->  x14         "Inline stloc first use temp"
+;  V199 tmp159      [V199,T92] (  5, 10   )     int  ->  x14         "Inline stloc first use temp"
 ;* V200 tmp160      [V200    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V201 tmp161      [V201    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V202 tmp162      [V202    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -216,11 +216,11 @@
 ;* V205 tmp165      [V205    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V206 tmp166      [V206    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V207 tmp167      [V207    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V208 tmp168      [V208,T71] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V208 tmp168      [V208,T72] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V209 tmp169      [V209    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V210 tmp170      [V210    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V211 tmp171      [V211,T111] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V212 tmp172      [V212,T104] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V211 tmp171      [V211,T112] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V212 tmp172      [V212,T105] (  2,  8   )   byref  ->  x13         "Inlining Arg"
 ;* V213 tmp173      [V213    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V214 tmp174      [V214    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V215 tmp175      [V215    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -228,13 +228,13 @@
 ;* V217 tmp177      [V217    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V218 tmp178      [V218    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V219 tmp179      [V219    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V220 tmp180      [V220,T126] (  3,  6   )     int  ->  [fp+0x78]  spill-single-def ptr "Inline stloc first use temp"
+;  V220 tmp180      [V220,T127] (  3,  6   )     int  ->  [fp+0x78]  spill-single-def ptr "Inline stloc first use temp"
 ;* V221 tmp181      [V221    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V222 tmp182      [V222    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V223 tmp183      [V223    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V224 tmp184      [V224    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V225 tmp185      [V225    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V226 tmp186      [V226,T92] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
+;  V226 tmp186      [V226,T93] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
 ;* V227 tmp187      [V227    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V228 tmp188      [V228    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V229 tmp189      [V229    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -243,11 +243,11 @@
 ;* V232 tmp192      [V232    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V233 tmp193      [V233    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V234 tmp194      [V234    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V235 tmp195      [V235,T72] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V235 tmp195      [V235,T73] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V236 tmp196      [V236    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V237 tmp197      [V237    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V238 tmp198      [V238,T112] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V239 tmp199      [V239,T105] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V238 tmp198      [V238,T113] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V239 tmp199      [V239,T106] (  2,  8   )   byref  ->  x13         "Inlining Arg"
...
  
-4 (-0.04%) : 15521.dasm - System.Net.WebSockets.ManagedWebSocket+d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (FullOpts)
@@ -15,7 +15,7 @@
 ;  V04 loc3         [V04    ] ( 10, 10   )  struct (16) [fp+0x198]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
 ;* V05 loc4         [V05    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
 ;  V06 loc5         [V06,T39] (  3, 12   )     ref  ->   x0         class-hnd exact <System.String>
-;  V07 loc6         [V07,T29] (  4, 16   )    long  ->  x20        
+;  V07 loc6         [V07,T29] (  4, 16   )    long  ->   x1        
 ;  V08 loc7         [V08    ] ( 11, 35   )  struct (16) [fp+0x188]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[int]>
 ;  V09 loc8         [V09    ] (  8, 20   )  struct (16) [fp+0x178]  do-not-enreg[SBR] multireg-ret must-init ld-addr-op <System.Threading.Tasks.ValueTask`1[int]>
 ;* V10 loc9         [V10    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[int]>
@@ -81,17 +81,17 @@
 ;* V70 tmp40        [V70    ] (  0,  0   )    long  ->  zero-ref    "impAppendStmt"
 ;* V71 tmp41        [V71    ] (  0,  0   )     int  ->  zero-ref    "dup spill"
 ;* V72 tmp42        [V72    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
-;  V73 tmp43        [V73,T102] (  2,  8   )     int  ->   x2        
+;  V73 tmp43        [V73,T101] (  2,  8   )     int  ->   x2        
 ;* V74 tmp44        [V74    ] (  0,  0   )     int  ->  zero-ref   
 ;  V75 tmp45        [V75,T46] (  3, 12   )     int  ->   x3        
 ;* V76 tmp46        [V76    ] (  0,  0   )     int  ->  zero-ref    "dup spill"
 ;  V77 tmp47        [V77,T23] (  3, 24   )     int  ->   x1         "Span.get_Item index"
 ;* V78 tmp48        [V78    ] (  0,  0   )     int  ->  zero-ref   
 ;* V79 tmp49        [V79    ] (  0,  0   )     int  ->  zero-ref   
-;  V80 tmp50        [V80,T47] (  3, 12   )     int  ->  x21        
-;  V81 tmp51        [V81,T103] (  2,  8   )     int  ->   x1        
+;  V80 tmp50        [V80,T47] (  3, 12   )     int  ->   x2        
+;  V81 tmp51        [V81,T102] (  2,  8   )     int  ->   x2        
 ;* V82 tmp52        [V82    ] (  0,  0   )     int  ->  zero-ref   
-;  V83 tmp53        [V83,T30] (  4, 16   )     int  ->   x2        
+;  V83 tmp53        [V83,T30] (  4, 16   )     int  ->   x1        
 ;* V84 tmp54        [V84    ] (  0,  0   )     int  ->  zero-ref    "dup spill"
 ;* V85 tmp55        [V85    ] (  0,  0   )     int  ->  zero-ref   
 ;* V86 tmp56        [V86    ] (  0,  0   )     int  ->  zero-ref    "dup spill"
@@ -119,7 +119,7 @@
 ;* V108 tmp78       [V108    ] (  0,  0   )   byref  ->  zero-ref    single-def
 ;* V109 tmp79       [V109    ] (  0,  0   )   byref  ->  zero-ref    single-def
 ;  V110 tmp80       [V110,T149] (  5,  5   )     ref  ->  x21        
-;  V111 tmp81       [V111,T63] (  5, 10   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Action`1[System.Object]>
+;  V111 tmp81       [V111,T62] (  5, 10   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Action`1[System.Object]>
 ;  V112 tmp82       [V112,T325] (  2,  0   )     ref  ->   x1         class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
 ;  V113 tmp83       [V113,T131] (  3,  6   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
 ;* V114 tmp84       [V114    ] (  0,  0   )  struct (16) zero-ref    multireg-ret "Inline return value spill temp" <System.Threading.CancellationTokenRegistration>
@@ -320,10 +320,10 @@
 ;  V309 tmp279      [V309    ] (  4,  8   )  struct ( 8) [fp+0x40]  do-not-enreg[XS] addr-exposed ld-addr-op "NewObj constructor temp" <System.Net.WebSockets.ValueWebSocketReceiveResult>
 ;* V310 tmp280      [V310    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V311 tmp281      [V311    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V312 tmp282      [V312,T79] (  4,  8   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Net.WebSockets.Compression.WebSocketInflater>
+;  V312 tmp282      [V312,T78] (  4,  8   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Net.WebSockets.Compression.WebSocketInflater>
 ;* V313 tmp283      [V313    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
-;  V314 tmp284      [V314,T64] (  5, 10   )     ref  ->   x2         class-hnd single-def "Inlining Arg" <ubyte[]>
-;  V315 tmp285      [V315,T68] (  5, 10   )     int  ->   x1         "Inlining Arg"
+;  V314 tmp284      [V314,T63] (  5, 10   )     ref  ->   x2         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V315 tmp285      [V315,T67] (  5, 10   )     int  ->   x1         "Inlining Arg"
 ;* V316 tmp286      [V316    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V317 tmp287      [V317    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ubyte]>
 ;  V318 tmp288      [V318,T135] (  3,  6   )     int  ->  x21         "Inlining Arg"
@@ -336,8 +336,8 @@
 ;* V325 tmp295      [V325    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
 ;  V326 tmp296      [V326,T125] (  6,  6   )   byref  ->  x23         "Inline stloc first use temp"
 ;  V327 tmp297      [V327,T120] (  7,  7   )     int  ->  x24         "Inline stloc first use temp"
-;  V328 tmp298      [V328,T80] (  4,  8   )   byref  ->  x22         single-def "Inlining Arg"
-;  V329 tmp299      [V329,T74] (  9,  9   )     ref  ->  x25         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V328 tmp298      [V328,T79] (  4,  8   )   byref  ->  x22         single-def "Inlining Arg"
+;  V329 tmp299      [V329,T73] (  9,  9   )     ref  ->  x25         class-hnd single-def "Inline stloc first use temp" <System.Object>
 ;* V330 tmp300      [V330    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V331 tmp301      [V331    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <<unknown class>>
 ;* V332 tmp302      [V332    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
@@ -354,8 +354,8 @@
 ;* V343 tmp313      [V343    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
 ;  V344 tmp314      [V344,T126] (  6,  6   )   byref  ->  x25         "Inline stloc first use temp"
 ;  V345 tmp315      [V345,T121] (  7,  7   )     int  ->  x26         "Inline stloc first use temp"
-;  V346 tmp316      [V346,T81] (  4,  8   )   byref  ->  x24         single-def "Inlining Arg"
-;  V347 tmp317      [V347,T75] (  9,  9   )     ref  ->  x27         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V346 tmp316      [V346,T80] (  4,  8   )   byref  ->  x24         single-def "Inlining Arg"
+;  V347 tmp317      [V347,T74] (  9,  9   )     ref  ->  x27         class-hnd single-def "Inline stloc first use temp" <System.Object>
 ;* V348 tmp318      [V348    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V349 tmp319      [V349    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <<unknown class>>
 ;* V350 tmp320      [V350    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
@@ -366,10 +366,10 @@
 ;* V355 tmp325      [V355    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <ubyte[]>
 ;  V356 tmp326      [V356,T171] (  2,  4   )   byref  ->   x1         single-def "Inlining Arg"
 ;* V357 tmp327      [V357    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V358 tmp328      [V358,T82] (  4,  8   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Net.WebSockets.Compression.WebSocketInflater>
+;  V358 tmp328      [V358,T81] (  4,  8   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Net.WebSockets.Compression.WebSocketInflater>
 ;* V359 tmp329      [V359    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
-;  V360 tmp330      [V360,T65] (  5, 10   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <ubyte[]>
-;  V361 tmp331      [V361,T69] (  5, 10   )     int  ->   x0         "Inlining Arg"
+;  V360 tmp330      [V360,T64] (  5, 10   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V361 tmp331      [V361,T68] (  5, 10   )     int  ->   x0         "Inlining Arg"
 ;* V362 tmp332      [V362    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V363 tmp333      [V363    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ubyte]>
 ;  V364 tmp334      [V364,T140] (  3,  6   )     int  ->  x24         "Inlining Arg"
@@ -380,14 +380,14 @@
 ;  V369 tmp339      [V369,T196] (  2,  4   )    long  ->   x3         "Inlining Arg"
 ;  V370 tmp340      [V370,T141] (  3,  6   )     int  ->   x2         "Inlining Arg"
 ;  V371 tmp341      [V371,T142] (  3,  6   )     int  ->  x20         "Inlining Arg"
-;  V372 tmp342      [V372,T83] (  4,  8   )   byref  ->   x1         single-def "Inlining Arg"
+;  V372 tmp342      [V372,T82] (  4,  8   )   byref  ->   x1         single-def "Inlining Arg"
 ;* V373 tmp343      [V373    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Memory`1[ubyte]>
-;  V374 tmp344      [V374,T66] (  5, 10   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Object>
+;  V374 tmp344      [V374,T65] (  5, 10   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Object>
 ;  V375 tmp345      [V375,T233] (  3,  3   )     int  ->  registers  
 ;  V376 tmp346      [V376,T197] (  2,  4   )     int  ->  x22         "Inlining Arg"
-;  V377 tmp347      [V377,T84] (  4,  8   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Net.WebSockets.Compression.WebSocketInflater>
-;  V378 tmp348      [V378,T85] (  4,  8   )     ref  ->  x20         class-hnd single-def "Inlining Arg" <ubyte[]>
-;  V379 tmp349      [V379,T90] (  4,  8   )     int  ->   x1         "Inlining Arg"
+;  V377 tmp347      [V377,T83] (  4,  8   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Net.WebSockets.Compression.WebSocketInflater>
+;  V378 tmp348      [V378,T84] (  4,  8   )     ref  ->  x20         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V379 tmp349      [V379,T89] (  4,  8   )     int  ->   x1         "Inlining Arg"
 ;* V380 tmp350      [V380    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Memory`1[ubyte]>
 ;  V381 tmp351      [V381,T143] (  3,  6   )     int  ->   x3         "Inlining Arg"
 ;  V382 tmp352      [V382,T144] (  3,  6   )     int  ->  x20         "Inlining Arg"
@@ -423,8 +423,8 @@
 ;* V412 tmp382      [V412    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
 ;  V413 tmp383      [V413,T127] (  6,  6   )   byref  ->  x21         "Inline stloc first use temp"
 ;  V414 tmp384      [V414,T122] (  7,  7   )     int  ->  x22         "Inline stloc first use temp"
-;  V415 tmp385      [V415,T86] (  4,  8   )   byref  ->  x20         single-def "Inlining Arg"
-;  V416 tmp386      [V416,T76] (  9,  9   )     ref  ->  x23         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V415 tmp385      [V415,T85] (  4,  8   )   byref  ->  x20         single-def "Inlining Arg"
+;  V416 tmp386      [V416,T75] (  9,  9   )     ref  ->  x23         class-hnd single-def "Inline stloc first use temp" <System.Object>
 ;* V417 tmp387      [V417    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V418 tmp388      [V418    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <<unknown class>>
 ;* V419 tmp389      [V419    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
@@ -435,25 +435,25 @@
 ;* V424 tmp394      [V424    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <ubyte[]>
 ;  V425 tmp395      [V425,T174] (  2,  4   )   byref  ->   x1         single-def "Inlining Arg"
 ;* V426 tmp396      [V426    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V427 tmp397      [V427,T91] (  4,  8   )     int  ->  x20         "Inlining Arg"
+;  V427 tmp397      [V427,T90] (  4,  8   )     int  ->  x20         "Inlining Arg"
 ;* V428 tmp398      [V428    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V429 tmp399      [V429,T175] (  2,  4   )   byref  ->  x21         single-def "Inlining Arg"
-;  V430 tmp400      [V430,T87] (  4,  8   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Net.WebSockets.Compression.WebSocketInflater>
+;  V430 tmp400      [V430,T86] (  4,  8   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Net.WebSockets.Compression.WebSocketInflater>
 ;* V431 tmp401      [V431    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
-;  V432 tmp402      [V432,T67] (  5, 10   )     ref  ->   x2         class-hnd single-def "Inlining Arg" <ubyte[]>
-;  V433 tmp403      [V433,T70] (  5, 10   )     int  ->   x1         "Inlining Arg"
+;  V432 tmp402      [V432,T66] (  5, 10   )     ref  ->   x2         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V433 tmp403      [V433,T69] (  5, 10   )     int  ->   x1         "Inlining Arg"
 ;* V434 tmp404      [V434    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V435 tmp405      [V435    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ubyte]>
 ;  V436 tmp406      [V436,T146] (  3,  6   )     int  ->  x21         "Inlining Arg"
 ;  V437 tmp407      [V437,T176] (  2,  4   )   byref  ->  x20         single-def "Inlining Arg"
-;  V438 tmp408      [V438,T92] (  4,  8   )     int  ->  x20         "Inlining Arg"
+;  V438 tmp408      [V438,T91] (  4,  8   )     int  ->  x20         "Inlining Arg"
 ;* V439 tmp409      [V439    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V440 tmp410      [V440,T177] (  2,  4   )   byref  ->  x21         single-def "Inlining Arg"
 ;* V441 tmp411      [V441    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
 ;  V442 tmp412      [V442,T128] (  6,  6   )   byref  ->  x23         "Inline stloc first use temp"
 ;  V443 tmp413      [V443,T123] (  7,  7   )     int  ->  x24         "Inline stloc first use temp"
-;  V444 tmp414      [V444,T88] (  4,  8   )   byref  ->  x22         single-def "Inlining Arg"
-;  V445 tmp415      [V445,T77] (  9,  9   )     ref  ->  x25         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V444 tmp414      [V444,T87] (  4,  8   )   byref  ->  x22         single-def "Inlining Arg"
+;  V445 tmp415      [V445,T76] (  9,  9   )     ref  ->  x25         class-hnd single-def "Inline stloc first use temp" <System.Object>
 ;* V446 tmp416      [V446    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V447 tmp417      [V447    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <<unknown class>>
 ;* V448 tmp418      [V448    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
@@ -470,8 +470,8 @@
 ;* V459 tmp429      [V459    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
 ;  V460 tmp430      [V460,T129] (  6,  6   )   byref  ->  x21         "Inline stloc first use temp"
 ;  V461 tmp431      [V461,T124] (  7,  7   )     int  ->  x23         "Inline stloc first use temp"
-;  V462 tmp432      [V462,T89] (  4,  8   )   byref  ->  x20         single-def "Inlining Arg"
-;  V463 tmp433      [V463,T78] (  9,  9   )     ref  ->  x24         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V462 tmp432      [V462,T88] (  4,  8   )   byref  ->  x20         single-def "Inlining Arg"
+;  V463 tmp433      [V463,T77] (  9,  9   )     ref  ->  x24         class-hnd single-def "Inline stloc first use temp" <System.Object>
 ;* V464 tmp434      [V464    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V465 tmp435      [V465    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <<unknown class>>
 ;* V466 tmp436      [V466    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
@@ -482,7 +482,7 @@
 ;* V471 tmp441      [V471    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <ubyte[]>
 ;  V472 tmp442      [V472,T179] (  2,  4   )   byref  ->   x1         single-def "Inlining Arg"
 ;* V473 tmp443      [V473    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V474 tmp444      [V474,T93] (  4,  8   )     int  ->  x20         "Inlining Arg"
+;  V474 tmp444      [V474,T92] (  4,  8   )     int  ->  x20         "Inlining Arg"
 ;* V475 tmp445      [V475    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V476 tmp446      [V476,T180] (  2,  4   )   byref  ->  x21         single-def "Inlining Arg"
 ;* V477 tmp447      [V477    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask>
@@ -511,9 +511,9 @@
 ;  V500 tmp470      [V500,T159] (  4,  4   )     int  ->  [fp+0x30]  do-not-enreg[Z] EH-live "field V03._messageType (fldOffset=0x4)" P-INDEP
 ;  V501 tmp471      [V501    ] (  6,  6   )     ref  ->  [fp+0x198]  do-not-enreg[X] addr-exposed "field V04.m_task (fldOffset=0x0)" P-DEP
 ;  V502 tmp472      [V502    ] (  6,  6   )     int  ->  [fp+0x1A0]  do-not-enreg[X] addr-exposed "field V04.m_options (fldOffset=0x8)" P-DEP
-;  V503 tmp473      [V503,T71] (  4, 10   )     ref  ->  [fp+0x178]  do-not-enreg[] "field V09._obj (fldOffset=0x0)" P-DEP
-;  V504 tmp474      [V504,T72] (  4, 10   )     int  ->  [fp+0x180]  do-not-enreg[] "field V09._result (fldOffset=0x8)" P-DEP
-;  V505 tmp475      [V505,T73] (  4, 10   )   short  ->  [fp+0x184]  do-not-enreg[] "field V09._token (fldOffset=0xc)" P-DEP
+;  V503 tmp473      [V503,T70] (  4, 10   )     ref  ->  [fp+0x178]  do-not-enreg[] "field V09._obj (fldOffset=0x0)" P-DEP
+;  V504 tmp474      [V504,T71] (  4, 10   )     int  ->  [fp+0x180]  do-not-enreg[] "field V09._result (fldOffset=0x8)" P-DEP
+;  V505 tmp475      [V505,T72] (  4, 10   )   short  ->  [fp+0x184]  do-not-enreg[] "field V09._token (fldOffset=0xc)" P-DEP
 ;  V506 tmp476      [V506,T154] (  2,  5   )   ubyte  ->  [fp+0x186]  do-not-enreg[] "field V09._continueOnCapturedContext (fldOffset=0xe)" P-DEP
 ;  V507 tmp477      [V507,T03] ( 12, 36   )     ref  ->  [fp+0x158]  do-not-enreg[] "field V12._obj (fldOffset=0x0)" P-DEP
 ;  V508 tmp478      [V508,T04] ( 12, 36   )   short  ->  [fp+0x160]  do-not-enreg[] "field V12._token (fldOffset=0x8)" P-DEP
@@ -551,43 +551,43 @@
 ;  V540 tmp510      [V540,T45] (  3, 12   )     ref  ->  [fp+0xC8]  do-not-enreg[] "field V155._object (fldOffset=0x0)" P-DEP
 ;  V541 tmp511      [V541,T59] (  3, 12   )     int  ->  [fp+0xD0]  do-not-enreg[] "field V155._index (fldOffset=0x8)" P-DEP
 ;  V542 tmp512      [V542,T60] (  3, 12   )     int  ->  [fp+0xD4]  do-not-enreg[] "field V155._length (fldOffset=0xc)" P-DEP
-;  V543 tmp513      [V543,T94] (  2,  8   )     ref  ->   x0         "field V156._obj (fldOffset=0x0)" P-INDEP
-;  V544 tmp514      [V544,T104] (  2,  8   )     int  ->   x2         "field V156._result (fldOffset=0x8)" P-INDEP
-;  V545 tmp515      [V545,T105] (  2,  8   )   short  ->   x1         "field V156._token (fldOffset=0xc)" P-INDEP
+;  V543 tmp513      [V543,T93] (  2,  8   )     ref  ->   x0         "field V156._obj (fldOffset=0x0)" P-INDEP
+;  V544 tmp514      [V544,T103] (  2,  8   )     int  ->   x2         "field V156._result (fldOffset=0x8)" P-INDEP
+;  V545 tmp515      [V545,T104] (  2,  8   )   short  ->   x1         "field V156._token (fldOffset=0xc)" P-INDEP
 ;* V546 tmp516      [V546,T208] (  0,  0   )   ubyte  ->  zero-ref    "field V156._continueOnCapturedContext (fldOffset=0xe)" P-INDEP
-;  V547 tmp517      [V547,T95] (  2,  8   )     ref  ->   x1         "field V182._source (fldOffset=0x0)" P-INDEP
+;  V547 tmp517      [V547,T94] (  2,  8   )     ref  ->   x1         "field V182._source (fldOffset=0x0)" P-INDEP
 ;* V548 tmp518      [V548    ] (  0,  0   )     ref  ->  zero-ref    "field V183.m_task (fldOffset=0x0)" P-INDEP
-;  V549 tmp519      [V549,T96] (  2,  8   )     ref  ->   x0         "field V184._obj (fldOffset=0x0)" P-INDEP
-;  V550 tmp520      [V550,T106] (  2,  8   )   short  ->   x1         "field V184._token (fldOffset=0x8)" P-INDEP
+;  V549 tmp519      [V549,T95] (  2,  8   )     ref  ->   x0         "field V184._obj (fldOffset=0x0)" P-INDEP
+;  V550 tmp520      [V550,T105] (  2,  8   )   short  ->   x1         "field V184._token (fldOffset=0x8)" P-INDEP
 ;* V551 tmp521      [V551,T209] (  0,  0   )   ubyte  ->  zero-ref    "field V184._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
 ;* V552 tmp522      [V552    ] (  0,  0   )     ref  ->  zero-ref    "field V185._obj (fldOffset=0x0)" P-INDEP
 ;* V553 tmp523      [V553    ] (  0,  0   )   short  ->  zero-ref    "field V185._token (fldOffset=0x8)" P-INDEP
 ;* V554 tmp524      [V554    ] (  0,  0   )   ubyte  ->  zero-ref    "field V185._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
 ;* V555 tmp525      [V555    ] (  0,  0   )   byref  ->  zero-ref    "field V205._reference (fldOffset=0x0)" P-INDEP
 ;* V556 tmp526      [V556    ] (  0,  0   )     int  ->  zero-ref    "field V205._length (fldOffset=0x8)" P-INDEP
-;  V557 tmp527      [V557,T97] (  2,  8   )   byref  ->  x21         "field V210._reference (fldOffset=0x0)" P-INDEP
-;  V558 tmp528      [V558,T107] (  2,  8   )     int  ->  x22         "field V210._length (fldOffset=0x8)" P-INDEP
+;  V557 tmp527      [V557,T96] (  2,  8   )   byref  ->  x21         "field V210._reference (fldOffset=0x0)" P-INDEP
+;  V558 tmp528      [V558,T106] (  2,  8   )     int  ->  x22         "field V210._length (fldOffset=0x8)" P-INDEP
 ;* V559 tmp529      [V559    ] (  0,  0   )   byref  ->  zero-ref    "field V212._reference (fldOffset=0x0)" P-DEP
 ;* V560 tmp530      [V560    ] (  0,  0   )     int  ->  zero-ref    "field V212._length (fldOffset=0x8)" P-DEP
-;  V561 tmp531      [V561,T98] (  2,  8   )   byref  ->  x21         "field V213._reference (fldOffset=0x0)" P-INDEP
-;  V562 tmp532      [V562,T108] (  2,  8   )     int  ->  x22         "field V213._length (fldOffset=0x8)" P-INDEP
+;  V561 tmp531      [V561,T97] (  2,  8   )   byref  ->  x21         "field V213._reference (fldOffset=0x0)" P-INDEP
+;  V562 tmp532      [V562,T107] (  2,  8   )     int  ->  x22         "field V213._length (fldOffset=0x8)" P-INDEP
 ;* V563 tmp533      [V563    ] (  0,  0   )   byref  ->  zero-ref    "field V219._reference (fldOffset=0x0)" P-INDEP
 ;* V564 tmp534      [V564    ] (  0,  0   )     int  ->  zero-ref    "field V219._length (fldOffset=0x8)" P-INDEP
-;  V565 tmp535      [V565,T99] (  2,  8   )     ref  ->   x0         "field V220._obj (fldOffset=0x0)" P-INDEP
-;  V566 tmp536      [V566,T109] (  2,  8   )   short  ->   x1         "field V220._token (fldOffset=0x8)" P-INDEP
+;  V565 tmp535      [V565,T98] (  2,  8   )     ref  ->   x0         "field V220._obj (fldOffset=0x0)" P-INDEP
+;  V566 tmp536      [V566,T108] (  2,  8   )   short  ->   x1         "field V220._token (fldOffset=0x8)" P-INDEP
 ;* V567 tmp537      [V567,T210] (  0,  0   )   ubyte  ->  zero-ref    "field V220._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
 ;* V568 tmp538      [V568    ] (  0,  0   )     ref  ->  zero-ref    "field V221._obj (fldOffset=0x0)" P-INDEP
 ;* V569 tmp539      [V569    ] (  0,  0   )   short  ->  zero-ref    "field V221._token (fldOffset=0x8)" P-INDEP
 ;* V570 tmp540      [V570    ] (  0,  0   )   ubyte  ->  zero-ref    "field V221._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
 ;* V571 tmp541      [V571    ] (  0,  0   )     ref  ->  zero-ref    "field V240.m_task (fldOffset=0x0)" P-INDEP
-;  V572 tmp542      [V572,T100] (  2,  8   )     ref  ->   x0         "field V241._obj (fldOffset=0x0)" P-INDEP
-;  V573 tmp543      [V573,T110] (  2,  8   )   short  ->   x1         "field V241._token (fldOffset=0x8)" P-INDEP
+;  V572 tmp542      [V572,T99] (  2,  8   )     ref  ->   x0         "field V241._obj (fldOffset=0x0)" P-INDEP
+;  V573 tmp543      [V573,T109] (  2,  8   )   short  ->   x1         "field V241._token (fldOffset=0x8)" P-INDEP
 ;* V574 tmp544      [V574,T211] (  0,  0   )   ubyte  ->  zero-ref    "field V241._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
 ;* V575 tmp545      [V575    ] (  0,  0   )     ref  ->  zero-ref    "field V242._obj (fldOffset=0x0)" P-INDEP
 ;* V576 tmp546      [V576    ] (  0,  0   )   short  ->  zero-ref    "field V242._token (fldOffset=0x8)" P-INDEP
 ;* V577 tmp547      [V577    ] (  0,  0   )   ubyte  ->  zero-ref    "field V242._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
-;  V578 tmp548      [V578,T101] (  2,  8   )     ref  ->   x0         "field V260._obj (fldOffset=0x0)" P-INDEP
-;  V579 tmp549      [V579,T111] (  2,  8   )   short  ->   x1         "field V260._token (fldOffset=0x8)" P-INDEP
+;  V578 tmp548      [V578,T100] (  2,  8   )     ref  ->   x0         "field V260._obj (fldOffset=0x0)" P-INDEP
+;  V579 tmp549      [V579,T110] (  2,  8   )   short  ->   x1         "field V260._token (fldOffset=0x8)" P-INDEP
 ;* V580 tmp550      [V580,T212] (  0,  0   )   ubyte  ->  zero-ref    "field V260._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
 ;* V581 tmp551      [V581    ] (  0,  0   )     ref  ->  zero-ref    "field V261._obj (fldOffset=0x0)" P-INDEP
 ;* V582 tmp552      [V582    ] (  0,  0   )   short  ->  zero-ref    "field V261._token (fldOffset=0x8)" P-INDEP
@@ -728,8 +728,8 @@
 ;  V717 PSPSym      [V717,T317] (  1,  1   )    long  ->  [fp+0x1B0]  do-not-enreg[V] "PSPSym"
 ;* V718 cse0        [V718,T318] (  0,  0   )    long  ->  zero-ref    "CSE - conservative"
...
  
  
benchmarks.run_pgo.linux.arm64.checked.mch
-4 (-3.23%) : 110151.dasm - System.Numerics.BigIntegerCalculator:Compare(System.ReadOnlySpan1[uint],System.ReadOnlySpan1[uint]):int (Tier1)
@@ -5,7 +5,7 @@
 ; optimized using Dynamic PGO
 ; fp based frame
 ; fully interruptible
-; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 8964
+; with Dynamic PGO: edge weights are valid, and fgCalledCount is 8964
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[uint]>
@@ -30,22 +30,22 @@ G_M264_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, n
 G_M264_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
             ; byrRegs +[x0 x2]
             cmp     w1, w3
-            bne     G_M264_IG11
+            bne     G_M264_IG09
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M264_IG03:        ; bbWeight=0.97, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref
             sxtw    w4, w3
                        ;; size=4 bbWeight=0.97 PerfScore 0.49
 G_M264_IG04:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
             sub     w4, w4, #1
-            tbnz    w4, #31, G_M264_IG09
+            tbnz    w4, #31, G_M264_IG13
                      ;; size=8 bbWeight=1.00 PerfScore 1.50
 G_M264_IG05:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
             cmp     w4, w1
-            bhs     G_M264_IG14
+            bhs     G_M264_IG12
             mov     w5, w4
             ldr     w6, [x0, x5, LSL #2]
             cmp     w4, w3
-            bhs     G_M264_IG14
+            bhs     G_M264_IG12
             ldr     w5, [x2, x5, LSL #2]
             cmp     w6, w5
             beq     G_M264_IG04
@@ -53,7 +53,7 @@ G_M264_IG05:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2},
 G_M264_IG06:        ; bbWeight=0.97, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x0 x2]
             cmp     w5, w6
-            bhi     G_M264_IG12
+            bhi     G_M264_IG10
                        ;; size=8 bbWeight=0.97 PerfScore 1.45
 G_M264_IG07:        ; bbWeight=0.74, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #1
@@ -62,31 +62,30 @@ G_M264_IG08:        ; bbWeight=0.74, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=0.74 PerfScore 1.47
-G_M264_IG09:        ; bbWeight=0.97, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            mov     w0, wzr
-                       ;; size=4 bbWeight=0.97 PerfScore 0.48
-G_M264_IG10:        ; bbWeight=0.97, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            ret     lr
-                       ;; size=8 bbWeight=0.97 PerfScore 1.94
-G_M264_IG11:        ; bbWeight=0.03, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M264_IG09:        ; bbWeight=0.03, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             cmp     w1, w3
             bge     G_M264_IG07
                        ;; size=8 bbWeight=0.03 PerfScore 0.05
-G_M264_IG12:        ; bbWeight=0.26, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M264_IG10:        ; bbWeight=0.26, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movn    w0, #0
                        ;; size=4 bbWeight=0.26 PerfScore 0.13
-G_M264_IG13:        ; bbWeight=0.26, epilog, nogc, extend
+G_M264_IG11:        ; bbWeight=0.26, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=0.26 PerfScore 0.53
-G_M264_IG14:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M264_IG12:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
-            brk_unix #0
+                     ;; size=4 bbWeight=0 PerfScore 0.00
+G_M264_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            mov     w0, wzr
+                       ;; size=4 bbWeight=0 PerfScore 0.00
+G_M264_IG14:        ; bbWeight=0, epilog, nogc, extend
+            ldp     fp, lr, [sp], #0x10
+            ret     lr
                      ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 124, prolog size 8, PerfScore 22.40, instruction count 31, allocated bytes for code 124 (MethodHash=ba31fef7) for method System.Numerics.BigIntegerCalculator:Compare(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint]):int (Tier1)
+; Total bytes of code 120, prolog size 8, PerfScore 19.98, instruction count 30, allocated bytes for code 120 (MethodHash=ba31fef7) for method System.Numerics.BigIntegerCalculator:Compare(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint]):int (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -97,7 +96,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 31 (0x0001f) Actual length = 124 (0x00007c)
+  Function Length   : 30 (0x0001e) Actual length = 120 (0x000078)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-20 (-2.87%) : 105604.dasm - System.Linq.Enumerable:CountSystem.__Canon:int (Tier1)
@@ -25,7 +25,7 @@
 ;  V13 tmp7         [V13,T09] (  2, 154.40)     int  ->   x0         "guarded devirt return temp"
 ;* V14 tmp8         [V14    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Collections.Generic.List`1+Enumerator[Product]>
 ;* V15 tmp9         [V15    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Collections.Generic.List`1+Enumerator[Product]>
-;  V16 tmp10        [V16,T00] ( 12,1084.78)   byref  ->  x23         "Inlining Arg"
+;  V16 tmp10        [V16,T00] ( 10,1080.81)   byref  ->  x23         "Inlining Arg"
 ;  V17 tmp11        [V17,T07] (  4, 307.81)     ref  ->  x14         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;* V18 tmp12        [V18    ] (  0,   0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V19 tmp13        [V19,T01] (  3, 457.24)     ref  ->  x14         "arr expr"
@@ -54,12 +54,12 @@ G_M54795_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x19]
                        ;; size=40 bbWeight=1 PerfScore 7.50
 G_M54795_IG02:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
-            cbz     x21, G_M54795_IG24
-            cbz     x19, G_M54795_IG25
+            cbz     x21, G_M54795_IG23
+            cbz     x19, G_M54795_IG24
             mov     w22, wzr
             ldr     x0, [x20, #0x38]
             ldr     x11, [x0, #0x10]
-            cbz     x11, G_M54795_IG20
+            cbz     x11, G_M54795_IG19
                        ;; size=24 bbWeight=1 PerfScore 9.50
 G_M54795_IG03:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
             mov     x0, x21
@@ -143,11 +143,11 @@ G_M54795_IG10:        ; bbWeight=77.20, gcrefRegs=80000 {x19}, byrefRegs=0000 {}
             ldr     w15, [x23, #0x14]
             ldr     w12, [x14, #0x14]
             cmp     w15, w12
-            bne     G_M54795_IG18
+            bne     G_M54795_IG17
             ldr     w15, [x23, #0x10]
             ldr     w12, [x14, #0x10]
             cmp     w15, w12
-            bhs     G_M54795_IG19
+            bhs     G_M54795_IG18
                      ;; size=56 bbWeight=77.20 PerfScore 1930.02
 G_M54795_IG11:        ; bbWeight=76.21, gcrefRegs=84000 {x14 x19}, byrefRegs=800000 {x23}, byref, isz
             ; gcrRegs -[x0]
@@ -183,7 +183,7 @@ G_M54795_IG12:        ; bbWeight=77.20, gcrefRegs=80001 {x0 x19}, byrefRegs=0000
                        ;; size=24 bbWeight=77.20 PerfScore 501.80
 G_M54795_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
-            b       G_M54795_IG21
+            b       G_M54795_IG20
                      ;; size=4 bbWeight=1 PerfScore 1.00
 G_M54795_IG14:        ; bbWeight=5.01, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x19]
@@ -211,17 +211,8 @@ G_M54795_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M54795_IG18:        ; bbWeight=0.99, gcrefRegs=0000 {}, byrefRegs=800000 {x23}, byref, isz
+G_M54795_IG18:        ; bbWeight=0.99, gcrefRegs=0000 {}, byrefRegs=800000 {x23}, byref
             ; byrRegs +[x23]
-            ldr     w11, [x23, #0x14]
-            ldr     x1, [x23]
-            ; gcrRegs +[x1]
-            ldr     w1, [x1, #0x14]
-            ; gcrRegs -[x1]
-            cmp     w11, w1
-            bne     G_M54795_IG17
-                       ;; size=20 bbWeight=0.99 PerfScore 10.43
-G_M54795_IG19:        ; bbWeight=0.99, gcrefRegs=0000 {}, byrefRegs=800000 {x23}, byref
             ldr     x11, [x23]
             ; gcrRegs +[x11]
             ldr     w11, [x11, #0x10]
@@ -229,9 +220,9 @@ G_M54795_IG19:        ; bbWeight=0.99, gcrefRegs=0000 {}, byrefRegs=800000 {x23}
             add     w11, w11, #1
             str     w11, [x23, #0x10]
             str     xzr, [x23, #0x08]
-            b       G_M54795_IG21
+            b       G_M54795_IG20
                         ;; size=24 bbWeight=0.99 PerfScore 9.44
-G_M54795_IG20:        ; bbWeight=0.20, gcVars=0000000000000000 {}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref
+G_M54795_IG19:        ; bbWeight=0.20, gcVars=0000000000000000 {}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs +[x19 x21]
             ; byrRegs -[x23]
             ; GC ptr vars -{V04}
@@ -244,28 +235,28 @@ G_M54795_IG20:        ; bbWeight=0.20, gcVars=0000000000000000 {}, gcrefRegs=280
             mov     x11, x0
             b       G_M54795_IG03
                        ;; size=28 bbWeight=0.20 PerfScore 0.90
-G_M54795_IG21:        ; bbWeight=1, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M54795_IG20:        ; bbWeight=1, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x19 x21]
             ; GC ptr vars +{V04}
             ldr     x0, [fp, #0x10]    // [V04 loc1]
             ; gcrRegs +[x0]
             ldr     x1, [x0]
             cmp     x1, x21
-            bne     G_M54795_IG26
+            bne     G_M54795_IG25
                       ;; size=16 bbWeight=1 PerfScore 6.50
-G_M54795_IG22:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M54795_IG21:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             ; GC ptr vars -{V04}
             mov     w0, w22
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M54795_IG23:        ; bbWeight=1, epilog, nogc, extend
+G_M54795_IG22:        ; bbWeight=1, epilog, nogc, extend
             ldr     x23, [sp, #0x48]
             ldp     x21, x22, [sp, #0x38]
             ldp     x19, x20, [sp, #0x28]
             ldp     fp, lr, [sp], #0x50
             ret     lr
                        ;; size=20 bbWeight=1 PerfScore 6.00
-G_M54795_IG24:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M54795_IG23:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #17
             movz    x1, #0xD1FFAB1E      // code for System.Linq.ThrowHelper:ThrowArgumentNullException(int)
             movk    x1, #0xD1FFAB1E LSL #16
@@ -275,7 +266,7 @@ G_M54795_IG24:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=28 bbWeight=0 PerfScore 0.00
-G_M54795_IG25:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M54795_IG24:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #12
             movz    x1, #0xD1FFAB1E      // code for System.Linq.ThrowHelper:ThrowArgumentNullException(int)
             movk    x1, #0xD1FFAB1E LSL #16
@@ -285,7 +276,7 @@ G_M54795_IG25:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=28 bbWeight=0 PerfScore 0.00
-G_M54795_IG26:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M54795_IG25:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; GC ptr vars +{V04}
             ldr     x0, [fp, #0x10]    // [V04 loc1]
             ; gcrRegs +[x0]
@@ -297,9 +288,9 @@ G_M54795_IG26:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=000
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            b       G_M54795_IG22
+            b       G_M54795_IG21
                       ;; size=28 bbWeight=0 PerfScore 0.00
-G_M54795_IG27:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+G_M54795_IG26:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
             ; GC ptr vars +{V04}
             stp     fp, lr, [sp, #-0x40]!
             stp     x19, x20, [sp, #0x18]
@@ -308,16 +299,16 @@ G_M54795_IG27:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=000
             add     x3, fp, #80
             str     x3, [sp, #0x10]
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M54795_IG28:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M54795_IG27:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldr     x0, [fp, #0x10]   // [V04 loc1]
             ; gcrRegs +[x0]
-            cbz     x0, G_M54795_IG29
+            cbz     x0, G_M54795_IG28
             ldr     x11, [x0]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             cmp     x11, x21
-            beq     G_M54795_IG29
+            beq     G_M54795_IG28
             movz    x11, #0xD1FFAB1E      // code for <unknown method>
             movk    x11, #0xD1FFAB1E LSL #16
             movk    x11, #0xD1FFAB1E LSL #32
@@ -327,7 +318,7 @@ G_M54795_IG28:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=000
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=52 bbWeight=0 PerfScore 0.00
-G_M54795_IG29:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M54795_IG28:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldr     x23, [sp, #0x38]
             ldp     x21, x22, [sp, #0x28]
             ldp     x19, x20, [sp, #0x18]
@@ -335,7 +326,7 @@ G_M54795_IG29:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 696, prolog size 40, PerfScore 6923.15, instruction count 174, allocated bytes for code 696 (MethodHash=aec129f4) for method System.Linq.Enumerable:Count[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (Tier1)
+; Total bytes of code 676, prolog size 40, PerfScore 6912.72, instruction count 169, allocated bytes for code 676 (MethodHash=aec129f4) for method System.Linq.Enumerable:Count[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -346,7 +337,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 150 (0x00096) Actual length = 600 (0x000258)
+  Function Length   : 145 (0x00091) Actual length = 580 (0x000244)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -381,4 +372,4 @@ Unwind Info:
 
 *************** EH table for System.Linq.Enumerable:Count[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M54795_IG04..G_M54795_IG20) handled by [G_M54795_IG27..END) (fault)
+EH#0: try [G_M54795_IG04..G_M54795_IG19) handled by [G_M54795_IG26..END) (fault)
  
-12 (-2.52%) : 5815.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
@@ -8,28 +8,28 @@
 ; 3 inlinees with PGO data; 12 single block inlinees; 3 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T17] (  3,  3   )    long  ->  x19         single-def
-;  V01 arg1         [V01,T18] (  3,  3   )    long  ->  x20         single-def
+;  V00 arg0         [V00,T18] (  3,  3   )    long  ->  x19         single-def
+;  V01 arg1         [V01,T19] (  3,  3   )    long  ->  x20         single-def
 ;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x28]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T19] (  4, 11   )    long  ->  x20        
+;  V03 loc1         [V03,T20] (  4, 11   )    long  ->  x20        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V08 tmp1         [V08,T08] (  7, 83.78)     ref  ->  x19         class-hnd single-def "non-inline candidate call" <<unknown class>>
+;  V08 tmp1         [V08,T09] (  7, 83.78)     ref  ->  x19         class-hnd single-def "non-inline candidate call" <<unknown class>>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V11 tmp4         [V11,T27] (  3,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V12 tmp5         [V12,T20] (  2,  4   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp4         [V11,T28] (  3,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp5         [V12,T21] (  2,  4   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp10        [V17,T06] (  2, 16   )     int  ->   x4         "Inlining Arg"
-;  V18 tmp11        [V18,T05] (  2, 16   )   byref  ->   x3         "Inlining Arg"
+;  V17 tmp10        [V17,T07] (  2, 16   )     int  ->   x4         "Inlining Arg"
+;  V18 tmp11        [V18,T06] (  2, 16   )   byref  ->   x3         "Inlining Arg"
 ;* V19 tmp12        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V21 tmp14        [V21,T10] (  2,  8   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V21 tmp14        [V21,T11] (  2,  8   )   ubyte  ->   x0         "Inline return value spill temp"
 ;* V22 tmp15        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V23 tmp16        [V23    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V24 tmp17        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
@@ -40,30 +40,30 @@
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V30 tmp23        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V32 tmp25        [V32,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V32 tmp25        [V32,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V33 tmp26        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V34 tmp27        [V34,T23] (  3, 16.89)     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
-;  V35 tmp28        [V35,T21] (  4, 17.78)     int  ->  x15         "Inline stloc first use temp"
-;  V36 tmp29        [V36,T16] (  3, 19.78)     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V34 tmp27        [V34,T24] (  3, 16.89)     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
+;  V35 tmp28        [V35,T22] (  4, 17.78)     int  ->  x15         "Inline stloc first use temp"
+;  V36 tmp29        [V36,T17] (  3, 19.78)     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [fp+0x18]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
 ;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
 ;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
-;  V40 tmp33        [V40,T02] (  5, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V41 tmp34        [V41,T03] (  4, 18.70)     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V40 tmp33        [V40,T04] (  4, 23.70)     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V41 tmp34        [V41,T02] (  4, 18.70)     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V42 tmp35        [V42,T00] (  6, 35.79)     int  ->  x22         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V43 tmp36        [V43,T11] (  3, 10.30)     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
-;  V44 tmp37        [V44,T12] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp38        [V45,T14] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp36        [V43,T12] (  2,  9   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
+;  V44 tmp37        [V44,T13] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp38        [V45,T15] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V46 tmp39        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V47 tmp40        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V48 tmp41        [V48,T22] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;  V48 tmp41        [V48,T23] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V49 tmp42        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V50 tmp43        [V50,T25] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
-;  V51 tmp44        [V51,T24] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
-;  V52 tmp45        [V52,T09] (  3, 12   )   byref  ->   x3         "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V53 tmp46        [V53,T04] (  4, 16   )     int  ->   x4         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V54 tmp47        [V54,T13] (  2,  8   )   byref  ->   x3         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V55 tmp48        [V55,T15] (  2,  8   )     int  ->   x4         "field V15._length (fldOffset=0x8)" P-INDEP
+;* V50 tmp43        [V50,T26] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
+;  V51 tmp44        [V51,T25] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
+;  V52 tmp45        [V52,T10] (  3, 12   )   byref  ->   x3         "field V14._reference (fldOffset=0x0)" P-INDEP
+;  V53 tmp46        [V53,T05] (  4, 16   )     int  ->   x4         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V54 tmp47        [V54,T14] (  2,  8   )   byref  ->   x3         "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V55 tmp48        [V55,T16] (  2,  8   )     int  ->   x4         "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp50        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V58 tmp51        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
@@ -79,7 +79,8 @@
 ;* V68 tmp61        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V69 tmp62        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;  V70 tmp63        [V70,T01] (  3, 40.19)     ref  ->   x2         "arr expr"
-;  V71 PSPSym       [V71,T26] (  1,  1   )    long  ->  [fp+0x38]  do-not-enreg[V] "PSPSym"
+;  V71 PSPSym       [V71,T27] (  1,  1   )    long  ->  [fp+0x38]  do-not-enreg[V] "PSPSym"
+;  V72 cse0         [V72,T03] (  2, 16   )     int  ->   x2         "CSE - aggressive"
 ;
 ; Lcl frame size = 48
 
@@ -110,7 +111,7 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcr arg pop 0
             stp     x0, x1, [fp, #0x28]    // [V02 loc0], [V02 loc0+0x08]
             ldrb    w2, [x20, #0x08]
-            cbz     w2, G_M19804_IG12
+            cbz     w2, G_M19804_IG11
             ldr     x19, [x20]
             ; gcrRegs +[x19]
             ldr     w21, [x19, #0x14]
@@ -150,15 +151,15 @@ G_M19804_IG06:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0009 {x0 x3
             blr     x3
             ; byrRegs -[x0-x1]
             ; gcr arg pop 0
-            cbnz    w0, G_M19804_IG15
+            cbnz    w0, G_M19804_IG14
                       ;; size=40 bbWeight=4 PerfScore 38.00
 G_M19804_IG07:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     w2, [x19, #0x14]
             cmp     w21, w2
-            bne     G_M19804_IG11
+            bne     G_M19804_IG10
             ldr     w2, [x19, #0x10]
             cmp     w22, w2
-            bhs     G_M19804_IG12
+            bhs     G_M19804_IG11
                       ;; size=24 bbWeight=8 PerfScore 72.00
 G_M19804_IG08:        ; bbWeight=6.70, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x2, [x19, #0x08]
@@ -189,14 +190,7 @@ G_M19804_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M19804_IG11:        ; bbWeight=1.30, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x19]
-            ldr     w0, [x19, #0x14]
-            cmp     w21, w0
-            bne     G_M19804_IG10
-                       ;; size=12 bbWeight=1.30 PerfScore 5.86
-G_M19804_IG12:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x19]
+G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldr     x19, [x20]
             ; gcrRegs +[x19]
             add     x0, fp, #40    // [V02 loc0]
@@ -216,9 +210,9 @@ G_M19804_IG12:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x14]
             ldr     w12, [x14, #0x08]
             cmp     w12, w15
-            bls     G_M19804_IG14
+            bls     G_M19804_IG13
                      ;; size=60 bbWeight=8 PerfScore 172.00
-G_M19804_IG13:        ; bbWeight=0.89, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG12:        ; bbWeight=0.89, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             add     w12, w15, #1
             str     w12, [x19, #0x10]
@@ -231,9 +225,9 @@ G_M19804_IG13:        ; bbWeight=0.89, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x1 x15 x19]
             ; byrRegs -[x14]
-            b       G_M19804_IG15
+            b       G_M19804_IG14
                      ;; size=28 bbWeight=0.89 PerfScore 4.90
-G_M19804_IG14:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x1 x19]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -245,18 +239,18 @@ G_M19804_IG14:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {},
             ; gcrRegs -[x0-x1 x19]
             ; gcr arg pop 0
                        ;; size=24 bbWeight=1 PerfScore 6.00
-G_M19804_IG15:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M19804_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             add     x0, fp, #24   // [V37 tmp30]
             bl      CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M19804_IG16:        ; bbWeight=1, epilog, nogc, extend
+G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
             ldp     x21, x22, [sp, #0x50]
             ldp     x19, x20, [sp, #0x40]
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=16 bbWeight=1 PerfScore 4.00
-G_M19804_IG17:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             ; gcrRegs +[x0]
             stp     fp, lr, [sp, #-0x40]!
             stp     x19, x20, [sp, #0x20]
@@ -264,7 +258,7 @@ G_M19804_IG17:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             add     x3, fp, #96
             str     x3, [sp, #0x18]
                        ;; size=20 bbWeight=0 PerfScore 0.00
-G_M19804_IG18:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
             ldr     x1, [x0]
             ldr     x1, [x1, #0x48]
             ldr     x1, [x1, #0x08]
@@ -277,16 +271,16 @@ G_M19804_IG18:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            adr     x0, [G_M19804_IG15]
+            adr     x0, [G_M19804_IG14]
                       ;; size=40 bbWeight=0 PerfScore 0.00
-G_M19804_IG19:        ; bbWeight=0, funclet epilog, nogc, extend
+G_M19804_IG18:        ; bbWeight=0, funclet epilog, nogc, extend
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=16 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 476, prolog size 36, PerfScore 456.98, instruction count 119, allocated bytes for code 476 (MethodHash=86b0b2a3) for method System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
+; Total bytes of code 464, prolog size 36, PerfScore 451.12, instruction count 116, allocated bytes for code 464 (MethodHash=86b0b2a3) for method System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -297,7 +291,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 100 (0x00064) Actual length = 400 (0x000190)
+  Function Length   : 97 (0x00061) Actual length = 388 (0x000184)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -334,4 +328,4 @@ Unwind Info:
 
 *************** EH table for System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long)
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M19804_IG03..G_M19804_IG15) handled by [G_M19804_IG17..END) (class: 2000053)
+EH#0: try [G_M19804_IG03..G_M19804_IG14) handled by [G_M19804_IG16..END) (class: 2000053)
  
+32 (+1.01%) : 75015.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
@@ -12,13 +12,13 @@
 ;  V00 loc0         [V00,T09] ( 26,  8.38)     ref  ->  x20         class-hnd exact single-def <System.Threading.ThreadPoolWorkQueue>
 ;  V01 loc1         [V01,T10] ( 18,  8.32)     ref  ->  x22         class-hnd exact single-def <System.Threading.ThreadPoolWorkQueueThreadLocals>
 ;  V02 loc2         [V02    ] ( 11, 10.53)     ref  ->  [fp+0x48]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Object>
-;  V03 loc3         [V03,T23] (  6,  5.32)     ref  ->  x21         class-hnd single-def <System.Object>
+;  V03 loc3         [V03,T23] (  8,  5.32)     ref  ->  x21         class-hnd single-def <System.Object>
 ;  V04 loc4         [V04,T07] ( 13,  8.65)     ref  ->  x23         class-hnd exact single-def <System.Threading.Thread>
 ;  V05 loc5         [V05,T66] (  3,  1.66)     int  ->  x28        
 ;  V06 loc6         [V06,T58] (  2,  2.00)   ubyte  ->   x0        
 ;* V07 loc7         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
 ;  V08 loc8         [V08    ] (  3,  1.76)   ubyte  ->  [fp+0x40]  do-not-enreg[X] addr-exposed ld-addr-op
-;  V09 loc9         [V09,T24] (  5,  4.88)     int  ->  x27        
+;  V09 loc9         [V09,T24] (  5,  4.88)     int  ->  x24        
 ;  V10 loc10        [V10    ] (  3,  1.91)   ubyte  ->  [fp+0x38]  do-not-enreg[X] addr-exposed ld-addr-op
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V12 tmp1         [V12    ] (  0,  0   )     ref  ->  zero-ref   
@@ -53,23 +53,23 @@
 ;* V41 tmp30        [V41    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V42 tmp31        [V42    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V43 tmp32        [V43    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <<unknown class>>
-;  V44 tmp33        [V44,T56] (  3,  2.20)     ref  ->  x24         class-hnd "Inline return value spill temp" <System.Object>
+;  V44 tmp33        [V44,T56] (  3,  2.20)     ref  ->  x25         class-hnd "Inline return value spill temp" <System.Object>
 ;  V45 tmp34        [V45    ] ( 11,  6.92)     ref  ->  [fp+0x28]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" <System.Object>
 ;  V46 tmp35        [V46,T54] (  3,  2.31)     int  ->  x24         "Inline stloc first use temp"
 ;  V47 tmp36        [V47,T48] (  2,  2.46)     ref  ->  x25         class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
 ;  V48 tmp37        [V48,T41] (  3,  3.23)     ref  ->  x26         class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue[]>
 ;  V49 tmp38        [V49,T04] (  9, 11.30)     int  ->  [fp+0x24]  "Inline stloc first use temp"
-;  V50 tmp39        [V50,T55] (  2,  2.23)     int  ->  [fp+0x20]  spill-single-def "Inline stloc first use temp"
+;  V50 tmp39        [V50,T55] (  2,  2.23)     int  ->  [fp+0x20]  "Inline stloc first use temp"
 ;  V51 tmp40        [V51,T06] (  6,  8.69)     int  ->  x24         "Inline stloc first use temp"
-;  V52 tmp41        [V52,T19] (  5,  5.70)     ref  ->   x0         class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
-;  V53 tmp42        [V53,T37] (  3,  3.69)     int  ->  x24        
+;  V52 tmp41        [V52,T19] (  5,  5.70)     ref  ->   x3         class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
+;  V53 tmp42        [V53,T37] (  3,  3.69)     int  ->   x3        
 ;  V54 tmp43        [V54,T50] (  3,  2.43)     ref  ->  x24         class-hnd "Inline return value spill temp" <System.Object>
 ;  V55 tmp44        [V55,T11] (  4,  7.79)     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
 ;  V56 tmp45        [V56,T52] (  2,  1.54)   ubyte  ->   x0         "Inline return value spill temp"
-;  V57 tmp46        [V57,T29] (  3,  4.62)     ref  ->  x24         class-hnd "Inlining Arg" <<unknown class>>
-;  V58 tmp47        [V58,T53] (  3,  2.31)     ref  ->  x25         class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V59 tmp48        [V59,T01] (  9, 13.85)     ref  ->   x1         class-hnd exact "Inlining Arg" <System.Random+XoshiroImpl>
-;  V60 tmp49        [V60,T35] (  5,  3.85)    long  ->   x0         "Inline stloc first use temp"
+;  V57 tmp46        [V57,T29] (  3,  4.62)     ref  ->  x25         class-hnd "Inlining Arg" <<unknown class>>
+;  V58 tmp47        [V58,T53] (  3,  2.31)     ref  ->  x26         class-hnd "Inline stloc first use temp" <<unknown class>>
+;  V59 tmp48        [V59,T01] (  9, 13.85)     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Random+XoshiroImpl>
+;  V60 tmp49        [V60,T35] (  5,  3.85)    long  ->   x1         "Inline stloc first use temp"
 ;  V61 tmp50        [V61,T20] (  7,  5.39)    long  ->   x2         "Inline stloc first use temp"
 ;  V62 tmp51        [V62,T21] (  7,  5.39)    long  ->   x3         "Inline stloc first use temp"
 ;  V63 tmp52        [V63,T22] (  7,  5.39)    long  ->   x4         "Inline stloc first use temp"
@@ -97,14 +97,14 @@
 ;  V85 tmp74        [V85,T08] (  4,  8.54)     ref  ->   x0        
 ;* V86 tmp75        [V86    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V87 tmp76        [V87    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V88 tmp77        [V88,T00] (  8, 14.64)     ref  ->  x24         class-hnd exact "Inlining Arg" <System.Threading.PortableThreadPool>
+;  V88 tmp77        [V88,T00] (  8, 14.64)     ref  ->  x25         class-hnd exact "Inlining Arg" <System.Threading.PortableThreadPool>
 ;* V89 tmp78        [V89    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V90 tmp79        [V90    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V91 tmp80        [V91,T15] (  3,  6.10)     ref  ->   x0         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
+;  V91 tmp80        [V91,T15] (  5,  6.10)     ref  ->   x2         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V92 tmp81        [V92    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V93 tmp82        [V93    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V94 tmp83        [V94    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V95 tmp84        [V95,T38] (  3,  3.66)     int  ->   x0         "Inline stloc first use temp"
+;  V95 tmp84        [V95,T38] (  5,  3.66)     int  ->   x3         "Inline stloc first use temp"
 ;* V96 tmp85        [V96,T71] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V97 tmp86        [V97,T39] (  3,  3.66)     int  ->   x0         "Inline stloc first use temp"
 ;* V98 tmp87        [V98    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
@@ -120,9 +120,9 @@
 ;  V108 rat0        [V108,T33] (  3,  4   )   byref  ->  x21         "TLS field access"
 ;  V109 rat1        [V109,T17] (  3,  6   )    long  ->   x0         "TLS access"
 ;  V110 rat2        [V110,T18] (  3,  6   )    long  ->   x0         "ThreadStaticBlockBase access"
-;  V111 rat3        [V111,T25] (  3,  4.88)   byref  ->  x27         "TLS field access"
+;  V111 rat3        [V111,T25] (  3,  4.88)   byref  ->  x24         "TLS field access"
 ;  V112 rat4        [V112,T12] (  5,  7.32)    long  ->   x1         "TLS access"
-;  V113 rat5        [V113,T13] (  3,  7.32)    long  ->  x27         "ThreadStaticBlockBase access"
+;  V113 rat5        [V113,T13] (  3,  7.32)    long  ->  x24         "ThreadStaticBlockBase access"
 ;
 ; Lcl frame size = 64
 
@@ -147,10 +147,10 @@ G_M63069_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             mrs     x0, tpidr_el0
             ldr     w1, [x0, #0xD1FFAB1E]
             cmp     w1, #6
-            blt     G_M63069_IG101
+            blt     G_M63069_IG100
             ldr     x0, [x0, #0xD1FFAB1E]
             ldr     x0, [x0, #0x30]
-            cbz     x0, G_M63069_IG101
+            cbz     x0, G_M63069_IG100
             ldr     x0, [x0]
             ; byrRegs +[x0]
             add     x21, x0, #16
@@ -168,12 +168,12 @@ G_M63069_IG04:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             dmb     ish
             str     xzr, [fp, #0x48]   // [V02 loc2]
             ldrb    w0, [x20, #0x35]
-            cbnz    w0, G_M63069_IG102
+            cbnz    w0, G_M63069_IG101
                        ;; size=20 bbWeight=1.00 PerfScore 16.01
 G_M63069_IG05:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [fp, #0x48]    // [V02 loc2]
             ; gcrRegs +[x0]
-            cbnz    x0, G_M63069_IG75
+            cbnz    x0, G_M63069_IG67
                       ;; size=8 bbWeight=1.00 PerfScore 3.00
 G_M63069_IG06:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -189,7 +189,7 @@ G_M63069_IG06:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             ldapr   w2, [x2]
             ; byrRegs -[x2]
             cmp     w1, w2
-            blt     G_M63069_IG32
+            blt     G_M63069_IG20
                        ;; size=32 bbWeight=1.00 PerfScore 12.50
 G_M63069_IG07:        ; bbWeight=0.80, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
@@ -200,13 +200,13 @@ G_M63069_IG08:        ; bbWeight=1.00, gcrefRegs=700000 {x20 x21 x22}, byrefRegs
             str     x21, [fp, #0x30]   // [V17 tmp6]
             ldr     x0, [fp, #0x30]    // [V17 tmp6]
             ; gcrRegs +[x0]
-            cbz     x0, G_M63069_IG36
+            cbz     x0, G_M63069_IG24
                       ;; size=12 bbWeight=1.00 PerfScore 4.00
 G_M63069_IG09:        ; bbWeight=0.37, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0 x21]
             ldr     x21, [fp, #0x30]   // [V17 tmp6]
             ; gcrRegs +[x21]
-            b       G_M63069_IG51
+            b       G_M63069_IG39
                      ;; size=8 bbWeight=0.37 PerfScore 1.10
 G_M63069_IG10:        ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21-x22]
@@ -224,20 +224,20 @@ G_M63069_IG10:        ; bbWeight=0.00, gcrefRegs=100000 {x20}, byrefRegs=0000 {}
                        ;; size=32 bbWeight=0.00 PerfScore 0.00
 G_M63069_IG11:        ; bbWeight=1.22, gcrefRegs=F00000 {x20 x21 x22 x23}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0] +[x21 x23]
-            ldr     x0, [x27]
+            ldr     x0, [x24]
             ; byrRegs +[x0]
-            add     x27, x0, #16
-            ; byrRegs +[x27]
+            add     x24, x0, #16
+            ; byrRegs +[x24]
                        ;; size=8 bbWeight=1.22 PerfScore 4.27
-G_M63069_IG12:        ; bbWeight=1.22, gcrefRegs=F00000 {x20 x21 x22 x23}, byrefRegs=8000000 {x27}, byref, isz
+G_M63069_IG12:        ; bbWeight=1.22, gcrefRegs=F00000 {x20 x21 x22 x23}, byrefRegs=1000000 {x24}, byref, isz
             ; byrRegs -[x0]
-            ldr     x0, [x27, #0x20]
+            ldr     x0, [x24, #0x20]
             ; gcrRegs +[x0]
             cbnz    x0, G_M63069_IG14
                        ;; size=8 bbWeight=1.22 PerfScore 4.88
 G_M63069_IG13:        ; bbWeight=4.88, gcrefRegs=F00000 {x20 x21 x22 x23}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
-            ; byrRegs -[x27]
+            ; byrRegs -[x24]
             movz    x0, #0xD1FFAB1E      // code for <unknown method>
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -248,7 +248,7 @@ G_M63069_IG13:        ; bbWeight=4.88, gcrefRegs=F00000 {x20 x21 x22 x23}, byref
                        ;; size=20 bbWeight=4.88 PerfScore 26.84
 G_M63069_IG14:        ; bbWeight=1.22, gcrefRegs=F00001 {x0 x20 x21 x22 x23}, byrefRegs=0000 {}, byref, isz
             cmp     x23, x0
-            bne     G_M63069_IG116
+            bne     G_M63069_IG115
                         ;; size=8 bbWeight=1.22 PerfScore 1.83
 G_M63069_IG15:        ; bbWeight=1.22, gcrefRegs=F00000 {x20 x21 x22 x23}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -257,140 +257,40 @@ G_M63069_IG15:        ; bbWeight=1.22, gcrefRegs=F00000 {x20 x21 x22 x23}, byref
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            cbz     w0, G_M63069_IG117
+            cbz     w0, G_M63069_IG116
                         ;; size=12 bbWeight=1.22 PerfScore 3.05
 G_M63069_IG16:        ; bbWeight=1.22, gcrefRegs=F00000 {x20 x21 x22 x23}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [x23, #0x38]
-            cbnz    w0, G_M63069_IG118
+            cbnz    w0, G_M63069_IG117
                        ;; size=8 bbWeight=1.22 PerfScore 4.88
 G_M63069_IG17:        ; bbWeight=1.22, gcrefRegs=F00000 {x20 x21 x22 x23}, byrefRegs=0000 {}, byref, isz
             bl      <unknown method>
             ; gcr arg pop 0
-            sxtw    w27, w0
-            ldr     x24, [x19, #0xD1FFAB1E]
-            ; gcrRegs +[x24]
-            cbz     x21, G_M63069_IG119
-                       ;; size=16 bbWeight=1.22 PerfScore 6.71
-G_M63069_IG18:        ; bbWeight=1.22, gcrefRegs=1F00000 {x20 x21 x22 x23 x24}, byrefRegs=0000 {}, byref, isz
-            mov     x0, x21
-            ; gcrRegs +[x0]
-            cbz     x0, G_M63069_IG20
-                       ;; size=8 bbWeight=1.22 PerfScore 1.83
-G_M63069_IG19:        ; bbWeight=0.61, gcrefRegs=1F00001 {x0 x20 x21 x22 x23 x24}, byrefRegs=0000 {}, byref, isz
-            ldr     x0, [x0]
-            ; gcrRegs -[x0]
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            cmp     x0, x1
-            beq     G_M63069_IG21
+            sxtw    w24, w0
+            ldr     x25, [x19, #0xD1FFAB1E]
+            ; gcrRegs +[x25]
+            cbz     x21, G_M63069_IG118
+            mov     x2, x21
+            ; gcrRegs +[x2]
+            cbz     x2, G_M63069_IG119
+                       ;; size=24 bbWeight=1.22 PerfScore 8.54
+G_M63069_IG18:        ; bbWeight=0.61, gcrefRegs=2F00004 {x2 x20 x21 x22 x23 x25}, byrefRegs=0000 {}, byref, isz
+            ldr     x1, [x2]
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
+            cmp     x1, x0
+            bne     G_M63069_IG119
                      ;; size=24 bbWeight=0.61 PerfScore 3.66
-G_M63069_IG20:        ; bbWeight=1.22, gcrefRegs=1F00000 {x20 x21 x22 x23 x24}, byrefRegs=0000 {}, byref
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            ; gcr arg pop 0
-                       ;; size=44 bbWeight=1.22 PerfScore 10.37
-G_M63069_IG21:        ; bbWeight=1.22, gcrefRegs=1F00000 {x20 x21 x22 x23 x24}, byrefRegs=0000 {}, byref, isz
-            ldr     w0, [x21, #0x20]
-            add     w0, w0, #1
-            cbz     w0, G_M63069_IG120
-            str     w0, [x21, #0x20]
+G_M63069_IG19:        ; bbWeight=1.22, gcrefRegs=2F00000 {x20 x21 x22 x23 x25}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x2]
+            ldr     w1, [x21, #0x20]
+            add     w3, w1, #1
+            cbz     w3, G_M63069_IG120
+            b       G_M63069_IG70
                       ;; size=16 bbWeight=1.22 PerfScore 6.71
-G_M63069_IG22:        ; bbWeight=1.22, gcrefRegs=1F00000 {x20 x21 x22 x23 x24}, byrefRegs=0000 {}, byref, isz
-            str     w27, [x24, #0xD1FFAB1E]
-            add     x0, x24, #0xD1FFAB1E
-            ; byrRegs +[x0]
-            ldapr   w0, [x0]
-            ; byrRegs -[x0]
-            sub     w1, w27, w0
-            ldr     w2, [x24, #0xD1FFAB1E]
...
  
+36 (+1.12%) : 25717.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
@@ -12,7 +12,7 @@
 ;  V00 loc0         [V00,T11] ( 26, 13.49)     ref  ->  x20         class-hnd exact single-def <System.Threading.ThreadPoolWorkQueue>
 ;  V01 loc1         [V01,T21] ( 18, 10.65)     ref  ->  x22         class-hnd exact single-def <System.Threading.ThreadPoolWorkQueueThreadLocals>
 ;  V02 loc2         [V02    ] ( 11, 17.99)     ref  ->  [fp+0x58]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Object>
-;  V03 loc3         [V03,T14] (  6, 11.19)     ref  ->  x23         class-hnd single-def <System.Object>
+;  V03 loc3         [V03,T14] (  8, 11.19)     ref  ->  x23         class-hnd single-def <System.Object>
 ;  V04 loc4         [V04,T01] ( 14, 22.42)     ref  ->  x24         class-hnd exact single-def <System.Threading.Thread>
 ;  V05 loc5         [V05,T61] (  3,  2.83)     int  ->  x25        
 ;  V06 loc6         [V06,T68] (  2,  2.01)   ubyte  ->   x0        
@@ -59,17 +59,17 @@
 ;* V47 tmp36        [V47    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V48 tmp37        [V48    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V49 tmp38        [V49    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <<unknown class>>
-;  V50 tmp39        [V50,T54] (  3,  3.52)     ref  ->   x1         class-hnd "Inline return value spill temp" <System.Object>
-;  V51 tmp40        [V51    ] ( 12, 16.48)     ref  ->  [fp+0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" <System.Object>
-;  V52 tmp41        [V52,T67] (  3,  2.20)     int  ->  x28         "Inline stloc first use temp"
+;  V50 tmp39        [V50,T54] (  3,  3.52)     ref  ->   x2         class-hnd "Inline return value spill temp" <System.Object>
+;  V51 tmp40        [V51    ] ( 14, 16.48)     ref  ->  [fp+0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" <System.Object>
+;  V52 tmp41        [V52,T67] (  3,  2.20)     int  ->  x26         "Inline stloc first use temp"
 ;  V53 tmp42        [V53,T59] (  2,  2.88)     ref  ->  registers   class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
-;  V54 tmp43        [V54,T52] (  3,  3.61)     ref  ->  x27         class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue[]>
+;  V54 tmp43        [V54,T52] (  3,  3.61)     ref  ->  x28         class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue[]>
 ;  V55 tmp44        [V55,T19] (  9, 10.84)     int  ->  [fp+0x2C]  "Inline stloc first use temp"
 ;  V56 tmp45        [V56,T60] (  2,  2.88)     int  ->  [fp+0x28]  "Inline stloc first use temp"
-;  V57 tmp46        [V57,T20] (  6, 10.72)     int  ->  x28         "Inline stloc first use temp"
+;  V57 tmp46        [V57,T20] (  6, 10.72)     int  ->  registers   "Inline stloc first use temp"
 ;  V58 tmp47        [V58,T29] (  5,  7.11)     ref  ->   x0         class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
-;  V59 tmp48        [V59,T46] (  3,  4.29)     int  ->   x0        
-;  V60 tmp49        [V60,T39] (  3,  5.58)     ref  ->   x2         class-hnd "Inline return value spill temp" <System.Object>
+;  V59 tmp48        [V59,T46] (  3,  4.29)     int  ->   x1        
+;  V60 tmp49        [V60,T39] (  4,  5.58)     ref  ->   x2         class-hnd "Inline return value spill temp" <System.Object>
 ;  V61 tmp50        [V61,T08] (  4, 16.74)     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
 ;  V62 tmp51        [V62,T25] (  2,  5.58)   ubyte  ->   x0         "Inline return value spill temp"
 ;  V63 tmp52        [V63,T09] (  3, 16.74)     ref  ->  x26         class-hnd "Inlining Arg" <<unknown class>>
@@ -83,8 +83,8 @@
 ;  V71 tmp60        [V71,T31] (  3,  6.31)     int  ->   x1         "Inline stloc first use temp"
 ;  V72 tmp61        [V72,T85] (  2,  0.73)   ubyte  ->   x6         "Inline stloc first use temp"
 ;  V73 tmp62        [V73,T77] (  3,  1.47)     int  ->   x7         "Inline stloc first use temp"
-;  V74 tmp63        [V74,T12] (  9, 13.23)     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Random+XoshiroImpl>
-;  V75 tmp64        [V75,T51] (  5,  3.67)    long  ->   x1         "Inline stloc first use temp"
+;  V74 tmp63        [V74,T12] (  9, 13.23)     ref  ->   x1         class-hnd exact "Inlining Arg" <System.Random+XoshiroImpl>
+;  V75 tmp64        [V75,T51] (  5,  3.67)    long  ->   x0         "Inline stloc first use temp"
 ;  V76 tmp65        [V76,T40] (  7,  5.14)    long  ->   x2         "Inline stloc first use temp"
 ;  V77 tmp66        [V77,T41] (  7,  5.14)    long  ->   x3         "Inline stloc first use temp"
 ;  V78 tmp67        [V78,T42] (  7,  5.14)    long  ->   x4         "Inline stloc first use temp"
@@ -103,14 +103,14 @@
 ;  V91 tmp80        [V91,T03] (  4, 19.53)     ref  ->   x0        
 ;* V92 tmp81        [V92    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V93 tmp82        [V93    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V94 tmp83        [V94,T00] (  8, 33.50)     ref  ->  x26         class-hnd exact "Inlining Arg" <System.Threading.PortableThreadPool>
+;  V94 tmp83        [V94,T00] (  8, 33.50)     ref  ->  x27         class-hnd exact "Inlining Arg" <System.Threading.PortableThreadPool>
 ;* V95 tmp84        [V95    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V96 tmp85        [V96    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V97 tmp86        [V97,T10] (  3, 13.95)     ref  ->   x0         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
+;  V97 tmp86        [V97,T10] (  5, 13.95)     ref  ->   x1         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V98 tmp87        [V98    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V99 tmp88        [V99    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V100 tmp89       [V100    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V101 tmp90       [V101,T23] (  3,  8.37)     int  ->   x0         "Inline stloc first use temp"
+;  V101 tmp90       [V101,T23] (  5,  8.37)     int  ->   x1         "Inline stloc first use temp"
 ;* V102 tmp91       [V102,T62] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V103 tmp92       [V103,T24] (  3,  8.37)     int  ->   x0         "Inline stloc first use temp"
 ;* V104 tmp93       [V104    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
@@ -162,17 +162,17 @@ G_M63069_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             mrs     x0, tpidr_el0
             ldr     w1, [x0, #0xD1FFAB1E]
             cmp     w1, #6
-            blt     G_M63069_IG90
+            blt     G_M63069_IG92
             ldr     x0, [x0, #0xD1FFAB1E]
             ldr     x0, [x0, #0x30]
-            cbz     x0, G_M63069_IG90
+            cbz     x0, G_M63069_IG92
             ldr     x0, [x0]
             ; byrRegs +[x0]
             add     x21, x0, #16
             ; byrRegs +[x21]
             ldr     x22, [x21, #0x40]
             ; gcrRegs +[x22]
-            cbz     x22, G_M63069_IG91
+            cbz     x22, G_M63069_IG93
                        ;; size=60 bbWeight=1 PerfScore 24.50
 G_M63069_IG03:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x0 x21]
@@ -180,12 +180,12 @@ G_M63069_IG03:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             dmb     ish
             str     xzr, [fp, #0x58]   // [V02 loc2]
             ldrb    w0, [x20, #0x35]
-            cbnz    w0, G_M63069_IG92
+            cbnz    w0, G_M63069_IG94
                      ;; size=20 bbWeight=1.00 PerfScore 16.05
 G_M63069_IG04:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [fp, #0x58]    // [V02 loc2]
             ; gcrRegs +[x0]
-            cbnz    x0, G_M63069_IG66
+            cbnz    x0, G_M63069_IG43
                       ;; size=8 bbWeight=1.00 PerfScore 3.01
 G_M63069_IG05:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -201,12 +201,12 @@ G_M63069_IG05:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             ldapr   w2, [x2]
             ; byrRegs -[x2]
             cmp     w1, w2
-            blt     G_M63069_IG93
+            blt     G_M63069_IG95
             mov     x2, xzr
             ; gcrRegs +[x2]
             str     x2, [fp, #0x40]    // [V17 tmp6]
             ldr     x0, [fp, #0x40]    // [V17 tmp6]
-            cbnz    x0, G_M63069_IG94
+            cbnz    x0, G_M63069_IG96
                      ;; size=48 bbWeight=1.00 PerfScore 17.01
 G_M63069_IG06:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0 x2]
@@ -215,7 +215,7 @@ G_M63069_IG06:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=000
                        ;; size=8 bbWeight=1.00 PerfScore 4.00
 G_M63069_IG07:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ldr     w1, [x20, #0x30]
-            cbnz    w1, G_M63069_IG95
+            cbnz    w1, G_M63069_IG97
                      ;; size=8 bbWeight=1.00 PerfScore 4.00
 G_M63069_IG08:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref
             ldr     x23, [x20, #0x08]
@@ -238,7 +238,7 @@ G_M63069_IG09:        ; bbWeight=1.00, gcrefRegs=3D00000 {x20 x22 x23 x24 x25},
             and     w1, w26, w1
             ldr     w21, [x25, #0x08]
             cmp     w1, w21
-            bhs     G_M63069_IG89
+            bhs     G_M63069_IG91
             ubfiz   x1, x1, #4, #32
             add     x27, x1, #16
             add     x1, x25, x27
@@ -249,7 +249,7 @@ G_M63069_IG09:        ; bbWeight=1.00, gcrefRegs=3D00000 {x20 x22 x23 x24 x25},
             ; byrRegs -[x1]
             add     w0, w26, #1
             sub     w1, w1, w0
-            cbnz    w1, G_M63069_IG45
+            cbnz    w1, G_M63069_IG22
                        ;; size=60 bbWeight=1.00 PerfScore 19.01
 G_M63069_IG10:        ; bbWeight=0.74, gcrefRegs=3D00000 {x20 x22 x23 x24 x25}, byrefRegs=10000000 {x28}, byref, isz
             add     x1, x24, #160
@@ -259,7 +259,7 @@ G_M63069_IG10:        ; bbWeight=0.74, gcrefRegs=3D00000 {x20 x22 x23 x24 x25},
             casal   w2, w0, [x1]
             cmp     w2, w26
             bne     G_M63069_IG09
-            b       G_M63069_IG48
+            b       G_M63069_IG25
                         ;; size=28 bbWeight=0.74 PerfScore 5.16
 G_M63069_IG11:        ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x23-x25]
@@ -275,7 +275,7 @@ G_M63069_IG11:        ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             blr     x2
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            cbnz    w0, G_M63069_IG94
+            cbnz    w0, G_M63069_IG96
             strb    wzr, [x22, #0x3C]
             b       G_M63069_IG08
                        ;; size=44 bbWeight=0.00 PerfScore 0.01
@@ -303,7 +303,7 @@ G_M63069_IG14:        ; bbWeight=11.16, gcrefRegs=1F00000 {x20 x21 x22 x23 x24},
                        ;; size=20 bbWeight=11.16 PerfScore 61.39
 G_M63069_IG15:        ; bbWeight=2.79, gcrefRegs=1F00001 {x0 x20 x21 x22 x23 x24}, byrefRegs=0000 {}, byref, isz
             cmp     x24, x0
-            bne     G_M63069_IG114
+            bne     G_M63069_IG116
                         ;; size=8 bbWeight=2.79 PerfScore 4.19
 G_M63069_IG16:        ; bbWeight=2.79, gcrefRegs=1F00000 {x20 x21 x22 x23 x24}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -312,286 +312,42 @@ G_M63069_IG16:        ; bbWeight=2.79, gcrefRegs=1F00000 {x20 x21 x22 x23 x24},
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            cbz     w0, G_M63069_IG115
+            cbz     w0, G_M63069_IG117
                         ;; size=12 bbWeight=2.79 PerfScore 6.98
 G_M63069_IG17:        ; bbWeight=2.79, gcrefRegs=1F00000 {x20 x21 x22 x23 x24}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [x24, #0x38]
-            cbnz    w0, G_M63069_IG116
+            cbnz    w0, G_M63069_IG118
                        ;; size=8 bbWeight=2.79 PerfScore 11.16
 G_M63069_IG18:        ; bbWeight=2.79, gcrefRegs=1F00000 {x20 x21 x22 x23 x24}, byrefRegs=0000 {}, byref, isz
             bl      <unknown method>
             ; gcr arg pop 0
             sxtw    w28, w0
-            ldr     x26, [x19, #0xD1FFAB1E]
-            ; gcrRegs +[x26]
-            cbz     x23, G_M63069_IG117
+            ldr     x27, [x19, #0xD1FFAB1E]
+            ; gcrRegs +[x27]
+            cbz     x23, G_M63069_IG119
                         ;; size=16 bbWeight=2.79 PerfScore 15.35
-G_M63069_IG19:        ; bbWeight=2.79, gcrefRegs=5F00000 {x20 x21 x22 x23 x24 x26}, byrefRegs=0000 {}, byref, isz
-            mov     x0, x23
-            ; gcrRegs +[x0]
-            cbz     x0, G_M63069_IG21
+G_M63069_IG19:        ; bbWeight=2.79, gcrefRegs=9F00000 {x20 x21 x22 x23 x24 x27}, byrefRegs=0000 {}, byref, isz
+            mov     x1, x23
+            ; gcrRegs +[x1]
+            cbz     x1, G_M63069_IG120
                      ;; size=8 bbWeight=2.79 PerfScore 4.19
-G_M63069_IG20:        ; bbWeight=1.40, gcrefRegs=5F00001 {x0 x20 x21 x22 x23 x24 x26}, byrefRegs=0000 {}, byref, isz
-            ldr     x0, [x0]
-            ; gcrRegs -[x0]
+G_M63069_IG20:        ; bbWeight=1.40, gcrefRegs=9F00002 {x1 x20 x21 x22 x23 x24 x27}, byrefRegs=0000 {}, byref, isz
+            ldr     x0, [x1]
             movz    x1, #0xD1FFAB1E
+            ; gcrRegs -[x1]
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x0, x1
-            beq     G_M63069_IG22
+            bne     G_M63069_IG120
                       ;; size=24 bbWeight=1.40 PerfScore 8.37
-G_M63069_IG21:        ; bbWeight=2.79, gcrefRegs=5F00000 {x20 x21 x22 x23 x24 x26}, byrefRegs=0000 {}, byref
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            ; gcr arg pop 0
-                       ;; size=44 bbWeight=2.79 PerfScore 23.72
-G_M63069_IG22:        ; bbWeight=2.79, gcrefRegs=5F00000 {x20 x21 x22 x23 x24 x26}, byrefRegs=0000 {}, byref, isz
+G_M63069_IG21:        ; bbWeight=2.79, gcrefRegs=9F00000 {x20 x21 x22 x23 x24 x27}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x23, #0x20]
-            add     w0, w0, #1
-            cbz     w0, G_M63069_IG118
-            str     w0, [x23, #0x20]
+            add     w1, w0, #1
+            cbz     w1, G_M63069_IG121
+            b       G_M63069_IG78
                       ;; size=16 bbWeight=2.79 PerfScore 15.35
-G_M63069_IG23:        ; bbWeight=2.79, gcrefRegs=5F00000 {x20 x21 x22 x23 x24 x26}, byrefRegs=0000 {}, byref, isz
-            str     w28, [x26, #0xD1FFAB1E]
-            add     x0, x26, #0xD1FFAB1E
-            ; byrRegs +[x0]
-            ldapr   w0, [x0]
-            ; byrRegs -[x0]
-            sub     w1, w28, w0
-            ldr     w2, [x26, #0xD1FFAB1E]
-            sub     w0, w2, w0
-            cmp     w1, w0
-            bhs     G_M63069_IG70
-                       ;; size=32 bbWeight=2.79 PerfScore 27.90
-G_M63069_IG24:        ; bbWeight=2.79, gcrefRegs=5F00000 {x20 x21 x22 x23 x24 x26}, byrefRegs=0000 {}, byref, isz
...
  
+48 (+1.50%) : 106509.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
@@ -12,7 +12,7 @@
 ;  V00 loc0         [V00,T11] ( 26, 14.09)     ref  ->  x20         class-hnd exact single-def <System.Threading.ThreadPoolWorkQueue>
 ;  V01 loc1         [V01,T21] ( 18, 11.04)     ref  ->  x22         class-hnd exact single-def <System.Threading.ThreadPoolWorkQueueThreadLocals>
 ;  V02 loc2         [V02    ] ( 11, 18.96)     ref  ->  [fp+0x58]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Object>
-;  V03 loc3         [V03,T14] (  6, 11.93)     ref  ->  x23         class-hnd single-def <System.Object>
+;  V03 loc3         [V03,T14] (  8, 11.93)     ref  ->  x23         class-hnd single-def <System.Object>
 ;  V04 loc4         [V04,T01] ( 14, 23.89)     ref  ->  x24         class-hnd exact single-def <System.Threading.Thread>
 ;  V05 loc5         [V05,T57] (  3,  3.00)     int  ->  x25        
 ;  V06 loc6         [V06,T68] (  2,  2.01)   ubyte  ->   x0        
@@ -59,17 +59,17 @@
 ;* V47 tmp36        [V47    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V48 tmp37        [V48    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V49 tmp38        [V49    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <<unknown class>>
-;  V50 tmp39        [V50,T52] (  3,  3.74)     ref  ->   x1         class-hnd "Inline return value spill temp" <System.Object>
-;  V51 tmp40        [V51    ] ( 12, 17.63)     ref  ->  [fp+0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" <System.Object>
-;  V52 tmp41        [V52,T67] (  3,  2.25)     int  ->  x28         "Inline stloc first use temp"
+;  V50 tmp39        [V50,T52] (  3,  3.74)     ref  ->   x0         class-hnd "Inline return value spill temp" <System.Object>
+;  V51 tmp40        [V51    ] ( 14, 17.63)     ref  ->  [fp+0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" <System.Object>
+;  V52 tmp41        [V52,T67] (  3,  2.25)     int  ->  x26         "Inline stloc first use temp"
 ;  V53 tmp42        [V53,T60] (  2,  2.99)     ref  ->  registers   class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
-;  V54 tmp43        [V54,T53] (  3,  3.74)     ref  ->  x27         class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue[]>
+;  V54 tmp43        [V54,T53] (  3,  3.74)     ref  ->  registers   class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue[]>
 ;  V55 tmp44        [V55,T19] (  9, 11.21)     int  ->  [fp+0x2C]  "Inline stloc first use temp"
 ;  V56 tmp45        [V56,T61] (  2,  2.99)     int  ->  [fp+0x28]  "Inline stloc first use temp"
-;  V57 tmp46        [V57,T20] (  6, 11.20)     int  ->  x28         "Inline stloc first use temp"
-;  V58 tmp47        [V58,T29] (  5,  7.46)     ref  ->   x0         class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
-;  V59 tmp48        [V59,T46] (  3,  4.48)     int  ->   x0        
-;  V60 tmp49        [V60,T37] (  3,  5.98)     ref  ->   x2         class-hnd "Inline return value spill temp" <System.Object>
+;  V57 tmp46        [V57,T20] (  6, 11.20)     int  ->  registers   "Inline stloc first use temp"
+;  V58 tmp47        [V58,T29] (  5,  7.46)     ref  ->   x3         class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
+;  V59 tmp48        [V59,T46] (  3,  4.48)     int  ->   x3        
+;  V60 tmp49        [V60,T37] (  4,  5.98)     ref  ->   x2         class-hnd "Inline return value spill temp" <System.Object>
 ;  V61 tmp50        [V61,T06] (  4, 17.95)     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
 ;  V62 tmp51        [V62,T24] (  2,  5.98)   ubyte  ->   x0         "Inline return value spill temp"
 ;  V63 tmp52        [V63,T07] (  3, 17.95)     ref  ->  x26         class-hnd "Inlining Arg" <<unknown class>>
@@ -106,11 +106,11 @@
 ;  V94 tmp83        [V94,T00] (  8, 35.73)     ref  ->  x26         class-hnd exact "Inlining Arg" <System.Threading.PortableThreadPool>
 ;* V95 tmp84        [V95    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V96 tmp85        [V96    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V97 tmp86        [V97,T10] (  3, 14.88)     ref  ->   x0         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
+;  V97 tmp86        [V97,T10] (  5, 14.88)     ref  ->   x1         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V98 tmp87        [V98    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V99 tmp88        [V99    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V100 tmp89       [V100    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V101 tmp90       [V101,T25] (  3,  8.93)     int  ->   x0         "Inline stloc first use temp"
+;  V101 tmp90       [V101,T25] (  5,  8.93)     int  ->   x1         "Inline stloc first use temp"
 ;* V102 tmp91       [V102,T62] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V103 tmp92       [V103,T26] (  3,  8.93)     int  ->   x0         "Inline stloc first use temp"
 ;* V104 tmp93       [V104    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
@@ -135,9 +135,9 @@
 ;  V123 rat0        [V123,T48] (  4,  4   )   byref  ->  x21         "TLS field access"
 ;  V124 rat1        [V124,T35] (  3,  6   )    long  ->   x0         "TLS access"
 ;  V125 rat2        [V125,T36] (  3,  6   )    long  ->   x0         "ThreadStaticBlockBase access"
-;  V126 rat3        [V126,T17] (  3, 11.90)   byref  ->   x0         "TLS field access"
-;  V127 rat4        [V127,T08] (  5, 17.86)    long  ->   x1         "TLS access"
-;  V128 rat5        [V128,T09] (  3, 17.86)    long  ->   x0         "ThreadStaticBlockBase access"
+;  V126 rat3        [V126,T17] (  3, 11.90)   byref  ->  x27         "TLS field access"
+;  V127 rat4        [V127,T08] (  5, 17.86)    long  ->   x2         "TLS access"
+;  V128 rat5        [V128,T09] (  3, 17.86)    long  ->  x26         "ThreadStaticBlockBase access"
 ;
 ; Lcl frame size = 80
 
@@ -185,7 +185,7 @@ G_M63069_IG03:        ; bbWeight=1.01, gcrefRegs=500000 {x20 x22}, byrefRegs=000
 G_M63069_IG04:        ; bbWeight=1.01, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [fp, #0x58]    // [V02 loc2]
             ; gcrRegs +[x0]
-            cbnz    x0, G_M63069_IG63
+            cbnz    x0, G_M63069_IG45
                       ;; size=8 bbWeight=1.01 PerfScore 3.02
 G_M63069_IG05:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -253,7 +253,7 @@ G_M63069_IG10:        ; bbWeight=1.00, gcrefRegs=3D00000 {x20 x22 x23 x24 x25},
             ; byrRegs -[x1]
             add     w0, w26, #1
             sub     w1, w1, w0
-            cbnz    w1, G_M63069_IG42
+            cbnz    w1, G_M63069_IG24
                        ;; size=60 bbWeight=1.00 PerfScore 19.02
 G_M63069_IG11:        ; bbWeight=0.75, gcrefRegs=3D00000 {x20 x22 x23 x24 x25}, byrefRegs=10000000 {x28}, byref, isz
             add     x1, x24, #160
@@ -267,7 +267,7 @@ G_M63069_IG11:        ; bbWeight=0.75, gcrefRegs=3D00000 {x20 x22 x23 x24 x25},
 G_M63069_IG12:        ; bbWeight=0.75, gcrefRegs=3500000 {x20 x22 x24 x25}, byrefRegs=10000000 {x28}, byref
             ; gcrRegs -[x23]
             ; byrRegs -[x1]
-            b       G_M63069_IG45
+            b       G_M63069_IG27
                       ;; size=4 bbWeight=0.75 PerfScore 0.75
 G_M63069_IG13:        ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x24-x25]
@@ -289,18 +289,20 @@ G_M63069_IG13:        ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=000
                        ;; size=44 bbWeight=0.00 PerfScore 0.02
 G_M63069_IG14:        ; bbWeight=2.98, gcrefRegs=1F00000 {x20 x21 x22 x23 x24}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x21 x23-x24]
-            ldr     x0, [x0]
+            ldr     x0, [x26]
             ; byrRegs +[x0]
-            add     x0, x0, #16
+            add     x27, x0, #16
+            ; byrRegs +[x27]
                        ;; size=8 bbWeight=2.98 PerfScore 10.42
-G_M63069_IG15:        ; bbWeight=2.98, gcrefRegs=1F00000 {x20 x21 x22 x23 x24}, byrefRegs=0001 {x0}, byref, isz
-            ldr     x0, [x0, #0x20]
-            ; gcrRegs +[x0]
+G_M63069_IG15:        ; bbWeight=2.98, gcrefRegs=1F00000 {x20 x21 x22 x23 x24}, byrefRegs=8000000 {x27}, byref, isz
             ; byrRegs -[x0]
+            ldr     x0, [x27, #0x20]
+            ; gcrRegs +[x0]
             cbnz    x0, G_M63069_IG17
                        ;; size=8 bbWeight=2.98 PerfScore 11.90
 G_M63069_IG16:        ; bbWeight=11.90, gcrefRegs=1F00000 {x20 x21 x22 x23 x24}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
+            ; byrRegs -[x27]
             movz    x0, #0xD1FFAB1E      // code for <unknown method>
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -311,7 +313,7 @@ G_M63069_IG16:        ; bbWeight=11.90, gcrefRegs=1F00000 {x20 x21 x22 x23 x24},
                        ;; size=20 bbWeight=11.90 PerfScore 65.47
 G_M63069_IG17:        ; bbWeight=2.98, gcrefRegs=1F00001 {x0 x20 x21 x22 x23 x24}, byrefRegs=0000 {}, byref, isz
             cmp     x24, x0
-            bne     G_M63069_IG119
+            bne     G_M63069_IG118
                         ;; size=8 bbWeight=2.98 PerfScore 4.46
 G_M63069_IG18:        ; bbWeight=2.98, gcrefRegs=1F00000 {x20 x21 x22 x23 x24}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -320,11 +322,11 @@ G_M63069_IG18:        ; bbWeight=2.98, gcrefRegs=1F00000 {x20 x21 x22 x23 x24},
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            cbz     w0, G_M63069_IG120
+            cbz     w0, G_M63069_IG119
                         ;; size=12 bbWeight=2.98 PerfScore 7.44
 G_M63069_IG19:        ; bbWeight=2.98, gcrefRegs=1F00000 {x20 x21 x22 x23 x24}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [x24, #0x38]
-            cbnz    w0, G_M63069_IG121
+            cbnz    w0, G_M63069_IG120
                        ;; size=8 bbWeight=2.98 PerfScore 11.90
 G_M63069_IG20:        ; bbWeight=2.98, gcrefRegs=1F00000 {x20 x21 x22 x23 x24}, byrefRegs=0000 {}, byref, isz
             bl      <unknown method>
@@ -332,215 +334,30 @@ G_M63069_IG20:        ; bbWeight=2.98, gcrefRegs=1F00000 {x20 x21 x22 x23 x24},
             sxtw    w28, w0
             ldr     x26, [x19, #0xD1FFAB1E]
             ; gcrRegs +[x26]
-            cbz     x23, G_M63069_IG122
-                       ;; size=16 bbWeight=2.98 PerfScore 16.37
-G_M63069_IG21:        ; bbWeight=2.98, gcrefRegs=5F00000 {x20 x21 x22 x23 x24 x26}, byrefRegs=0000 {}, byref, isz
-            mov     x0, x23
-            ; gcrRegs +[x0]
-            cbz     x0, G_M63069_IG23
-                       ;; size=8 bbWeight=2.98 PerfScore 4.46
-G_M63069_IG22:        ; bbWeight=1.49, gcrefRegs=5F00001 {x0 x20 x21 x22 x23 x24 x26}, byrefRegs=0000 {}, byref, isz
-            ldr     x0, [x0]
-            ; gcrRegs -[x0]
+            cbz     x23, G_M63069_IG121
+            mov     x1, x23
+            ; gcrRegs +[x1]
+            cbz     x1, G_M63069_IG122
+                       ;; size=24 bbWeight=2.98 PerfScore 20.83
+G_M63069_IG21:        ; bbWeight=1.49, gcrefRegs=5F00002 {x1 x20 x21 x22 x23 x24 x26}, byrefRegs=0000 {}, byref, isz
+            ldr     x0, [x1]
             movz    x1, #0xD1FFAB1E
+            ; gcrRegs -[x1]
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x0, x1
-            beq     G_M63069_IG24
+            bne     G_M63069_IG122
                       ;; size=24 bbWeight=1.49 PerfScore 8.93
-G_M63069_IG23:        ; bbWeight=2.98, gcrefRegs=5F00000 {x20 x21 x22 x23 x24 x26}, byrefRegs=0000 {}, byref
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            ; gcr arg pop 0
-                       ;; size=44 bbWeight=2.98 PerfScore 25.30
-G_M63069_IG24:        ; bbWeight=2.98, gcrefRegs=5F00000 {x20 x21 x22 x23 x24 x26}, byrefRegs=0000 {}, byref, isz
+G_M63069_IG22:        ; bbWeight=2.98, gcrefRegs=5F00000 {x20 x21 x22 x23 x24 x26}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x23, #0x20]
-            add     w0, w0, #1
-            cbz     w0, G_M63069_IG123
+            add     w1, w0, #1
+            cbz     w1, G_M63069_IG123
                      ;; size=12 bbWeight=2.98 PerfScore 13.39
-G_M63069_IG25:        ; bbWeight=2.98, gcrefRegs=5F00000 {x20 x21 x22 x23 x24 x26}, byrefRegs=0000 {}, byref
-            str     w0, [x23, #0x20]
+G_M63069_IG23:        ; bbWeight=2.98, gcrefRegs=5F00000 {x20 x21 x22 x23 x24 x26}, byrefRegs=0000 {}, byref
+            b       G_M63069_IG81
                       ;; size=4 bbWeight=2.98 PerfScore 2.98
-G_M63069_IG26:        ; bbWeight=2.98, gcrefRegs=5F00000 {x20 x21 x22 x23 x24 x26}, byrefRegs=0000 {}, byref, isz
-            str     w28, [x26, #0xD1FFAB1E]
-            add     x0, x26, #0xD1FFAB1E
-            ; byrRegs +[x0]
-            ldapr   w0, [x0]
-            ; byrRegs -[x0]
-            sub     w1, w28, w0
-            ldr     w2, [x26, #0xD1FFAB1E]
-            sub     w0, w2, w0
-            cmp     w1, w0
-            bhs     G_M63069_IG84
-                       ;; size=32 bbWeight=2.98 PerfScore 29.76
-G_M63069_IG27:        ; bbWeight=2.98, gcrefRegs=5F00000 {x20 x21 x22 x23 x24 x26}, byrefRegs=0000 {}, byref, isz
-            mov     x0, x26
-            ; gcrRegs +[x0]
-            movz    x1, #0xD1FFAB1E      // code for System.Threading.PortableThreadPool+WorkerThread:ShouldStopProcessingWorkNow(System.Threading.PortableThreadPool):ubyte
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            ldr     x1, [x1]
-            blr     x1
-            ; gcrRegs -[x0 x26]
-            ; gcr arg pop 0
-            cbnz    w0, G_M63069_IG91
-                       ;; size=28 bbWeight=2.98 PerfScore 20.83
-G_M63069_IG28:        ; bbWeight=2.98, gcrefRegs=1F00000 {x20 x21 x22 x23 x24}, byrefRegs=0000 {}, byref, isz
-            sub     w0, w28, w25
-            cmp     w0, #30
-            bhs     G_M63069_IG41
-                       ;; size=12 bbWeight=2.98 PerfScore 5.95
-G_M63069_IG29:        ; bbWeight=3.00, gcrefRegs=1F00000 {x20 x21 x22 x23 x24}, byrefRegs=0000 {}, byref, isz
-            ldr     x0, [fp, #0x58]    // [V02 loc2]
-            ; gcrRegs +[x0]
-            cbnz    x0, G_M63069_IG77
-                       ;; size=8 bbWeight=3.00 PerfScore 8.99
-G_M63069_IG30:        ; bbWeight=2.99, gcrefRegs=1F00000 {x20 x21 x22 x23 x24}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x0]
-            str     wzr, [fp, #0x48]   // [V10 loc10]
-            ldr     x0, [x22, #0x18]
-            ; gcrRegs +[x0]
-            add     x1, x0, #20
-            ; byrRegs +[x1]
-            ldapr   w1, [x1]
-            ; byrRegs -[x1]
-            add     x2, x0, #24
-            ; byrRegs +[x2]
-            ldapr   w2, [x2]
-            ; byrRegs -[x2]
-            cmp     w1, w2
-            blt     G_M63069_IG109
-            mov     x2, xzr
-            ; gcrRegs +[x2]
-                       ;; size=36 bbWeight=2.99 PerfScore 38.89
-G_M63069_IG31:        ; bbWeight=2.99, gcrefRegs=1F00004 {x2 x20 x21 x22 x23 x24}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x0]
-            str     x2, [fp, #0x30]    // [V51 tmp40]
-            ldr     x0, [fp, #0x30]    // [V51 tmp40]
...
  
  
benchmarks.run_tiered.linux.arm64.checked.mch
-24 (-4.92%) : 3296.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
@@ -8,10 +8,10 @@
 ; 0 inlinees with PGO data; 12 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] (  3,  3   )    long  ->  x19         single-def
-;  V01 arg1         [V01,T19] (  3,  3   )    long  ->  x20         single-def
-;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x20]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T20] (  4, 11   )    long  ->  x20        
+;  V00 arg0         [V00,T19] (  3,  3   )    long  ->  x19         single-def
+;  V01 arg1         [V01,T20] (  3,  3   )    long  ->  x20         single-def
+;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x28]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
+;  V03 loc1         [V03,T21] (  4, 11   )    long  ->  x20        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
@@ -19,14 +19,14 @@
 ;  V08 tmp1         [V08,T10] (  7, 84   )     ref  ->  x19         class-hnd single-def "non-inline candidate call" <<unknown class>>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V11 tmp4         [V11,T29] (  3,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V12 tmp5         [V12,T22] (  2,  4   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp4         [V11,T30] (  3,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp5         [V12,T23] (  2,  4   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp10        [V17,T08] (  2, 16   )     int  ->   x4         "Inlining Arg"
-;  V18 tmp11        [V18,T07] (  2, 16   )   byref  ->   x3         "Inlining Arg"
+;  V17 tmp10        [V17,T07] (  2, 16   )     int  ->   x4         "Inlining Arg"
+;  V18 tmp11        [V18,T06] (  2, 16   )   byref  ->   x3         "Inlining Arg"
 ;* V19 tmp12        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V21 tmp14        [V21,T12] (  2,  8   )   ubyte  ->   x0         "Inline return value spill temp"
@@ -40,30 +40,30 @@
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V30 tmp23        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V32 tmp25        [V32,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V32 tmp25        [V32,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V33 tmp26        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V34 tmp27        [V34,T23] (  3, 17   )     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
-;  V35 tmp28        [V35,T21] (  4, 18   )     int  ->  x15         "Inline stloc first use temp"
-;  V36 tmp29        [V36,T17] (  3, 20   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [fp+0x10]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
-;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
-;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
-;  V40 tmp33        [V40,T02] (  4, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V41 tmp34        [V41,T03] (  4, 20   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V34 tmp27        [V34,T24] (  3, 17   )     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
+;  V35 tmp28        [V35,T22] (  4, 18   )     int  ->  x15         "Inline stloc first use temp"
+;  V36 tmp29        [V36,T18] (  3, 20   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [fp+0x18]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
+;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
+;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
+;  V40 tmp33        [V40,T03] (  4, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V41 tmp34        [V41,T02] (  4, 20   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V42 tmp35        [V42,T00] (  6, 41   )     int  ->  x22         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V43 tmp36        [V43,T05] (  3, 17   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
-;  V44 tmp37        [V44,T13] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp38        [V45,T15] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp36        [V43,T13] (  2,  9   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
+;  V44 tmp37        [V44,T14] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp38        [V45,T16] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V46 tmp39        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V47 tmp40        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V48 tmp41        [V48,T24] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;  V48 tmp41        [V48,T25] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V49 tmp42        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V50 tmp43        [V50,T27] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
-;  V51 tmp44        [V51,T25] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
+;* V50 tmp43        [V50,T28] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
+;  V51 tmp44        [V51,T26] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
 ;  V52 tmp45        [V52,T11] (  3, 12   )   byref  ->   x3         "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V53 tmp46        [V53,T06] (  4, 16   )     int  ->   x4         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V54 tmp47        [V54,T14] (  2,  8   )   byref  ->   x3         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V55 tmp48        [V55,T16] (  2,  8   )     int  ->   x4         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V53 tmp46        [V53,T05] (  4, 16   )     int  ->   x4         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V54 tmp47        [V54,T15] (  2,  8   )   byref  ->   x3         "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V55 tmp48        [V55,T17] (  2,  8   )     int  ->   x4         "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp50        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V58 tmp51        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
@@ -79,26 +79,26 @@
 ;* V68 tmp61        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V69 tmp62        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;  V70 tmp63        [V70,T01] (  3, 48   )     ref  ->   x2         "arr expr"
-;  V71 PSPSym       [V71,T28] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
-;  V72 cse0         [V72,T04] (  3, 24   )     int  ->  x23         "CSE - aggressive"
-;  V73 cse1         [V73,T26] (  2, 16   )     int  ->  x12         "CSE - moderate"
+;  V71 PSPSym       [V71,T29] (  1,  1   )    long  ->  [fp+0x38]  do-not-enreg[V] "PSPSym"
+;  V72 cse0         [V72,T09] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V73 cse1         [V73,T04] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V74 cse2         [V74,T27] (  2, 16   )     int  ->  x12         "CSE - moderate"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 48
 
 G_M19804_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x38]
-            stp     x21, x22, [sp, #0x48]
-            str     x23, [sp, #0x58]
+            stp     x19, x20, [sp, #0x40]
+            stp     x21, x22, [sp, #0x50]
             mov     fp, sp
-            str     xzr, [fp, #0x20]  // [V02 loc0]
+            str     xzr, [fp, #0x28] // [V02 loc0]
             add     x2, sp, #96
-            str     x2, [fp, #0x30]   // [V71 PSPSym]
+            str     x2, [fp, #0x38]    // [V71 PSPSym]
             mov     x19, x0
             mov     x20, x1
-                      ;; size=40 bbWeight=1 PerfScore 8.00
+                      ;; size=36 bbWeight=1 PerfScore 7.00
 G_M19804_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x0, fp, #16    // [V37 tmp30]
+            add     x0, fp, #24 // [V37 tmp30]
             bl      CORINFO_HELP_JIT_REVERSE_PINVOKE_ENTER
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 1.50
@@ -111,9 +111,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             blr     x1
             ; byrRegs +[x0]
             ; gcr arg pop 0
-            stp     x0, x1, [fp, #0x20]   // [V02 loc0], [V02 loc0+0x08]
+            stp     x0, x1, [fp, #0x28] // [V02 loc0], [V02 loc0+0x08]
             ldrb    w2, [x20, #0x08]
-            cbz     w2, G_M19804_IG11
+            cbz     w2, G_M19804_IG10
             ldr     x19, [x20]
             ; gcrRegs +[x19]
             ldr     w21, [x19, #0x14]
@@ -123,9 +123,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M19804_IG04:        ; bbWeight=4, gcrefRegs=80004 {x2 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x2]
             ; byrRegs -[x0]
-            ldr     x0, [fp, #0x20]   // [V38 tmp31]
+            ldr     x0, [fp, #0x28] // [V38 tmp31]
             ; byrRegs +[x0]
-            ldr     w1, [fp, #0x28]  // [V39 tmp32]
+            ldr     w1, [fp, #0x30] // [V39 tmp32]
             cbnz    x2, G_M19804_IG05
             mov     x3, xzr
             ; byrRegs +[x3]
@@ -153,15 +153,15 @@ G_M19804_IG06:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0009 {x0 x3
             blr     x3
             ; byrRegs -[x0-x1]
             ; gcr arg pop 0
-            cbnz    w0, G_M19804_IG14
+            cbnz    w0, G_M19804_IG13
                       ;; size=40 bbWeight=4 PerfScore 38.00
 G_M19804_IG07:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            ldr     w23, [x19, #0x14]
-            cmp     w21, w23
-            bne     G_M19804_IG10
+            ldr     w2, [x19, #0x14]
+            cmp     w21, w2
+            bne     G_M19804_IG09
             ldr     w2, [x19, #0x10]
             cmp     w22, w2
-            bhs     G_M19804_IG11
+            bhs     G_M19804_IG10
             ldr     x2, [x19, #0x08]
             ; gcrRegs +[x2]
             ldr     w0, [x2, #0x08]
@@ -191,13 +191,9 @@ G_M19804_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
 G_M19804_IG10:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            cmp     w21, w23
-            bne     G_M19804_IG09
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldr     x19, [x20]
             ; gcrRegs +[x19]
-            add     x0, fp, #32  // [V02 loc0]
+            add     x0, fp, #40  // [V02 loc0]
             movz    x1, #0xD1FFAB1E      // code for <unknown method>
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
@@ -214,9 +210,9 @@ G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x14]
             ldr     w12, [x14, #0x08]
             cmp     w12, w15
-            bls     G_M19804_IG13
+            bls     G_M19804_IG12
                      ;; size=60 bbWeight=8 PerfScore 172.00
-G_M19804_IG12:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG11:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             add     w12, w15, #1
             str     w12, [x19, #0x10]
@@ -229,9 +225,9 @@ G_M19804_IG12:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x1 x15 x19]
             ; byrRegs -[x14]
-            b       G_M19804_IG14
+            b       G_M19804_IG13
                      ;; size=28 bbWeight=1 PerfScore 5.50
-G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG12:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x1 x19]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -243,28 +239,26 @@ G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {},
             ; gcrRegs -[x0-x1 x19]
             ; gcr arg pop 0
                        ;; size=24 bbWeight=1 PerfScore 6.00
-G_M19804_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x0, fp, #16    // [V37 tmp30]
+G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            add     x0, fp, #24    // [V37 tmp30]
             bl      CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x23, [sp, #0x58]
-            ldp     x21, x22, [sp, #0x48]
-            ldp     x19, x20, [sp, #0x38]
+G_M19804_IG14:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x50]
+            ldp     x19, x20, [sp, #0x40]
             ldp     fp, lr, [sp], #0x60
             ret     lr
-                       ;; size=20 bbWeight=1 PerfScore 6.00
-G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                      ;; size=16 bbWeight=1 PerfScore 4.00
+G_M19804_IG15:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             ; gcrRegs +[x0]
             stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            str     x23, [sp, #0x38]
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
             add     x3, fp, #96
-            str     x3, [sp, #0x10]
-                       ;; size=24 bbWeight=0 PerfScore 0.00
-G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
+            str     x3, [sp, #0x18]
+                       ;; size=20 bbWeight=0 PerfScore 0.00
+G_M19804_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
             ldr     x1, [x0]
             ldr     x1, [x1, #0x48]
             ldr     x1, [x1, #0x08]
@@ -277,17 +271,16 @@ G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
...
  
-12 (-1.06%) : 1233.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
@@ -8,28 +8,28 @@
 ; 0 inlinees with PGO data; 21 single block inlinees; 14 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T38] (  4,  1   )     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Object>
+;  V00 loc0         [V00,T39] (  4,  1   )     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Object>
 ;  V01 loc1         [V01    ] (  6,  2.50)   ubyte  ->  [fp+0x38]  do-not-enreg[X] addr-exposed ld-addr-op
 ;  V02 loc2         [V02,T03] (  6, 26.50)     ref  ->  x20         class-hnd exact single-def <<unknown class>>
 ;  V03 loc3         [V03,T08] (  6, 17   )     ref  ->  x21         class-hnd <System.Diagnostics.Tracing.EventListener>
 ;  V04 loc4         [V04,T15] (  4, 10.50)     int  ->  x21        
 ;* V05 loc5         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.WeakReference`1[System.Diagnostics.Tracing.EventSource]]>
 ;* V06 loc6         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.WeakReference`1[System.Diagnostics.Tracing.EventSource]>
-;  V07 loc7         [V07,T17] (  4,  8   )     ref  ->  x25         ld-addr-op class-hnd <System.Diagnostics.Tracing.EventSource>
+;  V07 loc7         [V07,T16] (  4,  8   )     ref  ->  x25         ld-addr-op class-hnd <System.Diagnostics.Tracing.EventSource>
 ;  V08 loc8         [V08,T00] ( 11,468   )     ref  ->  x25         class-hnd <<unknown class>>
 ;  V09 loc9         [V09    ] (  7, 42   )  struct (24) [fp+0x20]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.Diagnostics.Tracing.EventListener,ubyte]>
 ;  V10 loc10        [V10,T01] (  2,144   )     ref  ->  x27         class-hnd <System.Diagnostics.Tracing.EventListener>
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V12 tmp1         [V12,T31] (  3,  3   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V13 tmp2         [V13,T34] (  2,  2   )   ubyte  ->   x0         "Inlining Arg"
+;  V12 tmp1         [V12,T32] (  3,  3   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V13 tmp2         [V13,T35] (  2,  2   )   ubyte  ->   x0         "Inlining Arg"
 ;* V14 tmp3         [V14    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V15 tmp4         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;  V16 tmp5         [V16,T33] (  2,  2   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V16 tmp5         [V16,T34] (  2,  2   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V17 tmp6         [V17    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.WeakReference`1[System.Diagnostics.Tracing.EventSource]]>
 ;* V18 tmp7         [V18    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V19 tmp8         [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Diagnostics.Tracing.EventSource>
 ;  V20 tmp9         [V20,T24] (  3,  6   )     ref  ->  x25         class-hnd "Inline return value spill temp" <System.Diagnostics.Tracing.EventSource>
-;  V21 tmp10        [V21,T11] (  5, 14   )    long  ->   x0         "Inline stloc first use temp"
+;  V21 tmp10        [V21,T10] (  5, 14   )    long  ->   x0         "Inline stloc first use temp"
 ;* V22 tmp11        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Diagnostics.Tracing.EventSource>
 ;  V23 tmp12        [V23,T25] (  3,  6   )     ref  ->  x25         class-hnd "Inline stloc first use temp" <System.Diagnostics.Tracing.EventSource>
 ;* V24 tmp13        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Diagnostics.Tracing.EventSource>
@@ -37,47 +37,48 @@
 ;  V26 tmp15        [V26,T13] (  3, 12   )     ref  ->  x25         class-hnd "updating class info" <System.ComAwareWeakReference>
 ;* V27 tmp16        [V27    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V28 tmp17        [V28    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V29 tmp18        [V29,T20] (  2,  8   )     ref  ->   x0         class-hnd "dup spill" <System.Object>
-;  V30 tmp19        [V30,T18] (  4,  8   )     ref  ->   x0        
+;  V29 tmp18        [V29,T19] (  2,  8   )     ref  ->   x0         class-hnd "dup spill" <System.Object>
+;  V30 tmp19        [V30,T17] (  4,  8   )     ref  ->   x0        
 ;* V31 tmp20        [V31    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V32 tmp21        [V32,T02] (  2, 64   )     ref  ->   x1         class-hnd "Inlining Arg" <System.Diagnostics.Tracing.EventListener>
 ;* V33 tmp22        [V33    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V34 tmp23        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <<unknown class>>
-;  V35 tmp24        [V35,T21] (  2,  8   )     ref  ->   x1         class-hnd exact "dup spill" <System.Collections.Generic.Dictionary`2+KeyCollection[System.__Canon,ubyte]>
-;  V36 tmp25        [V36,T19] (  4,  8   )     ref  ->   x1        
-;  V37 tmp26        [V37,T10] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <<unknown class>>
+;  V35 tmp24        [V35,T20] (  2,  8   )     ref  ->   x1         class-hnd exact "dup spill" <System.Collections.Generic.Dictionary`2+KeyCollection[System.__Canon,ubyte]>
+;  V36 tmp25        [V36,T18] (  4,  8   )     ref  ->   x1        
+;  V37 tmp26        [V37,T09] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V38 tmp27        [V38    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <<unknown class>>
 ;* V39 tmp28        [V39    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.Diagnostics.Tracing.EventListener,ubyte]>
-;  V40 tmp29        [V40,T22] (  2,  8   )     ref  ->   x0         class-hnd "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.__Canon,ubyte]>
+;  V40 tmp29        [V40,T21] (  2,  8   )     ref  ->   x0         class-hnd "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.__Canon,ubyte]>
 ;* V41 tmp30        [V41    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V42 tmp31        [V42    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V43 tmp32        [V43,T23] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V43 tmp32        [V43,T22] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V44 tmp33        [V44    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V45 tmp34        [V45,T09] (  4, 12.50)     ref  ->  x19         single-def "field V05._list (fldOffset=0x0)" P-INDEP
-;  V46 tmp35        [V46,T12] (  3, 10   )     ref  ->  x24         "field V05._current (fldOffset=0x8)" P-INDEP
+;  V45 tmp34        [V45,T12] (  4, 12.50)     ref  ->  x19         single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V46 tmp35        [V46,T11] (  3, 10   )     ref  ->  x24         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V47 tmp36        [V47,T04] (  6, 20.50)     int  ->  x23         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V48 tmp37        [V48,T16] (  3,  8.50)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V48 tmp37        [V48,T29] (  2,  4.50)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
 ;  V49 tmp38        [V49    ] (  3, 20   )     ref  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "field V09._dictionary (fldOffset=0x0)" P-DEP
 ;  V50 tmp39        [V50    ] (  4, 36   )     ref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V09._currentKey (fldOffset=0x8)" P-DEP
 ;  V51 tmp40        [V51    ] (  3, 20   )     int  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V09._index (fldOffset=0x10)" P-DEP
 ;  V52 tmp41        [V52    ] (  3, 20   )     int  ->  [fp+0x34]  do-not-enreg[X] addr-exposed "field V09._version (fldOffset=0x14)" P-DEP
-;  V53 tmp42        [V53,T37] (  3,  1.50)     ref  ->  x19         single-def "field V17._list (fldOffset=0x0)" P-INDEP
+;  V53 tmp42        [V53,T38] (  3,  1.50)     ref  ->  x19         single-def "field V17._list (fldOffset=0x0)" P-INDEP
 ;* V54 tmp43        [V54    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V17._current (fldOffset=0x8)" P-INDEP
-;* V55 tmp44        [V55,T41] (  0,  0   )     int  ->  zero-ref    "field V17._index (fldOffset=0x10)" P-INDEP
-;  V56 tmp45        [V56,T39] (  2,  1   )     int  ->  x22         "field V17._version (fldOffset=0x14)" P-INDEP
+;* V55 tmp44        [V55,T42] (  0,  0   )     int  ->  zero-ref    "field V17._index (fldOffset=0x10)" P-INDEP
+;  V56 tmp45        [V56,T40] (  2,  1   )     int  ->  x22         "field V17._version (fldOffset=0x14)" P-INDEP
 ;  V57 tmp46        [V57,T26] (  3,  6   )     ref  ->   x0         "field V39._dictionary (fldOffset=0x0)" P-INDEP
-;* V58 tmp47        [V58,T35] (  0,  0   )     ref  ->  zero-ref    "field V39._currentKey (fldOffset=0x8)" P-INDEP
-;* V59 tmp48        [V59,T36] (  0,  0   )     int  ->  zero-ref    "field V39._index (fldOffset=0x10)" P-INDEP
-;  V60 tmp49        [V60,T30] (  2,  4   )     int  ->   x1         "field V39._version (fldOffset=0x14)" P-INDEP
+;* V58 tmp47        [V58,T36] (  0,  0   )     ref  ->  zero-ref    "field V39._currentKey (fldOffset=0x8)" P-INDEP
+;* V59 tmp48        [V59,T37] (  0,  0   )     int  ->  zero-ref    "field V39._index (fldOffset=0x10)" P-INDEP
+;  V60 tmp49        [V60,T31] (  2,  4   )     int  ->   x1         "field V39._version (fldOffset=0x14)" P-INDEP
 ;  V61 tmp50        [V61,T05] (  3, 24   )     ref  ->   x0         "arr expr"
-;  V62 PSPSym       [V62,T40] (  1,  1   )    long  ->  [fp+0x40]  do-not-enreg[V] "PSPSym"
-;  V63 cse0         [V63,T14] (  3, 12   )     int  ->  x24         "CSE - moderate"
-;  V64 cse1         [V64,T06] (  3, 20   )   byref  ->  x24         "CSE - aggressive"
-;  V65 cse2         [V65,T07] (  3, 20   )    long  ->  x26         "CSE - aggressive"
-;  V66 cse3         [V66,T32] (  4,  2   )    long  ->  x19         "CSE - moderate"
-;  V67 rat0         [V67,T29] (  3,  4   )    long  ->   x0         "TLS field access"
-;  V68 rat1         [V68,T27] (  3,  6   )    long  ->   x0         "TLS access"
-;  V69 rat2         [V69,T28] (  3,  6   )    long  ->   x0         "ThreadStaticBlockBase access"
+;  V62 PSPSym       [V62,T41] (  1,  1   )    long  ->  [fp+0x40]  do-not-enreg[V] "PSPSym"
+;  V63 cse0         [V63,T23] (  2,  8   )     int  ->   x0         "CSE - moderate"
+;  V64 cse1         [V64,T14] (  2,  8   )     int  ->   x0         "CSE - moderate"
+;  V65 cse2         [V65,T06] (  3, 20   )   byref  ->  x24         "CSE - aggressive"
+;  V66 cse3         [V66,T07] (  3, 20   )    long  ->  x26         "CSE - aggressive"
+;  V67 cse4         [V67,T33] (  4,  2   )    long  ->  x19         "CSE - moderate"
+;  V68 rat0         [V68,T30] (  3,  4   )    long  ->   x0         "TLS field access"
+;  V69 rat1         [V69,T27] (  3,  6   )    long  ->   x0         "TLS access"
+;  V70 rat2         [V70,T28] (  3,  6   )    long  ->   x0         "ThreadStaticBlockBase access"
 ;
 ; Lcl frame size = 56
 
@@ -97,10 +98,10 @@ G_M15982_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             mrs     x0, tpidr_el0
             ldr     w1, [x0, #0xD1FFAB1E]
             cmp     w1, #2
-            blt     G_M15982_IG39
+            blt     G_M15982_IG38
             ldr     x0, [x0, #0xD1FFAB1E]
             ldr     x0, [x0, #0x10]
-            cbz     x0, G_M15982_IG39
+            cbz     x0, G_M15982_IG38
                       ;; size=28 bbWeight=1 PerfScore 12.50
 G_M15982_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [x0, #0xD1FFAB1E]
@@ -127,7 +128,7 @@ G_M15982_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000
             ; GC ptr vars +{V00}
             str     wzr, [fp, #0x38]   // [V01 loc1]
                        ;; size=28 bbWeight=0.50 PerfScore 3.75
-G_M15982_IG06:        ; bbWeight=0.50, gcVars=0000004000000000 {V00}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M15982_IG06:        ; bbWeight=0.50, gcVars=0000008000000000 {V00}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w1, [fp, #0x38]  // [V01 loc1]
             cbnz    w1, G_M15982_IG32
             add     x1, fp, #56    // [V01 loc1]
@@ -238,17 +239,17 @@ G_M15982_IG12:        ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=0000 {}
             mov     w23, wzr
                        ;; size=16 bbWeight=0.50 PerfScore 3.50
 G_M15982_IG13:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            ldr     w24, [x19, #0x14]
-            cmp     w22, w24
-            bne     G_M15982_IG35
+            ldr     w0, [x19, #0x14]
+            cmp     w22, w0
+            bne     G_M15982_IG36
             ldr     w0, [x19, #0x10]
             cmp     w23, w0
-            bhs     G_M15982_IG38
+            bhs     G_M15982_IG37
             ldr     x0, [x19, #0x08]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x08]
             cmp     w23, w1
-            bhs     G_M15982_IG36
+            bhs     G_M15982_IG35
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
@@ -481,17 +482,12 @@ G_M15982_IG34:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             ; byrRegs -[x24]
             b       G_M15982_IG13
                        ;; size=4 bbWeight=4 PerfScore 4.00
-G_M15982_IG35:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M15982_IG35:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19-x20]
-            cmp     w22, w24
-            bne     G_M15982_IG37
-            b       G_M15982_IG38
-                       ;; size=12 bbWeight=4 PerfScore 10.00
-G_M15982_IG36:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M15982_IG37:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M15982_IG36:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -500,7 +496,7 @@ G_M15982_IG37:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M15982_IG38:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M15982_IG37:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [fp, #0x38]   // [V01 loc1]
             cbz     w0, G_M15982_IG04
             ldr     x0, [fp, #0x18]    // [V00 loc0]
@@ -511,13 +507,13 @@ G_M15982_IG38:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ; gcr arg pop 0
             b       G_M15982_IG04
                        ;; size=20 bbWeight=0.50 PerfScore 3.50
-G_M15982_IG39:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M15982_IG38:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #2
             bl      CORINFO_HELP_GETSHARED_NONGCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
             ; gcr arg pop 0
             b       G_M15982_IG03
                        ;; size=12 bbWeight=0 PerfScore 0.00
-G_M15982_IG40:        ; bbWeight=0, gcVars=0000004000000000 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+G_M15982_IG39:        ; bbWeight=0, gcVars=0000008000000000 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
             ; GC ptr vars +{V00}
             stp     fp, lr, [sp, #-0x60]!
             stp     x19, x20, [sp, #0x18]
@@ -528,9 +524,9 @@ G_M15982_IG40:        ; bbWeight=0, gcVars=0000004000000000 {V00}, gcrefRegs=000
             add     x3, fp, #144
             str     x3, [sp, #0x10]
                        ;; size=32 bbWeight=0 PerfScore 0.00
-G_M15982_IG41:        ; bbWeight=0, gcVars=0000004000000000 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M15982_IG40:        ; bbWeight=0, gcVars=0000008000000000 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w0, [fp, #0x38]   // [V01 loc1]
-            cbz     w0, G_M15982_IG42
+            cbz     w0, G_M15982_IG41
             ldr     x0, [fp, #0x18]  // [V00 loc0]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V00}
@@ -538,7 +534,7 @@ G_M15982_IG41:        ; bbWeight=0, gcVars=0000004000000000 {V00}, gcrefRegs=000
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M15982_IG42:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M15982_IG41:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldr     x27, [sp, #0x58]
             ldp     x25, x26, [sp, #0x48]
             ldp     x23, x24, [sp, #0x38]
@@ -548,7 +544,7 @@ G_M15982_IG42:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1132, prolog size 40, PerfScore 2107.00, instruction count 283, allocated bytes for code 1132 (MethodHash=ddb2c191) for method System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
+; Total bytes of code 1120, prolog size 40, PerfScore 2097.00, instruction count 280, allocated bytes for code 1120 (MethodHash=ddb2c191) for method System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -559,7 +555,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 264 (0x00108) Actual length = 1056 (0x000420)
+  Function Length   : 261 (0x00105) Actual length = 1044 (0x000414)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -602,4 +598,4 @@ Unwind Info:
 
 *************** EH table for System.Diagnostics.Tracing.EventListener:Validate()
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M15982_IG06..G_M15982_IG38) handled by [G_M15982_IG40..END) (fault)
+EH#0: try [G_M15982_IG06..G_M15982_IG37) handled by [G_M15982_IG39..END) (fault)
  
-8 (-0.90%) : 11528.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (Tier0-FullOpts)
@@ -8,27 +8,27 @@
 ; 0 inlinees with PGO data; 33 single block inlinees; 18 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T22] (  7,  7   )     ref  ->  [fp+0x20]  class-hnd EH-live single-def <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;  V01 arg1         [V01,T18] (  3, 10   )     int  ->  x19         single-def
+;  V00 arg0         [V00,T23] (  7,  7   )     ref  ->  [fp+0x20]  class-hnd EH-live single-def <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
+;  V01 arg1         [V01,T19] (  3, 10   )     int  ->  x19         single-def
 ;* V02 arg2         [V02    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Threading.CancellationToken>
-;  V03 loc0         [V03,T19] (  4, 11   )   ubyte  ->  [fp+0x2C]  do-not-enreg[Z] EH-live
-;  V04 loc1         [V04,T05] (  8, 32   )     ref  ->  [fp+0x18]  class-hnd exact EH-live spill-single-def <System.Threading.Tasks.Task+SetOnCountdownMres>
+;  V03 loc0         [V03,T20] (  4, 11   )   ubyte  ->  [fp+0x2C]  do-not-enreg[Z] EH-live
+;  V04 loc1         [V04,T04] (  8, 32   )     ref  ->  [fp+0x18]  class-hnd exact EH-live spill-single-def <System.Threading.Tasks.Task+SetOnCountdownMres>
 ;* V05 loc2         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V06 loc3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
 ;* V07 loc4         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V08 loc5         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V10 tmp1         [V10,T21] (  4,  8   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task+SetOnCountdownMres>
+;  V10 tmp1         [V10,T22] (  4,  8   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task+SetOnCountdownMres>
 ;* V11 tmp2         [V11    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V12 tmp3         [V12    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V13 tmp4         [V13    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V14 tmp5         [V14,T24] (  3,  6   )     int  ->  x22         "Inlining Arg"
+;  V14 tmp5         [V14,T26] (  3,  6   )     int  ->  x22         "Inlining Arg"
 ;* V15 tmp6         [V15    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V16 tmp7         [V16    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V17 tmp8         [V17    ] (  0,  0   )     int  ->  zero-ref   
 ;* V18 tmp9         [V18    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;* V19 tmp10        [V19,T30] (  0,  0   )     ref  ->  zero-ref    single-def
-;* V20 tmp11        [V20,T31] (  0,  0   )     int  ->  zero-ref   
+;* V19 tmp10        [V19,T32] (  0,  0   )     ref  ->  zero-ref    single-def
+;* V20 tmp11        [V20,T33] (  0,  0   )     int  ->  zero-ref   
 ;* V21 tmp12        [V21    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V22 tmp13        [V22    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V23 tmp14        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -36,44 +36,46 @@
 ;* V25 tmp16        [V25    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V26 tmp17        [V26    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V27 tmp18        [V27    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
-;  V28 tmp19        [V28,T13] (  2,  8   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V28 tmp19        [V28,T12] (  2,  8   )   ubyte  ->   x0         "Inline return value spill temp"
 ;* V29 tmp20        [V29    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V30 tmp21        [V30    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V31 tmp22        [V31    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V32 tmp23        [V32,T09] (  3, 24   )   byref  ->   x1         "Inlining Arg"
 ;* V33 tmp24        [V33    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V34 tmp25        [V34    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V35 tmp26        [V35,T14] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V35 tmp26        [V35,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V36 tmp27        [V36    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
 ;* V37 tmp28        [V37    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V38 tmp29        [V38    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;* V39 tmp30        [V39,T15] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V39 tmp30        [V39,T14] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V40 tmp31        [V40    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;  V41 tmp32        [V41,T20] (  2,  9   )     ref  ->  x20         single-def "field V02._source (fldOffset=0x0)" P-INDEP
-;  V42 tmp33        [V42,T04] (  4, 25   )     ref  ->  x22         single-def "field V05._list (fldOffset=0x0)" P-INDEP
-;  V43 tmp34        [V43,T06] (  5, 24   )     ref  ->  x25         "field V05._current (fldOffset=0x8)" P-INDEP
+;  V41 tmp32        [V41,T21] (  2,  9   )     ref  ->  x20         single-def "field V02._source (fldOffset=0x0)" P-INDEP
+;  V42 tmp33        [V42,T06] (  4, 25   )     ref  ->  x22         single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V43 tmp34        [V43,T05] (  5, 24   )     ref  ->  x25         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V44 tmp35        [V44,T00] (  6, 41   )     int  ->  x24         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V45 tmp36        [V45,T12] (  3, 17   )     int  ->  x23         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V45 tmp36        [V45,T24] (  2,  9   )     int  ->  x23         "field V05._version (fldOffset=0x14)" P-INDEP
 ;  V46 tmp37        [V46,T07] (  4, 25   )     ref  ->  x19         single-def "field V07._list (fldOffset=0x0)" P-INDEP
 ;  V47 tmp38        [V47,T08] (  3, 16   )     ref  ->   x0         "field V07._current (fldOffset=0x8)" P-INDEP
 ;  V48 tmp39        [V48,T01] (  6, 41   )     int  ->  x21         "field V07._index (fldOffset=0x10)" P-INDEP
-;  V49 tmp40        [V49,T23] (  2,  9   )     int  ->  x20         "field V07._version (fldOffset=0x14)" P-INDEP
-;  V50 tmp41        [V50,T26] (  3,  3   )     ref  ->  x22         single-def "field V27._list (fldOffset=0x0)" P-INDEP
+;  V49 tmp40        [V49,T25] (  2,  9   )     int  ->  x20         "field V07._version (fldOffset=0x14)" P-INDEP
+;  V50 tmp41        [V50,T28] (  3,  3   )     ref  ->  x22         single-def "field V27._list (fldOffset=0x0)" P-INDEP
 ;* V51 tmp42        [V51    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V27._current (fldOffset=0x8)" P-INDEP
-;* V52 tmp43        [V52,T32] (  0,  0   )     int  ->  zero-ref    "field V27._index (fldOffset=0x10)" P-INDEP
-;  V53 tmp44        [V53,T28] (  2,  2   )     int  ->  x23         "field V27._version (fldOffset=0x14)" P-INDEP
-;  V54 tmp45        [V54,T27] (  3,  3   )     ref  ->  x19         single-def "field V37._list (fldOffset=0x0)" P-INDEP
+;* V52 tmp43        [V52,T34] (  0,  0   )     int  ->  zero-ref    "field V27._index (fldOffset=0x10)" P-INDEP
+;  V53 tmp44        [V53,T30] (  2,  2   )     int  ->  x23         "field V27._version (fldOffset=0x14)" P-INDEP
+;  V54 tmp45        [V54,T29] (  3,  3   )     ref  ->  x19         single-def "field V37._list (fldOffset=0x0)" P-INDEP
 ;* V55 tmp46        [V55    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V37._current (fldOffset=0x8)" P-INDEP
-;* V56 tmp47        [V56,T33] (  0,  0   )     int  ->  zero-ref    "field V37._index (fldOffset=0x10)" P-INDEP
-;  V57 tmp48        [V57,T29] (  2,  2   )     int  ->  x20         "field V37._version (fldOffset=0x14)" P-INDEP
+;* V56 tmp47        [V56,T35] (  0,  0   )     int  ->  zero-ref    "field V37._index (fldOffset=0x10)" P-INDEP
+;  V57 tmp48        [V57,T31] (  2,  2   )     int  ->  x20         "field V37._version (fldOffset=0x14)" P-INDEP
 ;  V58 tmp49        [V58,T02] (  3, 48   )     ref  ->   x1         "arr expr"
 ;  V59 tmp50        [V59,T03] (  3, 48   )     ref  ->   x0         "arr expr"
-;  V60 PSPSym       [V60,T34] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
-;  V61 cse0         [V61,T10] (  3, 24   )     int  ->  x25         "CSE - aggressive"
-;  V62 cse1         [V62,T11] (  2, 16   )     int  ->   x0         "CSE - aggressive"
-;  V63 cse2         [V63,T16] (  8, 14   )     ref  ->   x1         multi-def "CSE - aggressive"
-;  V64 cse3         [V64,T17] (  3, 12   )   byref  ->   x1         "CSE - aggressive"
-;  V65 cse4         [V65,T25] (  4,  4   )   byref  ->   x1         "CSE - moderate"
+;  V60 PSPSym       [V60,T36] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
+;  V61 cse0         [V61,T15] (  2, 16   )     int  ->   x1         "CSE - aggressive"
+;  V62 cse1         [V62,T10] (  2, 16   )     int  ->   x1         "CSE - aggressive"
+;  V63 cse2         [V63,T16] (  2, 16   )     int  ->   x0         "CSE - aggressive"
+;  V64 cse3         [V64,T11] (  2, 16   )     int  ->   x0         "CSE - aggressive"
+;  V65 cse4         [V65,T17] (  8, 14   )     ref  ->   x1         multi-def "CSE - aggressive"
+;  V66 cse5         [V66,T18] (  3, 12   )   byref  ->   x1         "CSE - aggressive"
+;  V67 cse6         [V67,T27] (  4,  4   )   byref  ->   x1         "CSE - moderate"
 ;
 ; Lcl frame size = 40
 
@@ -92,7 +94,7 @@ G_M12834_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             mov     x20, x2
             ; gcrRegs +[x20]
                        ;; size=44 bbWeight=1 PerfScore 9.00
-G_M12834_IG02:        ; bbWeight=1, gcVars=0000000000400000 {V00}, gcrefRegs=100001 {x0 x20}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M12834_IG02:        ; bbWeight=1, gcVars=0000000000800000 {V00}, gcrefRegs=100001 {x0 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x0]
             cbnz    x0, G_M12834_IG03
             movz    x0, #0xD1FFAB1E
@@ -171,7 +173,7 @@ G_M12834_IG05:        ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {
             str     x21, [fp, #0x18]   // [V04 loc1]
             ; GC ptr vars +{V04}
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M12834_IG06:        ; bbWeight=1, gcVars=0000000000400020 {V00 V04}, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, gcvars, byref
+G_M12834_IG06:        ; bbWeight=1, gcVars=0000000000800010 {V00 V04}, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, gcvars, byref
             ldr     x0, [fp, #0x20]    // [V00 arg0]
             ; gcrRegs +[x0]
             mov     x22, x0
@@ -261,12 +263,12 @@ G_M12834_IG10:        ; bbWeight=4, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=00
             ; gcr arg pop 0
                        ;; size=52 bbWeight=4 PerfScore 50.00
 G_M12834_IG11:        ; bbWeight=8, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0000 {}, byref, isz
-            ldr     w25, [x22, #0x14]
-            cmp     w23, w25
-            bne     G_M12834_IG15
+            ldr     w1, [x22, #0x14]
+            cmp     w23, w1
+            bne     G_M12834_IG14
             ldr     w1, [x22, #0x10]
             cmp     w24, w1
-            bhs     G_M12834_IG16
+            bhs     G_M12834_IG15
             ldr     x1, [x22, #0x08]
             ; gcrRegs +[x1]
             ldr     w2, [x1, #0x08]
@@ -305,12 +307,8 @@ G_M12834_IG14:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, b
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M12834_IG15:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M12834_IG15:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x20]
-            cmp     w23, w25
-            bne     G_M12834_IG14
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M12834_IG16:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
             mov     x0, x21
             ; gcrRegs +[x0]
             mov     w1, w19
@@ -325,19 +323,19 @@ G_M12834_IG16:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {
             ; gcr arg pop 0
             str     w0, [fp, #0x2C]    // [V03 loc0]
                        ;; size=36 bbWeight=8 PerfScore 64.00
-G_M12834_IG17:        ; bbWeight=1, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
+G_M12834_IG16:        ; bbWeight=1, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
             ldr     x0, [fp, #0x30]    // [V60 PSPSym]
-            bl      G_M12834_IG21
+            bl      G_M12834_IG20
                        ;; size=8 bbWeight=1 PerfScore 3.00
-G_M12834_IG18:        ; bbWeight=1, nogc, extend
+G_M12834_IG17:        ; bbWeight=1, nogc, extend
             nop     
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M12834_IG19:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M12834_IG18:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x21]
             ; GC ptr vars -{V00 V04}
             ldr     w0, [fp, #0x2C]    // [V03 loc0]
                        ;; size=4 bbWeight=1 PerfScore 2.00
-G_M12834_IG20:        ; bbWeight=1, epilog, nogc, extend
+G_M12834_IG19:        ; bbWeight=1, epilog, nogc, extend
             ldr     x25, [sp, #0x68]
             ldp     x23, x24, [sp, #0x58]
             ldp     x21, x22, [sp, #0x48]
@@ -345,7 +343,7 @@ G_M12834_IG20:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x70
             ret     lr
                        ;; size=24 bbWeight=1 PerfScore 7.00
-G_M12834_IG21:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M12834_IG20:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x18]
             stp     x21, x22, [sp, #0x28]
@@ -354,19 +352,19 @@ G_M12834_IG21:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             add     x3, fp, #112
             str     x3, [sp, #0x10]
                        ;; size=28 bbWeight=1 PerfScore 6.50
-G_M12834_IG22:        ; bbWeight=1, gcVars=0000000000400020 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M12834_IG21:        ; bbWeight=1, gcVars=0000000000800010 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ; GC ptr vars +{V00 V04}
             ldr     w0, [fp, #0x2C]    // [V03 loc0]
-            cbnz    w0, G_M12834_IG27
+            cbnz    w0, G_M12834_IG26
             ldr     x0, [fp, #0x20]  // [V00 arg0]
             ; gcrRegs +[x0]
             mov     x19, x0
             ; gcrRegs +[x19]
             ldr     w20, [x19, #0x14]
             mov     w21, wzr
-            b       G_M12834_IG24
+            b       G_M12834_IG23
                      ;; size=28 bbWeight=1 PerfScore 10.00
-G_M12834_IG23:        ; bbWeight=4, gcVars=0000000000000020 {V04}, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M12834_IG22:        ; bbWeight=4, gcVars=0000000000000010 {V04}, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, gcvars, byref, isz
             ; GC ptr vars -{V00}
             add     x1, x0, #52
             ; byrRegs +[x1]
@@ -374,7 +372,7 @@ G_M12834_IG23:        ; bbWeight=4, gcVars=0000000000000020 {V04}, gcrefRegs=800
             ; byrRegs -[x1]
             mov     w2, #0xD1FFAB1E
             tst     w1, w2
-            bne     G_M12834_IG24
+            bne     G_M12834_IG23
             ldr     x1, [fp, #0x18]    // [V04 loc1]
             ; gcrRegs +[x1]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
@@ -385,18 +383,18 @@ G_M12834_IG23:        ; bbWeight=4, gcVars=0000000000000020 {V04}, gcrefRegs=800
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
                        ;; size=44 bbWeight=4 PerfScore 52.00
-G_M12834_IG24:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M12834_IG23:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x19, #0x14]
             cmp     w20, w0
-            bne     G_M12834_IG26
+            bne     G_M12834_IG25
             ldr     w0, [x19, #0x10]
             cmp     w21, w0
-            bhs     G_M12834_IG27
+            bhs     G_M12834_IG26
             ldr     x0, [x19, #0x08]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x08]
             cmp     w21, w1
-            bhs     G_M12834_IG25
+            bhs     G_M12834_IG24
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
@@ -404,15 +402,15 @@ G_M12834_IG24:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; gcrRegs +[x0]
             ; byrRegs -[x0]
             add     w21, w21, #1
-            b       G_M12834_IG23
+            b       G_M12834_IG22
                      ;; size=56 bbWeight=8 PerfScore 172.00
-G_M12834_IG25:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
...
  
-4 (-0.29%) : 51995.dasm - System.Text.RegularExpressions.RegexWriter:EmitCode():System.Text.RegularExpressions.RegexInterpreterCode:this (Tier1)
@@ -8,10 +8,10 @@
 ; 0 inlinees with PGO data; 24 single block inlinees; 13 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] ( 20, 34   )   byref  ->  x19         this single-def
+;  V00 this         [V00,T03] ( 19, 33   )   byref  ->  x19         this single-def
 ;  V01 loc0         [V01,T01] ( 13, 39   )     ref  ->  x21         class-hnd <System.Text.RegularExpressions.RegexNode>
 ;  V02 loc1         [V02,T02] ( 12, 38   )     int  ->  x22        
-;  V03 loc2         [V03,T49] (  2,  2   )     ref  ->  x22         class-hnd single-def <int[]>
+;  V03 loc2         [V03,T50] (  2,  2   )     ref  ->  x22         class-hnd single-def <int[]>
 ;  V04 loc3         [V04,T34] (  5,  4   )     ref  ->  x21         class-hnd exact single-def <System.String[]>
 ;* V05 loc4         [V05    ] (  0,  0   )     int  ->  zero-ref   
 ;* V06 loc5         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[int]>
@@ -55,16 +55,16 @@
 ;  V44 tmp35        [V44,T15] (  6, 10   )     int  ->  x20         "Inlining Arg"
 ;  V45 tmp36        [V45,T26] (  3,  6   )   byref  ->   x0         single-def "Inlining Arg"
 ;* V46 tmp37        [V46    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
-;  V47 tmp38        [V47,T47] (  2,  3   )   byref  ->  x21         single-def "Inlining Arg"
+;  V47 tmp38        [V47,T48] (  2,  3   )   byref  ->  x21         single-def "Inlining Arg"
 ;* V48 tmp39        [V48    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;* V49 tmp40        [V49    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[int]>
 ;* V50 tmp41        [V50    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V51 tmp42        [V51    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;  V52 tmp43        [V52,T48] (  3,  2   )     ref  ->  x22         class-hnd "Inline return value spill temp" <int[]>
-;  V53 tmp44        [V53,T56] (  3,  1.50)     ref  ->  x22         class-hnd exact single-def "Inline stloc first use temp" <int[]>
-;  V54 tmp45        [V54,T50] (  2,  2   )   byref  ->   x0         single-def "Inlining Arg"
+;  V52 tmp43        [V52,T49] (  3,  2   )     ref  ->  x22         class-hnd "Inline return value spill temp" <int[]>
+;  V53 tmp44        [V53,T57] (  3,  1.50)     ref  ->  x22         class-hnd exact single-def "Inline stloc first use temp" <int[]>
+;  V54 tmp45        [V54,T51] (  2,  2   )   byref  ->   x0         single-def "Inlining Arg"
 ;* V55 tmp46        [V55    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;  V56 tmp47        [V56,T51] (  2,  2   )    long  ->   x2         "Inlining Arg"
+;  V56 tmp47        [V56,T52] (  2,  2   )    long  ->   x2         "Inlining Arg"
 ;* V57 tmp48        [V57    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V58 tmp49        [V58,T27] (  3,  6   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;  V59 tmp50        [V59,T28] (  3,  6   )     ref  ->  x20         class-hnd single-def "Inlining Arg" <<unknown class>>
@@ -76,14 +76,14 @@
 ;* V65 tmp56        [V65    ] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
 ;  V66 tmp57        [V66,T19] (  2,  8   )     ref  ->  x15         "field V08.key (fldOffset=0x0)" P-INDEP
 ;  V67 tmp58        [V67,T11] (  3, 12   )     int  ->  x14         "field V08.value (fldOffset=0x8)" P-INDEP
-;  V68 tmp59        [V68,T57] (  2,  1.50)   byref  ->   x2         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V69 tmp60        [V69,T52] (  2,  2   )     int  ->   x3         "field V15._length (fldOffset=0x8)" P-INDEP
-;  V70 tmp61        [V70,T58] (  2,  1.50)   byref  ->   x2         single-def "field V18._reference (fldOffset=0x0)" P-INDEP
-;  V71 tmp62        [V71,T53] (  2,  2   )     int  ->   x3         "field V18._length (fldOffset=0x8)" P-INDEP
+;  V68 tmp59        [V68,T58] (  2,  1.50)   byref  ->   x2         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V69 tmp60        [V69,T53] (  2,  2   )     int  ->   x3         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V70 tmp61        [V70,T59] (  2,  1.50)   byref  ->   x2         single-def "field V18._reference (fldOffset=0x0)" P-INDEP
+;  V71 tmp62        [V71,T54] (  2,  2   )     int  ->   x3         "field V18._length (fldOffset=0x8)" P-INDEP
 ;  V72 tmp63        [V72,T36] (  2,  4   )   byref  ->   x2         "field V30._reference (fldOffset=0x0)" P-INDEP
 ;  V73 tmp64        [V73,T41] (  2,  4   )     int  ->   x3         "field V30._length (fldOffset=0x8)" P-INDEP
-;  V74 tmp65        [V74,T59] (  2,  1.50)   byref  ->   x2         single-def "field V41._reference (fldOffset=0x0)" P-INDEP
-;  V75 tmp66        [V75,T54] (  2,  2   )     int  ->   x3         "field V41._length (fldOffset=0x8)" P-INDEP
+;  V74 tmp65        [V74,T60] (  2,  1.50)   byref  ->   x2         single-def "field V41._reference (fldOffset=0x0)" P-INDEP
+;  V75 tmp66        [V75,T55] (  2,  2   )     int  ->   x3         "field V41._length (fldOffset=0x8)" P-INDEP
 ;* V76 tmp67        [V76    ] (  0,  0   )   byref  ->  zero-ref    "field V43._reference (fldOffset=0x0)" P-INDEP
 ;* V77 tmp68        [V77    ] (  0,  0   )     int  ->  zero-ref    "field V43._length (fldOffset=0x8)" P-INDEP
 ;* V78 tmp69        [V78    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V46._reference (fldOffset=0x0)" P-INDEP
@@ -93,17 +93,18 @@
 ;* V82 tmp73        [V82    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V49._reference (fldOffset=0x0)" P-INDEP
 ;* V83 tmp74        [V83    ] (  0,  0   )     int  ->  zero-ref    "field V49._length (fldOffset=0x8)" P-INDEP
 ;* V84 tmp75        [V84    ] (  0,  0   )     ref  ->  zero-ref    single-def "V60.[000..008)"
-;  V85 tmp76        [V85,T55] (  2,  2   )     int  ->   x0         "V60.[008..012)"
+;  V85 tmp76        [V85,T56] (  2,  2   )     int  ->   x0         "V60.[008..012)"
 ;* V86 tmp77        [V86    ] (  0,  0   )     int  ->  zero-ref    "V60.[012..016)"
 ;* V87 tmp78        [V87    ] (  0,  0   )     int  ->  zero-ref    "V60.[016..020)"
 ;  V88 tmp79        [V88,T10] (  3, 12   )     ref  ->   x0         "arr expr"
-;  V89 cse0         [V89,T46] (  3,  3   )     int  ->  x22         "CSE - moderate"
+;  V89 cse0         [V89,T47] (  3,  3   )     int  ->  x22         "CSE - moderate"
 ;  V90 cse1         [V90,T29] (  3,  6   )     ref  ->   x1         "CSE - moderate"
 ;  V91 cse2         [V91,T45] (  3,  3   )     ref  ->  x20         "CSE - moderate"
 ;  V92 cse3         [V92,T30] (  3,  6   )    long  ->  x20         "CSE - moderate"
 ;  V93 cse4         [V93,T33] (  2,  4.50)   byref  ->  x24         hoist "CSE - moderate"
 ;  V94 cse5         [V94,T21] (  4,  6.50)     int  ->  x23         hoist multi-def "CSE - moderate"
 ;  V95 cse6         [V95,T31] (  5,  5   )   byref  ->  x20         "CSE - moderate"
+;  V96 cse7         [V96,T46] (  3,  3   )     ref  ->  x14         "CSE - moderate"
 ;
 ; Lcl frame size = 80
 
@@ -581,7 +582,6 @@ G_M2365_IG42:        ; bbWeight=1, gcrefRegs=600000 {x21 x22}, byrefRegs=80000 {
             ; gcrRegs +[x14]
             ldr     x15, [x14, #0x10]
             ; gcrRegs +[x15]
-            ldr     x14, [x19]
             ldr     w1, [x14, #0x38]
             ldr     w19, [x19, #0x10]
             ; byrRegs -[x19]
@@ -623,7 +623,7 @@ G_M2365_IG42:        ; bbWeight=1, gcrefRegs=600000 {x21 x22}, byrefRegs=80000 {
             str     w19, [x20, #0x2C]
             mov     x0, x20
             ; gcrRegs +[x0]
-                      ;; size=120 bbWeight=1 PerfScore 34.00
+                        ;; size=116 bbWeight=1 PerfScore 31.00
 G_M2365_IG43:        ; bbWeight=1, epilog, nogc, extend
             ldp     x23, x24, [sp, #0x80]
             ldp     x21, x22, [sp, #0x70]
@@ -652,7 +652,7 @@ G_M2365_IG46:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1380, prolog size 40, PerfScore 659.00, instruction count 345, allocated bytes for code 1380 (MethodHash=a52ef6c2) for method System.Text.RegularExpressions.RegexWriter:EmitCode():System.Text.RegularExpressions.RegexInterpreterCode:this (Tier1)
+; Total bytes of code 1376, prolog size 40, PerfScore 656.00, instruction count 344, allocated bytes for code 1376 (MethodHash=a52ef6c2) for method System.Text.RegularExpressions.RegexWriter:EmitCode():System.Text.RegularExpressions.RegexInterpreterCode:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -663,7 +663,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 345 (0x00159) Actual length = 1380 (0x000564)
+  Function Length   : 344 (0x00158) Actual length = 1376 (0x000560)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-4 (-0.19%) : 6323.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan1[ushort],System.ReadOnlySpan1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
@@ -8,16 +8,16 @@
 ; 0 inlinees with PGO data; 64 single block inlinees; 39 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T56] (  4,   4   )  struct (16) [fp-0x68]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
-;  V01 arg1         [V01,T57] (  4,   4   )  struct (16) [fp-0x78]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
-;  V02 arg2         [V02,T53] (  4,  10.50)   ubyte  ->  x20         single-def
-;  V03 arg3         [V03,T36] (  5,  66.50)   ubyte  ->  x19         single-def
+;  V00 arg0         [V00,T57] (  4,   4   )  struct (16) [fp-0x68]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
+;  V01 arg1         [V01,T58] (  4,   4   )  struct (16) [fp-0x78]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
+;  V02 arg2         [V02,T54] (  4,  10.50)   ubyte  ->  x20         single-def
+;  V03 arg3         [V03,T47] (  4,  34.50)   ubyte  ->  x19         single-def
 ;  V04 loc0         [V04,T46] (  5,  40.50)     int  ->  registers   ptr
 ;  V05 loc1         [V05,T06] ( 10, 488   )     int  ->  [fp-0x7C]  ptr
 ;  V06 loc2         [V06,T00] ( 10,1348   )     int  ->  [fp-0x80]  ptr
 ;  V07 loc3         [V07,T08] ( 22, 428   )     int  ->  [fp-0x84]  ptr
 ;  V08 loc4         [V08,T03] (  7, 724   )     int  ->  [fp-0x88]  ptr
-;  V09 loc5         [V09,T44] (  8,  43.50)     int  ->  x26        
+;  V09 loc5         [V09,T44] (  8,  43.50)     int  ->  x25        
 ;  V10 loc6         [V10,T21] ( 11, 146.50)  ushort  ->  registers   ptr
 ;  V11 loc7         [V11,T10] ( 13, 288   )  ushort  ->  [fp-0x8C]  ptr
 ;* V12 loc8         [V12    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[int]>
@@ -29,9 +29,9 @@
 ;* V18 loc14        [V18    ] (  0,   0   )  struct (16) zero-ref    multireg-arg ld-addr-op <System.ReadOnlySpan`1[ushort]>
 ;* V19 loc15        [V19    ] (  0,   0   )   ubyte  ->  zero-ref   
 ;* V20 loc16        [V20    ] (  0,   0   )  struct (16) zero-ref    <System.Span`1[int]>
-;  V21 loc17        [V21,T28] (  3,  96   )     int  ->  [fp-0x9C]  spill-single-def ptr
-;  V22 loc18        [V22,T29] (  3,  96   )   ubyte  ->  x14        
-;  V23 loc19        [V23,T01] (  7,1344   )     int  ->  x13        
+;  V21 loc17        [V21,T29] (  3,  96   )     int  ->  [fp-0x9C]  spill-single-def ptr
+;  V22 loc18        [V22,T30] (  3,  96   )   ubyte  ->  x14        
+;  V23 loc19        [V23,T01] (  7,1344   )     int  ->   x1        
 ;  V24 loc20        [V24,T02] (  3, 832   )     int  ->   x0        
 ;# V25 OutArgs      [V25    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V26 tmp1         [V26    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
@@ -41,16 +41,16 @@
 ;  V30 tmp5         [V30,T13] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
 ;  V31 tmp6         [V31,T15] (  2, 256   )     int  ->  x10         "dup spill"
 ;  V32 tmp7         [V32,T14] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
-;  V33 tmp8         [V33,T49] (  2,  32   )     int  ->  [fp-0xA0]  spill-single-def ptr "impAppendStmt"
+;  V33 tmp8         [V33,T50] (  2,  32   )     int  ->  [fp-0xA0]  spill-single-def ptr "impAppendStmt"
 ;* V34 tmp9         [V34    ] (  0,   0   )     int  ->  zero-ref    ptr
 ;  V35 tmp10        [V35,T37] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V36 tmp11        [V36,T38] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
-;  V37 tmp12        [V37,T34] (  5,  80   )     int  ->  x13         "dup spill"
+;  V37 tmp12        [V37,T35] (  5,  80   )     int  ->  x13         "dup spill"
 ;  V38 tmp13        [V38,T39] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
 ;  V39 tmp14        [V39,T40] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V40 tmp15        [V40,T41] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
-;  V41 tmp16        [V41,T30] (  3,  96   )     int  ->   x1        
-;  V42 tmp17        [V42,T52] (  4,  16   )     int  ->  x25         "impSpillLclRefs"
+;  V41 tmp16        [V41,T31] (  3,  96   )     int  ->   x1        
+;  V42 tmp17        [V42,T53] (  4,  16   )     int  ->  x27         "impSpillLclRefs"
 ;* V43 tmp18        [V43    ] (  0,   0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V44 tmp19        [V44    ] (  0,   0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V45 tmp20        [V45    ] (  0,   0   )     int  ->  zero-ref    ptr
@@ -58,15 +58,15 @@
 ;* V47 tmp22        [V47    ] (  0,   0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
 ;* V48 tmp23        [V48    ] (  0,   0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
 ;* V49 tmp24        [V49    ] (  0,   0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
-;  V50 tmp25        [V50,T69] (  2,   1   )     int  ->   x4        
+;  V50 tmp25        [V50,T70] (  2,   1   )     int  ->   x4        
 ;* V51 tmp26        [V51    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;  V52 tmp27        [V52,T59] (  3,   3   )     int  ->  x26         "Inlining Arg"
-;  V53 tmp28        [V53,T60] (  2,   2   )   byref  ->  x25         single-def "Inlining Arg"
+;  V52 tmp27        [V52,T60] (  3,   3   )     int  ->  x26         "Inlining Arg"
+;  V53 tmp28        [V53,T61] (  2,   2   )   byref  ->  x25         single-def "Inlining Arg"
 ;* V54 tmp29        [V54    ] (  0,   0   )  struct (16) zero-ref    "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V55 tmp30        [V55    ] (  0,   0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V56 tmp31        [V56    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V57 tmp32        [V57,T72] (  0,   0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V58 tmp33        [V58,T73] (  0,   0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
+;* V57 tmp32        [V57,T73] (  0,   0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
+;* V58 tmp33        [V58,T74] (  0,   0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
 ;* V59 tmp34        [V59    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V60 tmp35        [V60    ] (  0,   0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V61 tmp36        [V61    ] (  0,   0   )   short  ->  zero-ref    "Inlining Arg"
@@ -76,7 +76,7 @@
 ;* V65 tmp40        [V65    ] (  0,   0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V66 tmp41        [V66    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V67 tmp42        [V67    ] (  0,   0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V68 tmp43        [V68,T70] (  2,   1   )     int  ->   x0         "Inline return value spill temp"
+;  V68 tmp43        [V68,T71] (  2,   1   )     int  ->   x0         "Inline return value spill temp"
 ;* V69 tmp44        [V69    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V70 tmp45        [V70    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V71 tmp46        [V71    ] (  0,   0   )   byref  ->  zero-ref    "impAppendStmt"
@@ -142,8 +142,8 @@
 ;* V131 tmp106      [V131    ] (  0,   0   )  struct (32) zero-ref    HFA(simd16)  ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.Intrinsics.Vector256`1[ubyte]>
 ;* V132 tmp107      [V132    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V133 tmp108      [V133    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;  V134 tmp109      [V134,T64] (  2,   2   )    long  ->  x28         "Inlining Arg"
-;  V135 tmp110      [V135,T65] (  2,   2   )    long  ->   x3         "Inlining Arg"
+;  V134 tmp109      [V134,T65] (  2,   2   )    long  ->  x28         "Inlining Arg"
+;  V135 tmp110      [V135,T66] (  2,   2   )    long  ->   x3         "Inlining Arg"
 ;  V136 tmp111      [V136,T18] (  3, 192   )     ref  ->   x0         class-hnd exact "Inlining Arg" <int[]>
 ;* V137 tmp112      [V137    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V138 tmp113      [V138    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
@@ -158,7 +158,7 @@
 ;* V147 tmp122      [V147    ] (  0,   0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;  V148 tmp123      [V148,T24] (  2, 128   )    long  ->   x2         "Inlining Arg"
 ;* V149 tmp124      [V149    ] (  0,   0   )    long  ->  zero-ref    "Inlining Arg"
-;  V150 tmp125      [V150,T50] (  3,  24   )  ushort  ->  registers   ptr "Inline return value spill temp"
+;  V150 tmp125      [V150,T51] (  3,  24   )  ushort  ->  registers   ptr "Inline return value spill temp"
 ;  V151 tmp126      [V151,T42] (  4,  64   )  ushort  ->  x10         "Inlining Arg"
 ;* V152 tmp127      [V152    ] (  0,   0   )  ushort  ->  zero-ref    "Inline return value spill temp"
 ;* V153 tmp128      [V153    ] (  0,   0   )    long  ->  zero-ref    "Inline stloc first use temp"
@@ -169,9 +169,9 @@
 ;* V158 tmp133      [V158    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V159 tmp134      [V159    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;  V160 tmp135      [V160    ] (  3,  24   )  ushort  ->  [fp-0xA8]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inline stloc first use temp"
-;  V161 tmp136      [V161,T47] (  2,  32   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Globalization.TextInfo>
+;  V161 tmp136      [V161,T48] (  2,  32   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Globalization.TextInfo>
 ;  V162 tmp137      [V162    ] (  2,  32   )  ushort  ->  [fp-0xB0]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inlining Arg"
-;  V163 tmp138      [V163,T51] (  3,  24   )  ushort  ->  x13         "Inline return value spill temp"
+;  V163 tmp138      [V163,T52] (  3,  24   )  ushort  ->  x13         "Inline return value spill temp"
 ;  V164 tmp139      [V164,T43] (  4,  64   )  ushort  ->  x13         "Inlining Arg"
 ;* V165 tmp140      [V165    ] (  0,   0   )  ushort  ->  zero-ref    "Inline return value spill temp"
 ;* V166 tmp141      [V166    ] (  0,   0   )    long  ->  zero-ref    "Inline stloc first use temp"
@@ -182,37 +182,37 @@
 ;* V171 tmp146      [V171    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V172 tmp147      [V172    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;  V173 tmp148      [V173    ] (  3,  24   )  ushort  ->  [fp-0xB8]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inline stloc first use temp"
-;  V174 tmp149      [V174,T48] (  2,  32   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Globalization.TextInfo>
+;  V174 tmp149      [V174,T49] (  2,  32   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Globalization.TextInfo>
 ;  V175 tmp150      [V175    ] (  2,  32   )  ushort  ->  [fp-0xC0]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inlining Arg"
-;  V176 tmp151      [V176,T61] (  3,   3   )     int  ->   x0         "Single return block return value"
-;  V177 tmp152      [V177,T54] (  2,   8   )   byref  ->   x1         "field V12._reference (fldOffset=0x0)" P-INDEP
-;  V178 tmp153      [V178,T55] (  2,   8   )     int  ->   x0         "field V12._length (fldOffset=0x8)" P-INDEP
+;  V176 tmp151      [V176,T62] (  3,   3   )     int  ->   x0         "Single return block return value"
+;  V177 tmp152      [V177,T55] (  2,   8   )   byref  ->   x1         "field V12._reference (fldOffset=0x0)" P-INDEP
+;  V178 tmp153      [V178,T56] (  2,   8   )     int  ->   x0         "field V12._length (fldOffset=0x8)" P-INDEP
 ;  V179 tmp154      [V179,T07] ( 14, 464.50)   byref  ->  x28         "field V13._reference (fldOffset=0x0)" P-INDEP
 ;  V180 tmp155      [V180,T04] ( 17, 592.50)     int  ->  [fp-0xC4]  ptr "field V13._length (fldOffset=0x8)" P-INDEP
 ;  V181 tmp156      [V181,T09] ( 10, 347.50)   byref  ->  [fp-0xD8]  ptr "field V14._reference (fldOffset=0x0)" P-INDEP
 ;  V182 tmp157      [V182,T20] ( 10, 187   )     int  ->  [fp-0xC8]  ptr "field V14._length (fldOffset=0x8)" P-INDEP
-;  V183 tmp158      [V183,T63] (  4,   2   )   byref  ->  x25         single-def "field V18._reference (fldOffset=0x0)" P-INDEP
-;  V184 tmp159      [V184,T62] (  5,   2.50)     int  ->  x26         "field V18._length (fldOffset=0x8)" P-INDEP
+;  V183 tmp158      [V183,T64] (  4,   2   )   byref  ->  x25         single-def "field V18._reference (fldOffset=0x0)" P-INDEP
+;  V184 tmp159      [V184,T63] (  5,   2.50)     int  ->  x26         "field V18._length (fldOffset=0x8)" P-INDEP
 ;* V185 tmp160      [V185    ] (  0,   0   )   byref  ->  zero-ref    "field V20._reference (fldOffset=0x0)" P-INDEP
 ;* V186 tmp161      [V186    ] (  0,   0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
-;  V187 tmp162      [V187,T66] (  2,   1   )   byref  ->  x28         single-def "field V26._reference (fldOffset=0x0)" P-INDEP
-;* V188 tmp163      [V188,T76] (  0,   0   )     int  ->  zero-ref    ptr "field V26._length (fldOffset=0x8)" P-INDEP
-;  V189 tmp164      [V189,T67] (  2,   1   )   byref  ->   x3         single-def "field V27._reference (fldOffset=0x0)" P-INDEP
-;* V190 tmp165      [V190,T77] (  0,   0   )     int  ->  zero-ref    ptr "field V27._length (fldOffset=0x8)" P-INDEP
+;  V187 tmp162      [V187,T67] (  2,   1   )   byref  ->  x28         single-def "field V26._reference (fldOffset=0x0)" P-INDEP
+;* V188 tmp163      [V188,T77] (  0,   0   )     int  ->  zero-ref    ptr "field V26._length (fldOffset=0x8)" P-INDEP
+;  V189 tmp164      [V189,T68] (  2,   1   )   byref  ->   x3         single-def "field V27._reference (fldOffset=0x0)" P-INDEP
+;* V190 tmp165      [V190,T78] (  0,   0   )     int  ->  zero-ref    ptr "field V27._length (fldOffset=0x8)" P-INDEP
 ;* V191 tmp166      [V191    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V43._reference (fldOffset=0x0)" P-INDEP
 ;* V192 tmp167      [V192    ] (  0,   0   )     int  ->  zero-ref    ptr "field V43._length (fldOffset=0x8)" P-INDEP
 ;* V193 tmp168      [V193    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V44._reference (fldOffset=0x0)" P-INDEP
 ;* V194 tmp169      [V194    ] (  0,   0   )     int  ->  zero-ref    ptr "field V44._length (fldOffset=0x8)" P-INDEP
-;  V195 tmp170      [V195,T68] (  2,   1   )   byref  ->   x0         single-def "field V46._reference (fldOffset=0x0)" P-INDEP
-;  V196 tmp171      [V196,T71] (  2,   1   )     int  ->   x1         "field V46._length (fldOffset=0x8)" P-INDEP
+;  V195 tmp170      [V195,T69] (  2,   1   )   byref  ->   x0         single-def "field V46._reference (fldOffset=0x0)" P-INDEP
+;  V196 tmp171      [V196,T72] (  2,   1   )     int  ->   x1         "field V46._length (fldOffset=0x8)" P-INDEP
 ;* V197 tmp172      [V197    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V47._reference (fldOffset=0x0)" P-INDEP
 ;* V198 tmp173      [V198    ] (  0,   0   )     int  ->  zero-ref    ptr "field V47._length (fldOffset=0x8)" P-INDEP
 ;* V199 tmp174      [V199    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V48._reference (fldOffset=0x0)" P-INDEP
 ;* V200 tmp175      [V200    ] (  0,   0   )     int  ->  zero-ref    ptr "field V48._length (fldOffset=0x8)" P-INDEP
 ;* V201 tmp176      [V201    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V49._reference (fldOffset=0x0)" P-INDEP
 ;* V202 tmp177      [V202    ] (  0,   0   )     int  ->  zero-ref    ptr "field V49._length (fldOffset=0x8)" P-INDEP
-;* V203 tmp178      [V203,T74] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V51._reference (fldOffset=0x0)" P-INDEP
-;* V204 tmp179      [V204,T78] (  0,   0   )     int  ->  zero-ref    ptr "field V51._length (fldOffset=0x8)" P-INDEP
+;* V203 tmp178      [V203,T75] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V51._reference (fldOffset=0x0)" P-INDEP
+;* V204 tmp179      [V204,T79] (  0,   0   )     int  ->  zero-ref    ptr "field V51._length (fldOffset=0x8)" P-INDEP
 ;* V205 tmp180      [V205    ] (  0,   0   )   byref  ->  zero-ref    "field V54._reference (fldOffset=0x0)" P-INDEP
 ;* V206 tmp181      [V206    ] (  0,   0   )     int  ->  zero-ref    "field V54._length (fldOffset=0x8)" P-INDEP
 ;* V207 tmp182      [V207    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V56._reference (fldOffset=0x0)" P-INDEP
@@ -223,7 +223,7 @@
 ;* V212 tmp187      [V212    ] (  0,   0   )     int  ->  zero-ref    "field V64._length (fldOffset=0x8)" P-INDEP
 ;* V213 tmp188      [V213    ] (  0,   0   )   byref  ->  zero-ref    "field V65._reference (fldOffset=0x0)" P-INDEP
 ;* V214 tmp189      [V214    ] (  0,   0   )     int  ->  zero-ref    "field V65._length (fldOffset=0x8)" P-INDEP
-;* V215 tmp190      [V215,T75] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V66._reference (fldOffset=0x0)" P-INDEP
+;* V215 tmp190      [V215,T76] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V66._reference (fldOffset=0x0)" P-INDEP
 ;* V216 tmp191      [V216    ] (  0,   0   )     int  ->  zero-ref    ptr "field V66._length (fldOffset=0x8)" P-INDEP
 ;* V217 tmp192      [V217    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V69._reference (fldOffset=0x0)" P-INDEP
 ;* V218 tmp193      [V218    ] (  0,   0   )     int  ->  zero-ref    ptr "field V69._length (fldOffset=0x8)" P-INDEP
@@ -251,12 +251,12 @@
 ;* V240 tmp215      [V240    ] (  0,   0   )     int  ->  zero-ref    "field V132._length (fldOffset=0x8)" P-INDEP
 ;* V241 tmp216      [V241    ] (  0,   0   )   byref  ->  zero-ref    "field V133._reference (fldOffset=0x0)" P-INDEP
 ;* V242 tmp217      [V242    ] (  0,   0   )     int  ->  zero-ref    "field V133._length (fldOffset=0x8)" P-INDEP
-;  V243 tmp218      [V243,T26] (  3,  96   )   byref  ->  [fp-0xE0]  spill-single-def ptr "field V137._reference (fldOffset=0x0)" P-INDEP
-;  V244 tmp219      [V244,T31] (  3,  96   )     int  ->  [fp-0xCC]  spill-single-def ptr "field V137._length (fldOffset=0x8)" P-INDEP
+;  V243 tmp218      [V243,T27] (  3,  96   )   byref  ->  [fp-0xE0]  spill-single-def ptr "field V137._reference (fldOffset=0x0)" P-INDEP
+;  V244 tmp219      [V244,T32] (  3,  96   )     int  ->  [fp-0xCC]  spill-single-def ptr "field V137._length (fldOffset=0x8)" P-INDEP
 ;* V245 tmp220      [V245    ] (  0,   0   )   byref  ->  zero-ref    ptr "field V138._reference (fldOffset=0x0)" P-INDEP
 ;* V246 tmp221      [V246    ] (  0,   0   )     int  ->  zero-ref    ptr "field V138._length (fldOffset=0x8)" P-INDEP
-;  V247 tmp222      [V247,T27] (  3,  96   )   byref  ->  [fp-0xE8]  spill-single-def ptr "field V144._reference (fldOffset=0x0)" P-INDEP
-;  V248 tmp223      [V248,T32] (  3,  96   )     int  ->  [fp-0xD0]  spill-single-def ptr "field V144._length (fldOffset=0x8)" P-INDEP
+;  V247 tmp222      [V247,T28] (  3,  96   )   byref  ->  [fp-0xE8]  spill-single-def ptr "field V144._reference (fldOffset=0x0)" P-INDEP
+;  V248 tmp223      [V248,T33] (  3,  96   )     int  ->  [fp-0xD0]  spill-single-def ptr "field V144._length (fldOffset=0x8)" P-INDEP
 ;* V249 tmp224      [V249    ] (  0,   0   )   byref  ->  zero-ref    ptr "field V145._reference (fldOffset=0x0)" P-INDEP
 ;* V250 tmp225      [V250    ] (  0,   0   )     int  ->  zero-ref    ptr "field V145._length (fldOffset=0x8)" P-INDEP
 ;* V251 tmp226      [V251    ] (  0,   0   )   byref  ->  zero-ref    "field V154._reference (fldOffset=0x0)" P-INDEP
@@ -271,14 +271,15 @@
 ;* V260 tmp235      [V260    ] (  0,   0   )     int  ->  zero-ref    "field V171._length (fldOffset=0x8)" P-INDEP
 ;* V261 tmp236      [V261    ] (  0,   0   )   byref  ->  zero-ref    "field V172._reference (fldOffset=0x0)" P-INDEP
 ;* V262 tmp237      [V262    ] (  0,   0   )     int  ->  zero-ref    "field V172._length (fldOffset=0x8)" P-INDEP
-;  V263 tmp238      [V263,T35] (  5,  74   )   byref  ->  x21         single-def "V00.[000..008)"
+;  V263 tmp238      [V263,T36] (  5,  74   )   byref  ->  x21         single-def "V00.[000..008)"
 ;  V264 tmp239      [V264,T17] ( 11, 227.50)     int  ->  x22         "V00.[008..012)"
 ;  V265 tmp240      [V265,T11] (  4, 259.50)   byref  ->  x23         single-def "V01.[000..008)"
 ;  V266 tmp241      [V266,T05] (  9, 552.50)     int  ->  x24         "V01.[008..012)"
 ;* V267 tmp242      [V267    ] (  0,   0   )    long  ->  zero-ref    ptr "Cast away GC"
 ;  V268 GsCookie    [V268    ] (  1,   1   )    long  ->  [fp-0x58]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
-;  V269 cse0        [V269,T58] (  3,   6   )     int  ->   x6         "CSE - moderate"
-;  V270 rat0        [V270,T33] (  3,  96   )     int  ->   x1         "ReplaceWithLclVar is creating a new local variable"
+;  V269 cse0        [V269,T26] (  5,  97   )     int  ->  registers   multi-def "CSE - moderate"
+;  V270 cse1        [V270,T59] (  3,   6   )     int  ->   x6         "CSE - moderate"
+;  V271 rat0        [V271,T34] (  3,  96   )     int  ->   x1         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 160
 
@@ -355,8 +356,8 @@ G_M9731_IG05:        ; bbWeight=0.50, gcVars=00000000000000000000000000000000 {}
             ldr     x1, [x1]
             blr     x1
             ; gcr arg pop 0
-            tst     w19, #255
-            bne     G_M9731_IG06
+            uxtb    w27, w19
+            cbnz    w27, G_M9731_IG06
             mov     w2, #63
             mov     w1, #42
             mov     x0, x25
@@ -414,9 +415,9 @@ G_M9731_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2800000 {x23
                        ;; size=60 bbWeight=0.50 PerfScore 5.75
 G_M9731_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x23}, byref
             ; byrRegs +[x21 x23]
-            mov     w25, wzr
-            mov     w26, #1
             mov     w27, wzr
+            mov     w25, #1
+            mov     w26, wzr
             ldr     wzr, [sp], #-0x40
             mov     x28, sp
             mov     w2, #16
@@ -430,20 +431,20 @@ G_M9731_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x
                        ;; size=52 bbWeight=0.50 PerfScore 5.50
 G_M9731_IG09:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21 x23 x28}, byref, isz
             ; byrRegs +[x3 x28]
-            cmp     w25, w24
+            cmp     w27, w24
             bge     G_M9731_IG11
                        ;; size=8 bbWeight=4 PerfScore 6.00
 G_M9731_IG10:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21 x23 x28}, byref, isz
-            add     w1, w25, #1
-            sxtw    w27, w1
-            cmp     w25, w24
...
  
-8 (-0.15%) : 3031.dasm - System.Number:NumberToStringFormatushort (Tier0-FullOpts)
@@ -10,7 +10,7 @@
 ;
 ;  V00 arg0         [V00,T02] ( 79,268.50)   byref  ->  x19         single-def
 ;  V01 arg1         [V01,T60] ( 17, 21.50)   byref  ->  x21         single-def
-;  V02 arg2         [V02,T81] (  6, 12   )  struct (16) [fp+0xE8]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
+;  V02 arg2         [V02,T82] (  6, 12   )  struct (16) [fp+0xE8]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
 ;  V03 arg3         [V03,T42] ( 15, 25   )     ref  ->  x20         class-hnd single-def <System.Globalization.NumberFormatInfo>
 ;  V04 loc0         [V04,T08] ( 15, 96   )     int  ->  x27        
 ;  V05 loc1         [V05,T16] ( 18, 56   )     int  ->  x28        
@@ -24,55 +24,55 @@
 ;  V13 loc9         [V13,T19] (  8, 48   )     int  ->   x8        
 ;  V14 loc10        [V14,T26] ( 11, 42   )     int  ->  [fp+0xD0]  ptr
 ;  V15 loc11        [V15,T64] (  6, 18.50)     int  ->  x26        
-;  V16 loc12        [V16,T00] ( 57,909.50)     int  ->  [fp+0xCC]  ptr
+;  V16 loc12        [V16,T00] ( 55,905.50)     int  ->  [fp+0xCC]  ptr
 ;  V17 loc13        [V17,T67] (  6, 17   )    long  ->  x25        
 ;  V18 loc14        [V18,T05] ( 36,238   )  ushort  ->  [fp+0xC8]  ptr
 ;* V19 loc15        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[int]>
 ;  V20 loc16        [V20,T10] ( 16, 71   )     int  ->  [fp+0xC4]  ptr
-;  V21 loc17        [V21,T147] (  3,  5   )   ubyte  ->  [fp+0xC0] 
+;  V21 loc17        [V21,T148] (  3,  5   )   ubyte  ->  [fp+0xC0] 
 ;  V22 loc18        [V22,T07] (  8,184   )    long  ->   x9        
 ;  V23 loc19        [V23    ] (  2, 16   )   byref  ->  [fp+0xB8]  must-init pinned ptr
 ;* V24 loc20        [V24    ] (  0,  0   )     int  ->  zero-ref   
 ;* V25 loc21        [V25    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[int]>
-;  V26 loc22        [V26,T146] (  5,  5.50)     ref  ->  [fp+0x60]  class-hnd spill-single-def ptr <int[]>
-;  V27 loc23        [V27,T82] (  6, 12.50)     int  ->  [fp+0xB4]  ptr
+;  V26 loc22        [V26,T147] (  5,  5.50)     ref  ->  [fp+0x60]  class-hnd spill-single-def ptr <int[]>
+;  V27 loc23        [V27,T83] (  6, 12.50)     int  ->  [fp+0xB4]  ptr
 ;  V28 loc24        [V28,T66] (  7, 17.50)     int  ->  [fp+0xB0]  ptr
-;  V29 loc25        [V29,T148] (  3,  5   )     int  ->  [fp+0xAC]  spill-single-def ptr
-;  V30 loc26        [V30,T87] (  5, 11   )     int  ->  [fp+0xA8]  ptr
-;  V31 loc27        [V31,T194] (  3,  1.50)     int  ->   x1        
-;  V32 loc28        [V32,T149] (  3,  5   )     int  ->  [fp+0xA4]  spill-single-def ptr
-;  V33 loc29        [V33,T88] (  5, 10   )     ref  ->  [fp+0x58]  class-hnd exact spill-single-def ptr <int[]>
+;  V29 loc25        [V29,T149] (  3,  5   )     int  ->  [fp+0xAC]  spill-single-def ptr
+;  V30 loc26        [V30,T88] (  5, 11   )     int  ->  [fp+0xA8]  ptr
+;  V31 loc27        [V31,T195] (  3,  1.50)     int  ->   x1        
+;  V32 loc28        [V32,T150] (  3,  5   )     int  ->  [fp+0xA4]  spill-single-def ptr
+;  V33 loc29        [V33,T89] (  5, 10   )     ref  ->  [fp+0x58]  class-hnd exact spill-single-def ptr <int[]>
 ;  V34 loc30        [V34,T11] ( 11, 65   )    long  ->  x22        
 ;  V35 loc31        [V35    ] (  2,  2   )   byref  ->  [fp+0x98]  must-init pinned ptr
 ;  V36 loc32        [V36,T33] (  8, 33   )    long  ->  [fp+0x90]  ptr
-;  V37 loc33        [V37,T121] (  3,  6   )   ubyte  ->  x14        
+;  V37 loc33        [V37,T122] (  3,  6   )   ubyte  ->  x14        
 ;  V38 loc34        [V38,T46] (  6, 24   )     int  ->  x12        
 ;* V39 loc35        [V39    ] (  0,  0   )     int  ->  zero-ref   
 ;# V40 OutArgs      [V40    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V41 tmp1         [V41    ] (  0,  0   )     int  ->  zero-ref   
 ;* V42 tmp2         [V42    ] (  0,  0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
 ;* V43 tmp3         [V43    ] (  0,  0   )  struct (16) zero-ref    multireg-arg <System.ReadOnlySpan`1[ushort]>
-;  V44 tmp4         [V44,T182] (  3,  2   )     int  ->   x2        
-;  V45 tmp5         [V45,T187] (  2,  2   )     int  ->   x3        
-;  V46 tmp6         [V46,T188] (  2,  2   )     int  ->   x4        
-;  V47 tmp7         [V47,T206] (  2,  1   )     int  ->   x3        
+;  V44 tmp4         [V44,T183] (  3,  2   )     int  ->   x2        
+;  V45 tmp5         [V45,T188] (  2,  2   )     int  ->   x3        
+;  V46 tmp6         [V46,T189] (  2,  2   )     int  ->   x4        
+;  V47 tmp7         [V47,T207] (  2,  1   )     int  ->   x3        
 ;  V48 tmp8         [V48    ] (  1,  1   )  struct (16) [fp+0xF8]  do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
 ;* V49 tmp9         [V49    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V50 tmp10        [V50    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V51 tmp11        [V51,T50] (  3, 24   )     int  ->   x1         "impSpillLclRefs"
-;  V52 tmp12        [V52,T79] (  2, 16   )     int  ->   x1         "dup spill"
-;  V53 tmp13        [V53,T106] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
-;  V54 tmp14        [V54,T107] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
+;  V52 tmp12        [V52,T80] (  2, 16   )     int  ->   x1         "dup spill"
+;  V53 tmp13        [V53,T107] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
+;  V54 tmp14        [V54,T108] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
 ;  V55 tmp15        [V55,T35] (  2, 32   )     int  ->   x6         "impSpillLclRefs"
 ;  V56 tmp16        [V56,T13] (  2, 64   )     int  ->   x6         "dup spill"
-;  V57 tmp17        [V57,T122] (  3,  6   )     int  ->   x5        
+;  V57 tmp17        [V57,T123] (  3,  6   )     int  ->   x5        
 ;* V58 tmp18        [V58    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V59 tmp19        [V59    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V60 tmp20        [V60    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V61 tmp21        [V61,T83] (  3, 12   )    long  ->   x1         "impSpillLclRefs"
-;  V62 tmp22        [V62,T99] (  4,  8   )     int  ->   x1        
+;  V61 tmp21        [V61,T84] (  3, 12   )    long  ->   x1         "impSpillLclRefs"
+;  V62 tmp22        [V62,T100] (  4,  8   )     int  ->   x1        
 ;* V63 tmp23        [V63    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V64 tmp24        [V64,T123] (  3,  6   )     int  ->  x13        
+;  V64 tmp24        [V64,T124] (  3,  6   )     int  ->  x13        
 ;  V65 tmp25        [V65,T36] (  2, 32   )     int  ->   x6         "impSpillLclRefs"
 ;* V66 tmp26        [V66    ] (  0,  0   )   byref  ->  zero-ref    ptr
 ;  V67 tmp27        [V67,T37] (  2, 32   )    long  ->   x0         "impSpillLclRefs"
@@ -82,11 +82,11 @@
 ;* V71 tmp31        [V71    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V72 tmp32        [V72    ] (  0,  0   )     int  ->  zero-ref   
 ;* V73 tmp33        [V73    ] (  0,  0   )     int  ->  zero-ref    ptr
-;  V74 tmp34        [V74,T207] (  2,  1   )     int  ->   x1        
-;  V75 tmp35        [V75,T208] (  2,  1   )     int  ->  xip0        
+;  V74 tmp34        [V74,T208] (  2,  1   )     int  ->   x1        
+;  V75 tmp35        [V75,T209] (  2,  1   )     int  ->  xip0        
 ;* V76 tmp36        [V76    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[int]>
 ;  V77 tmp37        [V77,T47] (  3, 24   )   byref  ->   x0         "dup spill"
-;  V78 tmp38        [V78,T101] (  3,  8   )     int  ->   x1        
+;  V78 tmp38        [V78,T102] (  3,  8   )     int  ->   x1        
 ;  V79 tmp39        [V79,T09] (  3, 96   )     int  ->   x0         "impSpillLclRefs"
 ;  V80 tmp40        [V80,T14] (  2, 64   )     int  ->  x11         "dup spill"
 ;  V81 tmp41        [V81,T03] (  2,256   )     int  ->  x10         "dup spill"
@@ -97,28 +97,28 @@
 ;* V86 tmp46        [V86    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;* V87 tmp47        [V87    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V88 tmp48        [V88    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
-;  V89 tmp49        [V89,T108] (  2,  8   )    long  ->   x2         "Inlining Arg"
+;  V89 tmp49        [V89,T109] (  2,  8   )    long  ->   x2         "Inlining Arg"
 ;* V90 tmp50        [V90    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V91 tmp51        [V91    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V92 tmp52        [V92    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V93 tmp53        [V93    ] (  0,  0   )     int  ->  zero-ref   
 ;* V94 tmp54        [V94    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V95 tmp55        [V95    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V96 tmp56        [V96,T150] (  4,  4   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V96 tmp56        [V96,T151] (  4,  4   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V97 tmp57        [V97    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V98 tmp58        [V98    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V99 tmp59        [V99,T189] (  2,  2   )     int  ->  [fp+0x8C]  spill-single-def ptr "Inlining Arg"
-;  V100 tmp60       [V100,T183] (  2,  2   )   byref  ->  [fp+0x50]  spill-single-def ptr "Inlining Arg"
+;  V99 tmp59        [V99,T190] (  2,  2   )     int  ->  [fp+0x8C]  spill-single-def ptr "Inlining Arg"
+;  V100 tmp60       [V100,T184] (  2,  2   )   byref  ->  [fp+0x50]  spill-single-def ptr "Inlining Arg"
 ;* V101 tmp61       [V101    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V102 tmp62       [V102    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V103 tmp63       [V103    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V104 tmp64       [V104    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V105 tmp65       [V105    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V106 tmp66       [V106,T195] (  3,  1.50)     int  ->  [fp+0x88]  spill-single-def ptr "Inline stloc first use temp"
+;  V106 tmp66       [V106,T196] (  3,  1.50)     int  ->  [fp+0x88]  spill-single-def ptr "Inline stloc first use temp"
 ;* V107 tmp67       [V107    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V108 tmp68       [V108    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V109 tmp69       [V109    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "Inlining Arg"
-;  V110 tmp70       [V110,T180] (  4,  2   )     int  ->   x3         "Inline stloc first use temp"
+;  V110 tmp70       [V110,T181] (  4,  2   )     int  ->   x3         "Inline stloc first use temp"
 ;* V111 tmp71       [V111    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V112 tmp72       [V112    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V113 tmp73       [V113    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
@@ -153,7 +153,7 @@
 ;  V142 tmp102      [V142,T29] (  5, 40   )     int  ->  x15         "Inline stloc first use temp"
 ;* V143 tmp103      [V143    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V144 tmp104      [V144    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;  V145 tmp105      [V145,T89] (  5, 10   )     int  ->   x1         "Inline stloc first use temp"
+;  V145 tmp105      [V145,T90] (  5, 10   )     int  ->   x1         "Inline stloc first use temp"
 ;* V146 tmp106      [V146    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V147 tmp107      [V147    ] (  0,  0   )  ushort  ->  zero-ref    ptr "Inlining Arg"
 ;* V148 tmp108      [V148    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -162,11 +162,11 @@
 ;* V151 tmp111      [V151    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V152 tmp112      [V152    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V153 tmp113      [V153    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V154 tmp114      [V154,T69] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V154 tmp114      [V154,T70] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V155 tmp115      [V155    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V156 tmp116      [V156    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V157 tmp117      [V157,T109] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V158 tmp118      [V158,T102] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V157 tmp117      [V157,T110] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V158 tmp118      [V158,T103] (  2,  8   )   byref  ->  x13         "Inlining Arg"
 ;* V159 tmp119      [V159    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V160 tmp120      [V160    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V161 tmp121      [V161    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -174,13 +174,13 @@
 ;* V163 tmp123      [V163    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V164 tmp124      [V164    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V165 tmp125      [V165    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V166 tmp126      [V166,T124] (  3,  6   )     int  ->  [fp+0x80]  spill-single-def ptr "Inline stloc first use temp"
+;  V166 tmp126      [V166,T125] (  3,  6   )     int  ->  [fp+0x80]  spill-single-def ptr "Inline stloc first use temp"
 ;* V167 tmp127      [V167    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V168 tmp128      [V168    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V169 tmp129      [V169    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V170 tmp130      [V170    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V171 tmp131      [V171    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V172 tmp132      [V172,T90] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
+;  V172 tmp132      [V172,T91] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
 ;* V173 tmp133      [V173    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V174 tmp134      [V174    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V175 tmp135      [V175    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -189,11 +189,11 @@
 ;* V178 tmp138      [V178    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V179 tmp139      [V179    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V180 tmp140      [V180    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V181 tmp141      [V181,T70] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V181 tmp141      [V181,T71] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V182 tmp142      [V182    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V183 tmp143      [V183    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V184 tmp144      [V184,T110] (  2,  8   )     int  ->  x13         "Inlining Arg"
-;  V185 tmp145      [V185,T103] (  2,  8   )   byref  ->  x11         "Inlining Arg"
+;  V184 tmp144      [V184,T111] (  2,  8   )     int  ->  x13         "Inlining Arg"
+;  V185 tmp145      [V185,T104] (  2,  8   )   byref  ->  x11         "Inlining Arg"
 ;* V186 tmp146      [V186    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V187 tmp147      [V187    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V188 tmp148      [V188    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -201,13 +201,13 @@
 ;* V190 tmp150      [V190    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V191 tmp151      [V191    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V192 tmp152      [V192    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V193 tmp153      [V193,T125] (  3,  6   )     int  ->  [fp+0x7C]  spill-single-def ptr "Inline stloc first use temp"
+;  V193 tmp153      [V193,T126] (  3,  6   )     int  ->  [fp+0x7C]  spill-single-def ptr "Inline stloc first use temp"
 ;* V194 tmp154      [V194    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V195 tmp155      [V195    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V196 tmp156      [V196    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V197 tmp157      [V197    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V198 tmp158      [V198    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V199 tmp159      [V199,T91] (  5, 10   )     int  ->  x14         "Inline stloc first use temp"
+;  V199 tmp159      [V199,T92] (  5, 10   )     int  ->  x14         "Inline stloc first use temp"
 ;* V200 tmp160      [V200    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V201 tmp161      [V201    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V202 tmp162      [V202    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -216,11 +216,11 @@
 ;* V205 tmp165      [V205    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V206 tmp166      [V206    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V207 tmp167      [V207    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V208 tmp168      [V208,T71] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V208 tmp168      [V208,T72] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V209 tmp169      [V209    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V210 tmp170      [V210    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V211 tmp171      [V211,T111] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V212 tmp172      [V212,T104] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V211 tmp171      [V211,T112] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V212 tmp172      [V212,T105] (  2,  8   )   byref  ->  x13         "Inlining Arg"
 ;* V213 tmp173      [V213    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V214 tmp174      [V214    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V215 tmp175      [V215    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -228,13 +228,13 @@
 ;* V217 tmp177      [V217    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V218 tmp178      [V218    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V219 tmp179      [V219    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V220 tmp180      [V220,T126] (  3,  6   )     int  ->  [fp+0x78]  spill-single-def ptr "Inline stloc first use temp"
+;  V220 tmp180      [V220,T127] (  3,  6   )     int  ->  [fp+0x78]  spill-single-def ptr "Inline stloc first use temp"
 ;* V221 tmp181      [V221    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V222 tmp182      [V222    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V223 tmp183      [V223    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V224 tmp184      [V224    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V225 tmp185      [V225    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V226 tmp186      [V226,T92] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
+;  V226 tmp186      [V226,T93] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
 ;* V227 tmp187      [V227    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V228 tmp188      [V228    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V229 tmp189      [V229    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -243,11 +243,11 @@
 ;* V232 tmp192      [V232    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V233 tmp193      [V233    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V234 tmp194      [V234    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V235 tmp195      [V235,T72] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V235 tmp195      [V235,T73] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V236 tmp196      [V236    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V237 tmp197      [V237    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V238 tmp198      [V238,T112] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V239 tmp199      [V239,T105] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V238 tmp198      [V238,T113] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V239 tmp199      [V239,T106] (  2,  8   )   byref  ->  x13         "Inlining Arg"
...
  
  
coreclr_tests.run.linux.arm64.checked.mch
-36 (-14.75%) : 248219.dasm - Program:M49() (FullOpts)
@@ -10,11 +10,12 @@
 ;  V00 loc0         [V00,T01] (  4, 13   )     int  ->  x19        
 ;* V01 loc1         [V01    ] (  0,  0   )    long  ->  zero-ref   
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T02] (  3, 12   )     ref  ->   x1         "arr expr"
-;  V04 tmp2         [V04,T00] (  3, 24   )     ref  ->   x0         "arr expr"
-;  V05 PSPSym       [V05,T05] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
-;  V06 cse0         [V06,T03] (  3, 12   )     int  ->   x0         "CSE - aggressive"
-;  V07 cse1         [V07,T04] (  4,  9   )    long  ->  x20         hoist "CSE - aggressive"
+;  V03 tmp1         [V03,T00] (  3, 24   )     ref  ->   x0         "arr expr"
+;* V04 tmp2         [V04,T05] (  0,  0   )     ref  ->  zero-ref    "arr expr"
+;  V05 PSPSym       [V05,T06] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
+;  V06 cse0         [V06,T02] (  3, 12   )   byref  ->   x0         "CSE - aggressive"
+;  V07 cse1         [V07,T03] (  2,  8   )     ref  ->   x0         "CSE - aggressive"
+;  V08 cse2         [V08,T04] (  4,  9   )    long  ->  x20         hoist "CSE - aggressive"
 ;
 ; Lcl frame size = 16
 
@@ -34,7 +35,7 @@ G_M37813_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             blr     x0
             ; gcr arg pop 0
             cmp     w0, #0
-            ble     G_M37813_IG08
+            ble     G_M37813_IG06
                        ;; size=32 bbWeight=1 PerfScore 7.50
 G_M37813_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x20, #0xD1FFAB1E
@@ -43,32 +44,7 @@ G_M37813_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
                        ;; size=12 bbWeight=0.50 PerfScore 0.75
 G_M37813_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [x20]
-            cbnz    w0, G_M37813_IG06
-                       ;; size=8 bbWeight=4 PerfScore 16.00
-G_M37813_IG05:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            movz    x1, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            ldr     x1, [x1]
-            ; gcrRegs +[x1]
-            ldr     w2, [x1, #0x08]
-            cmp     w2, #0
-            bls     G_M37813_IG13
-            str     wzr, [x1, #0x10]
-                       ;; size=32 bbWeight=2 PerfScore 20.00
-G_M37813_IG06:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x1]
-            cbz     w0, G_M37813_IG09
-                       ;; size=4 bbWeight=4 PerfScore 4.00
-G_M37813_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            str     wzr, [x20, #-0x08]
-                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M37813_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x30
-            ret     lr
-                       ;; size=12 bbWeight=1 PerfScore 3.00
-G_M37813_IG09:        ; bbWeight=4, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+            cbnz    w0, G_M37813_IG05
             movz    x0, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -77,17 +53,28 @@ G_M37813_IG09:        ; bbWeight=4, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ldr     w1, [x0, #0x08]
             cmp     w1, #0
             bls     G_M37813_IG10
-            ldr     w1, [x20, #-0x08]
-            str     w1, [x0, #0x10]
-            b       G_M37813_IG11
-                       ;; size=40 bbWeight=4 PerfScore 56.00
-G_M37813_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            add     x0, x0, #16
             ; gcrRegs -[x0]
-            bl      CORINFO_HELP_RNGCHKFAIL
-            ; gcr arg pop 0
-            brk_unix #0
-                       ;; size=8 bbWeight=0 PerfScore 0.00
-G_M37813_IG11:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            ; byrRegs +[x0]
+            str     wzr, [x0]
+            b       G_M37813_IG07
+                       ;; size=48 bbWeight=4 PerfScore 62.00
+G_M37813_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x0]
+            str     wzr, [x20, #-0x08]
+                       ;; size=4 bbWeight=0.50 PerfScore 0.50
+G_M37813_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            ldp     x19, x20, [sp, #0x20]
+            ldp     fp, lr, [sp], #0x30
+            ret     lr
+                       ;; size=12 bbWeight=1 PerfScore 3.00
+G_M37813_IG07:        ; bbWeight=4, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, gcvars, byref
+            ; byrRegs +[x0]
+            ldr     w1, [x20, #-0x08]
+            str     w1, [x0]
+                       ;; size=8 bbWeight=4 PerfScore 16.00
+G_M37813_IG08:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            ; byrRegs -[x0]
             add     w19, w19, #1
             movz    x0, #0xD1FFAB1E      // code for <unknown method>
             movk    x0, #0xD1FFAB1E LSL #16
@@ -98,27 +85,27 @@ G_M37813_IG11:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             cmp     w0, w19
             bgt     G_M37813_IG04
                        ;; size=32 bbWeight=4 PerfScore 30.00
-G_M37813_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            b       G_M37813_IG08
+G_M37813_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M37813_IG06
                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M37813_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M37813_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
-G_M37813_IG14:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M37813_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x20]
             add     x3, fp, #48
             str     x3, [sp, #0x18]
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M37813_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M37813_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x30
             ret     lr
                        ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 244, prolog size 20, PerfScore 142.25, instruction count 61, allocated bytes for code 244 (MethodHash=996e6c4a) for method Program:M49() (FullOpts)
+; Total bytes of code 208, prolog size 20, PerfScore 124.25, instruction count 52, allocated bytes for code 208 (MethodHash=996e6c4a) for method Program:M49() (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -129,7 +116,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 54 (0x00036) Actual length = 216 (0x0000d8)
+  Function Length   : 45 (0x0002d) Actual length = 180 (0x0000b4)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -162,4 +149,4 @@ Unwind Info:
 
 *************** EH table for Program:M49()
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M37813_IG09..G_M37813_IG11) handled by [G_M37813_IG14..END) (fault)
+EH#0: try [G_M37813_IG07..G_M37813_IG08) handled by [G_M37813_IG11..END) (fault)
  
-40 (-5.29%) : 197342.dasm - CloningForIEnumerable:Sum(System.Collections.Generic.IEnumerable`1[int]):int (Tier1)
@@ -5,7 +5,7 @@
 ; optimized using Dynamic PGO
 ; fp based frame
 ; fully interruptible
-; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 5
+; with Dynamic PGO: edge weights are valid, and fgCalledCount is 5
 ; 3 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
@@ -25,7 +25,7 @@
 ;  V13 tmp9         [V13,T08] (  6, 12   )     ref  ->   x0         class-hnd exact single-def "Single-def Box Helper" <System.Collections.Generic.List`1+Enumerator[int]>
 ;* V14 tmp10        [V14    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[int]>
 ;* V15 tmp11        [V15    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V16 tmp12        [V16,T00] ( 25,158.20)   byref  ->  x11         "Inlining Arg"
+;  V16 tmp12        [V16,T00] ( 21,154.20)   byref  ->  x11         "Inlining Arg"
 ;  V17 tmp13        [V17,T03] (  8, 43   )     ref  ->   x1         class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[int]>
 ;* V18 tmp14        [V18    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V19 tmp15        [V19,T12] (  3,  3   )     ref  ->  x15         single-def "field V14._list (fldOffset=0x0)" P-INDEP
@@ -57,9 +57,9 @@ G_M48461_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x0, x1
-            bne     G_M48461_IG25
+            bne     G_M48461_IG24
             ldr     w0, [x19, #0x10]
-            cbz     w0, G_M48461_IG24
+            cbz     w0, G_M48461_IG23
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
@@ -83,13 +83,13 @@ G_M48461_IG03:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ; GC ptr vars +{V02}
                        ;; size=4 bbWeight=1 PerfScore 1.00
 G_M48461_IG04:        ; bbWeight=1, gcVars=0000000000000020 {V02}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
-            cbz     x0, G_M48461_IG13
+            cbz     x0, G_M48461_IG12
             ldr     x11, [x0]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             cmp     x11, x21
-            bne     G_M48461_IG13
+            bne     G_M48461_IG12
             b       G_M48461_IG06
                        ;; size=32 bbWeight=1 PerfScore 8.00
 G_M48461_IG05:        ; bbWeight=9.90, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
@@ -104,11 +104,11 @@ G_M48461_IG06:        ; bbWeight=10.89, gcrefRegs=0001 {x0}, byrefRegs=0000 {},
             ldr     w2, [x11, #0x0C]
             ldr     w3, [x1, #0x14]
             cmp     w2, w3
-            bne     G_M48461_IG11
+            bne     G_M48461_IG09
             ldr     w2, [x11, #0x08]
             ldr     w3, [x1, #0x10]
             cmp     w2, w3
-            bhs     G_M48461_IG12
+            bhs     G_M48461_IG11
                        ;; size=40 bbWeight=10.89 PerfScore 201.46
 G_M48461_IG07:        ; bbWeight=9.90, gcrefRegs=0003 {x0 x1}, byrefRegs=0800 {x11}, byref, isz
             ldr     x3, [x1, #0x08]
@@ -155,19 +155,10 @@ G_M48461_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             sxtw    w22, w0
             ldr     x0, [fp, #0x10]    // [V02 loc1]
             ; gcrRegs +[x0]
-            b       G_M48461_IG15
+            b       G_M48461_IG14
                       ;; size=36 bbWeight=0 PerfScore 0.00
-G_M48461_IG11:        ; bbWeight=0.99, gcrefRegs=0001 {x0}, byrefRegs=0800 {x11}, byref, isz
+G_M48461_IG11:        ; bbWeight=0.99, gcrefRegs=0001 {x0}, byrefRegs=0800 {x11}, byref
             ; byrRegs +[x11]
-            ldr     w1, [x11, #0x0C]
-            ldr     x2, [x11]
-            ; gcrRegs +[x2]
-            ldr     w2, [x2, #0x14]
-            ; gcrRegs -[x2]
-            cmp     w1, w2
-            bne     G_M48461_IG09
-                       ;; size=20 bbWeight=0.99 PerfScore 10.39
-G_M48461_IG12:        ; bbWeight=0.99, gcrefRegs=0001 {x0}, byrefRegs=0800 {x11}, byref
             ldr     x1, [x11]
             ; gcrRegs +[x1]
             ldr     w1, [x1, #0x10]
@@ -175,39 +166,26 @@ G_M48461_IG12:        ; bbWeight=0.99, gcrefRegs=0001 {x0}, byrefRegs=0800 {x11}
             add     w1, w1, #1
             str     w1, [x11, #0x08]
             str     wzr, [x11, #0x10]
-            b       G_M48461_IG21
+            b       G_M48461_IG20
                         ;; size=24 bbWeight=0.99 PerfScore 9.40
-G_M48461_IG13:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M48461_IG12:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ; byrRegs -[x11]
             ldr     xzr, [x0]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
-            b       G_M48461_IG16
+            b       G_M48461_IG15
                      ;; size=20 bbWeight=0.01 PerfScore 0.06
-G_M48461_IG14:        ; bbWeight=0.10, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M48461_IG13:        ; bbWeight=0.10, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ldr     w22, [x0, #0x18]
                        ;; size=4 bbWeight=0.10 PerfScore 0.30
-G_M48461_IG15:        ; bbWeight=0.10, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M48461_IG14:        ; bbWeight=0.10, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     w20, w20, w22
                        ;; size=4 bbWeight=0.10 PerfScore 0.05
-G_M48461_IG16:        ; bbWeight=0.11, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+G_M48461_IG15:        ; bbWeight=0.11, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ldr     x11, [x0]
             cmp     x11, x21
-            beq     G_M48461_IG17
-            movz    x11, #80
-            movk    x11, #0xD1FFAB1E LSL #16
-            movk    x11, #0xD1FFAB1E LSL #32
-            ldr     x1, [x11]
-            blr     x1
-            ; gcrRegs -[x0]
-            ; gcr arg pop 0
-            cbnz    w0, G_M48461_IG10
-            ldr     x0, [fp, #0x10]    // [V02 loc1]
-            ; gcrRegs +[x0]
-            b       G_M48461_IG21
-                       ;; size=44 bbWeight=0.11 PerfScore 1.54
-G_M48461_IG17:        ; bbWeight=0.11, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            bne     G_M48461_IG17
             add     x11, x0, #8
             ; byrRegs +[x11]
             ldr     x1, [x11]
@@ -215,13 +193,13 @@ G_M48461_IG17:        ; bbWeight=0.11, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b
             ldr     w2, [x11, #0x0C]
             ldr     w3, [x1, #0x14]
             cmp     w2, w3
-            bne     G_M48461_IG19
+            bne     G_M48461_IG09
             ldr     w2, [x11, #0x08]
             ldr     w3, [x1, #0x10]
             cmp     w2, w3
-            bhs     G_M48461_IG20
-                       ;; size=40 bbWeight=0.11 PerfScore 2.04
-G_M48461_IG18:        ; bbWeight=0.10, gcrefRegs=0003 {x0 x1}, byrefRegs=0800 {x11}, byref, isz
+            bhs     G_M48461_IG19
+                       ;; size=52 bbWeight=0.11 PerfScore 2.53
+G_M48461_IG16:        ; bbWeight=0.10, gcrefRegs=0003 {x0 x1}, byrefRegs=0800 {x11}, byref, isz
             ldr     x3, [x1, #0x08]
             ; gcrRegs +[x3]
             ldr     w2, [x11, #0x08]
@@ -237,19 +215,27 @@ G_M48461_IG18:        ; bbWeight=0.10, gcrefRegs=0003 {x0 x1}, byrefRegs=0800 {x
             ldr     w1, [x11, #0x08]
             add     w1, w1, #1
             str     w1, [x11, #0x08]
-            b       G_M48461_IG14
+            b       G_M48461_IG13
                      ;; size=48 bbWeight=0.10 PerfScore 2.05
-G_M48461_IG19:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0800 {x11}, byref, isz
+G_M48461_IG17:        ; bbWeight=0.11, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x3]
-            ldr     w1, [x11, #0x0C]
-            ldr     x2, [x11]
-            ; gcrRegs +[x2]
-            ldr     w2, [x2, #0x14]
-            ; gcrRegs -[x2]
-            cmp     w1, w2
-            bne     G_M48461_IG09
-                       ;; size=20 bbWeight=0.01 PerfScore 0.11
-G_M48461_IG20:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0800 {x11}, byref
+            ; byrRegs -[x11]
+            movz    x11, #80
+            movk    x11, #0xD1FFAB1E LSL #16
+            movk    x11, #0xD1FFAB1E LSL #32
+            ldr     x1, [x11]
+            blr     x1
+            ; gcrRegs -[x0]
+            ; gcr arg pop 0
+            cbnz    w0, G_M48461_IG10
+                       ;; size=24 bbWeight=0.11 PerfScore 0.72
+G_M48461_IG18:        ; bbWeight=0.11, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ldr     x0, [fp, #0x10]    // [V02 loc1]
+            ; gcrRegs +[x0]
+            b       G_M48461_IG20
+                       ;; size=8 bbWeight=0.11 PerfScore 0.33
+G_M48461_IG19:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0800 {x11}, byref
+            ; byrRegs +[x11]
             ldr     x1, [x11]
             ; gcrRegs +[x1]
             ldr     w1, [x1, #0x10]
@@ -258,24 +244,24 @@ G_M48461_IG20:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0800 {x11}
             str     w1, [x11, #0x08]
             str     wzr, [x11, #0x10]
                        ;; size=20 bbWeight=0.01 PerfScore 0.09
-G_M48461_IG21:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+G_M48461_IG20:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x11]
             ldr     x1, [x0]
             cmp     x1, x21
-            bne     G_M48461_IG26
+            bne     G_M48461_IG25
                       ;; size=12 bbWeight=1 PerfScore 4.50
-G_M48461_IG22:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48461_IG21:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             ; GC ptr vars -{V02}
             mov     w0, w20
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M48461_IG23:        ; bbWeight=1, epilog, nogc, extend
+G_M48461_IG22:        ; bbWeight=1, epilog, nogc, extend
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=16 bbWeight=1 PerfScore 4.00
-G_M48461_IG24:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48461_IG23:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -289,7 +275,7 @@ G_M48461_IG24:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ; gcrRegs +[x0]
             b       G_M48461_IG03
                        ;; size=40 bbWeight=0 PerfScore 0.00
-G_M48461_IG25:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M48461_IG24:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0] +[x19]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -302,7 +288,7 @@ G_M48461_IG25:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; gcr arg pop 0
             b       G_M48461_IG03
                        ;; size=28 bbWeight=0 PerfScore 0.00
-G_M48461_IG26:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref
+G_M48461_IG25:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref
             ; GC ptr vars +{V02 V05}
             movz    x11, #96      // code for <unknown method>
             movk    x11, #0xD1FFAB1E LSL #16
@@ -312,9 +298,9 @@ G_M48461_IG26:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=000
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            b       G_M48461_IG22
+            b       G_M48461_IG21
                       ;; size=24 bbWeight=0 PerfScore 0.00
-G_M48461_IG27:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+G_M48461_IG26:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
             ; GC ptr vars +{V02 V05}
             stp     fp, lr, [sp, #-0x40]!
             stp     x19, x20, [sp, #0x20]
@@ -322,16 +308,16 @@ G_M48461_IG27:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=000
             add     x3, fp, #64
             str     x3, [sp, #0x18]
                        ;; size=20 bbWeight=0 PerfScore 0.00
...
  
-12 (-4.55%) : 254992.dasm - Test.BB:TestEntryPoint() (FullOpts)
@@ -8,29 +8,28 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T08] (  2,  0   )     ref  ->  [fp+0x18]  class-hnd exact EH-live single-def <<unknown class>>
+;  V00 loc0         [V00,T07] (  2,  0   )     ref  ->  [fp+0x10]  class-hnd exact EH-live single-def <<unknown class>>
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V02 tmp1         [V02    ] (  0,  0   )   float  ->  zero-ref    "bubbling QMark2"
 ;  V03 tmp2         [V03,T00] (  4, 38   )     ref  ->   x1         "CASTCLASS eval op1"
-;  V04 tmp3         [V04,T02] (  3, 10   )    long  ->   x2         "fgMakeTemp is creating a new local variable"
+;  V04 tmp3         [V04,T01] (  3, 10   )    long  ->   x2         "fgMakeTemp is creating a new local variable"
 ;* V05 tmp4         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <double[]>
 ;* V06 tmp5         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
-;  V07 tmp6         [V07,T09] (  2,  0   )   float  ->  [fp+0x24]  spill-single-def "bubbling QMark2"
-;  V08 tmp7         [V08,T06] (  3,  0   )     ref  ->  x20         single-def "CASTCLASS eval op1"
-;  V09 tmp8         [V09,T07] (  3,  0   )    long  ->   x2         "fgMakeTemp is creating a new local variable"
-;  V10 tmp9         [V10,T05] (  5,  0   )     ref  ->   x0         class-hnd "spilling QMark2" <double[]>
-;  V11 PSPSym       [V11,T04] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
-;  V12 cse0         [V12,T01] (  5, 24   )     ref  ->  x20         multi-def "CSE - aggressive"
-;  V13 cse1         [V13,T03] (  5,  4   )    long  ->  x19         multi-def "CSE - aggressive"
+;  V07 tmp6         [V07,T08] (  2,  0   )   float  ->  [fp+0x1C]  spill-single-def "bubbling QMark2"
+;  V08 tmp7         [V08,T05] (  3,  0   )     ref  ->   x1         single-def "CASTCLASS eval op1"
+;  V09 tmp8         [V09,T06] (  3,  0   )    long  ->   x3         "fgMakeTemp is creating a new local variable"
+;  V10 tmp9         [V10,T04] (  5,  0   )     ref  ->   x0         class-hnd "spilling QMark2" <double[]>
+;  V11 PSPSym       [V11,T03] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
+;  V12 cse0         [V12,T02] (  5,  4   )    long  ->  x19         multi-def "CSE - aggressive"
 ;
-; Lcl frame size = 32
+; Lcl frame size = 24
 
 G_M52695_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x30]
+            stp     fp, lr, [sp, #-0x30]!
+            str     x19, [sp, #0x28]
             mov     fp, sp
-            add     x0, sp, #64
-            str     x0, [fp, #0x28]    // [V11 PSPSym]
+            add     x0, sp, #48
+            str     x0, [fp, #0x20]    // [V11 PSPSym]
                      ;; size=20 bbWeight=1 PerfScore 4.00
 G_M52695_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x19, #0xD1FFAB1E
@@ -41,10 +40,10 @@ G_M52695_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_NEWARR_1_VC
             ; gcrRegs +[x0]
             ; gcr arg pop 0
-            str     x0, [fp, #0x18]   // [V00 loc0]
+            str     x0, [fp, #0x10]  // [V00 loc0]
             ; GC ptr vars +{V00}
                        ;; size=28 bbWeight=1 PerfScore 4.50
-G_M52695_IG03:        ; bbWeight=8, gcVars=0000000000000100 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M52695_IG03:        ; bbWeight=8, gcVars=0000000000000080 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0]
             mov     w0, #2
             cmp     w0, #3
@@ -52,19 +51,17 @@ G_M52695_IG03:        ; bbWeight=8, gcVars=0000000000000100 {V00}, gcrefRegs=000
             movz    x0, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x20, [x0]
-            ; gcrRegs +[x20]
-            mov     x1, x20
+            ldr     x1, [x0]
             ; gcrRegs +[x1]
-            cbz     x1, G_M52695_IG07
-                       ;; size=36 bbWeight=8 PerfScore 64.00
-G_M52695_IG04:        ; bbWeight=2, gcrefRegs=100002 {x1 x20}, byrefRegs=0000 {}, byref, isz
+            cbz     x1, G_M52695_IG03
+                       ;; size=32 bbWeight=8 PerfScore 60.00
+G_M52695_IG04:        ; bbWeight=2, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x1]
             add     x2, x19, #0xD1FFAB1E
             cmp     x0, x2
             beq     G_M52695_IG07
                        ;; size=16 bbWeight=2 PerfScore 10.00
-G_M52695_IG05:        ; bbWeight=1, gcrefRegs=100002 {x1 x20}, byrefRegs=0000 {}, byref
+G_M52695_IG05:        ; bbWeight=1, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
             mov     x0, x2
             bl      CORINFO_HELP_CHKCASTARRAY
             ; gcrRegs -[x1] +[x0]
@@ -72,60 +69,53 @@ G_M52695_IG05:        ; bbWeight=1, gcrefRegs=100002 {x1 x20}, byrefRegs=0000 {}
             b       G_M52695_IG07
                        ;; size=12 bbWeight=1 PerfScore 2.50
 G_M52695_IG06:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0 x20]
+            ; gcrRegs -[x0]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M52695_IG07:        ; bbWeight=8, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x20]
-            cbz     x20, G_M52695_IG03
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M52695_IG08:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, epilog, nogc
-            ; gcrRegs -[x20]
+G_M52695_IG07:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, epilog, nogc
             ; GC ptr vars -{V00}
-            ldp     x19, x20, [sp, #0x30]
-            ldp     fp, lr, [sp], #0x40
+            ldr     x19, [sp, #0x28]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=12 bbWeight=1 PerfScore 3.00
-G_M52695_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x20]
-            add     x3, fp, #64
-            str     x3, [sp, #0x18]
+                      ;; size=12 bbWeight=1 PerfScore 4.00
+G_M52695_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+            stp     fp, lr, [sp, #-0x20]!
+            str     x19, [sp, #0x18]
+            add     x3, fp, #48
+            str     x3, [sp, #0x10]
                         ;; size=16 bbWeight=0 PerfScore 0.00
-G_M52695_IG10:        ; bbWeight=0, gcVars=0000000000000100 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; GC ptr vars +{V00 V08}
-            ldr     x0, [fp, #0x18]    // [V00 loc0]
+G_M52695_IG09:        ; bbWeight=0, gcVars=0000000000000080 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; GC ptr vars +{V00 V07}
+            ldr     x0, [fp, #0x10]    // [V00 loc0]
             ; gcrRegs +[x0]
             ldr     s0, [x0, #0x10]
-            str     s0, [fp, #0x24]   // [V07 tmp6]
+            str     s0, [fp, #0x1C]  // [V07 tmp6]
             movz    x0, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
             ; gcrRegs -[x0]
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x20, [x0]
-            ; gcrRegs +[x20]
-            mov     x0, x20
-            ; gcrRegs +[x0]
-            cbz     x0, G_M52695_IG11
             ldr     x1, [x0]
+            ; gcrRegs +[x1]
+            mov     x0, x1
+            ; gcrRegs +[x0]
+            cbz     x0, G_M52695_IG10
+            ldr     x2, [x0]
             movz    x19, #0xD1FFAB1E
             movk    x19, #0xD1FFAB1E LSL #16
             movk    x19, #0xD1FFAB1E LSL #32
-            add     x2, x19, #0xD1FFAB1E
-            cmp     x1, x2
-            beq     G_M52695_IG11
-            mov     x0, x2
+            add     x3, x19, #0xD1FFAB1E
+            cmp     x2, x3
+            beq     G_M52695_IG10
+            mov     x0, x3
             ; gcrRegs -[x0]
-            mov     x1, x20
-            ; gcrRegs +[x1]
-            ; GC ptr vars -{V00 V08}
+            ; GC ptr vars -{V00 V07}
             bl      CORINFO_HELP_CHKCASTARRAY
-            ; gcrRegs -[x1 x20] +[x0]
+            ; gcrRegs -[x1] +[x0]
             ; gcr arg pop 0
-                     ;; size=76 bbWeight=0 PerfScore 0.00
-G_M52695_IG11:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            ldr     s0, [fp, #0x24]    // [V07 tmp6]
+                     ;; size=72 bbWeight=0 PerfScore 0.00
+G_M52695_IG10:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldr     s0, [fp, #0x1C]    // [V07 tmp6]
             movz    x1, #0xD1FFAB1E      // code for Test.BB:Method1(float,double[])
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
@@ -133,15 +123,15 @@ G_M52695_IG11:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            adr     x0, [G_M52695_IG08]
+            adr     x0, [G_M52695_IG07]
                       ;; size=28 bbWeight=0 PerfScore 0.00
-G_M52695_IG12:        ; bbWeight=0, funclet epilog, nogc, extend
-            ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x30
+G_M52695_IG11:        ; bbWeight=0, funclet epilog, nogc, extend
+            ldr     x19, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 264, prolog size 20, PerfScore 96.00, instruction count 66, allocated bytes for code 264 (MethodHash=459c3228) for method Test.BB:TestEntryPoint() (FullOpts)
+; Total bytes of code 252, prolog size 20, PerfScore 85.00, instruction count 63, allocated bytes for code 252 (MethodHash=459c3228) for method Test.BB:TestEntryPoint() (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -152,7 +142,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 33 (0x00021) Actual length = 132 (0x000084)
+  Function Length   : 31 (0x0001f) Actual length = 124 (0x00007c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -160,8 +150,8 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    C8 06       save_regp X#0 Z#6 (0x06); stp x19, x20, [sp, #48]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
+    D0 05       save_reg X#0 Z#5 (0x05); str x19, [sp, #40]
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
     E4          end
     E4          end
@@ -175,14 +165,14 @@ Unwind Info:
   E bit             : 1
   X bit             : 0
   Vers              : 0
-  Function Length   : 33 (0x00021) Actual length = 132 (0x000084)
+  Function Length   : 32 (0x00020) Actual length = 128 (0x000080)
   --- One epilog, unwind codes at 0
   ---- Unwind codes ----
     ---- Epilog start at index 0 ----
-    C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    D0 03       save_reg X#0 Z#3 (0x03); str x19, [sp, #24]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
     E4          end
 
 *************** EH table for Test.BB:TestEntryPoint()
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M52695_IG03..G_M52695_IG08) handled by [G_M52695_IG09..END) (class: 1000008)
+EH#0: try [G_M52695_IG03..G_M52695_IG07) handled by [G_M52695_IG08..END) (class: 1000008)
  
+0 (0.00%) : 314976.dasm - ParallelRunner:BuildProjects(int,int,int,int,System.Collections.Generic.List`1[ProcessInfo],ReadyToRunJittedMethods,int) (FullOpts)
@@ -9,43 +9,43 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T29] (  4,   4   )     int  ->  x24         single-def
-;  V01 arg1         [V01,T14] (  4,  35   )     int  ->  x19         single-def
-;  V02 arg2         [V02,T16] (  3,  34   )     int  ->  x21         single-def
-;  V03 arg3         [V03    ] (  5, 354   )     int  ->  [fp+0x44]  do-not-enreg[X] addr-exposed ld-addr-op single-def
-;  V04 arg4         [V04,T25] (  4,  10   )     ref  ->  x22         class-hnd single-def <System.Collections.Generic.List`1[ProcessInfo]>
-;  V05 arg5         [V05,T15] (  3,  34   )     ref  ->  x20         class-hnd single-def <ReadyToRunJittedMethods>
-;  V06 arg6         [V06,T26] (  7,   8.50)     int  ->  x23         single-def
-;  V07 loc0         [V07,T23] (  9,  16   )     ref  ->  [fp+0x20]  class-hnd exact EH-live spill-single-def <System.Threading.AutoResetEvent>
+;  V01 arg1         [V01,T23] (  4,   7   )     int  ->  x21         single-def
+;  V02 arg2         [V02,T25] (  3,   6   )     int  ->  x23         single-def
+;  V03 arg3         [V03    ] (  5, 326   )     int  ->  [fp+0x44]  do-not-enreg[X] addr-exposed ld-addr-op single-def
+;  V04 arg4         [V04,T21] (  4,  10   )     ref  ->  x19         class-hnd single-def <System.Collections.Generic.List`1[ProcessInfo]>
+;  V05 arg5         [V05,T24] (  3,   6   )     ref  ->  x22         class-hnd single-def <ReadyToRunJittedMethods>
+;  V06 arg6         [V06,T22] (  7,   8.50)     int  ->  x20         single-def
+;  V07 loc0         [V07,T19] (  9,  16   )     ref  ->  [fp+0x20]  class-hnd exact EH-live spill-single-def <System.Threading.AutoResetEvent>
 ;  V08 loc1         [V08,T07] (  8, 125.50)     ref  ->  x27         class-hnd exact single-def <<unknown class>>
-;  V09 loc2         [V09    ] (  4, 353   )     int  ->  [fp+0x38]  do-not-enreg[X] must-init addr-exposed ld-addr-op
-;  V10 loc3         [V10,T21] (  3,  24   )   ubyte  ->  x23        
-;  V11 loc4         [V11,T22] ( 12,  21.04)     int  ->  x28        
-;  V12 loc5         [V12,T10] (  9, 142   )     int  ->  x24        
-;  V13 loc6         [V13,T17] (  2,  36   )     ref  ->  x23         class-hnd <ProcessInfo>
-;  V14 loc7         [V14,T06] (  4, 196   )     ref  ->  x26         class-hnd <ParallelRunner+ProcessSlot>
-;* V15 loc8         [V15,T19] (  0,   0   )     ref  ->  zero-ref    class-hnd exact <<unknown class>>
+;  V09 loc2         [V09    ] (  4, 325   )     int  ->  [fp+0x38]  do-not-enreg[X] must-init addr-exposed ld-addr-op
+;  V10 loc3         [V10,T17] (  3,  24   )   ubyte  ->  x20        
+;  V11 loc4         [V11,T18] ( 12,  21.04)     int  ->  x28        
+;  V12 loc5         [V12,T15] (  9,  30   )     int  ->  x24        
+;  V13 loc6         [V13,T26] (  2,   8   )     ref  ->  x20         class-hnd <ProcessInfo>
+;  V14 loc7         [V14,T06] (  4, 168   )     ref  ->  x26         class-hnd <ParallelRunner+ProcessSlot>
+;* V15 loc8         [V15,T14] (  0,   0   )     ref  ->  zero-ref    class-hnd exact <<unknown class>>
 ;  V16 loc9         [V16,T04] (  5, 288   )     int  ->  x28        
 ;  V17 loc10        [V17,T01] (  5, 768   )     ref  ->  [fp+0x18]  class-hnd spill-single-def <ParallelRunner+ProcessSlot>
 ;* V18 loc11        [V18,T27] (  0,   0   )     ref  ->  zero-ref    class-hnd exact <<unknown class>>
-;  V19 loc12        [V19,T12] (  5,  72   )     int  ->  x24        
+;  V19 loc12        [V19,T11] (  5,  72   )     int  ->  x24        
 ;  V20 loc13        [V20,T09] (  4, 160   )     ref  ->  x19         class-hnd <ParallelRunner+ProcessSlot>
 ;# V21 OutArgs      [V21    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V22 tmp1         [V22,T31] (  3,   6.00)     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Threading.AutoResetEvent>
-;  V23 tmp2         [V23,T18] (  8,  32   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <ParallelRunner+ProcessSlot>
+;  V23 tmp2         [V23,T13] (  8,  32   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <ParallelRunner+ProcessSlot>
 ;  V24 tmp3         [V24    ] (  1,   1.00)   ubyte  ->  [fp+0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V25 tmp4         [V25,T05] (  0,   0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V26 tmp5         [V26,T00] (  4,2048   )     ref  ->  x26         class-hnd "Inlining Arg" <ProcessRunner>
-;* V27 tmp6         [V27,T24] (  0,   0   )     int  ->  zero-ref    ld-addr-op "Inlining Arg"
+;* V27 tmp6         [V27,T20] (  0,   0   )     int  ->  zero-ref    ld-addr-op "Inlining Arg"
 ;* V28 tmp7         [V28,T28] (  0,   0   )     int  ->  zero-ref    "Inline return value spill temp"
-;* V29 tmp8         [V29,T13] (  0,   0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V30 tmp9         [V30,T02] (  4, 512   )     ref  ->  x20         class-hnd "Inlining Arg" <ProcessRunner>
+;* V29 tmp8         [V29,T12] (  0,   0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V30 tmp9         [V30,T02] (  4, 512   )     ref  ->  x21         class-hnd "Inlining Arg" <ProcessRunner>
 ;  V31 tmp10        [V31,T32] (  6,   5   )     ref  ->  registers   class-hnd exact "dup spill" <<unknown class>>
 ;* V32 tmp11        [V32    ] (  0,   0   )     ref  ->  zero-ref   
-;  V33 tmp12        [V33,T20] (  3,  24   )     ref  ->   x0         "arr expr"
+;  V33 tmp12        [V33,T16] (  3,  24   )     ref  ->   x0         "arr expr"
 ;* V34 tmp13        [V34    ] (  0,   0   )     ref  ->  zero-ref    "argument with side effect"
 ;  V35 PSPSym       [V35,T33] (  1,   1   )    long  ->  [fp+0x48]  do-not-enreg[V] "PSPSym"
 ;  V36 cse0         [V36,T03] (  3, 384   )     ref  ->   x0         "CSE - aggressive"
-;  V37 cse1         [V37,T11] (  3,  96   )     ref  ->   x0         "CSE - aggressive"
+;  V37 cse1         [V37,T10] (  3,  96   )     ref  ->   x0         "CSE - aggressive"
 ;  V38 cse2         [V38,T08] (  9, 161.04)     int  ->  [fp+0x2C]  multi-def "CSE - aggressive"
 ;  V39 cse3         [V39,T30] (  4,   6   )    long  ->  x26         "CSE - moderate"
 ;
@@ -64,15 +64,15 @@ G_M64833_IG01:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             str     x7, [fp, #0x48]    // [V35 PSPSym]
             str     w3, [fp, #0x44]    // [V03 arg3]
             mov     w24, w0
-            mov     w19, w1
-            mov     w21, w2
-            mov     x22, x4
+            mov     w21, w1
+            mov     w23, w2
+            mov     x19, x4
+            ; gcrRegs +[x19]
+            mov     x22, x5
             ; gcrRegs +[x22]
-            mov     x20, x5
-            ; gcrRegs +[x20]
-            mov     w23, w6
+            mov     w20, w6
                        ;; size=68 bbWeight=1.00 PerfScore 13.00
-G_M64833_IG02:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref
+G_M64833_IG02:        ; bbWeight=1.00, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -96,8 +96,8 @@ G_M64833_IG02:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             str     x25, [fp, #0x20]   // [V07 loc0]
             ; GC ptr vars +{V07}
                        ;; size=64 bbWeight=1.00 PerfScore 12.00
-G_M64833_IG03:        ; bbWeight=1.00, gcVars=0000000000800000 {V07}, gcrefRegs=2500000 {x20 x22 x25}, byrefRegs=0000 {}, gcvars, byref, isz
-            sxtw    x1, w23
+G_M64833_IG03:        ; bbWeight=1.00, gcVars=0000000000080000 {V07}, gcrefRegs=2480000 {x19 x22 x25}, byrefRegs=0000 {}, gcvars, byref, isz
+            sxtw    x1, w20
             movz    x26, #0xD1FFAB1E
             movk    x26, #0xD1FFAB1E LSL #16
             movk    x26, #0xD1FFAB1E LSL #32
@@ -108,17 +108,17 @@ G_M64833_IG03:        ; bbWeight=1.00, gcVars=0000000000800000 {V07}, gcrefRegs=
             mov     x27, x0
             ; gcrRegs +[x27]
             mov     w28, wzr
-            cmp     w23, #0
+            cmp     w20, #0
             ble     G_M64833_IG06
                        ;; size=40 bbWeight=1.00 PerfScore 6.00
-G_M64833_IG04:        ; bbWeight=0.50, gcrefRegs=A500000 {x20 x22 x25 x27}, byrefRegs=0000 {}, byref, isz
+G_M64833_IG04:        ; bbWeight=0.50, gcrefRegs=A480000 {x19 x22 x25 x27}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
             ldr     w1, [x27, #0x08]
             str     w1, [fp, #0x2C]    // [V38 cse2]
-            cmp     w1, w23
+            cmp     w1, w20
             blt     G_M64833_IG15
                        ;; size=16 bbWeight=0.50 PerfScore 2.75
-G_M64833_IG05:        ; bbWeight=3.96, gcrefRegs=A500000 {x20 x22 x25 x27}, byrefRegs=0000 {}, byref, isz
+G_M64833_IG05:        ; bbWeight=3.96, gcrefRegs=A480000 {x19 x22 x25 x27}, byrefRegs=0000 {}, byref, isz
             sub     x0, x26, #200
             bl      CORINFO_HELP_NEWSFAST
             ; gcrRegs +[x0]
@@ -140,19 +140,19 @@ G_M64833_IG05:        ; bbWeight=3.96, gcrefRegs=A500000 {x20 x22 x25 x27}, byre
             ; gcrRegs -[x0 x15]
             ; byrRegs -[x14]
             add     w28, w28, #1
-            cmp     w28, w23
+            cmp     w28, w20
             blt     G_M64833_IG05
                        ;; size=52 bbWeight=3.96 PerfScore 37.62
-G_M64833_IG06:        ; bbWeight=1, gcrefRegs=A500000 {x20 x22 x25 x27}, byrefRegs=0000 {}, byref, isz
+G_M64833_IG06:        ; bbWeight=1, gcrefRegs=A480000 {x19 x22 x25 x27}, byrefRegs=0000 {}, byref, isz
             str     w24, [fp, #0x38]    // [V09 loc2]
-            cmp     w24, w19
+            cmp     w24, w21
             bge     G_M64833_IG20
                        ;; size=12 bbWeight=1 PerfScore 2.50
-G_M64833_IG07:        ; bbWeight=4, gcrefRegs=A500000 {x20 x22 x25 x27}, byrefRegs=0000 {}, byref, isz
-            ldr     w3, [x22, #0x10]
+G_M64833_IG07:        ; bbWeight=4, gcrefRegs=A480000 {x19 x22 x25 x27}, byrefRegs=0000 {}, byref, isz
+            ldr     w3, [x19, #0x10]
             cmp     w24, w3
             bhs     G_M64833_IG14
-            ldr     x0, [x22, #0x08]
+            ldr     x0, [x19, #0x08]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x08]
             cmp     w24, w1
@@ -160,12 +160,12 @@ G_M64833_IG07:        ; bbWeight=4, gcrefRegs=A500000 {x20 x22 x25 x27}, byrefRe
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
-            ldr     x23, [x0, w24, UXTW #3]
-            ; gcrRegs +[x23]
+            ldr     x20, [x0, w24, UXTW #3]
+            ; gcrRegs +[x20]
             mov     x26, xzr
             ; gcrRegs +[x26]
                        ;; size=40 bbWeight=4 PerfScore 64.00
-G_M64833_IG08:        ; bbWeight=32, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, byref, isz
+G_M64833_IG08:        ; bbWeight=32, gcrefRegs=E580000 {x19 x20 x22 x25 x26 x27}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x0]
             mov     w28, wzr
             ldr     w3, [x27, #0x08]
@@ -173,7 +173,7 @@ G_M64833_IG08:        ; bbWeight=32, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}
             cmp     w3, #0
             ble     G_M64833_IG11
                        ;; size=20 bbWeight=32 PerfScore 192.00
-G_M64833_IG09:        ; bbWeight=64, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, byref, isz
+G_M64833_IG09:        ; bbWeight=64, gcrefRegs=E580000 {x19 x20 x22 x25 x26 x27}, byrefRegs=0000 {}, byref, isz
             add     x0, x27, #16
             ; byrRegs +[x0]
             ldr     x4, [x0, w28, UXTW #3]
@@ -185,17 +185,17 @@ G_M64833_IG09:        ; bbWeight=64, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}
             ; byrRegs -[x0]
             cbnz    x0, G_M64833_IG16
                        ;; size=20 bbWeight=64 PerfScore 544.00
-G_M64833_IG10:        ; bbWeight=128, gcVars=0000000000800002 {V07 V17}, gcrefRegs=AD00010 {x4 x20 x22 x23 x25 x27}, byrefRegs=0000 {}, gcvars, byref
+G_M64833_IG10:        ; bbWeight=128, gcVars=0000000000080002 {V07 V17}, gcrefRegs=A580010 {x4 x19 x20 x22 x25 x27}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0 x26]
             mov     x26, x4
             ; gcrRegs +[x26]
                        ;; size=4 bbWeight=128 PerfScore 64.00
-G_M64833_IG11:        ; bbWeight=32, gcVars=0000000000800000 {V07}, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M64833_IG11:        ; bbWeight=32, gcVars=0000000000080000 {V07}, gcrefRegs=E580000 {x19 x20 x22 x25 x26 x27}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x4]
             ; GC ptr vars -{V17}
             cbnz    x26, G_M64833_IG19
                        ;; size=4 bbWeight=32 PerfScore 32.00
-G_M64833_IG12:        ; bbWeight=8, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, byref
+G_M64833_IG12:        ; bbWeight=8, gcrefRegs=E580000 {x19 x20 x22 x25 x26 x27}, byrefRegs=0000 {}, byref
             mov     x0, x25
             ; gcrRegs +[x0]
             mov     w1, #200
@@ -212,7 +212,7 @@ G_M64833_IG12:        ; bbWeight=8, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27},
             b       G_M64833_IG08
                        ;; size=44 bbWeight=8 PerfScore 72.00
 G_M64833_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x20 x22-x23 x25-x27]
+            ; gcrRegs -[x19-x20 x22 x25-x27]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
@@ -226,8 +226,8 @@ G_M64833_IG14:        ; bbWeight=0, gcrefRegs=2000000 {x25}, byrefRegs=0000 {},
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M64833_IG15:        ; bbWeight=0.04, gcrefRegs=A500000 {x20 x22 x25 x27}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x20 x22 x27]
+G_M64833_IG15:        ; bbWeight=0.04, gcrefRegs=A480000 {x19 x22 x25 x27}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs +[x19 x22 x27]
             sub     x0, x26, #200
             bl      CORINFO_HELP_NEWSFAST
             ; gcrRegs +[x0]
@@ -252,13 +252,13 @@ G_M64833_IG15:        ; bbWeight=0.04, gcrefRegs=A500000 {x20 x22 x25 x27}, byre
             ; gcrRegs -[x0 x15]
             ; byrRegs -[x14]
             add     w28, w28, #1
-            cmp     w28, w23
+            cmp     w28, w20
             str     w3, [fp, #0x2C]    // [V38 cse2]
             blt     G_M64833_IG15
             b       G_M64833_IG06
                        ;; size=72 bbWeight=0.04 PerfScore 0.60
-G_M64833_IG16:        ; bbWeight=256, gcVars=0000000000800002 {V07 V17}, gcrefRegs=ED00011 {x0 x4 x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x0 x4 x23 x26]
+G_M64833_IG16:        ; bbWeight=256, gcVars=0000000000080002 {V07 V17}, gcrefRegs=E580011 {x0 x4 x19 x20 x22 x25 x26 x27}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs +[x0 x4 x20 x26]
             ; GC ptr vars +{V01 V17}
             add     x1, fp, #56    // [V09 loc2]
             add     x2, fp, #68    // [V03 arg3]
@@ -298,7 +298,7 @@ G_M64833_IG16:        ; bbWeight=256, gcVars=0000000000800002 {V07 V17}, gcrefRe
             ; gcrRegs +[x4]
             b       G_M64833_IG10
                        ;; size=108 bbWeight=256 PerfScore 8448.00
-G_M64833_IG17:        ; bbWeight=64, gcVars=0000000000800000 {V07}, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M64833_IG17:        ; bbWeight=64, gcVars=0000000000080000 {V07}, gcrefRegs=E580000 {x19 x20 x22 x25 x26 x27}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x4 x28] +[x26]
             ; GC ptr vars -{V01 V17}
             add     w28, w28, #1
@@ -307,18 +307,18 @@ G_M64833_IG17:        ; bbWeight=64, gcVars=0000000000800000 {V07}, gcrefRegs=ED
             str     w5, [fp, #0x2C]    // [V38 cse2]
             bgt     G_M64833_IG09
                        ;; size=20 bbWeight=64 PerfScore 320.00
-G_M64833_IG18:        ; bbWeight=32, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, byref
+G_M64833_IG18:        ; bbWeight=32, gcrefRegs=E580000 {x19 x20 x22 x25 x26 x27}, byrefRegs=0000 {}, byref
             b       G_M64833_IG11
                        ;; size=4 bbWeight=32 PerfScore 32.00
-G_M64833_IG19:        ; bbWeight=32, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, byref, isz
+G_M64833_IG19:        ; bbWeight=4, gcrefRegs=E580000 {x19 x20 x22 x25 x26 x27}, byrefRegs=0000 {}, byref, isz
             add     w3, w24, #1
...
  
+4 (+0.08%) : 219647.dasm - GenClass1[int]:DoTest_Inner[System.__Canon,System.__Canon,System.__Canon](int,GenClass1[System.Canon],GenClass1[System.__Canon],GenClass1[System.Canon]) (FullOpts)
@@ -15,20 +15,20 @@
 ;  V04 arg3         [V04,T56] (  3,  6   )     ref  ->  x22         class-hnd single-def <GenClass`1[System.__Canon]>
 ;  V05 loc0         [V05,T06] (  7, 23   )     int  ->  x24        
 ;  V06 loc1         [V06    ] (153,301.89)  struct (40) [fp+0x10]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
-;  V07 loc2         [V07,T07] (  7, 23   )     int  ->  x26        
+;  V07 loc2         [V07,T07] (  7, 23   )     int  ->  x27        
 ;  V08 loc3         [V08,T08] (  7, 23   )     int  ->  x25        
-;  V09 loc4         [V09,T09] (  7, 23   )     int  ->  x26        
+;  V09 loc4         [V09,T09] (  7, 23   )     int  ->  x27        
 ;# V10 OutArgs      [V10    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V11 tmp1         [V11,T38] (  5, 12   )     ref  ->  x25        
 ;* V12 tmp2         [V12    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V13 tmp3         [V13,T34] (  7, 12   )     ref  ->  x26        
-;  V14 tmp4         [V14,T39] (  5, 12   )     ref  ->  x27        
+;  V14 tmp4         [V14,T39] (  5, 12   )     ref  ->  x28        
 ;* V15 tmp5         [V15    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V16 tmp6         [V16,T35] (  6, 12   )     ref  ->   x1        
-;  V17 tmp7         [V17,T40] (  5, 12   )     ref  ->  x28        
+;  V17 tmp7         [V17,T40] (  5, 12   )     ref  ->  x26        
 ;* V18 tmp8         [V18    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V19 tmp9         [V19,T36] (  6, 12   )     ref  ->   x1        
-;  V20 tmp10        [V20,T41] (  5, 12   )     ref  ->  x27        
+;  V20 tmp10        [V20,T41] (  5, 12   )     ref  ->  x28        
 ;* V21 tmp11        [V21    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V22 tmp12        [V22,T37] (  6, 12   )     ref  ->  x24        
 ;* V23 tmp13        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.Buffers.SharedArrayPool`1[ushort]>
@@ -134,8 +134,8 @@
 ;* V123 tmp113      [V123    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V124 tmp114      [V124,T25] (  4, 16   )     int  ->   x0         "Inlining Arg"
 ;* V125 tmp115      [V125    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V126 tmp116      [V126,T46] (  3, 12   )     int  ->  x24         "Inlining Arg"
-;  V127 tmp117      [V127,T94] (  2,  7.98)   byref  ->  x21         "Inlining Arg"
+;  V126 tmp116      [V126,T46] (  3, 12   )     int  ->  x21         "Inlining Arg"
+;  V127 tmp117      [V127,T94] (  2,  7.98)   byref  ->  x26         "Inlining Arg"
 ;* V128 tmp118      [V128    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V129 tmp119      [V129    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V130 tmp120      [V130,T185] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
@@ -206,7 +206,7 @@
 ;  V195 tmp185      [V195,T29] (  4, 16   )     int  ->   x0         "Inlining Arg"
 ;* V196 tmp186      [V196    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V197 tmp187      [V197,T50] (  3, 12   )     int  ->  x21         "Inlining Arg"
-;  V198 tmp188      [V198,T98] (  2,  7.98)   byref  ->  x27         "Inlining Arg"
+;  V198 tmp188      [V198,T98] (  2,  7.98)   byref  ->  x28         "Inlining Arg"
 ;* V199 tmp189      [V199    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V200 tmp190      [V200    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V201 tmp191      [V201,T189] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
@@ -273,7 +273,7 @@
 ;  V262 tmp252      [V262,T33] (  4, 16   )     int  ->   x0         "Inlining Arg"
 ;* V263 tmp253      [V263    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V264 tmp254      [V264,T54] (  3, 12   )     int  ->  x20         "Inlining Arg"
-;  V265 tmp255      [V265,T102] (  2,  7.98)   byref  ->  x28         "Inlining Arg"
+;  V265 tmp255      [V265,T102] (  2,  7.98)   byref  ->  x26         "Inlining Arg"
 ;* V266 tmp256      [V266,T193] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V267 tmp257      [V267    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V268 tmp258      [V268    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
@@ -294,7 +294,7 @@
 ;* V283 tmp273      [V283    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V284 tmp274      [V284    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
 ;  V285 tmp275      [V285,T90] (  2,  8   )     int  ->  x24         "Inlining Arg"
-;  V286 tmp276      [V286,T66] (  2,  8   )   byref  ->  x27         "Inlining Arg"
+;  V286 tmp276      [V286,T66] (  2,  8   )   byref  ->  x28         "Inlining Arg"
 ;  V287 tmp277      [V287,T120] (  3,  4   )   byref  ->  x26         "field V28._reference (fldOffset=0x0)" P-INDEP
 ;  V288 tmp278      [V288,T128] (  3,  4   )     int  ->  x27         "field V28._length (fldOffset=0x8)" P-INDEP
 ;* V289 tmp279      [V289    ] (  0,  0   )   byref  ->  zero-ref    "field V29._reference (fldOffset=0x0)" P-INDEP
@@ -351,8 +351,8 @@
 ;  V340 tmp330      [V340,T169] (  2,  4   )     int  ->   x3         "field V111._length (fldOffset=0x8)" P-INDEP
 ;* V341 tmp331      [V341    ] (  0,  0   )   byref  ->  zero-ref    "field V112._reference (fldOffset=0x0)" P-INDEP
 ;* V342 tmp332      [V342    ] (  0,  0   )     int  ->  zero-ref    "field V112._length (fldOffset=0x8)" P-INDEP
-;  V343 tmp333      [V343,T122] (  3,  4   )   byref  ->  x28         "field V122._reference (fldOffset=0x0)" P-INDEP
-;  V344 tmp334      [V344,T130] (  3,  4   )     int  ->   x2         "field V122._length (fldOffset=0x8)" P-INDEP
+;  V343 tmp333      [V343,T122] (  3,  4   )   byref  ->   x2         "field V122._reference (fldOffset=0x0)" P-INDEP
+;  V344 tmp334      [V344,T130] (  3,  4   )     int  ->   x3         "field V122._length (fldOffset=0x8)" P-INDEP
 ;* V345 tmp335      [V345    ] (  0,  0   )   byref  ->  zero-ref    "field V123._reference (fldOffset=0x0)" P-INDEP
 ;* V346 tmp336      [V346    ] (  0,  0   )     int  ->  zero-ref    "field V123._length (fldOffset=0x8)" P-INDEP
 ;* V347 tmp337      [V347    ] (  0,  0   )   byref  ->  zero-ref    "field V125._reference (fldOffset=0x0)" P-INDEP
@@ -560,7 +560,7 @@ G_M13079_IG03:        ; bbWeight=4, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=00
             mov     x25, x0
             ; gcrRegs +[x25]
             str     xzr, [fp, #0x10]   // [V06 loc1]
-            cbz     w24, G_M13079_IG26
+            cbz     w24, G_M13079_IG29
                        ;; size=60 bbWeight=4 PerfScore 88.00
 G_M13079_IG04:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -623,7 +623,7 @@ G_M13079_IG06:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRe
                        ;; size=96 bbWeight=2 PerfScore 49.00
 G_M13079_IG07:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=4000000 {x26}, byref, isz
             cmp     w27, #8
-            blo     G_M13079_IG16
+            blo     G_M13079_IG19
                       ;; size=8 bbWeight=2 PerfScore 3.00
 G_M13079_IG08:        ; bbWeight=1.99, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=4000000 {x26}, byref
             movz    x0, #0xD1FFAB1E
@@ -673,7 +673,7 @@ G_M13079_IG09:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRe
                        ;; size=108 bbWeight=2 PerfScore 54.00
 G_M13079_IG10:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=4000000 {x26}, byref, isz
             cmp     w27, #3
-            blo     G_M13079_IG18
+            blo     G_M13079_IG24
                       ;; size=8 bbWeight=2 PerfScore 3.00
 G_M13079_IG11:        ; bbWeight=1.99, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=4000000 {x26}, byref
             movz    x0, #0xD1FFAB1E
@@ -733,7 +733,7 @@ G_M13079_IG12:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRe
             ; gcrRegs -[x0-x1]
                        ;; size=128 bbWeight=2 PerfScore 65.00
 G_M13079_IG13:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=4000000 {x26}, byref, isz
-            cbz     w27, G_M13079_IG19
+            cbz     w27, G_M13079_IG26
                        ;; size=4 bbWeight=2 PerfScore 2.00
 G_M13079_IG14:        ; bbWeight=1.99, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=4000000 {x26}, byref
             movz    x0, #0xD1FFAB1E
@@ -753,7 +753,7 @@ G_M13079_IG15:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRe
             bhi     G_M13079_IG104
             ldr     x27, [fp, #0x28]   // [V06 loc1+0x18]
             ; byrRegs +[x27]
-            tbz     w26, #31, G_M13079_IG23
+            tbz     w26, #31, G_M13079_IG16
             movz    x28, #0xD1FFAB1E
             movk    x28, #0xD1FFAB1E LSL #16
             movk    x28, #0xD1FFAB1E LSL #32
@@ -767,25 +767,6 @@ G_M13079_IG15:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRe
             ldr     x2, [x2]
             blr     x2
             ; gcrRegs -[x0-x1] +[x28]
-            b       G_M13079_IG22
-                       ;; size=68 bbWeight=2 PerfScore 35.00
-G_M13079_IG16:        ; bbWeight=0.01, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x28]
-            ; byrRegs -[x27]
-            add     x0, fp, #16    // [V06 loc1]
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            b       G_M13079_IG09
-                       ;; size=40 bbWeight=0.01 PerfScore 0.07
-G_M13079_IG17:        ; bbWeight=2, gcrefRegs=12700000 {x20 x21 x22 x25 x28}, byrefRegs=8000000 {x27}, byref
-            ; gcrRegs +[x28]
-            ; byrRegs +[x27]
             mov     x0, x28
             ; gcrRegs +[x0]
             mov     x1, x28
@@ -796,35 +777,8 @@ G_M13079_IG17:        ; bbWeight=2, gcrefRegs=12700000 {x20 x21 x22 x25 x28}, by
             ldr     x2, [x2]
             blr     x2
             ; gcrRegs -[x0-x1 x28]
-            b       G_M13079_IG20
-                       ;; size=32 bbWeight=2 PerfScore 15.00
-G_M13079_IG18:        ; bbWeight=0.01, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x27]
-            add     x0, fp, #16    // [V06 loc1]
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            b       G_M13079_IG12
-                       ;; size=40 bbWeight=0.01 PerfScore 0.07
-G_M13079_IG19:        ; bbWeight=0.01, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=0000 {}, byref
-            add     x0, fp, #16    // [V06 loc1]
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            b       G_M13079_IG15
-                       ;; size=40 bbWeight=0.01 PerfScore 0.07
-G_M13079_IG20:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=8000000 {x27}, byref, isz
-            ; byrRegs +[x27]
+                     ;; size=92 bbWeight=2 PerfScore 46.00
+G_M13079_IG16:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=8000000 {x27}, byref, isz
             mov     x0, x27
             ; byrRegs +[x0]
             sxtw    w1, w26
@@ -838,43 +792,9 @@ G_M13079_IG20:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRe
             stp     xzr, xzr, [fp, #0x10]
             stp     xzr, xzr, [fp, #0x20]
             str     xzr, [fp, #0x30]
-            cbz     x1, G_M13079_IG30
+            cbz     x1, G_M13079_IG18
                      ;; size=36 bbWeight=2 PerfScore 17.00
-G_M13079_IG21:        ; bbWeight=1.92, gcrefRegs=6700002 {x1 x20 x21 x22 x25 x26}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0]
-            b       G_M13079_IG29
-                       ;; size=4 bbWeight=1.92 PerfScore 1.92
-G_M13079_IG22:        ; bbWeight=2, gcrefRegs=12700000 {x20 x21 x22 x25 x28}, byrefRegs=8000000 {x27}, byref
-            ; gcrRegs -[x1 x26] +[x28]
-            ; byrRegs +[x27]
-            mov     x0, x28
-            ; gcrRegs +[x0]
-            mov     x1, x28
-            ; gcrRegs +[x1]
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            ; gcrRegs -[x0-x1 x28]
-                       ;; size=28 bbWeight=2 PerfScore 13.00
-G_M13079_IG23:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=8000000 {x27}, byref, isz
-            mov     x0, x27
-            ; byrRegs +[x0]
-            sxtw    w1, w26
-            bl      <unknown method>
-            ; gcrRegs +[x0]
-            ; byrRegs -[x0 x27]
-            mov     x26, x0
-            ; gcrRegs +[x26]
-            ldr     x1, [fp, #0x18]    // [V06 loc1+0x08]
-            ; gcrRegs +[x1]
-            stp     xzr, xzr, [fp, #0x10]
-            stp     xzr, xzr, [fp, #0x20]
-            str     xzr, [fp, #0x30]
-            cbz     x1, G_M13079_IG25
-                       ;; size=36 bbWeight=2 PerfScore 17.00
-G_M13079_IG24:        ; bbWeight=1.92, gcrefRegs=6700002 {x1 x20 x21 x22 x25 x26}, byrefRegs=0000 {}, byref
+G_M13079_IG17:        ; bbWeight=1.92, gcrefRegs=6700002 {x1 x20 x21 x22 x25 x26}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             movz    x0, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
             movk    x0, #0xD1FFAB1E LSL #16
@@ -890,37 +810,29 @@ G_M13079_IG24:        ; bbWeight=1.92, gcrefRegs=6700002 {x1 x20 x21 x22 x25 x26
             blr     x3
             ; gcrRegs -[x0-x1]
                        ;; size=44 bbWeight=1.92 PerfScore 25.93
-G_M13079_IG25:        ; bbWeight=2, gcrefRegs=6700000 {x20 x21 x22 x25 x26}, byrefRegs=0000 {}, byref
-            b       G_M13079_IG30
+G_M13079_IG18:        ; bbWeight=2, gcrefRegs=6700000 {x20 x21 x22 x25 x26}, byrefRegs=0000 {}, byref
+            b       G_M13079_IG27
                       ;; size=4 bbWeight=2 PerfScore 2.00
-G_M13079_IG26:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=0000 {}, byref, isz
+G_M13079_IG19:        ; bbWeight=0.01, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x26]
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            mov     w1, #13
-            bl      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
-            movz    x0, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
...
  
+4 (+0.10%) : 316461.dasm - Tracing.Tests.DiagnosticPortValidation.DiagnosticPortValidation+<>cDisplayClass21+<<TESTMultipleConnectPortsSuspend>b1>d:MoveNext():this (FullOpts)
@@ -427,7 +427,7 @@ G_M18877_IG04:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ldr     x2, [x2]
             blr     x2
             ; gcr arg pop 0
-            cbz     x0, G_M18877_IG51
+            cbz     x0, G_M18877_IG86
                       ;; size=140 bbWeight=4 PerfScore 158.00
 G_M18877_IG05:        ; bbWeight=4.00, gcrefRegs=380001 {x0 x19 x20 x21}, byrefRegs=0000 {}, byref
             add     x22, x0, #16
@@ -444,7 +444,7 @@ G_M18877_IG06:        ; bbWeight=4, gcrefRegs=380001 {x0 x19 x20 x21}, byrefRegs
             ; gcrRegs -[x0]
             ldr     w1, [fp, #0x58]    // [V08 loc7+0x20]
             cmp     w0, w1
-            bhi     G_M18877_IG50
+            bhi     G_M18877_IG85
             ldr     x1, [fp, #0x50]    // [V08 loc7+0x18]
             ; byrRegs +[x1]
             ubfiz   x2, x0, #1, #32
@@ -505,7 +505,7 @@ G_M18877_IG09:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
             ldr     w22, [fp, #0x48]   // [V08 loc7+0x10]
             ldr     w0, [fp, #0x58]    // [V08 loc7+0x20]
             cmp     w22, w0
-            bhi     G_M18877_IG50
+            bhi     G_M18877_IG85
             ldr     x23, [fp, #0x50]  // [V08 loc7+0x18]
             ; byrRegs +[x23]
             tbz     w22, #31, G_M18877_IG10
@@ -587,11 +587,11 @@ G_M18877_IG12:        ; bbWeight=4, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=00
             sxtw    w2, w1
             ldr     w3, [x0, #0x10]
             cmp     w2, w3
-            bhs     G_M18877_IG45
+            bhs     G_M18877_IG87
             ldr     x0, [x0, #0x08]
             ldr     w3, [x0, #0x08]
             cmp     w2, w3
-            bhs     G_M18877_IG46
+            bhs     G_M18877_IG83
             ubfiz   x2, x2, #4, #32
             add     x2, x2, #16
             ldr     x0, [x0, x2]
@@ -695,19 +695,10 @@ G_M18877_IG16:        ; bbWeight=8.00, gcrefRegs=80000 {x19}, byrefRegs=200000 {
             and     w1, w1, w2
             mov     w2, #0xD1FFAB1E
             cmp     w1, w2
-            beq     G_M18877_IG18
+            bne     G_M18877_IG46
                        ;; size=32 bbWeight=8.00 PerfScore 68.00
-G_M18877_IG17:        ; bbWeight=0.00, gcrefRegs=80001 {x0 x19}, byrefRegs=200000 {x21}, byref
-            mov     w1, wzr
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2
+G_M18877_IG17:        ; bbWeight=8.00, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21}, byref, isz
             ; gcrRegs -[x0]
-            ; gcr arg pop 0
-                       ;; size=24 bbWeight=0.00 PerfScore 0.02
-G_M18877_IG18:        ; bbWeight=8.00, gcrefRegs=80000 {x19}, byrefRegs=200000 {x21}, byref, isz
             ldr     x20, [fp, #0x30]   // [V215 tmp200]
             ; gcrRegs +[x20]
             add     x0, x20, #52
@@ -718,9 +709,9 @@ G_M18877_IG18:        ; bbWeight=8.00, gcrefRegs=80000 {x19}, byrefRegs=200000 {
             and     w0, w0, w1
             mov     w1, #0xD1FFAB1E
             cmp     w0, w1
-            beq     G_M18877_IG20
+            beq     G_M18877_IG19
                        ;; size=32 bbWeight=8.00 PerfScore 68.00
-G_M18877_IG19:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=200000 {x21}, byref
+G_M18877_IG18:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=200000 {x21}, byref
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -737,7 +728,7 @@ G_M18877_IG19:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=200000
             ; gcrRegs -[x1]
             ; gcr arg pop 0
                        ;; size=48 bbWeight=4 PerfScore 36.00
-G_M18877_IG20:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=200000 {x21}, byref
+G_M18877_IG19:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=200000 {x21}, byref
             ldr     x20, [x20, #0x38]
             mov     x0, x20
             ; gcrRegs +[x0]
@@ -756,10 +747,10 @@ G_M18877_IG20:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=200000
             ; GC ptr vars +{V11}
             str     wzr, [fp, #0x28]   // [V12 loc11]
                        ;; size=48 bbWeight=8 PerfScore 140.00
-G_M18877_IG21:        ; bbWeight=8, gcVars=00000000000000020000000000000010 {V00 V11}, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=200000 {x21}, gcvars, byref, isz
+G_M18877_IG20:        ; bbWeight=8, gcVars=00000000000000020000000000000010 {V00 V11}, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=200000 {x21}, gcvars, byref, isz
             ; gcrRegs -[x0-x1]
             ldrb    w1, [fp, #0x28]    // [V12 loc11]
-            cbnz    w1, G_M18877_IG25
+            cbnz    w1, G_M18877_IG24
             add     x1, fp, #40 // [V12 loc11]
             ldr     x0, [fp, #0x18]    // [V11 loc10]
             ; gcrRegs +[x0]
@@ -767,9 +758,9 @@ G_M18877_IG21:        ; bbWeight=8, gcVars=00000000000000020000000000000010 {V00
             ; gcrRegs -[x0]
             ; gcr arg pop 0
             ldrb    w0, [fp, #0x28]    // [V12 loc11]
-            cbnz    w0, G_M18877_IG23
+            cbnz    w0, G_M18877_IG22
                         ;; size=28 bbWeight=8 PerfScore 76.00
-G_M18877_IG22:        ; bbWeight=4, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=200000 {x21}, byref
+G_M18877_IG21:        ; bbWeight=4, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=200000 {x21}, byref
             movz    x24, #0xD1FFAB1E
             movk    x24, #0xD1FFAB1E LSL #16
             movk    x24, #0xD1FFAB1E LSL #32
@@ -785,7 +776,7 @@ G_M18877_IG22:        ; bbWeight=4, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=20
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
                        ;; size=40 bbWeight=4 PerfScore 32.00
-G_M18877_IG23:        ; bbWeight=8, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=200000 {x21}, byref, isz
+G_M18877_IG22:        ; bbWeight=8, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=200000 {x21}, byref, isz
             ldr     x1, [x19, #0x10]
             ; gcrRegs +[x1]
             ldr     x0, [x1, #0x18]
@@ -798,9 +789,9 @@ G_M18877_IG23:        ; bbWeight=8, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=20
             ; gcrRegs +[x3]
             ldr     w1, [x3, #0x08]
             cmp     w1, w2
-            bls     G_M18877_IG26
+            bls     G_M18877_IG25
                        ;; size=36 bbWeight=8 PerfScore 144.00
-G_M18877_IG24:        ; bbWeight=3.67, gcrefRegs=580009 {x0 x3 x19 x20 x22}, byrefRegs=200000 {x21}, byref
+G_M18877_IG23:        ; bbWeight=3.67, gcrefRegs=580009 {x0 x3 x19 x20 x22}, byrefRegs=200000 {x21}, byref
             add     w1, w2, #1
             str     w1, [x0, #0x10]
             sxtw    x1, w2
@@ -810,9 +801,9 @@ G_M18877_IG24:        ; bbWeight=3.67, gcrefRegs=580009 {x0 x3 x19 x20 x22}, byr
             bl      CORINFO_HELP_ARRADDR_ST
             ; gcrRegs -[x0 x2-x3]
             ; gcr arg pop 0
-            b       G_M18877_IG27
+            b       G_M18877_IG26
                       ;; size=28 bbWeight=3.67 PerfScore 18.35
-G_M18877_IG25:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=200000 {x21}, byref
+G_M18877_IG24:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=200000 {x21}, byref
             ; gcrRegs -[x19-x20 x22]
             movz    x0, #0xD1FFAB1E      // code for System.Threading.Monitor:ThrowLockTakenException()
             movk    x0, #0xD1FFAB1E LSL #16
@@ -822,7 +813,7 @@ G_M18877_IG25:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=200000 {x21}, b
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M18877_IG26:        ; bbWeight=0.33, gcrefRegs=580001 {x0 x19 x20 x22}, byrefRegs=200000 {x21}, byref
+G_M18877_IG25:        ; bbWeight=0.33, gcrefRegs=580001 {x0 x19 x20 x22}, byrefRegs=200000 {x21}, byref
             ; gcrRegs +[x0 x19-x20 x22]
             mov     x1, x22
             ; gcrRegs +[x1]
@@ -834,13 +825,13 @@ G_M18877_IG26:        ; bbWeight=0.33, gcrefRegs=580001 {x0 x19 x20 x22}, byrefR
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
                        ;; size=24 bbWeight=0.33 PerfScore 1.98
-G_M18877_IG27:        ; bbWeight=8, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=200000 {x21}, byref, isz
+G_M18877_IG26:        ; bbWeight=8, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=200000 {x21}, byref, isz
             ldr     w0, [fp, #0x64]  // [V01 loc0]
-            tbz     w0, #31, G_M18877_IG29
+            tbz     w0, #31, G_M18877_IG28
                        ;; size=8 bbWeight=8 PerfScore 24.00
-G_M18877_IG28:        ; bbWeight=4, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=200000 {x21}, byref, isz
+G_M18877_IG27:        ; bbWeight=4, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=200000 {x21}, byref, isz
             ldrb    w0, [fp, #0x28] // [V12 loc11]
-            cbz     w0, G_M18877_IG29
+            cbz     w0, G_M18877_IG28
             ldr     x0, [fp, #0x18] // [V11 loc10]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V11}
@@ -848,7 +839,7 @@ G_M18877_IG28:        ; bbWeight=4, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=20
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=4 PerfScore 24.00
-G_M18877_IG29:        ; bbWeight=8, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=200000 {x21}, byref, isz
+G_M18877_IG28:        ; bbWeight=8, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=200000 {x21}, byref, isz
             movz    x0, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -868,14 +859,14 @@ G_M18877_IG29:        ; bbWeight=8, gcrefRegs=580000 {x19 x20 x22}, byrefRegs=20
             ldr     x2, [x2]
             blr     x2
             ; gcr arg pop 0
-            cbz     x0, G_M18877_IG44
+            cbz     x0, G_M18877_IG45
                       ;; size=64 bbWeight=8 PerfScore 132.00
-G_M18877_IG30:        ; bbWeight=4.00, gcrefRegs=1D80001 {x0 x19 x20 x22 x23 x24}, byrefRegs=200000 {x21}, byref
+G_M18877_IG29:        ; bbWeight=4.00, gcrefRegs=1D80001 {x0 x19 x20 x22 x23 x24}, byrefRegs=200000 {x21}, byref
             add     x25, x0, #16
             ; byrRegs +[x25]
             ldr     w26, [x0, #0x08]
                        ;; size=8 bbWeight=4.00 PerfScore 14.00
-G_M18877_IG31:        ; bbWeight=8, gcrefRegs=1D80001 {x0 x19 x20 x22 x23 x24}, byrefRegs=2200000 {x21 x25}, byref, isz
+G_M18877_IG30:        ; bbWeight=8, gcrefRegs=1D80001 {x0 x19 x20 x22 x23 x24}, byrefRegs=2200000 {x21 x25}, byref, isz
             stp     xzr, x0, [fp, #0x38]   // [V08 loc7], [V08 loc7+0x08]
             str     wzr, [fp, #0x48]   // [V08 loc7+0x10]
             strb    wzr, [fp, #0x4C]   // [V08 loc7+0x14]
@@ -885,15 +876,15 @@ G_M18877_IG31:        ; bbWeight=8, gcrefRegs=1D80001 {x0 x19 x20 x22 x23 x24},
             ; gcrRegs -[x0]
             ldr     w1, [fp, #0x58]    // [V08 loc7+0x20]
             cmp     w0, w1
-            bhi     G_M18877_IG50
+            bhi     G_M18877_IG85
             ldr     x2, [fp, #0x50]    // [V08 loc7+0x18]
             ; byrRegs +[x2]
             ubfiz   x3, x0, #1, #32
             add     x25, x2, x3
             sub     w26, w1, w0
-            tbz     w26, #31, G_M18877_IG33
+            tbz     w26, #31, G_M18877_IG32
                       ;; size=56 bbWeight=8 PerfScore 124.00
-G_M18877_IG32:        ; bbWeight=4, gcrefRegs=1D80000 {x19 x20 x22 x23 x24}, byrefRegs=2200000 {x21 x25}, byref
+G_M18877_IG31:        ; bbWeight=4, gcrefRegs=1D80000 {x19 x20 x22 x23 x24}, byrefRegs=2200000 {x21 x25}, byref
             ; byrRegs -[x2]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -910,11 +901,11 @@ G_M18877_IG32:        ; bbWeight=4, gcrefRegs=1D80000 {x19 x20 x22 x23 x24}, byr
             ; gcrRegs -[x1 x27]
             ; gcr arg pop 0
                        ;; size=40 bbWeight=4 PerfScore 32.00
-G_M18877_IG33:        ; bbWeight=8, gcrefRegs=1D80000 {x19 x20 x22 x23 x24}, byrefRegs=2200000 {x21 x25}, byref, isz
+G_M18877_IG32:        ; bbWeight=8, gcrefRegs=1D80000 {x19 x20 x22 x23 x24}, byrefRegs=2200000 {x21 x25}, byref, isz
             cmp     w26, #7
-            blo     G_M18877_IG52
+            blo     G_M18877_IG88
                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M18877_IG34:        ; bbWeight=3.98, gcrefRegs=1D80000 {x19 x20 x22 x23 x24}, byrefRegs=2200000 {x21 x25}, byref
+G_M18877_IG33:        ; bbWeight=3.98, gcrefRegs=1D80000 {x19 x20 x22 x23 x24}, byrefRegs=2200000 {x21 x25}, byref
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -926,7 +917,7 @@ G_M18877_IG34:        ; bbWeight=3.98, gcrefRegs=1D80000 {x19 x20 x22 x23 x24},
             add     w0, w0, #7
             str     w0, [fp, #0x48]    // [V08 loc7+0x10]
                        ;; size=40 bbWeight=3.98 PerfScore 51.80
-G_M18877_IG35:        ; bbWeight=8, gcrefRegs=1D80000 {x19 x20 x22 x23 x24}, byrefRegs=200000 {x21}, byref, isz
+G_M18877_IG34:        ; bbWeight=8, gcrefRegs=1D80000 {x19 x20 x22 x23 x24}, byrefRegs=200000 {x21}, byref, isz
             ; byrRegs -[x25]
             ldr     w1, [x21, #0x10]
             add     x0, fp, #56    // [V08 loc7]
@@ -939,16 +930,16 @@ G_M18877_IG35:        ; bbWeight=8, gcrefRegs=1D80000 {x19 x20 x22 x23 x24}, byr
             ldr     w0, [fp, #0x48]    // [V08 loc7+0x10]
             ldr     w1, [fp, #0x58]    // [V08 loc7+0x20]
             cmp     w0, w1
-            bhi     G_M18877_IG50
+            bhi     G_M18877_IG85
             ldr     x2, [fp, #0x50]    // [V08 loc7+0x18]
             ; byrRegs +[x2]
             ubfiz   x3, x0, #1, #32
             add     x25, x2, x3
             ; byrRegs +[x25]
...
  
  
libraries.crossgen2.linux.arm64.checked.mch
-20 (-11.11%) : 264288.dasm - System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
@@ -8,27 +8,26 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  4, 14   )     ref  ->  x20         this class-hnd single-def <System.Net.HttpEndPointListener>
-;  V01 arg1         [V01,T01] (  5, 22   )     ref  ->  x19         class-hnd single-def <System.Net.Sockets.SocketAsyncEventArgs>
-;  V02 loc0         [V02,T00] (  3, 24   )   ubyte  ->  x21        
+;  V00 this         [V00,T01] (  4, 18   )     ref  ->  x20         this class-hnd single-def <System.Net.HttpEndPointListener>
+;  V01 arg1         [V01,T00] (  5, 26   )     ref  ->  x19         class-hnd single-def <System.Net.Sockets.SocketAsyncEventArgs>
+;  V02 loc0         [V02,T02] (  2, 16   )   ubyte  ->   x0        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
-;  V05 PSPSym       [V05,T03] (  1,  1   )    long  ->  [fp+0x10]  do-not-enreg[V] "PSPSym"
+;  V05 PSPSym       [V05,T03] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 16
 
 G_M14120_IG01:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     x19, x20, [sp, #0x20]
             mov     fp, sp
             add     x2, sp, #48
-            str     x2, [fp, #0x10]   // [V05 PSPSym]
+            str     x2, [fp, #0x18]    // [V05 PSPSym]
             mov     x20, x0
             ; gcrRegs +[x20]
             mov     x19, x1
             ; gcrRegs +[x19]
-                     ;; size=32 bbWeight=8 PerfScore 48.00
+                     ;; size=28 bbWeight=8 PerfScore 40.00
 G_M14120_IG02:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -52,12 +51,9 @@ G_M14120_IG02:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            sxtw    w21, w0
-                       ;; size=60 bbWeight=8 PerfScore 168.00
+                        ;; size=56 bbWeight=8 PerfScore 164.00
 G_M14120_IG03:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            cbnz    w21, G_M14120_IG05
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M14120_IG04:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+            cbnz    w0, G_M14120_IG04
             mov     x0, x20
             ; gcrRegs +[x0]
             mov     x1, x19
@@ -68,35 +64,30 @@ G_M14120_IG04:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-                      ;; size=24 bbWeight=4 PerfScore 24.00
-G_M14120_IG05:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            cbz     w21, G_M14120_IG02
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M14120_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            b       G_M14120_IG02
+                       ;; size=32 bbWeight=8 PerfScore 64.00
+G_M14120_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x19-x20]
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
+            ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x30
             ret     lr
-                       ;; size=16 bbWeight=1 PerfScore 5.00
-G_M14120_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                        ;; size=12 bbWeight=1 PerfScore 3.00
+G_M14120_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     x19, x20, [sp, #0x20]
             add     x3, fp, #48
-            str     x3, [sp, #0x10]
-                       ;; size=20 bbWeight=0 PerfScore 0.00
-G_M14120_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            adr     x0, [G_M14120_IG06]
+            str     x3, [sp, #0x18]
+                       ;; size=16 bbWeight=0 PerfScore 0.00
+G_M14120_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+            adr     x0, [G_M14120_IG04]
                         ;; size=4 bbWeight=0 PerfScore 0.00
-G_M14120_IG09:        ; bbWeight=0, funclet epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
+G_M14120_IG07:        ; bbWeight=0, funclet epilog, nogc, extend
+            ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x30
             ret     lr
-                       ;; size=16 bbWeight=0 PerfScore 0.00
+                      ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 180, prolog size 32, PerfScore 261.00, instruction count 45, allocated bytes for code 180 (MethodHash=c2bdc8d7) for method System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
+; Total bytes of code 160, prolog size 28, PerfScore 271.00, instruction count 40, allocated bytes for code 160 (MethodHash=c2bdc8d7) for method System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -107,7 +98,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 35 (0x00023) Actual length = 140 (0x00008c)
+  Function Length   : 32 (0x00020) Actual length = 128 (0x000080)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -115,31 +106,29 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
+    C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
     85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
     E4          end
+    E4          end
+    E4          end
 
 Unwind Info:
   >> Start offset   : 0xd1ffab1e (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 2
+  Code Words        : 1
   Epilog Count      : 0
   E bit             : 1
   X bit             : 0
   Vers              : 0
-  Function Length   : 10 (0x0000a) Actual length = 40 (0x000028)
+  Function Length   : 8 (0x00008) Actual length = 32 (0x000020)
   --- One epilog, unwind codes at 0
   ---- Unwind codes ----
     ---- Epilog start at index 0 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
+    C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
     85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
-    E4          end
-    E4          end
 
 *************** EH table for System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M14120_IG02..G_M14120_IG03) handled by [G_M14120_IG07..END) (class: 100003E)
+EH#0: try [G_M14120_IG02..G_M14120_IG03) handled by [G_M14120_IG05..END) (class: 100003E)
  
-24 (-4.65%) : 37409.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
@@ -9,10 +9,10 @@
 ; 0 inlinees with PGO data; 12 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] (  3,  3   )    long  ->  x19         single-def
-;  V01 arg1         [V01,T19] (  3,  3   )    long  ->  x20         single-def
-;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x20]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T20] (  4, 11   )    long  ->  x20        
+;  V00 arg0         [V00,T19] (  3,  3   )    long  ->  x19         single-def
+;  V01 arg1         [V01,T20] (  3,  3   )    long  ->  x20         single-def
+;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x28]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
+;  V03 loc1         [V03,T21] (  4, 11   )    long  ->  x20        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
@@ -20,14 +20,14 @@
 ;  V08 tmp1         [V08,T10] (  7, 84   )     ref  ->  x19         class-hnd single-def "non-inline candidate call" <<unknown class>>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V11 tmp4         [V11,T29] (  2,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V12 tmp5         [V12,T22] (  2,  4   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp4         [V11,T30] (  2,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp5         [V12,T23] (  2,  4   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp10        [V17,T08] (  2, 16   )     int  ->   x3         "Inlining Arg"
-;  V18 tmp11        [V18,T07] (  2, 16   )   byref  ->  x11         "Inlining Arg"
+;  V17 tmp10        [V17,T07] (  2, 16   )     int  ->   x3         "Inlining Arg"
+;  V18 tmp11        [V18,T06] (  2, 16   )   byref  ->  x11         "Inlining Arg"
 ;* V19 tmp12        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V21 tmp14        [V21,T12] (  2,  8   )   ubyte  ->   x0         "Inline return value spill temp"
@@ -41,30 +41,30 @@
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V30 tmp23        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V32 tmp25        [V32,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V32 tmp25        [V32,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V33 tmp26        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V34 tmp27        [V34,T23] (  3, 17   )     ref  ->  x14         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V35 tmp28        [V35,T21] (  4, 18   )     int  ->  x15         "Inline stloc first use temp"
-;  V36 tmp29        [V36,T17] (  3, 20   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [fp+0x10]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
-;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
-;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
-;  V40 tmp33        [V40,T02] (  4, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V41 tmp34        [V41,T03] (  4, 20   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V34 tmp27        [V34,T24] (  3, 17   )     ref  ->  x14         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V35 tmp28        [V35,T22] (  4, 18   )     int  ->  x15         "Inline stloc first use temp"
+;  V36 tmp29        [V36,T18] (  3, 20   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [fp+0x18]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
+;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
+;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
+;  V40 tmp33        [V40,T03] (  4, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V41 tmp34        [V41,T02] (  4, 20   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V42 tmp35        [V42,T00] (  6, 41   )     int  ->  x22         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V43 tmp36        [V43,T05] (  3, 17   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
-;  V44 tmp37        [V44,T13] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp38        [V45,T15] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp36        [V43,T13] (  2,  9   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
+;  V44 tmp37        [V44,T14] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp38        [V45,T16] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V46 tmp39        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V47 tmp40        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V48 tmp41        [V48,T24] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;  V48 tmp41        [V48,T25] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V49 tmp42        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V50 tmp43        [V50,T27] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
-;  V51 tmp44        [V51,T25] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
+;* V50 tmp43        [V50,T28] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
+;  V51 tmp44        [V51,T26] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
 ;  V52 tmp45        [V52,T11] (  3, 12   )   byref  ->  x11         "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V53 tmp46        [V53,T06] (  4, 16   )     int  ->   x3         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V54 tmp47        [V54,T14] (  2,  8   )   byref  ->  x11         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V55 tmp48        [V55,T16] (  2,  8   )     int  ->   x3         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V53 tmp46        [V53,T05] (  4, 16   )     int  ->   x3         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V54 tmp47        [V54,T15] (  2,  8   )   byref  ->  x11         "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V55 tmp48        [V55,T17] (  2,  8   )     int  ->   x3         "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp50        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V58 tmp51        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
@@ -80,27 +80,27 @@
 ;* V68 tmp61        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V69 tmp62        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;  V70 tmp63        [V70,T01] (  3, 48   )     ref  ->   x2         "arr expr"
-;  V71 tmp64        [V71,T30] (  2,  0   )     ref  ->   x0         single-def "argument with side effect"
-;  V72 PSPSym       [V72,T28] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
-;  V73 cse0         [V73,T04] (  3, 24   )     int  ->  x23         "CSE - aggressive"
-;  V74 cse1         [V74,T26] (  2, 16   )     int  ->  x12         "CSE - moderate"
+;  V71 tmp64        [V71,T31] (  2,  0   )     ref  ->   x0         single-def "argument with side effect"
+;  V72 PSPSym       [V72,T29] (  1,  1   )    long  ->  [fp+0x38]  do-not-enreg[V] "PSPSym"
+;  V73 cse0         [V73,T09] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V74 cse1         [V74,T04] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V75 cse2         [V75,T27] (  2, 16   )     int  ->  x12         "CSE - moderate"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 48
 
 G_M19804_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x38]
-            stp     x21, x22, [sp, #0x48]
-            str     x23, [sp, #0x58]
+            stp     x19, x20, [sp, #0x40]
+            stp     x21, x22, [sp, #0x50]
             mov     fp, sp
-            str     xzr, [fp, #0x20]  // [V02 loc0]
+            str     xzr, [fp, #0x28] // [V02 loc0]
             add     x2, sp, #96
-            str     x2, [fp, #0x30]   // [V72 PSPSym]
+            str     x2, [fp, #0x38]    // [V72 PSPSym]
             mov     x19, x0
             mov     x20, x1
-                      ;; size=40 bbWeight=1 PerfScore 8.00
+                      ;; size=36 bbWeight=1 PerfScore 7.00
 G_M19804_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x0, fp, #16    // [V37 tmp30]
+            add     x0, fp, #24 // [V37 tmp30]
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x1, x1, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x1]
@@ -115,9 +115,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             blr     x1
             ; byrRegs +[x0]
             ; gcr arg pop 0
-            stp     x0, x1, [fp, #0x20]   // [V02 loc0], [V02 loc0+0x08]
+            stp     x0, x1, [fp, #0x28] // [V02 loc0], [V02 loc0+0x08]
             ldrb    w2, [x20, #0x08]
-            cbz     w2, G_M19804_IG11
+            cbz     w2, G_M19804_IG10
             ldr     x19, [x20]
             ; gcrRegs +[x19]
             ldr     w21, [x19, #0x14]
@@ -127,9 +127,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M19804_IG04:        ; bbWeight=4, gcrefRegs=80004 {x2 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x2]
             ; byrRegs -[x0]
-            ldr     x0, [fp, #0x20]   // [V38 tmp31]
+            ldr     x0, [fp, #0x28] // [V38 tmp31]
             ; byrRegs +[x0]
-            ldr     w1, [fp, #0x28]  // [V39 tmp32]
+            ldr     w1, [fp, #0x30] // [V39 tmp32]
             cbnz    x2, G_M19804_IG05
             mov     x11, xzr
             ; byrRegs +[x11]
@@ -156,15 +156,15 @@ G_M19804_IG06:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0801 {x0 x1
             blr     x3
             ; byrRegs -[x0-x1]
             ; gcr arg pop 0
-            cbnz    w0, G_M19804_IG14
+            cbnz    w0, G_M19804_IG13
                       ;; size=36 bbWeight=4 PerfScore 36.00
 G_M19804_IG07:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            ldr     w23, [x19, #0x14]
-            cmp     w21, w23
-            bne     G_M19804_IG10
+            ldr     w2, [x19, #0x14]
+            cmp     w21, w2
+            bne     G_M19804_IG09
             ldr     w2, [x19, #0x10]
             cmp     w22, w2
-            bhs     G_M19804_IG11
+            bhs     G_M19804_IG10
             ldr     x2, [x19, #0x08]
             ; gcrRegs +[x2]
             ldr     w0, [x2, #0x08]
@@ -196,13 +196,9 @@ G_M19804_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=20 bbWeight=0 PerfScore 0.00
 G_M19804_IG10:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            cmp     w21, w23
-            bne     G_M19804_IG09
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldr     x19, [x20]
             ; gcrRegs +[x19]
-            add     x0, fp, #32  // [V02 loc0]
+            add     x0, fp, #40  // [V02 loc0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x11]
@@ -218,9 +214,9 @@ G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x14]
             ldr     w12, [x14, #0x08]
             cmp     w12, w15
-            bls     G_M19804_IG13
+            bls     G_M19804_IG12
                      ;; size=56 bbWeight=8 PerfScore 168.00
-G_M19804_IG12:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG11:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             add     w12, w15, #1
             str     w12, [x19, #0x10]
@@ -236,9 +232,9 @@ G_M19804_IG12:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000
             blr     x12
             ; gcrRegs -[x1 x15 x19]
             ; byrRegs -[x14]
-            b       G_M19804_IG14
+            b       G_M19804_IG13
                      ;; size=40 bbWeight=1 PerfScore 9.50
-G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG12:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x1 x19]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -249,31 +245,29 @@ G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {},
             ; gcrRegs -[x0-x1 x19]
             ; gcr arg pop 0
                        ;; size=20 bbWeight=1 PerfScore 5.50
-G_M19804_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x0, fp, #16    // [V37 tmp30]
+G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            add     x0, fp, #24    // [V37 tmp30]
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x1, x1, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x1]
             blr     x1
             ; gcr arg pop 0
                        ;; size=20 bbWeight=1 PerfScore 5.50
-G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x23, [sp, #0x58]
-            ldp     x21, x22, [sp, #0x48]
-            ldp     x19, x20, [sp, #0x38]
+G_M19804_IG14:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x50]
+            ldp     x19, x20, [sp, #0x40]
             ldp     fp, lr, [sp], #0x60
             ret     lr
-                       ;; size=20 bbWeight=1 PerfScore 6.00
-G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                      ;; size=16 bbWeight=1 PerfScore 4.00
+G_M19804_IG15:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             ; gcrRegs +[x0]
             stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            str     x23, [sp, #0x38]
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
             add     x3, fp, #96
-            str     x3, [sp, #0x10]
-                       ;; size=24 bbWeight=0 PerfScore 0.00
-G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
+            str     x3, [sp, #0x18]
+                       ;; size=20 bbWeight=0 PerfScore 0.00
+G_M19804_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
...
  
-24 (-2.86%) : 35537.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
@@ -9,74 +9,75 @@
 ; 0 inlinees with PGO data; 23 single block inlinees; 10 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T17] (  7,  7   )     ref  ->  [fp+0x20]  class-hnd EH-live single-def <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;  V01 arg1         [V01,T14] (  3, 10   )     int  ->  x19         single-def
+;  V00 arg0         [V00,T18] (  7,  7   )     ref  ->  [fp+0x18]  class-hnd EH-live single-def <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
+;  V01 arg1         [V01,T15] (  3, 10   )     int  ->  x19         single-def
 ;* V02 arg2         [V02    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Threading.CancellationToken>
-;  V03 loc0         [V03,T15] (  4, 11   )   ubyte  ->  [fp+0x2C]  do-not-enreg[Z] EH-live
-;  V04 loc1         [V04,T05] (  7, 28   )     ref  ->  [fp+0x18]  class-hnd exact EH-live spill-single-def <System.Threading.Tasks.Task+SetOnCountdownMres>
+;  V03 loc0         [V03,T16] (  4, 11   )   ubyte  ->  [fp+0x24]  do-not-enreg[Z] EH-live
+;  V04 loc1         [V04,T04] (  7, 28   )     ref  ->  [fp+0x10]  class-hnd exact EH-live spill-single-def <System.Threading.Tasks.Task+SetOnCountdownMres>
 ;* V05 loc2         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V06 loc3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
 ;* V07 loc4         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V08 loc5         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V10 tmp1         [V10,T19] (  4,  8   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task+SetOnCountdownMres>
+;  V10 tmp1         [V10,T21] (  4,  8   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task+SetOnCountdownMres>
 ;* V11 tmp2         [V11    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V12 tmp3         [V12    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V13 tmp4         [V13    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V14 tmp5         [V14,T20] (  3,  6   )     int  ->  x22         "Inlining Arg"
+;  V14 tmp5         [V14,T22] (  3,  6   )     int  ->  x22         "Inlining Arg"
 ;* V15 tmp6         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V16 tmp7         [V16    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V17 tmp8         [V17    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V18 tmp9         [V18    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V19 tmp10        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V20 tmp11        [V20,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V20 tmp11        [V20,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V21 tmp12        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
 ;* V22 tmp13        [V22    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V23 tmp14        [V23    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;* V24 tmp15        [V24,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V24 tmp15        [V24,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V25 tmp16        [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;  V26 tmp17        [V26,T16] (  2,  9   )     ref  ->  x20         single-def "field V02._source (fldOffset=0x0)" P-INDEP
-;  V27 tmp18        [V27,T04] (  4, 25   )     ref  ->  x22         single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V26 tmp17        [V26,T17] (  2,  9   )     ref  ->  x20         single-def "field V02._source (fldOffset=0x0)" P-INDEP
+;  V27 tmp18        [V27,T05] (  4, 25   )     ref  ->  x22         single-def "field V05._list (fldOffset=0x0)" P-INDEP
 ;  V28 tmp19        [V28,T07] (  3, 16   )     ref  ->   x1         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V29 tmp20        [V29,T00] (  6, 41   )     int  ->  x24         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V30 tmp21        [V30,T11] (  3, 17   )     int  ->  x23         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V30 tmp21        [V30,T19] (  2,  9   )     int  ->  x23         "field V05._version (fldOffset=0x14)" P-INDEP
 ;  V31 tmp22        [V31,T06] (  4, 25   )     ref  ->  x19         single-def "field V07._list (fldOffset=0x0)" P-INDEP
 ;  V32 tmp23        [V32,T08] (  3, 16   )     ref  ->   x0         "field V07._current (fldOffset=0x8)" P-INDEP
 ;  V33 tmp24        [V33,T01] (  6, 41   )     int  ->  x21         "field V07._index (fldOffset=0x10)" P-INDEP
-;  V34 tmp25        [V34,T18] (  2,  9   )     int  ->  x20         "field V07._version (fldOffset=0x14)" P-INDEP
-;  V35 tmp26        [V35,T22] (  3,  3   )     ref  ->  x22         single-def "field V17._list (fldOffset=0x0)" P-INDEP
+;  V34 tmp25        [V34,T20] (  2,  9   )     int  ->  x20         "field V07._version (fldOffset=0x14)" P-INDEP
+;  V35 tmp26        [V35,T24] (  3,  3   )     ref  ->  x22         single-def "field V17._list (fldOffset=0x0)" P-INDEP
 ;* V36 tmp27        [V36    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V17._current (fldOffset=0x8)" P-INDEP
-;* V37 tmp28        [V37,T26] (  0,  0   )     int  ->  zero-ref    "field V17._index (fldOffset=0x10)" P-INDEP
-;  V38 tmp29        [V38,T24] (  2,  2   )     int  ->  x23         "field V17._version (fldOffset=0x14)" P-INDEP
-;  V39 tmp30        [V39,T23] (  3,  3   )     ref  ->  x19         single-def "field V22._list (fldOffset=0x0)" P-INDEP
+;* V37 tmp28        [V37,T28] (  0,  0   )     int  ->  zero-ref    "field V17._index (fldOffset=0x10)" P-INDEP
+;  V38 tmp29        [V38,T26] (  2,  2   )     int  ->  x23         "field V17._version (fldOffset=0x14)" P-INDEP
+;  V39 tmp30        [V39,T25] (  3,  3   )     ref  ->  x19         single-def "field V22._list (fldOffset=0x0)" P-INDEP
 ;* V40 tmp31        [V40    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V22._current (fldOffset=0x8)" P-INDEP
-;* V41 tmp32        [V41,T27] (  0,  0   )     int  ->  zero-ref    "field V22._index (fldOffset=0x10)" P-INDEP
-;  V42 tmp33        [V42,T25] (  2,  2   )     int  ->  x20         "field V22._version (fldOffset=0x14)" P-INDEP
-;  V43 tmp34        [V43,T21] (  2,  4   )     int  ->   x2         "argument with side effect"
+;* V41 tmp32        [V41,T29] (  0,  0   )     int  ->  zero-ref    "field V22._index (fldOffset=0x10)" P-INDEP
+;  V42 tmp33        [V42,T27] (  2,  2   )     int  ->  x20         "field V22._version (fldOffset=0x14)" P-INDEP
+;  V43 tmp34        [V43,T23] (  2,  4   )     int  ->   x2         "argument with side effect"
 ;  V44 tmp35        [V44,T02] (  3, 48   )     ref  ->   x1         "arr expr"
 ;  V45 tmp36        [V45,T03] (  3, 48   )     ref  ->   x0         "arr expr"
-;  V46 PSPSym       [V46,T28] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
-;  V47 cse0         [V47,T09] (  3, 24   )     int  ->  x25         "CSE - aggressive"
-;  V48 cse1         [V48,T10] (  2, 16   )     int  ->   x0         "CSE - aggressive"
+;  V46 PSPSym       [V46,T30] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
+;  V47 cse0         [V47,T13] (  2, 16   )     int  ->   x1         "CSE - aggressive"
+;  V48 cse1         [V48,T09] (  2, 16   )     int  ->   x1         "CSE - aggressive"
+;  V49 cse2         [V49,T14] (  2, 16   )     int  ->   x0         "CSE - aggressive"
+;  V50 cse3         [V50,T10] (  2, 16   )     int  ->   x0         "CSE - aggressive"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 32
 
 G_M12834_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x70]!
-            stp     x19, x20, [sp, #0x38]
-            stp     x21, x22, [sp, #0x48]
-            stp     x23, x24, [sp, #0x58]
-            str     x25, [sp, #0x68]
+            stp     fp, lr, [sp, #-0x60]!
+            stp     x19, x20, [sp, #0x30]
+            stp     x21, x22, [sp, #0x40]
+            stp     x23, x24, [sp, #0x50]
             mov     fp, sp
-            add     x3, sp, #112
-            str     x3, [fp, #0x30]    // [V46 PSPSym]
-            str     x0, [fp, #0x20]    // [V00 arg0]
+            add     x3, sp, #96
+            str     x3, [fp, #0x28]    // [V46 PSPSym]
+            str     x0, [fp, #0x18]    // [V00 arg0]
             ; GC ptr vars +{V00}
             mov     w19, w1
             mov     x20, x2
             ; gcrRegs +[x20]
-                     ;; size=44 bbWeight=1 PerfScore 9.00
-G_M12834_IG02:        ; bbWeight=1, gcVars=0000000000020000 {V00}, gcrefRegs=100001 {x0 x20}, byrefRegs=0000 {}, gcvars, byref, isz
+                      ;; size=40 bbWeight=1 PerfScore 8.00
+G_M12834_IG02:        ; bbWeight=1, gcVars=0000000000040000 {V00}, gcrefRegs=100001 {x0 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x0]
             cbnz    x0, G_M12834_IG03
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]      // const ptr
@@ -96,7 +97,7 @@ G_M12834_IG02:        ; bbWeight=1, gcVars=0000000000020000 {V00}, gcrefRegs=100
             ; gcr arg pop 0
                        ;; size=52 bbWeight=1 PerfScore 20.00
 G_M12834_IG03:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
-            ldr     x0, [fp, #0x20] // [V00 arg0]
+            ldr     x0, [fp, #0x18]  // [V00 arg0]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x10]
             cmp     w1, #0
@@ -118,7 +119,7 @@ G_M12834_IG03:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, b
             ; gcr arg pop 0
                        ;; size=64 bbWeight=1 PerfScore 25.50
 G_M12834_IG04:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
-            str     wzr, [fp, #0x2C]    // [V03 loc0]
+            str     wzr, [fp, #0x24] // [V03 loc0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x11]
@@ -127,7 +128,7 @@ G_M12834_IG04:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, b
             ; gcr arg pop 0
             mov     x21, x0
             ; gcrRegs +[x21]
-            ldr     x0, [fp, #0x20]  // [V00 arg0]
+            ldr     x0, [fp, #0x18]  // [V00 arg0]
             ldr     w22, [x0, #0x10]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
@@ -168,11 +169,11 @@ G_M12834_IG04:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, b
                        ;; size=132 bbWeight=1 PerfScore 46.00
 G_M12834_IG05:        ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
             str     w22, [x21, #0x1C]
-            str     x21, [fp, #0x18]    // [V04 loc1]
+            str     x21, [fp, #0x10] // [V04 loc1]
             ; GC ptr vars +{V04}
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M12834_IG06:        ; bbWeight=1, gcVars=0000000000020020 {V00 V04}, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, gcvars, byref
-            ldr     x0, [fp, #0x20]    // [V00 arg0]
+G_M12834_IG06:        ; bbWeight=1, gcVars=0000000000040010 {V00 V04}, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, gcvars, byref
+            ldr     x0, [fp, #0x18]    // [V00 arg0]
             ; gcrRegs +[x0]
             mov     x22, x0
             ; gcrRegs +[x22]
@@ -232,12 +233,12 @@ G_M12834_IG08:        ; bbWeight=4, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=00
             ; gcr arg pop 0
                        ;; size=56 bbWeight=4 PerfScore 92.00
 G_M12834_IG09:        ; bbWeight=8, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0000 {}, byref, isz
-            ldr     w25, [x22, #0x14]
-            cmp     w23, w25
-            bne     G_M12834_IG12
+            ldr     w1, [x22, #0x14]
+            cmp     w23, w1
+            bne     G_M12834_IG11
             ldr     w1, [x22, #0x10]
             cmp     w24, w1
-            bhs     G_M12834_IG13
+            bhs     G_M12834_IG12
             ldr     x1, [x22, #0x08]
             ; gcrRegs +[x1]
             ldr     w11, [x1, #0x08]
@@ -269,12 +270,8 @@ G_M12834_IG11:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, b
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=20 bbWeight=0 PerfScore 0.00
-G_M12834_IG12:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M12834_IG12:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x20]
-            cmp     w23, w25
-            bne     G_M12834_IG11
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M12834_IG13:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
             mov     x0, x21
             ; gcrRegs +[x0]
             mov     x2, x20
@@ -286,50 +283,48 @@ G_M12834_IG13:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {
             blr     x3
             ; gcrRegs -[x0 x2 x20]
             ; gcr arg pop 0
-            str     w0, [fp, #0x2C]   // [V03 loc0]
+            str     w0, [fp, #0x24]  // [V03 loc0]
                        ;; size=32 bbWeight=8 PerfScore 60.00
-G_M12834_IG14:        ; bbWeight=1, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
-            ldr     x0, [fp, #0x30]    // [V46 PSPSym]
-            bl      G_M12834_IG18
+G_M12834_IG13:        ; bbWeight=1, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
+            ldr     x0, [fp, #0x28]    // [V46 PSPSym]
+            bl      G_M12834_IG17
                       ;; size=8 bbWeight=1 PerfScore 3.00
-G_M12834_IG15:        ; bbWeight=1, nogc, extend
+G_M12834_IG14:        ; bbWeight=1, nogc, extend
             nop     
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M12834_IG16:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M12834_IG15:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x21]
             ; GC ptr vars -{V00 V04}
-            ldr     w0, [fp, #0x2C]  // [V03 loc0]
+            ldr     w0, [fp, #0x24]  // [V03 loc0]
                        ;; size=4 bbWeight=1 PerfScore 2.00
-G_M12834_IG17:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x25, [sp, #0x68]
-            ldp     x23, x24, [sp, #0x58]
-            ldp     x21, x22, [sp, #0x48]
-            ldp     x19, x20, [sp, #0x38]
-            ldp     fp, lr, [sp], #0x70
+G_M12834_IG16:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x23, x24, [sp, #0x50]
+            ldp     x21, x22, [sp, #0x40]
+            ldp     x19, x20, [sp, #0x30]
+            ldp     fp, lr, [sp], #0x60
             ret     lr
-                        ;; size=24 bbWeight=1 PerfScore 7.00
-G_M12834_IG18:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                        ;; size=20 bbWeight=1 PerfScore 5.00
+G_M12834_IG17:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             stp     fp, lr, [sp, #-0x50]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            stp     x23, x24, [sp, #0x38]
-            str     x25, [sp, #0x48]
-            add     x3, fp, #112
-            str     x3, [sp, #0x10]
-                       ;; size=28 bbWeight=1 PerfScore 6.50
-G_M12834_IG19:        ; bbWeight=1, gcVars=0000000000020020 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
+            stp     x23, x24, [sp, #0x40]
+            add     x3, fp, #96
+            str     x3, [sp, #0x18]
+                       ;; size=24 bbWeight=1 PerfScore 5.50
+G_M12834_IG18:        ; bbWeight=1, gcVars=0000000000040010 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ; GC ptr vars +{V00 V04}
-            ldr     w0, [fp, #0x2C]   // [V03 loc0]
-            cbnz    w0, G_M12834_IG24
-            ldr     x0, [fp, #0x20]    // [V00 arg0]
+            ldr     w0, [fp, #0x24]  // [V03 loc0]
+            cbnz    w0, G_M12834_IG23
+            ldr     x0, [fp, #0x18]    // [V00 arg0]
             ; gcrRegs +[x0]
             mov     x19, x0
             ; gcrRegs +[x19]
             ldr     w20, [x19, #0x14]
...
  
+0 (0.00%) : 258545.dasm - ParallelRunner:BuildProjects(int,int,int,int,System.Collections.Generic.List`1[ProcessInfo],ReadyToRunJittedMethods,int) (FullOpts)
@@ -10,36 +10,36 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T26] (  4,   4   )     int  ->  x24         single-def
-;  V01 arg1         [V01,T14] (  4,  35   )     int  ->  x19         single-def
-;  V02 arg2         [V02,T16] (  3,  34   )     int  ->  x21         single-def
-;  V03 arg3         [V03    ] (  5, 354   )     int  ->  [fp+0x34]  do-not-enreg[X] addr-exposed ld-addr-op single-def
-;  V04 arg4         [V04,T24] (  3,   6   )     ref  ->  x23         class-hnd single-def <System.Collections.Generic.List`1[ProcessInfo]>
-;  V05 arg5         [V05,T15] (  3,  34   )     ref  ->  x20         class-hnd single-def <ReadyToRunJittedMethods>
-;  V06 arg6         [V06,T23] (  7,   8.50)     int  ->  x22         single-def
-;  V07 loc0         [V07,T22] (  7,  15   )     ref  ->  [fp+0x18]  class-hnd exact EH-live single-def <System.Threading.AutoResetEvent>
+;  V01 arg1         [V01,T20] (  4,   7   )     int  ->  x20         single-def
+;  V02 arg2         [V02,T23] (  3,   6   )     int  ->  x23         single-def
+;  V03 arg3         [V03    ] (  5, 326   )     int  ->  [fp+0x34]  do-not-enreg[X] addr-exposed ld-addr-op single-def
+;  V04 arg4         [V04,T21] (  3,   6   )     ref  ->  x21         class-hnd single-def <System.Collections.Generic.List`1[ProcessInfo]>
+;  V05 arg5         [V05,T22] (  3,   6   )     ref  ->  x22         class-hnd single-def <ReadyToRunJittedMethods>
+;  V06 arg6         [V06,T19] (  7,   8.50)     int  ->  x19         single-def
+;  V07 loc0         [V07,T18] (  7,  15   )     ref  ->  [fp+0x18]  class-hnd exact EH-live single-def <System.Threading.AutoResetEvent>
 ;  V08 loc1         [V08,T07] (  8, 125.50)     ref  ->  x26         class-hnd exact single-def <<unknown class>>
-;  V09 loc2         [V09    ] (  4, 353   )     int  ->  [fp+0x28]  do-not-enreg[X] must-init addr-exposed ld-addr-op
-;  V10 loc3         [V10,T20] (  3,  24   )   ubyte  ->  x22        
-;  V11 loc4         [V11,T21] ( 12,  21.04)     int  ->  x27        
-;  V12 loc5         [V12,T10] (  7, 134   )     int  ->  x24        
-;  V13 loc6         [V13,T17] (  2,  36   )     ref  ->  x22         class-hnd <ProcessInfo>
-;  V14 loc7         [V14,T06] (  4, 196   )     ref  ->  x27         class-hnd <ParallelRunner+ProcessSlot>
-;* V15 loc8         [V15,T19] (  0,   0   )     ref  ->  zero-ref    class-hnd exact <<unknown class>>
+;  V09 loc2         [V09    ] (  4, 325   )     int  ->  [fp+0x28]  do-not-enreg[X] must-init addr-exposed ld-addr-op
+;  V10 loc3         [V10,T15] (  3,  24   )   ubyte  ->  x19        
+;  V11 loc4         [V11,T17] ( 12,  21.04)     int  ->  x27        
+;  V12 loc5         [V12,T16] (  7,  22   )     int  ->  x24        
+;  V13 loc6         [V13,T24] (  2,   8   )     ref  ->  x19         class-hnd <ProcessInfo>
+;  V14 loc7         [V14,T06] (  4, 168   )     ref  ->  x27         class-hnd <ParallelRunner+ProcessSlot>
+;* V15 loc8         [V15,T14] (  0,   0   )     ref  ->  zero-ref    class-hnd exact <<unknown class>>
 ;  V16 loc9         [V16,T04] (  5, 288   )     int  ->  x28        
 ;  V17 loc10        [V17,T01] (  5, 768   )     ref  ->  [fp+0x10]  class-hnd spill-single-def <ParallelRunner+ProcessSlot>
 ;* V18 loc11        [V18,T25] (  0,   0   )     ref  ->  zero-ref    class-hnd exact <<unknown class>>
-;  V19 loc12        [V19,T12] (  5,  72   )     int  ->  x24        
+;  V19 loc12        [V19,T11] (  5,  72   )     int  ->  x24        
 ;  V20 loc13        [V20,T09] (  4, 160   )     ref  ->  x27         class-hnd <ParallelRunner+ProcessSlot>
 ;# V21 OutArgs      [V21    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V22 tmp1         [V22,T27] (  3,   6   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Threading.AutoResetEvent>
-;  V23 tmp2         [V23,T18] (  8,  32   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <ParallelRunner+ProcessSlot>
+;  V23 tmp2         [V23,T13] (  8,  32   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <ParallelRunner+ProcessSlot>
 ;* V24 tmp3         [V24,T05] (  0,   0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V25 tmp4         [V25,T00] (  4,2048   )     ref  ->  x27         class-hnd "Inlining Arg" <ProcessRunner>
-;* V26 tmp5         [V26,T13] (  0,   0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V27 tmp6         [V27,T02] (  4, 512   )     ref  ->  x19         class-hnd "Inlining Arg" <ProcessRunner>
+;* V26 tmp5         [V26,T12] (  0,   0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V27 tmp6         [V27,T02] (  4, 512   )     ref  ->  x20         class-hnd "Inlining Arg" <ProcessRunner>
 ;  V28 PSPSym       [V28,T28] (  1,   1   )    long  ->  [fp+0x38]  do-not-enreg[V] "PSPSym"
 ;  V29 cse0         [V29,T03] (  3, 384   )     ref  ->   x0         "CSE - aggressive"
-;  V30 cse1         [V30,T11] (  3,  96   )     ref  ->   x0         "CSE - aggressive"
+;  V30 cse1         [V30,T10] (  3,  96   )     ref  ->   x0         "CSE - aggressive"
 ;  V31 cse2         [V31,T08] (  9, 161.04)     int  ->  [fp+0x24]  multi-def "CSE - aggressive"
 ;
 ; Lcl frame size = 48
@@ -57,15 +57,15 @@ G_M64833_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             str     x7, [fp, #0x38]    // [V28 PSPSym]
             str     w3, [fp, #0x34]    // [V03 arg3]
             mov     w24, w0
-            mov     w19, w1
-            mov     w21, w2
-            mov     x23, x4
-            ; gcrRegs +[x23]
-            mov     x20, x5
-            ; gcrRegs +[x20]
-            mov     w22, w6
+            mov     w20, w1
+            mov     w23, w2
+            mov     x21, x4
+            ; gcrRegs +[x21]
+            mov     x22, x5
+            ; gcrRegs +[x22]
+            mov     w19, w6
                         ;; size=68 bbWeight=1 PerfScore 13.00
-G_M64833_IG02:        ; bbWeight=1, gcrefRegs=900000 {x20 x23}, byrefRegs=0000 {}, byref
+G_M64833_IG02:        ; bbWeight=1, gcrefRegs=600000 {x21 x22}, byrefRegs=0000 {}, byref
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x11]
@@ -84,8 +84,8 @@ G_M64833_IG02:        ; bbWeight=1, gcrefRegs=900000 {x20 x23}, byrefRegs=0000 {
             str     x25, [fp, #0x18]   // [V07 loc0]
             ; GC ptr vars +{V07}
                        ;; size=44 bbWeight=1 PerfScore 12.00
-G_M64833_IG03:        ; bbWeight=1, gcVars=0000000000400000 {V07}, gcrefRegs=2900000 {x20 x23 x25}, byrefRegs=0000 {}, gcvars, byref, isz
-            sxtw    x0, w22
+G_M64833_IG03:        ; bbWeight=1, gcVars=0000000000040000 {V07}, gcrefRegs=2600000 {x21 x22 x25}, byrefRegs=0000 {}, gcvars, byref, isz
+            sxtw    x0, w19
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x11]
@@ -95,16 +95,16 @@ G_M64833_IG03:        ; bbWeight=1, gcVars=0000000000400000 {V07}, gcrefRegs=290
             mov     x26, x0
             ; gcrRegs +[x26]
             mov     w27, wzr
-            cmp     w22, #0
+            cmp     w19, #0
             ble     G_M64833_IG06
                        ;; size=36 bbWeight=1 PerfScore 8.00
-G_M64833_IG04:        ; bbWeight=0.50, gcrefRegs=6900000 {x20 x23 x25 x26}, byrefRegs=0000 {}, byref, isz
+G_M64833_IG04:        ; bbWeight=0.50, gcrefRegs=6600000 {x21 x22 x25 x26}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
             ldr     w28, [x26, #0x08]
-            cmp     w28, w22
+            cmp     w28, w19
             blt     G_M64833_IG14
                        ;; size=12 bbWeight=0.50 PerfScore 2.25
-G_M64833_IG05:        ; bbWeight=3.96, gcrefRegs=6900000 {x20 x23 x25 x26}, byrefRegs=0000 {}, byref, isz
+G_M64833_IG05:        ; bbWeight=3.96, gcrefRegs=6600000 {x21 x22 x25 x26}, byrefRegs=0000 {}, byref, isz
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x11]
@@ -134,16 +134,16 @@ G_M64833_IG05:        ; bbWeight=3.96, gcrefRegs=6900000 {x20 x23 x25 x26}, byre
             ; gcrRegs -[x0 x15]
             ; byrRegs -[x14]
             add     w27, w27, #1
-            cmp     w27, w22
+            cmp     w27, w19
             blt     G_M64833_IG05
                        ;; size=84 bbWeight=3.96 PerfScore 83.16
-G_M64833_IG06:        ; bbWeight=1, gcrefRegs=6900000 {x20 x23 x25 x26}, byrefRegs=0000 {}, byref, isz
+G_M64833_IG06:        ; bbWeight=1, gcrefRegs=6600000 {x21 x22 x25 x26}, byrefRegs=0000 {}, byref, isz
             str     w24, [fp, #0x28]    // [V09 loc2]
-            cmp     w24, w19
+            cmp     w24, w20
             bge     G_M64833_IG19
                        ;; size=12 bbWeight=1 PerfScore 2.50
-G_M64833_IG07:        ; bbWeight=4, gcrefRegs=6900000 {x20 x23 x25 x26}, byrefRegs=0000 {}, byref
-            mov     x0, x23
+G_M64833_IG07:        ; bbWeight=4, gcrefRegs=6600000 {x21 x22 x25 x26}, byrefRegs=0000 {}, byref
+            mov     x0, x21
             ; gcrRegs +[x0]
             mov     w1, w24
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -152,12 +152,12 @@ G_M64833_IG07:        ; bbWeight=4, gcrefRegs=6900000 {x20 x23 x25 x26}, byrefRe
             ldr     x2, [x11]
             blr     x2
             ; gcr arg pop 0
-            mov     x22, x0
-            ; gcrRegs +[x22]
+            mov     x19, x0
+            ; gcrRegs +[x19]
             mov     x27, xzr
             ; gcrRegs +[x27]
                        ;; size=36 bbWeight=4 PerfScore 40.00
-G_M64833_IG08:        ; bbWeight=32, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, byref, isz
+G_M64833_IG08:        ; bbWeight=32, gcrefRegs=E680000 {x19 x21 x22 x25 x26 x27}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
             mov     w28, wzr
             ldr     w0, [x26, #0x08]
@@ -166,7 +166,7 @@ G_M64833_IG08:        ; bbWeight=32, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}
             cmp     w3, #0
             ble     G_M64833_IG11
                        ;; size=24 bbWeight=32 PerfScore 208.00
-G_M64833_IG09:        ; bbWeight=64, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, byref, isz
+G_M64833_IG09:        ; bbWeight=64, gcrefRegs=E680000 {x19 x21 x22 x25 x26 x27}, byrefRegs=0000 {}, byref, isz
             add     x0, x26, #16
             ; byrRegs +[x0]
             ldr     x4, [x0, w28, UXTW #3]
@@ -178,17 +178,17 @@ G_M64833_IG09:        ; bbWeight=64, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}
             ; byrRegs -[x0]
             cbnz    x0, G_M64833_IG15
                        ;; size=20 bbWeight=64 PerfScore 544.00
-G_M64833_IG10:        ; bbWeight=128, gcVars=0000000000400002 {V07 V17}, gcrefRegs=6D00010 {x4 x20 x22 x23 x25 x26}, byrefRegs=0000 {}, gcvars, byref
+G_M64833_IG10:        ; bbWeight=128, gcVars=0000000000040002 {V07 V17}, gcrefRegs=6680010 {x4 x19 x21 x22 x25 x26}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0 x27]
             mov     x27, x4
             ; gcrRegs +[x27]
                        ;; size=4 bbWeight=128 PerfScore 64.00
-G_M64833_IG11:        ; bbWeight=32, gcVars=0000000000400000 {V07}, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M64833_IG11:        ; bbWeight=32, gcVars=0000000000040000 {V07}, gcrefRegs=E680000 {x19 x21 x22 x25 x26 x27}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x4]
             ; GC ptr vars -{V17}
             cbnz    x27, G_M64833_IG18
                        ;; size=4 bbWeight=32 PerfScore 32.00
-G_M64833_IG12:        ; bbWeight=8, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, byref
+G_M64833_IG12:        ; bbWeight=8, gcrefRegs=E680000 {x19 x21 x22 x25 x26 x27}, byrefRegs=0000 {}, byref
             mov     x0, x25
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -201,15 +201,15 @@ G_M64833_IG12:        ; bbWeight=8, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27},
             b       G_M64833_IG08
                        ;; size=28 bbWeight=8 PerfScore 56.00
 G_M64833_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x20 x22-x23 x25-x27]
+            ; gcrRegs -[x19 x21-x22 x25-x27]
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x0]
             blr     x0
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M64833_IG14:        ; bbWeight=0.04, gcrefRegs=6900000 {x20 x23 x25 x26}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x20 x23 x25-x26]
+G_M64833_IG14:        ; bbWeight=0.04, gcrefRegs=6600000 {x21 x22 x25 x26}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs +[x21-x22 x25-x26]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x11]
@@ -241,12 +241,12 @@ G_M64833_IG14:        ; bbWeight=0.04, gcrefRegs=6900000 {x20 x23 x25 x26}, byre
             ; gcrRegs -[x0 x15]
             ; byrRegs -[x14]
             add     w27, w27, #1
-            cmp     w27, w22
+            cmp     w27, w19
             blt     G_M64833_IG14
             b       G_M64833_IG06
                        ;; size=96 bbWeight=0.04 PerfScore 0.94
-G_M64833_IG15:        ; bbWeight=256, gcVars=0000000000400002 {V07 V17}, gcrefRegs=ED00011 {x0 x4 x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x0 x4 x22 x27]
+G_M64833_IG15:        ; bbWeight=256, gcVars=0000000000040002 {V07 V17}, gcrefRegs=E680011 {x0 x4 x19 x21 x22 x25 x26 x27}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs +[x0 x4 x19 x27]
             ; GC ptr vars +{V01 V17}
             add     x2, fp, #52    // [V03 arg3]
             add     x1, fp, #40    // [V09 loc2]
@@ -283,7 +283,7 @@ G_M64833_IG15:        ; bbWeight=256, gcVars=0000000000400002 {V07 V17}, gcrefRe
             ; gcrRegs +[x4]
             b       G_M64833_IG10
                        ;; size=96 bbWeight=256 PerfScore 8064.00
-G_M64833_IG16:        ; bbWeight=64, gcVars=0000000000400000 {V07}, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M64833_IG16:        ; bbWeight=64, gcVars=0000000000040000 {V07}, gcrefRegs=E680000 {x19 x21 x22 x25 x26 x27}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x4 x28] +[x27]
             ; GC ptr vars -{V01 V17}
             add     w28, w28, #1
@@ -292,33 +292,33 @@ G_M64833_IG16:        ; bbWeight=64, gcVars=0000000000400000 {V07}, gcrefRegs=ED
             str     w2, [fp, #0x24]    // [V31 cse2]
             bgt     G_M64833_IG09
                        ;; size=20 bbWeight=64 PerfScore 320.00
-G_M64833_IG17:        ; bbWeight=32, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, byref
+G_M64833_IG17:        ; bbWeight=32, gcrefRegs=E680000 {x19 x21 x22 x25 x26 x27}, byrefRegs=0000 {}, byref
             b       G_M64833_IG11
                        ;; size=4 bbWeight=32 PerfScore 32.00
-G_M64833_IG18:        ; bbWeight=32, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, byref, isz
+G_M64833_IG18:        ; bbWeight=4, gcrefRegs=E680000 {x19 x21 x22 x25 x26 x27}, byrefRegs=0000 {}, byref, isz
             add     w3, w24, #1
             mov     x0, x27
             ; gcrRegs +[x0]
             ldr     w6, [fp, #0x34]    // [V03 arg3]
-            mov     x1, x22
+            mov     x1, x19
             ; gcrRegs +[x1]
-            mov     x2, x20
+            mov     x2, x22
             ; gcrRegs +[x2]
-            mov     w4, w21
+            mov     w4, w23
             ldr     w5, [fp, #0x28]    // [V09 loc2]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x7, [x11]
...
  
+8 (+0.09%) : 37010.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
@@ -23,9 +23,9 @@
 ;* V11 loc10        [V11    ] (  0,  0   )     int  ->  zero-ref    ptr
 ;* V12 loc11        [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact ptr <System.Diagnostics.Tracing.ManifestBuilder+ChannelInfo>
 ;  V13 loc12        [V13,T63] (  5, 14   )     ref  ->  x24         class-hnd <System.String>
-;  V14 loc13        [V14,T90] (  3,  8   )   ubyte  ->  x25        
-;  V15 loc14        [V15,T82] (  4, 10   )     ref  ->  x26         class-hnd <System.String>
-;  V16 loc15        [V16,T87] (  4,  8   )     ref  ->  x25         class-hnd exact <System.Diagnostics.Tracing.EventChannelAttribute>
+;  V14 loc13        [V14,T89] (  3,  8   )   ubyte  ->  x25        
+;  V15 loc14        [V15,T81] (  4, 10   )     ref  ->  x26         class-hnd <System.String>
+;  V16 loc15        [V16,T86] (  4,  8   )     ref  ->  x25         class-hnd exact <System.Diagnostics.Tracing.EventChannelAttribute>
 ;  V17 loc16        [V17,T148] (  2,  4   )     int  ->  x24         ld-addr-op
 ;* V18 loc17        [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def ptr <System.Collections.Generic.List`1[int]>
 ;* V19 loc18        [V19    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[int]>
@@ -34,7 +34,7 @@
 ;  V22 loc21        [V22,T23] (  7, 28   )     ref  ->  x21         class-hnd <System.Type>
 ;  V23 loc22        [V23,T58] (  3, 16   )   ubyte  ->  x22        
 ;  V24 loc23        [V24,T51] (  7, 16   )     ref  ->  x23         class-hnd <System.String>
-;  V25 loc24        [V25,T92] (  2,  8   )     ref  ->  x24         class-hnd <System.Reflection.FieldInfo[]>
+;  V25 loc24        [V25,T91] (  2,  8   )     ref  ->  x24         class-hnd <System.Reflection.FieldInfo[]>
 ;  V26 loc25        [V26,T59] (  3, 16   )   ubyte  ->  x25        
 ;  V27 loc26        [V27,T32] (  3, 24   )     ref  ->  x24         class-hnd <System.Reflection.FieldInfo[]>
 ;  V28 loc27        [V28,T06] (  5, 68   )     int  ->  x26        
@@ -50,22 +50,22 @@
 ;* V38 loc37        [V38    ] (  0,  0   )    long  ->  zero-ref    ld-addr-op ptr
 ;  V39 loc38        [V39    ] (  2,  4   )     int  ->  [fp+0x88]  do-not-enreg[X] addr-exposed ld-addr-op ptr
 ;* V40 loc39        [V40    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[ushort]>
-;  V41 loc40        [V41,T83] (  4, 10   )     ref  ->  x20         class-hnd exact single-def <<unknown class>>
-;  V42 loc41        [V42,T48] (  5, 17   )     int  ->  x22        
+;  V41 loc40        [V41,T82] (  4, 10   )     ref  ->  x20         class-hnd exact single-def <<unknown class>>
+;  V42 loc41        [V42,T49] (  5, 17   )     int  ->  x22        
 ;  V43 loc42        [V43,T64] (  5, 14   )     ref  ->  x23         class-hnd exact <System.String>
-;  V44 loc43        [V44,T84] (  4, 10   )     ref  ->  x24         class-hnd exact <System.String>
+;  V44 loc43        [V44,T83] (  4, 10   )     ref  ->  x24         class-hnd exact <System.String>
 ;# V45 OutArgs      [V45    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V46 tmp1         [V46    ] (  1,  1   )  struct (32) [fp+0xF8]  do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
 ;* V47 tmp2         [V47    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V48 tmp3         [V48,T106] (  4,  6   )     ref  ->  x21         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
 ;* V49 tmp4         [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def ptr
-;  V50 tmp5         [V50,T80] (  5, 10   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[int]>
+;  V50 tmp5         [V50,T79] (  5, 10   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[int]>
 ;  V51 tmp6         [V51,T70] (  3, 12   )     ref  ->   x0         class-hnd exact "dup spill" <System.Text.StringBuilder>
 ;* V52 tmp7         [V52    ] (  0,  0   )     ref  ->  zero-ref    ptr
-;  V53 tmp8         [V53,T38] (  5, 20   )     ref  ->  x25         class-hnd exact "impAppendStmt" <System.Text.StringBuilder>
-;  V54 tmp9         [V54,T39] (  5, 20   )     ref  ->  x25         class-hnd exact "dup spill" <System.Text.StringBuilder>
+;  V53 tmp8         [V53,T39] (  5, 20   )     ref  ->  x25         class-hnd exact "impAppendStmt" <System.Text.StringBuilder>
+;  V54 tmp9         [V54,T40] (  5, 20   )     ref  ->  x25         class-hnd exact "dup spill" <System.Text.StringBuilder>
 ;* V55 tmp10        [V55    ] (  0,  0   )     ref  ->  zero-ref    ptr
-;  V56 tmp11        [V56,T45] (  4, 18   )     ref  ->  x21         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
+;  V56 tmp11        [V56,T46] (  4, 18   )     ref  ->  x21         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
 ;* V57 tmp12        [V57    ] (  0,  0   )     ref  ->  zero-ref    single-def ptr
 ;  V58 tmp13        [V58,T107] (  4,  6   )     ref  ->  x20         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
 ;* V59 tmp14        [V59    ] (  0,  0   )     ref  ->  zero-ref    single-def ptr
@@ -116,18 +116,18 @@
 ;  V104 tmp59       [V104,T126] (  5,  5   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[ulong]>
 ;  V105 tmp60       [V105,T71] (  3, 12   )     ref  ->   x0         class-hnd exact "dup spill" <System.Text.StringBuilder>
 ;* V106 tmp61       [V106    ] (  0,  0   )     ref  ->  zero-ref    ptr
-;  V107 tmp62       [V107,T40] (  5, 20   )     ref  ->  x25         class-hnd exact "impAppendStmt" <System.Text.StringBuilder>
+;  V107 tmp62       [V107,T41] (  5, 20   )     ref  ->  x25         class-hnd exact "impAppendStmt" <System.Text.StringBuilder>
 ;* V108 tmp63       [V108    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <System.Span`1[ushort]>
 ;* V109 tmp64       [V109    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V110 tmp65       [V110,T14] (  8, 32   )     ref  ->  x25         class-hnd exact "dup spill" <System.Text.StringBuilder>
 ;* V111 tmp66       [V111    ] (  0,  0   )     ref  ->  zero-ref    ptr
 ;* V112 tmp67       [V112    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact ptr "impAppendStmt" <System.Text.StringBuilder>
 ;* V113 tmp68       [V113    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V114 tmp69       [V114,T46] (  4, 18   )     ref  ->  x20         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
+;  V114 tmp69       [V114,T47] (  4, 18   )     ref  ->  x20         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
 ;* V115 tmp70       [V115    ] (  0,  0   )     ref  ->  zero-ref    single-def ptr
 ;  V116 tmp71       [V116,T136] (  4,  4   )     ref  ->  x21         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
 ;* V117 tmp72       [V117    ] (  0,  0   )     ref  ->  zero-ref    single-def ptr
-;  V118 tmp73       [V118,T88] (  3,  8   )     ref  ->  x23        
+;  V118 tmp73       [V118,T87] (  3,  8   )     ref  ->  x23        
 ;  V119 tmp74       [V119,T11] (  8, 40   )     ref  ->  x24         class-hnd exact "dup spill" <System.Text.StringBuilder>
 ;* V120 tmp75       [V120    ] (  0,  0   )     ref  ->  zero-ref    ptr
 ;* V121 tmp76       [V121    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact ptr "non-inline candidate call" <System.Text.StringBuilder>
@@ -156,10 +156,10 @@
 ;  V144 tmp99       [V144,T127] (  5,  5   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[int]>
 ;  V145 tmp100      [V145,T73] (  3, 12   )     ref  ->   x0         class-hnd exact "dup spill" <System.Text.StringBuilder>
 ;* V146 tmp101      [V146    ] (  0,  0   )     ref  ->  zero-ref    ptr
-;  V147 tmp102      [V147,T41] (  5, 20   )     ref  ->  x25         class-hnd exact "impAppendStmt" <System.Text.StringBuilder>
+;  V147 tmp102      [V147,T42] (  5, 20   )     ref  ->  x25         class-hnd exact "impAppendStmt" <System.Text.StringBuilder>
 ;  V148 tmp103      [V148,T53] (  4, 16   )     ref  ->  x25         class-hnd exact "dup spill" <System.Text.StringBuilder>
 ;* V149 tmp104      [V149    ] (  0,  0   )     ref  ->  zero-ref    ptr
-;  V150 tmp105      [V150,T47] (  4, 18   )     ref  ->  x21         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
+;  V150 tmp105      [V150,T48] (  4, 18   )     ref  ->  x21         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
 ;* V151 tmp106      [V151    ] (  0,  0   )     ref  ->  zero-ref    single-def ptr
 ;  V152 tmp107      [V152,T139] (  4,  4   )     ref  ->  x21         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
 ;* V153 tmp108      [V153    ] (  0,  0   )     ref  ->  zero-ref    single-def ptr
@@ -175,8 +175,8 @@
 ;* V163 tmp118      [V163    ] (  0,  0   )     ref  ->  zero-ref    ptr
 ;* V164 tmp119      [V164    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V165 tmp120      [V165    ] (  0,  0   )     ref  ->  zero-ref    ptr
-;  V166 tmp121      [V166,T81] (  5, 10   )     ref  ->   x2        
-;  V167 tmp122      [V167,T42] (  5, 20   )     ref  ->  x22         class-hnd exact "dup spill" <System.Text.StringBuilder>
+;  V166 tmp121      [V166,T80] (  5, 10   )     ref  ->   x2        
+;  V167 tmp122      [V167,T43] (  5, 20   )     ref  ->  x22         class-hnd exact "dup spill" <System.Text.StringBuilder>
 ;* V168 tmp123      [V168    ] (  0,  0   )     ref  ->  zero-ref    ptr
 ;  V169 tmp124      [V169,T74] (  3, 12   )     ref  ->  x26         class-hnd exact "impAppendStmt" <<unknown class>>
 ;  V170 tmp125      [V170,T75] (  3, 12   )     ref  ->   x0         class-hnd exact "Single-def Box Helper" <<unknown class>>
@@ -186,7 +186,7 @@
 ;  V174 tmp129      [V174,T141] (  4,  4   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V175 tmp130      [V175,T152] (  3,  3   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;  V176 tmp131      [V176,T164] (  2,  2   )  struct (40) [fp+0x60]  do-not-enreg[SF] must-init ld-addr-op ptr "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+Enumerator[int,System.Diagnostics.Tracing.ManifestBuilder+ChannelInfo]>
-;  V177 tmp132      [V177,T85] (  3, 10   )     ref  ->  x14         class-hnd exact "Inline stloc first use temp" <<unknown class>>
+;  V177 tmp132      [V177,T84] (  3, 10   )     ref  ->  x14         class-hnd exact "Inline stloc first use temp" <<unknown class>>
 ;  V178 tmp133      [V178,T66] (  4, 12   )     int  ->  x15         "Inline stloc first use temp"
 ;  V179 tmp134      [V179,T165] (  2,  2   )  struct (32) [fp+0x40]  do-not-enreg[SF] must-init ld-addr-op ptr "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Collections.Generic.KeyValuePair`2[int,System.Diagnostics.Tracing.ManifestBuilder+ChannelInfo]]>
 ;* V180 tmp135      [V180    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <<unknown class>>
@@ -195,7 +195,7 @@
 ;* V183 tmp138      [V183    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[int]>
 ;  V184 tmp139      [V184,T28] (  6, 24   )     ref  ->  x26         class-hnd "Inlining Arg" <System.__Canon>
 ;  V185 tmp140      [V185,T55] (  4, 16   )     ref  ->  x24         class-hnd exact "Inlining Arg" <System.Text.StringBuilder>
-;* V186 tmp141      [V186,T97] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V186 tmp141      [V186,T96] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V187 tmp142      [V187    ] (  0,  0   )     ref  ->  zero-ref    class-hnd ptr "Inline stloc first use temp" <System.Collections.Generic.List`1[int]>
 ;* V188 tmp143      [V188    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.Dictionary`2+ValueCollection[System.__Canon,System.__Canon]>
 ;* V189 tmp144      [V189    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.String,System.Type]>
@@ -229,7 +229,7 @@
 ;* V217 tmp172      [V217    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[int]>
 ;  V218 tmp173      [V218,T29] (  6, 24   )     ref  ->  x26         class-hnd "Inlining Arg" <System.__Canon>
 ;  V219 tmp174      [V219,T57] (  4, 16   )     ref  ->  x24         class-hnd exact "Inlining Arg" <System.Text.StringBuilder>
-;* V220 tmp175      [V220,T98] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V220 tmp175      [V220,T97] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V221 tmp176      [V221    ] (  0,  0   )     ref  ->  zero-ref    class-hnd ptr "Inline stloc first use temp" <System.Collections.Generic.List`1[int]>
 ;* V222 tmp177      [V222    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[ulong]>
 ;  V223 tmp178      [V223,T30] (  6, 24   )     ref  ->  x26         class-hnd "Inlining Arg" <System.__Canon>
@@ -239,10 +239,10 @@
 ;* V227 tmp182      [V227    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V228 tmp183      [V228    ] (  0,  0   )     int  ->  zero-ref   
 ;* V229 tmp184      [V229    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;  V230 tmp185      [V230,T99] (  2,  8   )    long  ->   x0         "Inlining Arg"
+;  V230 tmp185      [V230,T98] (  2,  8   )    long  ->   x0         "Inlining Arg"
 ;* V231 tmp186      [V231    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V232 tmp187      [V232    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V233 tmp188      [V233,T43] (  5, 20   )     int  ->  x24         "Inlining Arg"
+;  V233 tmp188      [V233,T44] (  5, 20   )     int  ->  x24         "Inlining Arg"
 ;* V234 tmp189      [V234    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;* V235 tmp190      [V235    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V236 tmp191      [V236    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -255,7 +255,7 @@
 ;* V243 tmp198      [V243    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V244 tmp199      [V244    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V245 tmp200      [V245    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V246 tmp201      [V246,T100] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V246 tmp201      [V246,T99] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V247 tmp202      [V247    ] (  0,  0   )     ref  ->  zero-ref    class-hnd ptr "Inline stloc first use temp" <System.Collections.Generic.List`1[ulong]>
 ;* V248 tmp203      [V248    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.Dictionary`2+KeyCollection[System.__Canon,System.__Canon]>
 ;  V249 tmp204      [V249,T122] (  3,  6   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <<unknown class>>
@@ -265,8 +265,8 @@
 ;* V253 tmp208      [V253,T179] (  0,  0   )     int  ->  zero-ref    "field V01._length (fldOffset=0x8)" P-INDEP
 ;* V254 tmp209      [V254    ] (  0,  0   )   byref  ->  zero-ref    "field V05._reference (fldOffset=0x0)" P-INDEP
 ;* V255 tmp210      [V255    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
-;  V256 tmp211      [V256,T89] (  3,  8   )     ref  ->   x1         "field V08.value (fldOffset=0x0)" P-INDEP
-;  V257 tmp212      [V257,T91] (  3,  8   )     int  ->   x2         "field V08.key (fldOffset=0x8)" P-INDEP
+;  V256 tmp211      [V256,T88] (  3,  8   )     ref  ->   x1         "field V08.value (fldOffset=0x0)" P-INDEP
+;  V257 tmp212      [V257,T90] (  3,  8   )     int  ->   x2         "field V08.key (fldOffset=0x8)" P-INDEP
 ;  V258 tmp213      [V258,T27] (  7, 24   )     ref  ->  x22         "field V10.value (fldOffset=0x0)" P-INDEP
 ;  V259 tmp214      [V259,T123] (  2,  6   )     int  ->  x23         "field V10.key (fldOffset=0x8)" P-INDEP
 ;  V260 tmp215      [V260,T65] (  4, 12.50)     ref  ->  x21         single-def "field V19._list (fldOffset=0x0)" P-INDEP
@@ -279,9 +279,9 @@
 ;  V267 tmp222      [V267    ] (  3,  5   )     int  ->  [fp+0xAC]  do-not-enreg[X] addr-exposed ptr "field V21._version (fldOffset=0x14)" P-DEP
 ;* V268 tmp223      [V268    ] (  0,  0   )   byref  ->  zero-ref    ptr "field V33._reference (fldOffset=0x0)" P-INDEP
 ;* V269 tmp224      [V269    ] (  0,  0   )     int  ->  zero-ref    ptr "field V33._length (fldOffset=0x8)" P-INDEP
-;  V270 tmp225      [V270,T49] (  4, 17   )     ref  ->  x21         single-def "field V34._list (fldOffset=0x0)" P-INDEP
+;  V270 tmp225      [V270,T38] (  4, 17   )     ref  ->  x21         single-def "field V34._list (fldOffset=0x0)" P-INDEP
 ;  V271 tmp226      [V271,T24] (  6, 21   )     int  ->  x23         "field V34._index (fldOffset=0x8)" P-INDEP
-;  V272 tmp227      [V272,T86] (  2,  9   )     int  ->  x22         "field V34._version (fldOffset=0xc)" P-INDEP
+;  V272 tmp227      [V272,T85] (  2,  9   )     int  ->  x22         "field V34._version (fldOffset=0xc)" P-INDEP
 ;  V273 tmp228      [V273,T68] (  3,  8   )     int  ->  x24         "field V34._current (fldOffset=0x10)" P-INDEP
 ;  V274 tmp229      [V274,T50] (  4, 12.50)     ref  ->  x21         single-def "field V37._list (fldOffset=0x0)" P-INDEP
 ;  V275 tmp230      [V275,T69] (  3,  8   )    long  ->  x24         "field V37._current (fldOffset=0x8)" P-INDEP
@@ -360,7 +360,7 @@
 ;  V348 tmp303      [V348,T178] (  2,  1   )     int  ->   x1         "V179.[012..016)"
 ;  V349 tmp304      [V349,T77] (  3, 12   )   byref  ->   x0         "BlockOp address local"
 ;  V350 tmp305      [V350,T160] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
-;  V351 tmp306      [V351,T93] (  2,  8   )     ref  ->   x0         "argument with side effect"
+;  V351 tmp306      [V351,T92] (  2,  8   )     ref  ->   x0         "argument with side effect"
 ;  V352 tmp307      [V352,T161] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
 ;  V353 tmp308      [V353,T33] (  3, 24   )     ref  ->   x1         "arr expr"
 ;  V354 tmp309      [V354,T62] (  2, 16   )     ref  ->   x1         "argument with side effect"
@@ -369,9 +369,9 @@
 ;  V357 tmp312      [V357,T18] (  2, 32   )     ref  ->   x4         "argument with side effect"
 ;  V358 tmp313      [V358,T19] (  2, 32   )     ref  ->  [fp+0x18]  spill-single-def ptr "argument with side effect"
 ;  V359 tmp314      [V359,T20] (  2, 32   )     ref  ->  x25         "argument with side effect"
-;  V360 tmp315      [V360,T94] (  2,  8   )     ref  ->   x0         "argument with side effect"
-;  V361 tmp316      [V361,T95] (  2,  8   )     ref  ->   x3         "argument with side effect"
-;  V362 tmp317      [V362,T96] (  2,  8   )     ref  ->  x22         "argument with side effect"
+;  V360 tmp315      [V360,T93] (  2,  8   )     ref  ->   x0         "argument with side effect"
+;  V361 tmp316      [V361,T94] (  2,  8   )     ref  ->   x3         "argument with side effect"
+;  V362 tmp317      [V362,T95] (  2,  8   )     ref  ->  x22         "argument with side effect"
 ;  V363 tmp318      [V363,T146] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
 ;  V364 tmp319      [V364,T34] (  3, 24   )     ref  ->   x1         "arr expr"
 ;  V365 tmp320      [V365,T162] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
@@ -383,9 +383,9 @@
 ;  V371 cse1        [V371,T04] ( 18, 72   )     ref  ->   x0         multi-def "CSE - aggressive"
 ;  V372 cse2        [V372,T130] (  3,  5   )    long  ->  x22         "CSE - conservative"
 ;  V373 cse3        [V373,T131] (  3,  5   )    long  ->  x21         "CSE - conservative"
-;  V374 cse4        [V374,T44] (  3, 20   )    long  ->   x1         "CSE - moderate"
-;  V375 cse5        [V375,T78] (  2,  8   )     int  ->   x1         "CSE - conservative"
-;  V376 cse6        [V376,T79] (  2,  8   )     int  ->   x1         "CSE - conservative"
+;  V374 cse4        [V374,T45] (  3, 20   )    long  ->   x1         "CSE - moderate"
+;  V375 cse5        [V375,T100] (  2,  8   )     int  ->   x1         "CSE - conservative"
+;  V376 cse6        [V376,T78] (  2,  8   )     int  ->   x1         "CSE - conservative"
 ;  V377 cse7        [V377,T36] (  3, 24   )     int  ->  x27         "CSE - moderate"
 ;  V378 cse8        [V378,T00] (149,220   )    long  ->  [fp+0x38]  multi-def "CSE - aggressive"
 ;
@@ -1802,6 +1802,7 @@ G_M21650_IG67:        ; bbWeight=8, gcrefRegs=11A80000 {x19 x21 x23 x24 x28}, by
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
+            ldr     wzr, [x0]
             ldr     x1, [x11]
             blr     x1
             str     x0, [fp, #0x20]    // [V356 tmp311]
@@ -1889,7 +1890,7 @@ G_M21650_IG67:        ; bbWeight=8, gcrefRegs=11A80000 {x19 x21 x23 x24 x28}, by
             blr     x3
             ; gcrRegs -[x0 x25]
             ; byrRegs -[x1]
-                      ;; size=260 bbWeight=8 PerfScore 684.00
+                       ;; size=264 bbWeight=8 PerfScore 708.00
 G_M21650_IG68:        ; bbWeight=8, gcrefRegs=1A80000 {x19 x21 x23 x24}, byrefRegs=100000 {x20}, byref
             mov     w25, #1
                        ;; size=4 bbWeight=8 PerfScore 4.00
@@ -1930,6 +1931,7 @@ G_M21650_IG72:        ; bbWeight=2, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=10
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
+            ldr     wzr, [x0]
             ldr     x1, [x11]
             blr     x1
             ; gcrRegs -[x21]
@@ -2000,7 +2002,7 @@ G_M21650_IG72:        ; bbWeight=2, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=10
             blr     x3
             ; gcrRegs -[x0 x21]
             ; byrRegs -[x1]
-                      ;; size=212 bbWeight=2 PerfScore 144.00
+                       ;; size=216 bbWeight=2 PerfScore 150.00
 G_M21650_IG73:        ; bbWeight=4, gcrefRegs=880000 {x19 x23}, byrefRegs=100000 {x20}, byref, isz
             ldr     x21, [x19, #0x38]
             ; gcrRegs +[x21]
@@ -3761,7 +3763,7 @@ G_M21650_IG150:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 8476, prolog size 80, PerfScore 5811.50, instruction count 2119, allocated bytes for code 8476 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
+; Total bytes of code 8484, prolog size 80, PerfScore 5841.50, instruction count 2121, allocated bytes for code 8484 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -3772,7 +3774,7 @@ Unwind Info:
   E bit             : 0
...
  
+12 (+0.54%) : 224464.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
@@ -9,54 +9,55 @@
 ; 0 inlinees with PGO data; 18 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T15] ( 15, 14.50)     ref  ->  x23         class-hnd <System.Reflection.MemberInfo>
+;  V00 arg0         [V00,T16] ( 15, 14.50)     ref  ->  x23         class-hnd <System.Reflection.MemberInfo>
 ;  V01 arg1         [V01,T07] ( 12, 39.50)     ref  ->  registers   class-hnd <System.Reflection.ParameterInfo[]>
-;  V02 arg2         [V02,T13] (  6, 19.50)     int  ->  x22         single-def
-;  V03 arg3         [V03,T10] (  8, 29.50)   ubyte  ->  x20         single-def
-;  V04 arg4         [V04,T30] (  3,  2.50)     ref  ->  x25         class-hnd single-def <System.Object[]>
-;  V05 arg5         [V05,T12] (  4, 20   )     int  ->  x21         single-def
-;  V06 arg6         [V06,T31] (  3,  2.50)     ref  ->  x26         class-hnd single-def <System.String[]>
-;  V07 arg7         [V07,T32] (  3,  2.50)     ref  ->  x27         class-hnd single-def <System.Type[]>
-;  V08 arg8         [V08,T40] (  1,  1   )   ubyte  ->  [fp+0xD0]  single-def
-;  V09 arg9         [V09,T16] (  6, 14   )     ref  ->  x24         class-hnd single-def <System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
-;  V10 arg10        [V10,T33] (  2,  4   )     ref  ->  x28         class-hnd single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Container>
-;  V11 loc0         [V11,T28] (  9,  5   )     ref  ->  [fp+0x48]  class-hnd <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V12 loc1         [V12,T14] (  6, 18.50)     ref  ->  [fp+0x40]  class-hnd spill-single-def <System.Reflection.MethodBase>
-;  V13 loc2         [V13,T27] (  5,  5.50)   ubyte  ->  [fp+0x7C] 
-;  V14 loc3         [V14,T29] (  3,  5   )     int  ->  x26         single-def
+;  V02 arg2         [V02,T14] (  6, 19.50)     int  ->  x22         single-def
+;  V03 arg3         [V03,T13] (  7, 21.50)   ubyte  ->  x21         single-def
+;  V04 arg4         [V04,T31] (  3,  2.50)     ref  ->  x25         class-hnd single-def <System.Object[]>
+;  V05 arg5         [V05,T12] (  4, 20   )     int  ->  x20         single-def
+;  V06 arg6         [V06,T32] (  3,  2.50)     ref  ->  x26         class-hnd single-def <System.String[]>
+;  V07 arg7         [V07,T33] (  3,  2.50)     ref  ->  x27         class-hnd single-def <System.Type[]>
+;  V08 arg8         [V08,T41] (  1,  1   )   ubyte  ->  [fp+0xD0]  single-def
+;  V09 arg9         [V09,T17] (  6, 14   )     ref  ->  x24         class-hnd single-def <System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
+;  V10 arg10        [V10,T34] (  2,  4   )     ref  ->  x28         class-hnd single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Container>
+;  V11 loc0         [V11,T29] (  9,  5   )     ref  ->  [fp+0x48]  class-hnd <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V12 loc1         [V12,T15] (  6, 18.50)     ref  ->  [fp+0x40]  class-hnd spill-single-def <System.Reflection.MethodBase>
+;  V13 loc2         [V13,T28] (  5,  5.50)   ubyte  ->  [fp+0x7C] 
+;  V14 loc3         [V14,T30] (  3,  5   )     int  ->  x26         single-def
 ;  V15 loc4         [V15,T11] (  6, 24.50)     int  ->  x27        
-;  V16 loc5         [V16,T02] ( 15, 82   )     ref  ->  [fp+0x38]  class-hnd exact spill-single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V16 loc5         [V16,T02] ( 15, 74   )     ref  ->  [fp+0x38]  class-hnd exact spill-single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
 ;  V17 loc6         [V17,T08] (  3, 34   )     ref  ->  [fp+0x30]  class-hnd spill-single-def <System.Reflection.ParameterInfo[]>
 ;  V18 loc7         [V18,T09] (  9, 32   )     ref  ->  [fp+0x28]  class-hnd <System.Reflection.MethodBase>
 ;  V19 loc8         [V19,T00] (  8, 84   )     int  ->  [fp+0x78] 
 ;  V20 loc9         [V20,T01] (  8, 84   )     int  ->  [fp+0x74] 
-;* V21 loc10        [V21,T37] (  0,  0   )     int  ->  zero-ref   
-;  V22 loc11        [V22,T06] (  4, 50   )     int  ->  [fp+0x70] 
+;* V21 loc10        [V21,T38] (  0,  0   )     int  ->  zero-ref   
+;  V22 loc11        [V22,T05] (  4, 50   )     int  ->  [fp+0x70] 
 ;  V23 loc12        [V23    ] (  3, 48   )   ubyte  ->  [fp+0x68]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V24 loc13        [V24    ] (  3, 48   )   ubyte  ->  [fp+0x60]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V25 loc14        [V25    ] (  3, 48   )   ubyte  ->  [fp+0x58]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V26 OutArgs      [V26    ] (  1,  1   )  struct (16) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V27 tmp1         [V27,T17] (  9,  9   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V28 tmp2         [V28,T19] (  8,  8   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V27 tmp1         [V27,T18] (  9,  9   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V28 tmp2         [V28,T20] (  8,  8   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
 ;* V29 tmp3         [V29    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V30 tmp4         [V30    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Reflection.ParameterInfo[]>
 ;* V31 tmp5         [V31    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Type>
-;  V32 tmp6         [V32,T18] (  9,  9   )     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V33 tmp7         [V33,T38] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V34 tmp8         [V34,T39] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V35 tmp9         [V35,T34] (  3,  3   )     ref  ->  x25         class-hnd single-def "Inlining Arg" <System.Reflection.MethodBase>
-;  V36 tmp10        [V36,T25] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V37 tmp11        [V37,T26] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V38 tmp12        [V38,T36] (  2,  2   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Reflection.PropertyInfo>
-;  V39 tmp13        [V39,T35] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Reflection.MethodBase>
+;  V32 tmp6         [V32,T19] (  9,  9   )     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V33 tmp7         [V33,T39] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V34 tmp8         [V34,T40] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V35 tmp9         [V35,T35] (  3,  3   )     ref  ->  x25         class-hnd single-def "Inlining Arg" <System.Reflection.MethodBase>
+;  V36 tmp10        [V36,T26] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V37 tmp11        [V37,T27] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V38 tmp12        [V38,T37] (  2,  2   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Reflection.PropertyInfo>
+;  V39 tmp13        [V39,T36] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Reflection.MethodBase>
 ;  V40 tmp14        [V40,T03] (  2, 64   )     ref  ->   x1         "argument with side effect"
 ;  V41 tmp15        [V41,T04] (  2, 64   )     ref  ->   x4         "argument with side effect"
-;  V42 tmp16        [V42,T23] (  2,  8   )     int  ->   x3         "argument with side effect"
-;  V43 tmp17        [V43,T24] (  2,  8   )     int  ->  [fp+0x54]  spill-single-def "argument with side effect"
-;  V44 tmp18        [V44,T20] (  2,  8   )     ref  ->  [fp+0x20]  spill-single-def "argument with side effect"
-;  V45 tmp19        [V45,T21] (  2,  8   )     ref  ->   x0         "argument with side effect"
-;  V46 tmp20        [V46,T22] (  2,  8   )     ref  ->   x0         "argument with side effect"
-;  V47 cse0         [V47,T05] (  5, 52   )     int  ->   x4         multi-def "CSE - aggressive"
+;  V42 tmp16        [V42,T24] (  2,  8   )     int  ->   x3         "argument with side effect"
+;  V43 tmp17        [V43,T25] (  2,  8   )     int  ->  [fp+0x54]  spill-single-def "argument with side effect"
+;  V44 tmp18        [V44,T21] (  2,  8   )     ref  ->  [fp+0x20]  spill-single-def "argument with side effect"
+;  V45 tmp19        [V45,T22] (  2,  8   )     ref  ->   x0         "argument with side effect"
+;  V46 tmp20        [V46,T23] (  2,  8   )     ref  ->   x0         "argument with side effect"
+;  V47 cse0         [V47,T10] (  5, 28   )     int  ->   x4         multi-def "CSE - aggressive"
+;  V48 cse1         [V48,T06] (  5, 44   )     int  ->  [fp+0x50]  multi-def "CSE - aggressive"
 ;  TEMP_01                                     ref  ->  [fp+0x18]
 ;
 ; Lcl frame size = 128
@@ -78,10 +79,10 @@ G_M30168_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             mov     x19, x1
             ; gcrRegs +[x19]
             mov     w22, w2
-            mov     w20, w3
+            mov     w21, w3
             mov     x25, x4
             ; gcrRegs +[x25]
-            mov     w21, w5
+            mov     w20, w5
             mov     x26, x6
             ; gcrRegs +[x26]
             mov     x27, x7
@@ -96,7 +97,7 @@ G_M30168_IG02:        ; bbWeight=1, gcrefRegs=1F880000 {x19 x23 x24 x25 x26 x27
             tst     w0, #255
             bne     G_M30168_IG36
                        ;; size=16 bbWeight=1 PerfScore 4.50
-G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000000010000000 {V11}, gcrefRegs=1F880000 {x19 x23 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000000020000000 {V11}, gcrefRegs=1F880000 {x19 x23 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             mov     x0, x23
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -167,7 +168,7 @@ G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000000010000000 {V11}, gcrefRegs=
             ; gcrRegs -[x15 x19]
             ; byrRegs -[x14]
             str     w22, [x1, #0x48]
-            strb    w20, [x1, #0x4C]
+            strb    w21, [x1, #0x4C]
             mov     w14, #1
             strb    w14, [x1, #0x4F]
             add     x14, x1, #8
@@ -229,7 +230,7 @@ G_M30168_IG04:        ; bbWeight=0.50, gcrefRegs=11080000 {x19 x24 x28}, byrefRe
             ; GC ptr vars +{V11}
             mov     x19, x25
                        ;; size=48 bbWeight=0.50 PerfScore 7.50
-G_M30168_IG05:        ; bbWeight=0.50, gcVars=0000000010004000 {V11 V12}, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG05:        ; bbWeight=0.50, gcVars=0000000020008000 {V11 V12}, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0 x25]
             cbz     x23, G_M30168_IG06
             mov     x0, x23
@@ -306,7 +307,7 @@ G_M30168_IG07:        ; bbWeight=4, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefR
             ; GC ptr vars +{V16}
             cbz     x1, G_M30168_IG35
                        ;; size=36 bbWeight=4 PerfScore 34.00
-G_M30168_IG08:        ; bbWeight=2, gcVars=0000000010004004 {V11 V12 V16}, gcrefRegs=11880002 {x1 x19 x23 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG08:        ; bbWeight=2, gcVars=0000000020008004 {V11 V12 V16}, gcrefRegs=11880002 {x1 x19 x23 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0]
             ldr     x2, [x1, #0x18]
             ; gcrRegs +[x2]
@@ -349,7 +350,7 @@ G_M30168_IG10:        ; bbWeight=2, gcrefRegs=11880100 {x8 x19 x23 x24 x28}, byr
             mov     w13, wzr
             mov     w14, #1
             str     w14, [fp, #0x70]   // [V22 loc11]
-            cmp     w21, #0
+            cmp     w20, #0
             ble     G_M30168_IG26
                        ;; size=40 bbWeight=2 PerfScore 21.00
 G_M30168_IG11:        ; bbWeight=16, gcrefRegs=11880300 {x8 x9 x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
@@ -382,7 +383,9 @@ G_M30168_IG11:        ; bbWeight=16, gcrefRegs=11880300 {x8 x9 x19 x23 x24 x28},
             add     x6, fp, #104   // [V23 loc12]
             str     x6, [sp, #0x08]    // [V26 OutArgs+0x08]
             ldrb    w6, [x9, #0x4C]
-            uxtb    w3, w20
+            uxtb    w15, w21
+            str     w15, [fp, #0x50]   // [V48 cse1]
+            mov     w3, w15
             add     x7, fp, #96 // [V24 loc13]
             ldr     x2, [fp, #0x40]    // [V12 loc1]
             ; gcrRegs +[x2]
@@ -394,8 +397,8 @@ G_M30168_IG11:        ; bbWeight=16, gcrefRegs=11880300 {x8 x9 x19 x23 x24 x28},
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             mov     x0, xzr
             ; gcrRegs +[x0]
-            ldr     x15, [x11]
-            blr     x15
+            ldr     xip0, [x11]
+            blr     xip0
             ; gcrRegs -[x0-x2 x4-x5 x8-x9 x12]
             ldrb    w0, [fp, #0x68]    // [V23 loc12]
             ldrb    w11, [fp, #0x60]   // [V24 loc13]
@@ -406,11 +409,11 @@ G_M30168_IG11:        ; bbWeight=16, gcrefRegs=11880300 {x8 x9 x19 x23 x24 x28},
             ldr     w1, [fp, #0x78]    // [V19 loc8]
             cmp     w1, w22
             bne     G_M30168_IG13
-                        ;; size=160 bbWeight=16 PerfScore 808.00
+                      ;; size=168 bbWeight=16 PerfScore 832.00
 G_M30168_IG12:        ; bbWeight=8, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
-            tst     w20, #255
-            bne     G_M30168_IG14
-                       ;; size=8 bbWeight=8 PerfScore 12.00
+            ldr     w2, [fp, #0x50]   // [V48 cse1]
+            cbnz    w2, G_M30168_IG14
+                       ;; size=8 bbWeight=8 PerfScore 24.00
 G_M30168_IG13:        ; bbWeight=8, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
             adds    w1, w1, #1
             bvs     G_M30168_IG43
@@ -418,48 +421,48 @@ G_M30168_IG13:        ; bbWeight=8, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefR
             ldr     w1, [fp, #0x78]    // [V19 loc8]
                        ;; size=16 bbWeight=8 PerfScore 36.00
 G_M30168_IG14:        ; bbWeight=16, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
-            ldr     x2, [fp, #0x38]  // [V16 loc5]
-            ; gcrRegs +[x2]
-            ldr     w0, [x2, #0x48]
-            ldr     w3, [fp, #0x74]    // [V20 loc9]
-            cmp     w3, w0
+            ldr     x3, [fp, #0x38]    // [V16 loc5]
+            ; gcrRegs +[x3]
+            ldr     w0, [x3, #0x48]
+            ldr     w4, [fp, #0x74]    // [V20 loc9]
+            cmp     w4, w0
             bne     G_M30168_IG17
                        ;; size=20 bbWeight=16 PerfScore 136.00
-G_M30168_IG15:        ; bbWeight=8, gcrefRegs=11880004 {x2 x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
-            ldrb    w0, [x2, #0x4C]
+G_M30168_IG15:        ; bbWeight=8, gcrefRegs=11880008 {x3 x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
+            ldrb    w0, [x3, #0x4C]
             cbnz    w0, G_M30168_IG18
                        ;; size=8 bbWeight=8 PerfScore 32.00
 G_M30168_IG16:        ; bbWeight=4, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x2]
-            ldr     x2, [fp, #0x38]    // [V16 loc5]
-            ; gcrRegs +[x2]
+            ; gcrRegs -[x3]
+            ldr     x3, [fp, #0x38]    // [V16 loc5]
+            ; gcrRegs +[x3]
                         ;; size=4 bbWeight=4 PerfScore 8.00
-G_M30168_IG17:        ; bbWeight=8, gcrefRegs=11880004 {x2 x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
-            adds    w3, w3, #1
+G_M30168_IG17:        ; bbWeight=8, gcrefRegs=11880008 {x3 x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
+            adds    w4, w4, #1
             bvs     G_M30168_IG43
-            str     w3, [fp, #0x74]   // [V20 loc9]
-            ldr     w3, [fp, #0x74]    // [V20 loc9]
+            str     w4, [fp, #0x74]  // [V20 loc9]
+            ldr     w4, [fp, #0x74]    // [V20 loc9]
                        ;; size=16 bbWeight=8 PerfScore 36.00
 G_M30168_IG18:        ; bbWeight=16, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x2]
+            ; gcrRegs -[x3]
             ldr     w0, [fp, #0x70]  // [V22 loc11]
             adds    w0, w0, #1
             bvs     G_M30168_IG43
-            cmp     w0, w21
+            cmp     w0, w20
             str     w0, [fp, #0x70] // [V22 loc11]
             ble     G_M30168_IG25
                        ;; size=24 bbWeight=16 PerfScore 96.00
-G_M30168_IG19:        ; bbWeight=8, gcVars=0000000010004204 {V11 V12 V16 V18}, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, gcvars, byref
+G_M30168_IG19:        ; bbWeight=8, gcVars=0000000020008204 {V11 V12 V16 V18}, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, gcvars, byref
             ; GC ptr vars -{V17}
-            stp     w3, w1, [fp, #0x74]   // [V20 loc9], [V19 loc8]
+            stp     w4, w1, [fp, #0x74]  // [V20 loc9], [V19 loc8]
                        ;; size=4 bbWeight=8 PerfScore 8.00
 G_M30168_IG20:        ; bbWeight=2, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
             mov     x0, x23
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
-            ldr     x4, [x11]
-            blr     x4
+            ldr     x2, [x11]
...
  
  
libraries.pmi.linux.arm64.checked.mch
-20 (-11.90%) : 261744.dasm - System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
@@ -8,9 +8,9 @@
 ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] (  4, 14   )     ref  ->  x20         this class-hnd single-def <System.Net.HttpEndPointListener>
-;  V01 arg1         [V01,T02] (  5, 22   )     ref  ->  x19         class-hnd single-def <System.Net.Sockets.SocketAsyncEventArgs>
-;  V02 loc0         [V02,T01] (  3, 24   )   ubyte  ->  x21        
+;  V00 this         [V00,T02] (  4, 18   )     ref  ->  x20         this class-hnd single-def <System.Net.HttpEndPointListener>
+;  V01 arg1         [V01,T01] (  5, 26   )     ref  ->  x19         class-hnd single-def <System.Net.Sockets.SocketAsyncEventArgs>
+;  V02 loc0         [V02,T03] (  2, 16   )   ubyte  ->   x0        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
 ;  V05 tmp2         [V05,T00] (  3, 48   )     ref  ->   x0         class-hnd "Inlining Arg" <System.Net.Sockets.Socket>
@@ -18,22 +18,21 @@
 ;* V07 tmp4         [V07    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
 ;* V08 tmp5         [V08    ] (  0,  0   )     ref  ->  zero-ref    "field V06._source (fldOffset=0x0)" P-INDEP
 ;* V09 tmp6         [V09,T04] (  0,  0   )     ref  ->  zero-ref    "field V07._source (fldOffset=0x0)" P-INDEP
-;  V10 PSPSym       [V10,T05] (  1,  1   )    long  ->  [fp+0x10]  do-not-enreg[V] "PSPSym"
+;  V10 PSPSym       [V10,T05] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 16
 
 G_M14120_IG01:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     x19, x20, [sp, #0x20]
             mov     fp, sp
             add     x2, sp, #48
-            str     x2, [fp, #0x10]   // [V10 PSPSym]
+            str     x2, [fp, #0x18]    // [V10 PSPSym]
             mov     x20, x0
             ; gcrRegs +[x20]
             mov     x19, x1
             ; gcrRegs +[x19]
-                     ;; size=32 bbWeight=8 PerfScore 48.00
+                     ;; size=28 bbWeight=8 PerfScore 40.00
 G_M14120_IG02:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             str     xzr, [x19, #0x08]
             ldr     x0, [x20, #0x18]
@@ -49,12 +48,9 @@ G_M14120_IG02:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             blr     x3
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            sxtw    w21, w0
-                       ;; size=44 bbWeight=8 PerfScore 112.00
+                        ;; size=40 bbWeight=8 PerfScore 108.00
 G_M14120_IG03:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            cbnz    w21, G_M14120_IG05
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M14120_IG04:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+            cbnz    w0, G_M14120_IG04
             mov     x0, x20
             ; gcrRegs +[x0]
             mov     x1, x19
@@ -66,35 +62,30 @@ G_M14120_IG04:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-                      ;; size=28 bbWeight=4 PerfScore 26.00
-G_M14120_IG05:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            cbz     w21, G_M14120_IG02
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M14120_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            b       G_M14120_IG02
+                       ;; size=36 bbWeight=8 PerfScore 68.00
+G_M14120_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x19-x20]
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
+            ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x30
             ret     lr
-                       ;; size=16 bbWeight=1 PerfScore 5.00
-G_M14120_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                        ;; size=12 bbWeight=1 PerfScore 3.00
+G_M14120_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     x19, x20, [sp, #0x20]
             add     x3, fp, #48
-            str     x3, [sp, #0x10]
-                       ;; size=20 bbWeight=0 PerfScore 0.00
-G_M14120_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            adr     x0, [G_M14120_IG06]
+            str     x3, [sp, #0x18]
+                       ;; size=16 bbWeight=0 PerfScore 0.00
+G_M14120_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+            adr     x0, [G_M14120_IG04]
                         ;; size=4 bbWeight=0 PerfScore 0.00
-G_M14120_IG09:        ; bbWeight=0, funclet epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
+G_M14120_IG07:        ; bbWeight=0, funclet epilog, nogc, extend
+            ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x30
             ret     lr
-                       ;; size=16 bbWeight=0 PerfScore 0.00
+                      ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 168, prolog size 32, PerfScore 207.00, instruction count 42, allocated bytes for code 168 (MethodHash=c2bdc8d7) for method System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
+; Total bytes of code 148, prolog size 28, PerfScore 219.00, instruction count 37, allocated bytes for code 148 (MethodHash=c2bdc8d7) for method System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -105,7 +96,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 32 (0x00020) Actual length = 128 (0x000080)
+  Function Length   : 29 (0x0001d) Actual length = 116 (0x000074)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -113,31 +104,29 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
+    C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
     85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
     E4          end
+    E4          end
+    E4          end
 
 Unwind Info:
   >> Start offset   : 0xd1ffab1e (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 2
+  Code Words        : 1
   Epilog Count      : 0
   E bit             : 1
   X bit             : 0
   Vers              : 0
-  Function Length   : 10 (0x0000a) Actual length = 40 (0x000028)
+  Function Length   : 8 (0x00008) Actual length = 32 (0x000020)
   --- One epilog, unwind codes at 0
   ---- Unwind codes ----
     ---- Epilog start at index 0 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
+    C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
     85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
-    E4          end
-    E4          end
 
 *************** EH table for System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M14120_IG02..G_M14120_IG03) handled by [G_M14120_IG07..END) (class: 100003E)
+EH#0: try [G_M14120_IG02..G_M14120_IG03) handled by [G_M14120_IG05..END) (class: 100003E)
  
-40 (-7.94%) : 198276.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:MostSpecificProcedure(System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],byref,System.Object[],System.String[]):Microsoft.VisualBasic.CompilerServices.Symbols+Method (FullOpts)
@@ -8,10 +8,10 @@
 ; 4 inlinees with PGO data; 9 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T03] ( 10, 64.75)     ref  ->  x19         class-hnd single-def <System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
+;  V00 arg0         [V00,T03] (  9, 63.75)     ref  ->  x19         class-hnd single-def <System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
 ;  V01 arg1         [V01,T11] (  4, 18   )   byref  ->  x20         single-def
-;  V02 arg2         [V02,T14] (  3, 10   )     ref  ->  x21         class-hnd single-def <System.Object[]>
-;  V03 arg3         [V03,T15] (  3, 10   )     ref  ->  x22         class-hnd single-def <System.String[]>
+;  V02 arg2         [V02,T15] (  3, 10   )     ref  ->  x21         class-hnd single-def <System.Object[]>
+;  V03 arg3         [V03,T16] (  3, 10   )     ref  ->  x22         class-hnd single-def <System.String[]>
 ;  V04 loc0         [V04,T22] (  3,  2   )     ref  ->   x0         class-hnd <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
 ;* V05 loc1         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
 ;  V06 loc2         [V06,T04] ( 10, 54.50)     ref  ->  x26         class-hnd exact <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
@@ -19,46 +19,47 @@
 ;* V08 loc4         [V08    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
 ;* V09 loc5         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
 ;  V10 loc6         [V10,T08] (  3, 24   )     ref  ->   x0         class-hnd exact <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V11 loc7         [V11    ] (  2, 16   )   ubyte  ->  [fp+0x28]  do-not-enreg[X] must-init addr-exposed ld-addr-op
+;  V11 loc7         [V11    ] (  2, 16   )   ubyte  ->  [fp+0x18]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;# V12 OutArgs      [V12    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V13 tmp1         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
 ;* V14 tmp2         [V14    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
 ;* V15 tmp3         [V15,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V16 tmp4         [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
-;* V17 tmp5         [V17,T18] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V17 tmp5         [V17,T19] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V18 tmp6         [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
-;  V19 tmp7         [V19,T21] (  2,  3   )     ref  ->  x24         single-def "field V05._list (fldOffset=0x0)" P-INDEP
-;  V20 tmp8         [V20,T16] (  2,  5.35)     ref  ->  x26         "field V05._current (fldOffset=0x8)" P-INDEP
-;  V21 tmp9         [V21,T09] (  6, 18.39)     int  ->  x25         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V22 tmp10        [V22,T17] (  2,  9   )     int  ->  x23         single-def "field V05._version (fldOffset=0x14)" P-INDEP
+;* V19 tmp7         [V19,T21] (  0,  0   )     ref  ->  zero-ref    single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V20 tmp8         [V20,T17] (  2,  5.35)     ref  ->  x26         "field V05._current (fldOffset=0x8)" P-INDEP
+;  V21 tmp9         [V21,T09] (  6, 18.39)     int  ->  x24         "field V05._index (fldOffset=0x10)" P-INDEP
+;  V22 tmp10        [V22,T18] (  2,  9   )     int  ->  x23         single-def "field V05._version (fldOffset=0x14)" P-INDEP
 ;* V23 tmp11        [V23,T25] (  0,  0   )     ref  ->  zero-ref    "field V08._list (fldOffset=0x0)" P-INDEP
-;  V24 tmp12        [V24,T00] (  9, 77.39)     ref  ->  [fp+0x18]  "field V08._current (fldOffset=0x8)" P-INDEP
-;  V25 tmp13        [V25,T01] (  6, 71.57)     int  ->  [fp+0x24]  "field V08._index (fldOffset=0x10)" P-INDEP
-;  V26 tmp14        [V26,T12] (  2, 18   )     int  ->  x28         "field V08._version (fldOffset=0x14)" P-INDEP
+;  V24 tmp12        [V24,T00] (  9, 77.39)     ref  ->  [fp+0x10]  "field V08._current (fldOffset=0x8)" P-INDEP
+;  V25 tmp13        [V25,T01] (  6, 71.57)     int  ->  x28         "field V08._index (fldOffset=0x10)" P-INDEP
+;  V26 tmp14        [V26,T13] (  2, 18   )     int  ->  x25         "field V08._version (fldOffset=0x14)" P-INDEP
 ;  V27 tmp15        [V27,T23] (  2,  2   )     ref  ->   x5         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V28 tmp16        [V28    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V29 tmp17        [V29,T27] (  0,  0   )     int  ->  zero-ref    single-def "field V13._index (fldOffset=0x10)" P-INDEP
+;* V29 tmp17        [V29,T28] (  0,  0   )     int  ->  zero-ref    single-def "field V13._index (fldOffset=0x10)" P-INDEP
 ;  V30 tmp18        [V30,T24] (  2,  2   )     int  ->  x23         single-def "field V13._version (fldOffset=0x14)" P-INDEP
-;  V31 tmp19        [V31,T19] (  2,  4   )     ref  ->   x5         "field V14._list (fldOffset=0x0)" P-INDEP
+;* V31 tmp19        [V31,T26] (  0,  0   )     ref  ->  zero-ref    "field V14._list (fldOffset=0x0)" P-INDEP
 ;* V32 tmp20        [V32    ] (  0,  0   )     ref  ->  zero-ref    "field V14._current (fldOffset=0x8)" P-INDEP
-;* V33 tmp21        [V33,T26] (  0,  0   )     int  ->  zero-ref    "field V14._index (fldOffset=0x10)" P-INDEP
-;  V34 tmp22        [V34,T20] (  2,  4   )     int  ->  x28         "field V14._version (fldOffset=0x14)" P-INDEP
+;* V33 tmp21        [V33,T27] (  0,  0   )     int  ->  zero-ref    "field V14._index (fldOffset=0x10)" P-INDEP
+;  V34 tmp22        [V34,T20] (  2,  4   )     int  ->  x25         "field V14._version (fldOffset=0x14)" P-INDEP
 ;  V35 tmp23        [V35,T10] (  3, 20.09)     ref  ->   x5         "arr expr"
 ;  V36 tmp24        [V36,T02] (  3, 80.35)     ref  ->   x5         "arr expr"
 ;  V37 cse0         [V37,T05] (  2, 32.01)     int  ->   x5         "CSE - aggressive"
-;  V38 cse1         [V38,T13] (  2,  8.00)     int  ->   x5         "CSE - aggressive"
+;  V38 cse1         [V38,T14] (  2,  8.00)     int  ->   x5         "CSE - aggressive"
+;  V39 cse2         [V39,T12] (  3, 18   )     int  ->  x25         "CSE - aggressive"
 ;
-; Lcl frame size = 32
+; Lcl frame size = 16
 
 G_M47424_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x80]!
-            stp     x19, x20, [sp, #0x30]
-            stp     x21, x22, [sp, #0x40]
-            stp     x23, x24, [sp, #0x50]
-            stp     x25, x26, [sp, #0x60]
-            stp     x27, x28, [sp, #0x70]
+            stp     fp, lr, [sp, #-0x70]!
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
+            stp     x23, x24, [sp, #0x40]
+            stp     x25, x26, [sp, #0x50]
+            stp     x27, x28, [sp, #0x60]
             mov     fp, sp
-            str     xzr, [fp, #0x28]  // [V11 loc7]
+            str     xzr, [fp, #0x18] // [V11 loc7]
             mov     x19, x0
             ; gcrRegs +[x19]
             mov     x20, x1
@@ -72,55 +73,46 @@ G_M47424_IG02:        ; bbWeight=1, gcrefRegs=680000 {x19 x21 x22}, byrefRegs=10
             mov     x5, x19
             ; gcrRegs +[x5]
             ldr     w23, [x5, #0x14]
-            mov     x24, x19
-            ; gcrRegs +[x24]
-            mov     w25, wzr
-            b       G_M47424_IG14
-                       ;; size=20 bbWeight=1 PerfScore 5.50
-G_M47424_IG03:        ; bbWeight=2, gcrefRegs=5680000 {x19 x21 x22 x24 x26}, byrefRegs=100000 {x20}, byref, isz
+            mov     w24, wzr
+            b       G_M47424_IG12
+                       ;; size=16 bbWeight=1 PerfScore 5.00
+G_M47424_IG03:        ; bbWeight=2, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x5] +[x26]
             ldrb    w5, [x26, #0x4D]
-            cbnz    w5, G_M47424_IG14
+            cbnz    w5, G_M47424_IG12
             ldrb    w5, [x26, #0x4E]
-            cbnz    w5, G_M47424_IG14
+            cbnz    w5, G_M47424_IG12
             mov     w27, #1
-            mov     x5, x24
-            ; gcrRegs +[x5]
-            ldr     w28, [x5, #0x14]
-            mov     w7, wzr
-            b       G_M47424_IG10
-                       ;; size=36 bbWeight=2 PerfScore 27.00
-G_M47424_IG04:        ; bbWeight=8, gcrefRegs=5680100 {x8 x19 x21 x22 x24 x26}, byrefRegs=100000 {x20}, byref, isz
-            ; gcrRegs -[x5] +[x8]
-            ldrb    w5, [x8, #0x4D]
-            ldr     w7, [fp, #0x24]    // [V25 tmp13]
-            cbnz    w5, G_M47424_IG10
-            ldrb    w5, [x8, #0x4E]
-            cbnz    w5, G_M47424_IG10
-            ldr     x5, [x8, #0x08]
+            mov     w28, wzr
+            b       G_M47424_IG08
+                       ;; size=28 bbWeight=2 PerfScore 20.00
+G_M47424_IG04:        ; bbWeight=8, gcrefRegs=4680080 {x7 x19 x21 x22 x26}, byrefRegs=100000 {x20}, byref, isz
+            ; gcrRegs +[x7]
+            ldrb    w5, [x7, #0x4D]
+            cbnz    w5, G_M47424_IG08
+            ldrb    w5, [x7, #0x4E]
+            cbnz    w5, G_M47424_IG08
+            ldr     x5, [x7, #0x08]
             ; gcrRegs +[x5]
             ldr     x0, [x26, #0x08]
             ; gcrRegs +[x0]
             cmp     x5, x0
-            bne     G_M47424_IG07
-            ldrb    w5, [x8, #0x4C]
+            bne     G_M47424_IG05
+            ldrb    w5, [x7, #0x4C]
             ; gcrRegs -[x5]
             ldrb    w0, [x26, #0x4C]
             ; gcrRegs -[x0]
             cmp     w5, w0
-            beq     G_M47424_IG10
-                       ;; size=52 bbWeight=8 PerfScore 200.00
-G_M47424_IG05:        ; bbWeight=4, gcrefRegs=5680100 {x8 x19 x21 x22 x24 x26}, byrefRegs=100000 {x20}, byref
-            str     w7, [fp, #0x24]    // [V25 tmp13]
-                       ;; size=4 bbWeight=4 PerfScore 4.00
-G_M47424_IG06:        ; bbWeight=8, gcrefRegs=5680100 {x8 x19 x21 x22 x24 x26}, byrefRegs=100000 {x20}, byref, isz
-            str     wzr, [fp, #0x28]   // [V11 loc7]
-            add     x5, fp, #40    // [V11 loc7]
+            beq     G_M47424_IG08
+                       ;; size=48 bbWeight=8 PerfScore 184.00
+G_M47424_IG05:        ; bbWeight=8, gcrefRegs=4680080 {x7 x19 x21 x22 x26}, byrefRegs=100000 {x20}, byref, isz
+            str     wzr, [fp, #0x18]   // [V11 loc7]
+            add     x5, fp, #24    // [V11 loc7]
             mov     x0, x26
             ; gcrRegs +[x0]
-            str     x8, [fp, #0x18]   // [V24 tmp12]
+            str     x7, [fp, #0x10] // [V24 tmp12]
             ; GC ptr vars +{V24}
-            mov     x1, x8
+            mov     x1, x7
             ; gcrRegs +[x1]
             mov     x2, x21
             ; gcrRegs +[x2]
@@ -128,140 +120,131 @@ G_M47424_IG06:        ; bbWeight=8, gcrefRegs=5680100 {x8 x19 x21 x22 x24 x26},
             ; gcrRegs +[x3]
             mov     w4, wzr
             mov     w6, #1
-            movz    x9, #0xD1FFAB1E      // code for <unknown method>
-            movk    x9, #0xD1FFAB1E LSL #16
-            movk    x9, #0xD1FFAB1E LSL #32
-            ldr     x9, [x9]
-            blr     x9
-            ; gcrRegs -[x1-x3 x8]
+            movz    x8, #0xD1FFAB1E      // code for <unknown method>
+            movk    x8, #0xD1FFAB1E LSL #16
+            movk    x8, #0xD1FFAB1E LSL #32
+            ldr     x8, [x8]
+            blr     x8
+            ; gcrRegs -[x1-x3 x7]
             ; gcr arg pop 0
             cmp     x0, x26
-            bne     G_M47424_IG08
-            ldr     x8, [fp, #0x18]    // [V24 tmp12]
-            ; gcrRegs +[x8]
-            ldrb    w0, [x8, #0x50]
+            bne     G_M47424_IG06
+            ldr     x7, [fp, #0x10]    // [V24 tmp12]
+            ; gcrRegs +[x7]
+            ldrb    w0, [x7, #0x50]
             ; gcrRegs -[x0]
-            ldr     w7, [fp, #0x24]    // [V25 tmp13]
-            cbnz    w0, G_M47424_IG10
+            cbnz    w0, G_M47424_IG08
             mov     w0, #1
-            strb    w0, [x8, #0x50]
-            b       G_M47424_IG09
-                       ;; size=92 bbWeight=8 PerfScore 184.00
-G_M47424_IG07:        ; bbWeight=4, gcVars=0000000000000000 {}, gcrefRegs=5680100 {x8 x19 x21 x22 x24 x26}, byrefRegs=100000 {x20}, gcvars, byref
-            ; GC ptr vars -{V24}
-            str     w7, [fp, #0x24]    // [V25 tmp13]
-            b       G_M47424_IG06
-                       ;; size=8 bbWeight=4 PerfScore 8.00
-G_M47424_IG08:        ; bbWeight=8, gcVars=0000000000000001 {V24}, gcrefRegs=5680001 {x0 x19 x21 x22 x24 x26}, byrefRegs=100000 {x20}, gcvars, byref, isz
-            ; gcrRegs -[x8] +[x0]
-            ; GC ptr vars +{V00 V24}
+            strb    w0, [x7, #0x50]
+            b       G_M47424_IG07
+                       ;; size=88 bbWeight=8 PerfScore 168.00
+G_M47424_IG06:        ; bbWeight=8, gcrefRegs=4680001 {x0 x19 x21 x22 x26}, byrefRegs=100000 {x20}, byref, isz
+            ; gcrRegs -[x7] +[x0]
             mov     w27, wzr
-            ldr     x8, [fp, #0x18] // [V24 tmp12]
-            ; gcrRegs +[x8]
-            cmp     x0, x8
-            ldr     w7, [fp, #0x24]    // [V25 tmp13]
-            bne     G_M47424_IG10
+            ldr     x7, [fp, #0x10] // [V24 tmp12]
+            ; gcrRegs +[x7]
+            cmp     x0, x7
+            bne     G_M47424_IG08
             ldrb    w0, [x26, #0x50]
             ; gcrRegs -[x0]
-            cbnz    w0, G_M47424_IG10
+            cbnz    w0, G_M47424_IG08
             mov     w0, #1
             strb    w0, [x26, #0x50]
-                     ;; size=36 bbWeight=8 PerfScore 92.00
-G_M47424_IG09:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=5680000 {x19 x21 x22 x24 x26}, byrefRegs=100000 {x20}, gcvars, byref, isz
-            ; gcrRegs -[x8]
-            ; GC ptr vars -{V00 V24}
+                     ;; size=32 bbWeight=8 PerfScore 76.00
+G_M47424_IG07:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=100000 {x20}, gcvars, byref, isz
+            ; gcrRegs -[x7]
+            ; GC ptr vars -{V24}
             ldr     w0, [x20]
             subs    w0, w0, #1
-            bvs     G_M47424_IG20
+            bvs     G_M47424_IG18
             str     w0, [x20]
                        ;; size=16 bbWeight=8 PerfScore 44.00
-G_M47424_IG10:        ; bbWeight=16, gcrefRegs=5680000 {x19 x21 x22 x24 x26}, byrefRegs=100000 {x20}, byref, isz
+G_M47424_IG08:        ; bbWeight=16, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=100000 {x20}, byref, isz
             ldr     w5, [x19, #0x14]
-            cmp     w28, w5
-            bne     G_M47424_IG22
-                       ;; size=12 bbWeight=16 PerfScore 72.00
-G_M47424_IG11:        ; bbWeight=16.01, gcrefRegs=5680000 {x19 x21 x22 x24 x26}, byrefRegs=100000 {x20}, byref, isz
-            ldr     w5, [x19, #0x10]
...
  
-16 (-4.12%) : 240700.dasm - Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
@@ -8,30 +8,31 @@
 ; 3 inlinees with PGO data; 7 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T09] (  4,  4   )     ref  ->  x21         this class-hnd single-def <Xunit.AggregateMessageSink>
-;  V01 arg1         [V01,T06] (  3,  5.35)     ref  ->  x19         class-hnd single-def <Xunit.Abstractions.IMessageSinkMessage>
-;  V02 arg2         [V02,T07] (  3,  5.35)     ref  ->  x20         class-hnd single-def <System.Collections.Generic.HashSet`1[System.String]>
-;  V03 loc0         [V03,T05] (  4,  8.70)   ubyte  ->  x22        
-;  V04 loc1         [V04,T14] (  4,  1.50)     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
+;  V00 this         [V00,T10] (  4,  4   )     ref  ->  x21         this class-hnd single-def <Xunit.AggregateMessageSink>
+;  V01 arg1         [V01,T07] (  3,  5.35)     ref  ->  x19         class-hnd single-def <Xunit.Abstractions.IMessageSinkMessage>
+;  V02 arg2         [V02,T08] (  3,  5.35)     ref  ->  x20         class-hnd single-def <System.Collections.Generic.HashSet`1[System.String]>
+;  V03 loc0         [V03,T06] (  4,  8.70)   ubyte  ->  x22        
+;  V04 loc1         [V04,T15] (  4,  1.50)     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
 ;  V05 loc2         [V05    ] (  5,  4   )   ubyte  ->  [fp+0x20]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;* V06 loc3         [V06    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[Xunit.IMessageSinkWithTypes]>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V08 tmp1         [V08,T11] (  2,  4   )   ubyte  ->   x0         "Inlining Arg"
-;  V09 tmp2         [V09,T10] (  2,  4   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
+;  V08 tmp1         [V08,T12] (  2,  4   )   ubyte  ->   x0         "Inlining Arg"
+;  V09 tmp2         [V09,T11] (  2,  4   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[Xunit.IMessageSinkWithTypes]>
-;* V11 tmp4         [V11,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V11 tmp4         [V11,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V12 tmp5         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
-;  V13 tmp6         [V13,T01] (  5, 17.00)     ref  ->  x21         single-def "field V06._list (fldOffset=0x0)" P-INDEP
-;  V14 tmp7         [V14,T03] (  2,  6.70)     ref  ->   x0         "field V06._current (fldOffset=0x8)" P-INDEP
+;  V13 tmp6         [V13,T02] (  4, 16.35)     ref  ->  x21         single-def "field V06._list (fldOffset=0x0)" P-INDEP
+;  V14 tmp7         [V14,T04] (  2,  6.70)     ref  ->   x0         "field V06._current (fldOffset=0x8)" P-INDEP
 ;  V15 tmp8         [V15,T00] (  6, 18.39)     int  ->  x24         "field V06._index (fldOffset=0x10)" P-INDEP
-;  V16 tmp9         [V16,T04] (  3,  9.65)     int  ->  x23         single-def "field V06._version (fldOffset=0x14)" P-INDEP
-;  V17 tmp10        [V17,T12] (  3,  3   )     ref  ->  x21         single-def "field V10._list (fldOffset=0x0)" P-INDEP
+;  V16 tmp9         [V16,T05] (  2,  9   )     int  ->  x23         single-def "field V06._version (fldOffset=0x14)" P-INDEP
+;  V17 tmp10        [V17,T13] (  3,  3   )     ref  ->  x21         single-def "field V10._list (fldOffset=0x0)" P-INDEP
 ;* V18 tmp11        [V18    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V10._current (fldOffset=0x8)" P-INDEP
-;* V19 tmp12        [V19,T16] (  0,  0   )     int  ->  zero-ref    single-def "field V10._index (fldOffset=0x10)" P-INDEP
-;  V20 tmp13        [V20,T13] (  2,  2   )     int  ->  x23         single-def "field V10._version (fldOffset=0x14)" P-INDEP
-;  V21 tmp14        [V21,T02] (  3, 20.09)     ref  ->   x0         "arr expr"
-;  V22 PSPSym       [V22,T17] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
-;  V23 cse0         [V23,T15] (  3,  1.50)     ref  ->   x1         "CSE - moderate"
+;* V19 tmp12        [V19,T17] (  0,  0   )     int  ->  zero-ref    single-def "field V10._index (fldOffset=0x10)" P-INDEP
+;  V20 tmp13        [V20,T14] (  2,  2   )     int  ->  x23         single-def "field V10._version (fldOffset=0x14)" P-INDEP
+;  V21 tmp14        [V21,T01] (  3, 20.09)     ref  ->   x0         "arr expr"
+;  V22 PSPSym       [V22,T18] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
+;  V23 cse0         [V23,T03] (  2,  8.00)     int  ->   x0         "CSE - aggressive"
+;  V24 cse1         [V24,T16] (  3,  1.50)     ref  ->   x1         "CSE - moderate"
 ;
 ; Lcl frame size = 32
 
@@ -58,7 +59,7 @@ G_M52679_IG02:        ; bbWeight=1, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
             str     x0, [fp, #0x18]    // [V04 loc1]
             ; GC ptr vars +{V04}
                        ;; size=12 bbWeight=1 PerfScore 4.50
-G_M52679_IG03:        ; bbWeight=1, gcVars=0000000000004000 {V04}, gcrefRegs=380001 {x0 x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M52679_IG03:        ; bbWeight=1, gcVars=0000000000008000 {V04}, gcrefRegs=380001 {x0 x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w1, [fp, #0x20]   // [V05 loc2]
             cbnz    w1, G_M52679_IG09
             add     x1, fp, #32    // [V05 loc2]
@@ -90,19 +91,19 @@ G_M52679_IG05:        ; bbWeight=1, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
 G_M52679_IG06:        ; bbWeight=8, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x21, #0x14]
             cmp     w23, w0
-            bne     G_M52679_IG10
+            bne     G_M52679_IG11
                       ;; size=12 bbWeight=8 PerfScore 36.00
 G_M52679_IG07:        ; bbWeight=4.00, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x21, #0x10]
             cmp     w24, w0
-            bhs     G_M52679_IG14
+            bhs     G_M52679_IG12
                       ;; size=12 bbWeight=4.00 PerfScore 18.01
 G_M52679_IG08:        ; bbWeight=3.35, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x21, #0x08]
             ; gcrRegs +[x0]
             ldr     w2, [x0, #0x08]
             cmp     w24, w2
-            bhs     G_M52679_IG12
+            bhs     G_M52679_IG10
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
@@ -135,21 +136,11 @@ G_M52679_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M52679_IG10:        ; bbWeight=0.65, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x21]
-            ldr     w0, [x21, #0x14]
-            cmp     w23, w0
-            bne     G_M52679_IG13
-                       ;; size=12 bbWeight=0.65 PerfScore 2.93
-G_M52679_IG11:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x21]
-            b       G_M52679_IG14
-                       ;; size=4 bbWeight=4 PerfScore 4.00
-G_M52679_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52679_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M52679_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52679_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -158,11 +149,11 @@ G_M52679_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M52679_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M52679_IG12:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [fp, #0x20] // [V05 loc2]
-            cbz     w0, G_M52679_IG16
+            cbz     w0, G_M52679_IG14
                      ;; size=8 bbWeight=1 PerfScore 3.00
-G_M52679_IG15:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52679_IG13:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ldr     x0, [fp, #0x18]  // [V04 loc1]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V04}
@@ -170,18 +161,18 @@ G_M52679_IG15:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=8 bbWeight=0.50 PerfScore 1.50
-G_M52679_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52679_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, w22
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M52679_IG17:        ; bbWeight=1, epilog, nogc, extend
+G_M52679_IG15:        ; bbWeight=1, epilog, nogc, extend
             ldp     x23, x24, [sp, #0x50]
             ldp     x21, x22, [sp, #0x40]
             ldp     x19, x20, [sp, #0x30]
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=20 bbWeight=1 PerfScore 5.00
-G_M52679_IG18:        ; bbWeight=0, gcVars=0000000000004000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-            ; GC ptr vars +{V04 V14}
+G_M52679_IG16:        ; bbWeight=0, gcVars=0000000000008000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+            ; GC ptr vars +{V04 V15}
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
@@ -189,17 +180,17 @@ G_M52679_IG18:        ; bbWeight=0, gcVars=0000000000004000 {V04}, gcrefRegs=000
             add     x3, fp, #96
             str     x3, [sp, #0x18]
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M52679_IG19:        ; bbWeight=0, gcVars=0000000000004000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M52679_IG17:        ; bbWeight=0, gcVars=0000000000008000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w0, [fp, #0x20]   // [V05 loc2]
-            cbz     w0, G_M52679_IG20
+            cbz     w0, G_M52679_IG18
             ldr     x0, [fp, #0x18]  // [V04 loc1]
             ; gcrRegs +[x0]
-            ; GC ptr vars -{V04 V14}
+            ; GC ptr vars -{V04 V15}
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M52679_IG20:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M52679_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
@@ -207,7 +198,7 @@ G_M52679_IG20:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 388, prolog size 44, PerfScore 168.65, instruction count 97, allocated bytes for code 388 (MethodHash=39853238) for method Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
+; Total bytes of code 372, prolog size 44, PerfScore 161.72, instruction count 93, allocated bytes for code 372 (MethodHash=39853238) for method Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -218,7 +209,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 82 (0x00052) Actual length = 328 (0x000148)
+  Function Length   : 78 (0x0004e) Actual length = 312 (0x000138)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -255,4 +246,4 @@ Unwind Info:
 
 *************** EH table for Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M52679_IG03..G_M52679_IG14) handled by [G_M52679_IG18..END) (fault)
+EH#0: try [G_M52679_IG03..G_M52679_IG12) handled by [G_M52679_IG16..END) (fault)
  
+4 (+0.35%) : 180043.dasm - System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
@@ -8,13 +8,13 @@
 ; 3 inlinees with PGO data; 13 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T21] (  5,  2   )     ref  ->  x21         class-hnd single-def <System.Reflection.MethodInfo>
+;  V00 arg0         [V00,T20] (  5,  2   )     ref  ->  x21         class-hnd single-def <System.Reflection.MethodInfo>
 ;  V01 arg1         [V01,T11] (  7,  8.21)     ref  ->  x20         class-hnd single-def <System.Reflection.ParameterInfo[]>
 ;  V02 arg2         [V02,T04] (  9, 27.26)   byref  ->  x19         single-def
-;  V03 arg3         [V03,T22] (  4,  2   )     ref  ->  x22         class-hnd single-def <System.String>
+;  V03 arg3         [V03,T21] (  4,  2   )     ref  ->  x22         class-hnd single-def <System.String>
 ;  V04 loc0         [V04,T05] (  8, 29.22)     ref  ->  x22         class-hnd <<unknown class>>
 ;  V05 loc1         [V05,T02] ( 14, 50   )     int  ->  x23        
-;  V06 loc2         [V06,T19] (  3,  4.96)     int  ->  x25        
+;  V06 loc2         [V06,T18] (  3,  4.96)     int  ->  x25        
 ;  V07 loc3         [V07,T07] ( 11, 25.74)     ref  ->  x26         ld-addr-op class-hnd <System.Linq.Expressions.Expression>
 ;  V08 loc4         [V08,T10] (  3, 11.88)     ref  ->  x27         class-hnd <System.Reflection.ParameterInfo>
 ;  V09 loc5         [V09,T03] ( 13, 30.05)     ref  ->  x27         class-hnd <System.Type>
@@ -22,10 +22,10 @@
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V12 tmp1         [V12    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V13 tmp2         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Linq.Expressions.Expression>
-;  V14 tmp3         [V14,T25] (  3,  3   )     ref  ->   x0         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V14 tmp3         [V14,T24] (  3,  3   )     ref  ->   x0         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V15 tmp4         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.ObjectModel.ReadOnlyCollection`1[System.__Canon]>
 ;* V16 tmp5         [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.ObjectModel.ReadOnlyCollection`1[System.__Canon]>
-;  V17 tmp6         [V17,T23] (  2,  3.96)     int  ->   x0         "guarded devirt return temp"
+;  V17 tmp6         [V17,T22] (  2,  3.96)     int  ->   x0         "guarded devirt return temp"
 ;* V18 tmp7         [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.RuntimeType>
 ;* V19 tmp8         [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;  V20 tmp9         [V20,T13] (  2,  3.96)   ubyte  ->   x0         "Inline return value spill temp"
@@ -33,11 +33,11 @@
 ;  V22 tmp11        [V22,T14] (  2,  7.92)   ubyte  ->   x0         "Inline return value spill temp"
 ;* V23 tmp12        [V23,T26] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V24 tmp13        [V24,T27] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V25 tmp14        [V25,T18] (  2,  3.96)   ubyte  ->   x0         "Inline return value spill temp"
-;  V26 tmp15        [V26,T24] (  2,  3.96)   ubyte  ->   x2         "Inline return value spill temp"
-;  V27 tmp16        [V27,T17] (  4,  5.94)   ubyte  ->   x2         "Inline return value spill temp"
+;  V25 tmp14        [V25,T17] (  2,  3.96)   ubyte  ->   x0         "Inline return value spill temp"
+;  V26 tmp15        [V26,T23] (  2,  3.96)   ubyte  ->   x2         "Inline return value spill temp"
+;  V27 tmp16        [V27,T19] (  4,  4.46)   ubyte  ->   x2         "Inline return value spill temp"
 ;* V28 tmp17        [V28    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.RuntimeType>
-;* V29 tmp18        [V29,T20] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
+;* V29 tmp18        [V29,T25] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
 ;* V30 tmp19        [V30    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.ObjectModel.ReadOnlyCollection`1[System.__Canon]>
 ;* V31 tmp20        [V31    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.ObjectModel.ReadOnlyCollection`1[System.__Canon]>
 ;* V32 tmp21        [V32    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.ObjectModel.ReadOnlyCollection`1[System.__Canon]>
@@ -73,7 +73,7 @@ G_M61964_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=44 bbWeight=1 PerfScore 8.50
 G_M61964_IG02:        ; bbWeight=1, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=80000 {x19}, byref, isz
             ldr     w0, [x20, #0x08]
-            cbz     w0, G_M61964_IG24
+            cbz     w0, G_M61964_IG25
                      ;; size=8 bbWeight=1 PerfScore 4.00
 G_M61964_IG03:        ; bbWeight=0.50, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=80000 {x19}, byref, isz
             ldr     w23, [x20, #0x08]
@@ -88,7 +88,7 @@ G_M61964_IG03:        ; bbWeight=0.50, gcrefRegs=700000 {x20 x21 x22}, byrefRegs
             blr     x1
             ; gcrRegs -[x0]
             cmp     w23, w0
-            bne     G_M61964_IG26
+            bne     G_M61964_IG27
             mov     x22, xzr
             mov     w23, wzr
             ldr     w25, [x20, #0x08]
@@ -149,7 +149,7 @@ G_M61964_IG06:        ; bbWeight=1.98, gcrefRegs=C700000 {x20 x21 x22 x26 x27},
             bl      <unknown method>
             ; gcrRegs -[x0]
             cmp     w0, #16
-            beq     G_M61964_IG27
+            beq     G_M61964_IG28
                       ;; size=16 bbWeight=1.98 PerfScore 5.94
 G_M61964_IG07:        ; bbWeight=3.96, gcrefRegs=C700000 {x20 x21 x22 x26 x27}, byrefRegs=80000 {x19}, byref, isz
             mov     x0, x27
@@ -255,7 +255,7 @@ G_M61964_IG13:        ; bbWeight=3.96, gcrefRegs=700000 {x20 x21 x22}, byrefRegs
                        ;; size=12 bbWeight=3.96 PerfScore 7.92
 G_M61964_IG14:        ; bbWeight=0.50, gcrefRegs=400000 {x22}, byrefRegs=80000 {x19}, byref, isz
             ; gcrRegs -[x20-x21]
-            cbz     x22, G_M61964_IG25
+            cbz     x22, G_M61964_IG26
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -294,7 +294,7 @@ G_M61964_IG16:        ; bbWeight=1.98, gcVars=0000000000000000 {}, gcrefRegs=C70
             ldr     x1, [x1, #0x18]
             blr     x1
             ; gcrRegs -[x0]
-            cbnz    w0, G_M61964_IG27
+            cbnz    w0, G_M61964_IG28
             b       G_M61964_IG07
                        ;; size=24 bbWeight=1.98 PerfScore 18.81
 G_M61964_IG17:        ; bbWeight=1.98, gcVars=0000000000000040 {V21}, gcrefRegs=C700000 {x20 x21 x22 x26 x27}, byrefRegs=80000 {x19}, gcvars, byref, isz
@@ -333,21 +333,15 @@ G_M61964_IG18:        ; bbWeight=1.98, gcrefRegs=C700000 {x20 x21 x22 x26 x27},
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x28, x1
-            beq     G_M61964_IG19
-            mov     w2, wzr
-            b       G_M61964_IG22
-                       ;; size=40 bbWeight=1.98 PerfScore 11.88
-G_M61964_IG19:        ; bbWeight=1.98, gcrefRegs=C700001 {x0 x20 x21 x22 x26 x27}, byrefRegs=80000 {x19}, byref, isz
-            ; gcrRegs +[x0]
+            bne     G_M61964_IG22
             cmp     x27, x0
-            bne     G_M61964_IG21
-                       ;; size=8 bbWeight=1.98 PerfScore 2.97
-G_M61964_IG20:        ; bbWeight=1.63, gcrefRegs=C700000 {x20 x21 x22 x26 x27}, byrefRegs=80000 {x19}, byref
-            ; gcrRegs -[x0]
+            bne     G_M61964_IG20
+                       ;; size=40 bbWeight=1.98 PerfScore 11.88
+G_M61964_IG19:        ; bbWeight=1.63, gcrefRegs=C700000 {x20 x21 x22 x26 x27}, byrefRegs=80000 {x19}, byref
             mov     w2, #1
-            b       G_M61964_IG22
+            b       G_M61964_IG21
                        ;; size=8 bbWeight=1.63 PerfScore 2.45
-G_M61964_IG21:        ; bbWeight=0.35, gcrefRegs=C700001 {x0 x20 x21 x22 x26 x27}, byrefRegs=80000 {x19}, byref
+G_M61964_IG20:        ; bbWeight=0.35, gcrefRegs=C700001 {x0 x20 x21 x22 x26 x27}, byrefRegs=80000 {x19}, byref
             ; gcrRegs +[x0]
             mov     x1, x27
             ; gcrRegs +[x1]
@@ -355,8 +349,8 @@ G_M61964_IG21:        ; bbWeight=0.35, gcrefRegs=C700001 {x0 x20 x21 x22 x26 x27
             ; gcrRegs -[x0-x1]
             sxtw    w2, w0
                        ;; size=12 bbWeight=0.35 PerfScore 0.69
-G_M61964_IG22:        ; bbWeight=1.98, gcrefRegs=C700000 {x20 x21 x22 x26 x27}, byrefRegs=80000 {x19}, byref, isz
-            cbnz    w2, G_M61964_IG23
+G_M61964_IG21:        ; bbWeight=1.98, gcrefRegs=C700000 {x20 x21 x22 x26 x27}, byrefRegs=80000 {x19}, byref, isz
+            cbnz    w2, G_M61964_IG24
             mov     x0, x27
             ; gcrRegs +[x0]
             movz    x1, #0xD1FFAB1E
@@ -366,9 +360,16 @@ G_M61964_IG22:        ; bbWeight=1.98, gcrefRegs=C700000 {x20 x21 x22 x26 x27},
             ldr     x2, [x2, #0x18]
             blr     x2
             ; gcrRegs -[x0]
-            cbz     w0, G_M61964_IG28
+            b       G_M61964_IG23
                       ;; size=36 bbWeight=1.98 PerfScore 21.78
+G_M61964_IG22:        ; bbWeight=0.50, gcrefRegs=C700000 {x20 x21 x22 x26 x27}, byrefRegs=80000 {x19}, byref
+            mov     w2, wzr
+            b       G_M61964_IG21
+                       ;; size=8 bbWeight=0.50 PerfScore 0.74
 G_M61964_IG23:        ; bbWeight=1.98, gcrefRegs=C700000 {x20 x21 x22 x26 x27}, byrefRegs=80000 {x19}, byref, isz
+            cbz     w0, G_M61964_IG29
+                       ;; size=4 bbWeight=1.98 PerfScore 1.98
+G_M61964_IG24:        ; bbWeight=1.98, gcrefRegs=C700000 {x20 x21 x22 x26 x27}, byrefRegs=80000 {x19}, byref, isz
             mov     x0, x27
             ; gcrRegs +[x0]
             mov     x1, x26
@@ -377,7 +378,7 @@ G_M61964_IG23:        ; bbWeight=1.98, gcrefRegs=C700000 {x20 x21 x22 x26 x27},
             ldr     x2, [x28, #0x08]
             blr     x2
             ; gcrRegs -[x0-x1]
-            cbz     w0, G_M61964_IG28
+            cbz     w0, G_M61964_IG29
             mov     x0, x26
             ; gcrRegs +[x0]
             movz    x1, #0xD1FFAB1E      // code for System.Linq.Expressions.Expression:Quote(System.Linq.Expressions.Expression):System.Linq.Expressions.UnaryExpression
@@ -390,7 +391,7 @@ G_M61964_IG23:        ; bbWeight=1.98, gcrefRegs=C700000 {x20 x21 x22 x26 x27},
             ; gcrRegs +[x26]
             b       G_M61964_IG08
                        ;; size=56 bbWeight=1.98 PerfScore 30.69
-G_M61964_IG24:        ; bbWeight=0.50, gcrefRegs=600000 {x21 x22}, byrefRegs=80000 {x19}, byref, isz
+G_M61964_IG25:        ; bbWeight=0.50, gcrefRegs=600000 {x21 x22}, byrefRegs=80000 {x19}, byref, isz
             ; gcrRegs -[x0 x20 x26]
             ldr     x0, [x19]
             ; gcrRegs +[x0]
@@ -404,9 +405,9 @@ G_M61964_IG24:        ; bbWeight=0.50, gcrefRegs=600000 {x21 x22}, byrefRegs=800
             ; gcrRegs -[x0]
             ; byrRegs -[x19]
             cmp     w0, #0
-            bgt     G_M61964_IG29
+            bgt     G_M61964_IG30
                        ;; size=40 bbWeight=0.50 PerfScore 6.75
-G_M61964_IG25:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M61964_IG26:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x21-x22]
             ldp     x27, x28, [sp, #0x60]
             ldp     x25, x26, [sp, #0x50]
@@ -416,7 +417,7 @@ G_M61964_IG25:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ldp     fp, lr, [sp], #0x70
             ret     lr
                        ;; size=28 bbWeight=0.50 PerfScore 3.50
-G_M61964_IG26:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=600000 {x21 x22}, byrefRegs=0000 {}, gcvars, byref
+G_M61964_IG27:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=600000 {x21 x22}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs +[x21-x22]
             mov     x0, x21
             ; gcrRegs +[x0]
@@ -431,7 +432,7 @@ G_M61964_IG26:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=600000
             bl      CORINFO_HELP_THROW
             ; gcrRegs -[x0]
                        ;; size=32 bbWeight=0 PerfScore 0.00
-G_M61964_IG27:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M61964_IG28:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
@@ -447,7 +448,7 @@ G_M61964_IG27:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_THROW
             ; gcrRegs -[x0]
                        ;; size=48 bbWeight=0 PerfScore 0.00
-G_M61964_IG28:        ; bbWeight=0, gcrefRegs=C200000 {x21 x26 x27}, byrefRegs=0000 {}, byref
+G_M61964_IG29:        ; bbWeight=0, gcrefRegs=C200000 {x21 x26 x27}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x21 x26-x27]
             mov     x0, x26
             ; gcrRegs +[x0]
@@ -482,7 +483,7 @@ G_M61964_IG28:        ; bbWeight=0, gcrefRegs=C200000 {x21 x26 x27}, byrefRegs=0
             bl      CORINFO_HELP_THROW
             ; gcrRegs -[x0]
                        ;; size=88 bbWeight=0 PerfScore 0.00
-G_M61964_IG29:        ; bbWeight=0, gcrefRegs=600000 {x21 x22}, byrefRegs=0000 {}, byref
+G_M61964_IG30:        ; bbWeight=0, gcrefRegs=600000 {x21 x22}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x21-x22]
             mov     x0, x21
             ; gcrRegs +[x0]
@@ -499,7 +500,7 @@ G_M61964_IG29:        ; bbWeight=0, gcrefRegs=600000 {x21 x22}, byrefRegs=0000 {
             brk_unix #0
                        ;; size=36 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1128, prolog size 28, PerfScore 800.26, instruction count 282, allocated bytes for code 1128 (MethodHash=154b0df3) for method System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
+; Total bytes of code 1132, prolog size 28, PerfScore 800.02, instruction count 283, allocated bytes for code 1132 (MethodHash=154b0df3) for method System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -510,7 +511,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 282 (0x0011a) Actual length = 1128 (0x000468)
+  Function Length   : 283 (0x0011b) Actual length = 1132 (0x00046c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+12 (+0.45%) : 289556.dasm - R2RTest.BuildFolder:WriteJitStatistics(System.IO.TextWriter,System.Collections.Generic.Dictionary2[System.String,System.Collections.Generic.HashSet1[System.String]][],System.Collections.Generic.IEnumerable`1[R2RTest.CompilerRunner]) (FullOpts)
@@ -8,18 +8,18 @@
 ; 15 inlinees with PGO data; 35 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] ( 11, 24.50)     ref  ->  x20         class-hnd single-def <System.IO.TextWriter>
-;  V01 arg1         [V01,T17] (  6, 26   )     ref  ->  x19         class-hnd single-def <System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.HashSet`1[System.String]][]>
+;  V00 arg0         [V00,T17] ( 11, 24.50)     ref  ->  x20         class-hnd single-def <System.IO.TextWriter>
+;  V01 arg1         [V01,T16] (  6, 26   )     ref  ->  x19         class-hnd single-def <System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.HashSet`1[System.String]][]>
 ;  V02 arg2         [V02,T39] (  6,  8   )     ref  ->  x21         class-hnd single-def <System.Collections.Generic.IEnumerable`1[R2RTest.CompilerRunner]>
 ;  V03 loc0         [V03,T10] (  6, 35.50)     ref  ->  x22         class-hnd exact single-def <<unknown class>>
 ;  V04 loc1         [V04,T38] (  7, 10   )     ref  ->  [fp+0x30]  class-hnd EH-live spill-single-def <<unknown class>>
 ;* V05 loc2         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <R2RTest.CompilerRunner>
 ;  V06 loc3         [V06    ] (  9, 72   )  struct (40) [fp+0x90]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.Dictionary`2+Enumerator[System.String,System.Collections.Generic.HashSet`1[System.String]]>
 ;* V07 loc4         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.String,System.Collections.Generic.HashSet`1[System.String]]>
-;  V08 loc5         [V08,T16] (  4, 30.56)     int  ->   x2         ld-addr-op
+;  V08 loc5         [V08,T15] (  4, 30.56)     int  ->   x2         ld-addr-op
 ;  V09 loc6         [V09,T41] (  7,  9   )     ref  ->  [fp+0x28]  class-hnd EH-live spill-single-def <<unknown class>>
 ;  V10 loc7         [V10,T35] (  3, 12   )     ref  ->  x27         class-hnd <R2RTest.CompilerRunner>
-;  V11 loc8         [V11    ] ( 20, 71.99)  struct (40) [fp+0x68]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
+;  V11 loc8         [V11    ] ( 22, 67.99)  struct (40) [fp+0x68]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
 ;  V12 loc9         [V12,T45] (  2,  8   )     int  ->  x28         ld-addr-op
 ;  V13 loc10        [V13,T42] (  7,  9   )     ref  ->  [fp+0x20]  class-hnd EH-live spill-single-def <<unknown class>>
 ;  V14 loc11        [V14,T29] (  3, 16   )     ref  ->  x26         class-hnd <System.String>
@@ -80,7 +80,7 @@
 ;* V69 tmp50        [V69    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V70 tmp51        [V70,T43] (  2,  8   )     ref  ->  x27         class-hnd exact "Inline stloc first use temp" <System.String>
 ;* V71 tmp52        [V71    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
-;  V72 tmp53        [V72,T14] (  4, 32   )     int  ->  x27         "Inlining Arg"
+;  V72 tmp53        [V72,T18] (  6, 24.00)     int  ->  x27         "Inlining Arg"
 ;* V73 tmp54        [V73    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V74 tmp55        [V74,T31] (  2, 16   )   byref  ->  x28         "Inlining Arg"
 ;* V75 tmp56        [V75    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -145,7 +145,7 @@
 ;  V134 tmp115      [V134,T67] (  2,  2   )     ref  ->   x0         single-def "argument with side effect"
 ;  V135 tmp116      [V135,T08] (  3, 48   )     int  ->   x0         "index expr"
 ;  V136 tmp117      [V136,T07] (  3, 48   )     ref  ->   x0         "argument with side effect"
-;  V137 tmp118      [V137,T15] (  2, 32   )     ref  ->   x1         "argument with side effect"
+;  V137 tmp118      [V137,T14] (  2, 32   )     ref  ->   x1         "argument with side effect"
 ;  V138 PSPSym      [V138,T70] (  1,  1   )    long  ->  [fp+0xB8]  do-not-enreg[V] "PSPSym"
 ;* V139 cse0        [V139,T71] (  0,  0   )    long  ->  zero-ref    "CSE - conservative"
 ;  V140 cse1        [V140,T52] (  3,  6.17)     ref  ->  x26         hoist "CSE - conservative"
@@ -552,7 +552,7 @@ G_M25794_IG27:        ; bbWeight=4, gcrefRegs=4780000 {x19 x20 x21 x22 x26}, byr
             cmp     w28, #2
             blo     G_M25794_IG35
                        ;; size=8 bbWeight=4 PerfScore 6.00
-G_M25794_IG28:        ; bbWeight=1.99, gcrefRegs=4780000 {x19 x20 x21 x22 x26}, byrefRegs=8000000 {x27}, byref
+G_M25794_IG28:        ; bbWeight=1.99, gcrefRegs=4780000 {x19 x20 x21 x22 x26}, byrefRegs=8000000 {x27}, byref, isz
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -561,17 +561,17 @@ G_M25794_IG28:        ; bbWeight=1.99, gcrefRegs=4780000 {x19 x20 x21 x22 x26},
             ldr     w0, [fp, #0x78]    // [V11 loc8+0x10]
             add     w0, w0, #2
             str     w0, [fp, #0x78]    // [V11 loc8+0x10]
-                        ;; size=32 bbWeight=1.99 PerfScore 17.93
-G_M25794_IG29:        ; bbWeight=4, gcrefRegs=4780000 {x19 x20 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
-            ; byrRegs -[x27]
             ldr     w27, [fp, #0x78]   // [V11 loc8+0x10]
+            ; byrRegs -[x27]
             ldr     w0, [fp, #0x88] // [V11 loc8+0x20]
             cmp     w27, w0
             bhi     G_M25794_IG36
+                        ;; size=48 bbWeight=1.99 PerfScore 28.89
+G_M25794_IG29:        ; bbWeight=4, gcrefRegs=4780000 {x19 x20 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
             ldr     x28, [fp, #0x80] // [V11 loc8+0x18]
             ; byrRegs +[x28]
             tbz     w27, #31, G_M25794_IG31
-                      ;; size=24 bbWeight=4 PerfScore 34.00
+                     ;; size=8 bbWeight=4 PerfScore 12.00
 G_M25794_IG30:        ; bbWeight=2, gcrefRegs=4780000 {x19 x20 x21 x22 x26}, byrefRegs=10000000 {x28}, byref
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
@@ -655,7 +655,7 @@ G_M25794_IG34:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byref
             ; gcrRegs -[x26]
             b       G_M25794_IG38
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M25794_IG35:        ; bbWeight=0.01, gcrefRegs=4780000 {x19 x20 x21 x22 x26}, byrefRegs=0000 {}, byref
+G_M25794_IG35:        ; bbWeight=0.01, gcrefRegs=4780000 {x19 x20 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x26]
             add     x0, fp, #104   // [V11 loc8]
             movz    x1, #0xD1FFAB1E
@@ -667,8 +667,11 @@ G_M25794_IG35:        ; bbWeight=0.01, gcrefRegs=4780000 {x19 x20 x21 x22 x26},
             ldr     x2, [x2]
             blr     x2
             ; gcr arg pop 0
-            b       G_M25794_IG29
-                       ;; size=40 bbWeight=0.01 PerfScore 0.07
+            ldr     w27, [fp, #0x78]   // [V11 loc8+0x10]
+            ldr     w0, [fp, #0x88]    // [V11 loc8+0x20]
+            cmp     w27, w0
+            bls     G_M25794_IG29
+                       ;; size=52 bbWeight=0.01 PerfScore 0.11
 G_M25794_IG36:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19-x22 x26]
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
@@ -1233,7 +1236,7 @@ G_M25794_IG70:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2660, prolog size 72, PerfScore 2462.16, instruction count 665, allocated bytes for code 2660 (MethodHash=43809b3d) for method R2RTest.BuildFolder:WriteJitStatistics(System.IO.TextWriter,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.HashSet`1[System.String]][],System.Collections.Generic.IEnumerable`1[R2RTest.CompilerRunner]) (FullOpts)
+; Total bytes of code 2672, prolog size 72, PerfScore 2451.15, instruction count 668, allocated bytes for code 2672 (MethodHash=43809b3d) for method R2RTest.BuildFolder:WriteJitStatistics(System.IO.TextWriter,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.HashSet`1[System.String]][],System.Collections.Generic.IEnumerable`1[R2RTest.CompilerRunner]) (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -1244,7 +1247,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 572 (0x0023c) Actual length = 2288 (0x0008f0)
+  Function Length   : 575 (0x0023f) Actual length = 2300 (0x0008fc)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+28 (+1.14%) : 198256.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
@@ -8,49 +8,49 @@
 ; 6 inlinees with PGO data; 17 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] ( 21, 18   )     ref  ->  x24         class-hnd <System.Reflection.MemberInfo>
+;  V00 arg0         [V00,T19] ( 23, 19   )     ref  ->  x24         class-hnd <System.Reflection.MemberInfo>
 ;  V01 arg1         [V01,T10] ( 12, 39.50)     ref  ->  registers   class-hnd <System.Reflection.ParameterInfo[]>
-;  V02 arg2         [V02,T17] (  6, 19.50)     int  ->  x23         single-def
-;  V03 arg3         [V03,T13] (  8, 29.50)   ubyte  ->  x21         single-def
-;  V04 arg4         [V04,T38] (  3,  2.50)     ref  ->  x25         class-hnd single-def <System.Object[]>
-;  V05 arg5         [V05,T15] (  4, 20   )     int  ->  x22         single-def
-;  V06 arg6         [V06,T39] (  3,  2.50)     ref  ->  x26         class-hnd single-def <System.String[]>
-;  V07 arg7         [V07,T40] (  3,  2.50)     ref  ->  x27         class-hnd single-def <System.Type[]>
+;  V02 arg2         [V02,T18] (  6, 19.50)     int  ->  x23         single-def
+;  V03 arg3         [V03,T17] (  7, 21.50)   ubyte  ->  x22         single-def
+;  V04 arg4         [V04,T39] (  3,  2.50)     ref  ->  x25         class-hnd single-def <System.Object[]>
+;  V05 arg5         [V05,T15] (  4, 20   )     int  ->  x21         single-def
+;  V06 arg6         [V06,T40] (  3,  2.50)     ref  ->  x26         class-hnd single-def <System.String[]>
+;  V07 arg7         [V07,T41] (  3,  2.50)     ref  ->  x27         class-hnd single-def <System.Type[]>
 ;  V08 arg8         [V08,T62] (  1,  1   )   ubyte  ->  [fp+0xF0]  single-def
 ;  V09 arg9         [V09,T04] ( 27, 69.38)     ref  ->  x19         class-hnd single-def <System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
-;  V10 arg10        [V10,T42] (  2,  4   )     ref  ->  x28         class-hnd single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Container>
-;  V11 loc0         [V11,T36] ( 10,  5.46)     ref  ->  [fp+0x48]  class-hnd <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V12 loc1         [V12,T19] (  7, 19   )     ref  ->  [fp+0x40]  class-hnd spill-single-def <System.Reflection.MethodBase>
-;  V13 loc2         [V13,T35] (  5,  5.50)   ubyte  ->  [fp+0x9C] 
-;  V14 loc3         [V14,T37] (  3,  5   )     int  ->  x25         single-def
+;  V10 arg10        [V10,T43] (  2,  4   )     ref  ->  x28         class-hnd single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Container>
+;  V11 loc0         [V11,T37] ( 10,  5.46)     ref  ->  [fp+0x40]  class-hnd <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V12 loc1         [V12,T20] (  7, 19   )     ref  ->  [fp+0x38]  class-hnd spill-single-def <System.Reflection.MethodBase>
+;  V13 loc2         [V13,T36] (  5,  5.50)   ubyte  ->  [fp+0x9C] 
+;  V14 loc3         [V14,T38] (  3,  5   )     int  ->  x25         single-def
 ;  V15 loc4         [V15,T07] ( 11, 60.50)     int  ->  x27        
-;  V16 loc5         [V16,T01] ( 16, 84   )     ref  ->  [fp+0x38]  class-hnd exact spill-single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V17 loc6         [V17,T12] (  3, 34   )     ref  ->  [fp+0x30]  class-hnd spill-single-def <System.Reflection.ParameterInfo[]>
-;  V18 loc7         [V18,T11] ( 11, 36   )     ref  ->  [fp+0x28]  class-hnd <System.Reflection.MethodBase>
-;  V19 loc8         [V19,T02] (  8, 84   )     int  ->  [fp+0x98] 
-;  V20 loc9         [V20,T03] (  8, 84   )     int  ->  [fp+0x94] 
+;  V16 loc5         [V16,T03] ( 16, 76   )     ref  ->  [fp+0x30]  class-hnd exact spill-single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V17 loc6         [V17,T12] (  3, 34   )     ref  ->  [fp+0x28]  class-hnd spill-single-def <System.Reflection.ParameterInfo[]>
+;  V18 loc7         [V18,T11] ( 11, 36   )     ref  ->  [fp+0x20]  class-hnd <System.Reflection.MethodBase>
+;  V19 loc8         [V19,T01] (  8, 84   )     int  ->  [fp+0x98] 
+;  V20 loc9         [V20,T02] (  8, 84   )     int  ->  [fp+0x94] 
 ;* V21 loc10        [V21,T49] (  0,  0   )     int  ->  zero-ref   
-;  V22 loc11        [V22,T09] (  4, 50   )     int  ->  [fp+0x90] 
+;  V22 loc11        [V22,T08] (  4, 50   )     int  ->  [fp+0x90] 
 ;  V23 loc12        [V23    ] (  3, 48   )   ubyte  ->  [fp+0x88]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V24 loc13        [V24    ] (  3, 48   )   ubyte  ->  [fp+0x80]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V25 loc14        [V25    ] (  3, 48   )   ubyte  ->  [fp+0x78]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V26 OutArgs      [V26    ] (  1,  1   )  struct (16) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V27 tmp1         [V27,T44] (  3,  2.50)    long  ->   x0         "fgMakeTemp is creating a new local variable"
-;  V28 tmp2         [V28,T43] (  4,  3   )     ref  ->  x25         class-hnd "spilling QMark2" <System.Reflection.MethodBase>
-;  V29 tmp3         [V29,T26] ( 10,  9.92)     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V30 tmp4         [V30,T45] (  3,  2.50)    long  ->   x0         "fgMakeTemp is creating a new local variable"
-;  V31 tmp5         [V31,T48] (  3,  2   )     ref  ->  x22         class-hnd "spilling QMark2" <System.Reflection.PropertyInfo>
-;  V32 tmp6         [V32,T28] (  9,  8.92)     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V27 tmp1         [V27,T45] (  3,  2.50)    long  ->   x1         "fgMakeTemp is creating a new local variable"
+;  V28 tmp2         [V28,T44] (  4,  3   )     ref  ->  x25         class-hnd "spilling QMark2" <System.Reflection.MethodBase>
+;  V29 tmp3         [V29,T27] ( 10,  9.92)     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V30 tmp4         [V30,T46] (  3,  2.50)    long  ->   x1         "fgMakeTemp is creating a new local variable"
+;  V31 tmp5         [V31,T48] (  3,  2   )     ref  ->  x21         class-hnd "spilling QMark2" <System.Reflection.PropertyInfo>
+;  V32 tmp6         [V32,T29] (  9,  8.92)     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
 ;* V33 tmp7         [V33    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V34 tmp8         [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Reflection.ParameterInfo[]>
 ;* V35 tmp9         [V35    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Type>
-;  V36 tmp10        [V36,T27] (  9,  9   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V36 tmp10        [V36,T28] (  9,  9   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
 ;  V37 tmp11        [V37,T54] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V38 tmp12        [V38,T55] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V39 tmp13        [V39,T41] (  4,  4   )     ref  ->  x25         class-hnd single-def "Inlining Arg" <System.Reflection.MethodBase>
+;  V39 tmp13        [V39,T42] (  4,  4   )     ref  ->  x25         class-hnd single-def "Inlining Arg" <System.Reflection.MethodBase>
 ;* V40 tmp14        [V40,T50] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V41 tmp15        [V41,T33] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V42 tmp16        [V42,T34] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V41 tmp15        [V41,T34] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V42 tmp16        [V42,T35] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V43 tmp17        [V43,T58] (  3,  1.46)     ref  ->   x3         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
 ;  V44 tmp18        [V44,T51] (  4,  1.92)     int  ->   x2         single-def "Inline stloc first use temp"
 ;  V45 tmp19        [V45,T59] (  3,  1.46)     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
@@ -58,27 +58,27 @@
 ;  V47 tmp21        [V47,T60] (  3,  1.46)     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
 ;  V48 tmp22        [V48,T53] (  4,  1.92)     int  ->  x15         single-def "Inline stloc first use temp"
 ;  V49 tmp23        [V49,T16] (  3, 24   )     ref  ->   x0         "arr expr"
-;  V50 tmp24        [V50,T21] (  3, 12   )     ref  ->   x0         "argument with side effect"
-;  V51 tmp25        [V51,T22] (  3, 12   )     ref  ->   x0         "argument with side effect"
+;  V50 tmp24        [V50,T22] (  3, 12   )     ref  ->   x0         "argument with side effect"
+;  V51 tmp25        [V51,T23] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V52 tmp26        [V52,T05] (  2, 64   )     ref  ->   x4         "argument with side effect"
 ;  V53 tmp27        [V53,T06] (  2, 64   )     ref  ->   x6         "argument with side effect"
-;  V54 tmp28        [V54,T30] (  2,  8   )     int  ->  [fp+0x74]  spill-single-def "argument with side effect"
-;  V55 tmp29        [V55,T31] (  2,  8   )     int  ->   x3         "argument with side effect"
-;  V56 tmp30        [V56,T29] (  2,  8   )     ref  ->  [fp+0x20]  spill-single-def "argument with side effect"
-;  V57 tmp31        [V57,T23] (  3, 12   )     ref  ->   x2         "argument with side effect"
-;  V58 tmp32        [V58,T24] (  3, 12   )     ref  ->   x0         "argument with side effect"
+;  V54 tmp28        [V54,T31] (  2,  8   )     int  ->  [fp+0x74]  spill-single-def "argument with side effect"
+;  V55 tmp29        [V55,T32] (  2,  8   )     int  ->   x3         "argument with side effect"
+;  V56 tmp30        [V56,T30] (  2,  8   )     ref  ->  [fp+0x18]  spill-single-def "argument with side effect"
+;  V57 tmp31        [V57,T24] (  3, 12   )     ref  ->   x2         "argument with side effect"
+;  V58 tmp32        [V58,T25] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V59 tmp33        [V59,T00] (  3, 96   )     ref  ->   x3         "arr expr"
-;  V60 tmp34        [V60,T25] (  3, 12   )     ref  ->   x0         "arr expr"
-;  V61 cse0         [V61,T20] (  6, 12   )    long  ->  [fp+0x68]  multi-def "CSE - moderate"
-;  V62 cse1         [V62,T32] (  5,  7   )    long  ->  [fp+0x60]  multi-def "CSE - moderate"
+;  V60 tmp34        [V60,T26] (  3, 12   )     ref  ->   x0         "arr expr"
+;  V61 cse0         [V61,T21] (  6, 12   )    long  ->  [fp+0x68]  multi-def "CSE - moderate"
+;  V62 cse1         [V62,T33] (  5,  7   )    long  ->  [fp+0x60]  multi-def "CSE - moderate"
 ;  V63 cse2         [V63,T56] (  3,  1.50)    long  ->  [fp+0x58]  spill-single-def "CSE - conservative"
 ;  V64 cse3         [V64,T57] (  3,  1.50)    long  ->  x26         "CSE - conservative"
-;  V65 cse4         [V65,T08] (  5, 52   )     int  ->   x0         multi-def "CSE - aggressive"
-;  V66 cse5         [V66,T46] (  4,  2   )     int  ->  x25         multi-def "CSE - moderate"
+;  V65 cse4         [V65,T13] (  5, 28   )     int  ->   x0         multi-def "CSE - aggressive"
+;  V66 cse5         [V66,T47] (  4,  2   )     int  ->  x25         multi-def "CSE - moderate"
 ;  V67 cse6         [V67,T61] (  2,  1   )     int  ->   x0         "CSE - conservative"
-;  V68 cse7         [V68,T47] (  4,  2   )    long  ->  x22         "CSE - moderate"
-;  V69 cse8         [V69,T14] (  4, 26   )    long  ->  [fp+0x50]  spill-single-def "CSE - aggressive"
-;  TEMP_01                                     ref  ->  [fp+0x18]
+;  V68 cse7         [V68,T09] (  5, 44   )     int  ->  [fp+0x54]  multi-def "CSE - aggressive"
+;  V69 cse8         [V69,T14] (  4, 26   )    long  ->  [fp+0x48]  spill-single-def "CSE - aggressive"
+;  TEMP_01                                     ref  ->  [fp+0x10]
 ;
 ; Lcl frame size = 160
 
@@ -93,16 +93,16 @@ G_M30168_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             add     fp, sp, #16
             stp     xzr, xzr, [fp, #0x80]  // [V24 loc13], [V23 loc12]
             str     xzr, [fp, #0x78]   // [V25 loc14]
-            str     xzr, [fp, #0x18]    // [TEMP_01]
+            str     xzr, [fp, #0x10]  // [TEMP_01]
             mov     x24, x0
             ; gcrRegs +[x24]
             mov     x20, x1
             ; gcrRegs +[x20]
             mov     w23, w2
-            mov     w21, w3
+            mov     w22, w3
             mov     x25, x4
             ; gcrRegs +[x25]
-            mov     w22, w5
+            mov     w21, w5
             mov     x26, x6
             ; gcrRegs +[x26]
             mov     x27, x7
@@ -111,13 +111,13 @@ G_M30168_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x19 x28]
                        ;; size=80 bbWeight=1 PerfScore 17.00
 G_M30168_IG02:        ; bbWeight=1, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, byref, isz
-            str     xzr, [fp, #0x48]  // [V11 loc0]
+            str     xzr, [fp, #0x40] // [V11 loc0]
             ; GC ptr vars +{V11}
             ldrb    w1, [fp, #0xF0]    // [V08 arg8]
             tst     w1, #255
             bne     G_M30168_IG40
                        ;; size=16 bbWeight=1 PerfScore 4.50
-G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000001000000000 {V11}, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000002000000000 {V11}, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             mov     x1, x24
             ; gcrRegs +[x1]
             movz    x0, #0xD1FFAB1E
@@ -126,7 +126,7 @@ G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000001000000000 {V11}, gcrefRegs=
             bl      CORINFO_HELP_ISINSTANCEOFCLASS
             ; gcrRegs -[x1] +[x0]
             ; gcr arg pop 0
-            str     x0, [fp, #0x40]   // [V12 loc1]
+            str     x0, [fp, #0x38]  // [V12 loc1]
             ; GC ptr vars +{V12}
             str     wzr, [fp, #0x9C]   // [V13 loc2]
             mov     x0, x24
@@ -145,7 +145,7 @@ G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000001000000000 {V11}, gcrefRegs=
             tbz     w0, #0, G_M30168_IG58
                        ;; size=76 bbWeight=0.50 PerfScore 11.25
 G_M30168_IG04:        ; bbWeight=0.50, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, byref, isz
-            ldr     x0, [fp, #0x40]    // [V12 loc1]
+            ldr     x0, [fp, #0x38]  // [V12 loc1]
             ; gcrRegs +[x0]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x60]
@@ -155,7 +155,7 @@ G_M30168_IG04:        ; bbWeight=0.50, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x
             ; gcrRegs -[x0]
             ; gcr arg pop 0
             cbz     w0, G_M30168_IG06
-            ldr     x0, [fp, #0x40] // [V12 loc1]
+            ldr     x0, [fp, #0x38]  // [V12 loc1]
             ; gcrRegs +[x0]
             ldr     x1, [fp, #0x58]    // [V63 cse2]
             ldr     x1, [x1, #0x18]
@@ -187,19 +187,19 @@ G_M30168_IG04:        ; bbWeight=0.50, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x
             ; gcrRegs -[x15 x20]
             ; byrRegs -[x14]
             str     w23, [x2, #0x48]
-            strb    w21, [x2, #0x4C]
+            strb    w22, [x2, #0x4C]
             mov     w14, #1
             strb    w14, [x2, #0x4F]
             add     x14, x2, #8
             ; byrRegs +[x14]
-            ldr     x15, [fp, #0x40] // [V12 loc1]
+            ldr     x15, [fp, #0x38] // [V12 loc1]
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x15]
             ; byrRegs -[x14]
             add     x14, x2, #16
             ; byrRegs +[x14]
-            ldr     x15, [fp, #0x40] // [V12 loc1]
+            ldr     x15, [fp, #0x38] // [V12 loc1]
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x15]
@@ -242,11 +242,11 @@ G_M30168_IG05:        ; bbWeight=0.50, gcrefRegs=10180000 {x19 x20 x28}, byrefRe
             ldr     x0, [x20, #0x18]
             mov     x25, x0
             ; gcrRegs +[x25]
-            str     x20, [fp, #0x48] // [V11 loc0]
+            str     x20, [fp, #0x40] // [V11 loc0]
             ; GC ptr vars +{V11}
             mov     x20, x25
                        ;; size=52 bbWeight=0.50 PerfScore 6.50
-G_M30168_IG06:        ; bbWeight=0.50, gcVars=0000001000080000 {V11 V12}, gcrefRegs=11180000 {x19 x20 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG06:        ; bbWeight=0.50, gcVars=0000002000100000 {V11 V12}, gcrefRegs=11180000 {x19 x20 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0 x25]
             cbz     x24, G_M30168_IG08
             mov     x0, x24
@@ -318,18 +318,18 @@ G_M30168_IG09:        ; bbWeight=4, gcrefRegs=11180000 {x19 x20 x24 x28}, byrefR
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
             mov     w1, w27
-            str     x1, [fp, #0x50]   // [V69 cse8]
+            str     x1, [fp, #0x48]  // [V69 cse8]
             ldr     x2, [x0, x1, LSL #3]
             ; gcrRegs +[x2]
-            str     x2, [fp, #0x38]   // [V16 loc5]
+            str     x2, [fp, #0x30]  // [V16 loc5]
             ; GC ptr vars +{V16}
             cbz     x2, G_M30168_IG39
                        ;; size=52 bbWeight=4 PerfScore 76.00
-G_M30168_IG10:        ; bbWeight=2, gcVars=0000001000080002 {V11 V12 V16}, gcrefRegs=11180004 {x2 x19 x20 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG10:        ; bbWeight=2, gcVars=0000002000100008 {V11 V12 V16}, gcrefRegs=11180004 {x2 x19 x20 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             ; byrRegs -[x0]
             ldr     x3, [x2, #0x18]
             ; gcrRegs +[x3]
-            str     x3, [fp, #0x30]   // [V17 loc6]
+            str     x3, [fp, #0x28]  // [V17 loc6]
             ; GC ptr vars +{V17}
             ldr     x0, [x2, #0x08]
             ; gcrRegs +[x0]
@@ -341,7 +341,7 @@ G_M30168_IG10:        ; bbWeight=2, gcVars=0000001000080002 {V11 V12 V16}, gcref
             ; gcr arg pop 0
             cmp     w0, #8
             beq     G_M30168_IG11
-            ldr     x1, [fp, #0x38] // [V16 loc5]
+            ldr     x1, [fp, #0x30]  // [V16 loc5]
...
  
  
libraries_tests.run.linux.arm64.Release.mch
-4 (-2.63%) : 66536.dasm - System.Numerics.BigIntegerCalculator:Compare(System.ReadOnlySpan1[uint],System.ReadOnlySpan1[uint]):int (Tier1-OSR)
@@ -37,64 +37,59 @@ G_M264_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
 G_M264_IG03:        ; bbWeight=100, gcrefRegs=0000 {}, byrefRegs=0006 {x1 x2}, byref, isz
             ldr     w4, [fp, #0x2C]    // [V02 loc0]
             sub     w4, w4, #1
-            tbnz    w4, #31, G_M264_IG06
+            tbnz    w4, #31, G_M264_IG08
                      ;; size=12 bbWeight=100 PerfScore 350.00
 G_M264_IG04:        ; bbWeight=98.76, gcrefRegs=0000 {}, byrefRegs=0006 {x1 x2}, byref, isz
             cmp     w4, w0
-            bhs     G_M264_IG13
+            bhs     G_M264_IG12
             mov     w5, w4
             ldr     w6, [x1, x5, LSL #2]
             cmp     w4, w3
-            bhs     G_M264_IG13
+            bhs     G_M264_IG12
             ldr     w7, [x2, x5, LSL #2]
             cmp     w6, w7
             str     w4, [fp, #0x2C]    // [V02 loc0]
             beq     G_M264_IG03
                        ;; size=40 bbWeight=98.76 PerfScore 1185.12
-G_M264_IG05:        ; bbWeight=1.60, gcrefRegs=0000 {}, byrefRegs=0006 {x1 x2}, byref
-            b       G_M264_IG08
-                       ;; size=4 bbWeight=1.60 PerfScore 1.60
-G_M264_IG06:        ; bbWeight=2.83, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x1-x2]
-            mov     w0, wzr
-                       ;; size=4 bbWeight=2.83 PerfScore 1.42
-G_M264_IG07:        ; bbWeight=2.83, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            add     sp, sp, #64
-            ret     lr
-                       ;; size=12 bbWeight=2.83 PerfScore 7.08
-G_M264_IG08:        ; bbWeight=1.60, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0006 {x1 x2}, gcvars, byref, isz
-            ; byrRegs +[x1-x2]
+G_M264_IG05:        ; bbWeight=1.60, gcrefRegs=0000 {}, byrefRegs=0006 {x1 x2}, byref, isz
             ldr     w0, [x1, x5, LSL #2]
             ldr     w1, [x2, x5, LSL #2]
             ; byrRegs -[x1]
             cmp     w0, w1
-            blo     G_M264_IG11
+            blo     G_M264_IG10
                        ;; size=16 bbWeight=1.60 PerfScore 11.99
-G_M264_IG09:        ; bbWeight=0.97, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M264_IG06:        ; bbWeight=0.97, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; byrRegs -[x2]
             mov     w0, #1
                        ;; size=4 bbWeight=0.97 PerfScore 0.48
-G_M264_IG10:        ; bbWeight=0.97, epilog, nogc, extend
+G_M264_IG07:        ; bbWeight=0.97, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             add     sp, sp, #64
             ret     lr
                        ;; size=12 bbWeight=0.97 PerfScore 2.41
-G_M264_IG11:        ; bbWeight=0.68, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M264_IG08:        ; bbWeight=1.23, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+            mov     w0, wzr
+                       ;; size=4 bbWeight=1.23 PerfScore 0.62
+G_M264_IG09:        ; bbWeight=1.23, epilog, nogc, extend
+            ldp     fp, lr, [sp], #0x10
+            add     sp, sp, #64
+            ret     lr
+                       ;; size=12 bbWeight=1.23 PerfScore 3.09
+G_M264_IG10:        ; bbWeight=0.68, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             movn    w0, #0
                        ;; size=4 bbWeight=0.68 PerfScore 0.34
-G_M264_IG12:        ; bbWeight=0.68, epilog, nogc, extend
+G_M264_IG11:        ; bbWeight=0.68, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             add     sp, sp, #64
             ret     lr
                        ;; size=12 bbWeight=0.68 PerfScore 1.69
-G_M264_IG13:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M264_IG12:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 152, prolog size 8, PerfScore 1571.63, instruction count 38, allocated bytes for code 152 (MethodHash=ba31fef7) for method System.Numerics.BigIntegerCalculator:Compare(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint]):int (Tier1-OSR)
+; Total bytes of code 148, prolog size 8, PerfScore 1565.24, instruction count 37, allocated bytes for code 148 (MethodHash=ba31fef7) for method System.Numerics.BigIntegerCalculator:Compare(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint]):int (Tier1-OSR)
 ; ============================================================
 
 Unwind Info:
@@ -105,7 +100,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 38 (0x00026) Actual length = 152 (0x000098)
+  Function Length   : 37 (0x00025) Actual length = 148 (0x000094)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-16 (-1.97%) : 4145.dasm - System.Linq.Enumerable:TryGetFirstSystem.__Canon:System.__Canon (Tier1)
@@ -27,18 +27,18 @@
 ;  V15 tmp7         [V15,T08] (  2,  9.70)     int  ->   x0         "guarded devirt return temp"
 ;* V16 tmp8         [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Collections.Generic.List`1+Enumerator[Internal.Microsoft.Extensions.DependencyModel.RuntimeAssetGroup]>
 ;* V17 tmp9         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Collections.Generic.List`1+Enumerator[Internal.Microsoft.Extensions.DependencyModel.RuntimeAssetGroup]>
-;  V18 tmp10        [V18,T17] (  2,  5.93)     ref  ->  x21         class-hnd exact "impAppendStmt" <System.String>
+;  V18 tmp10        [V18,T17] (  2,  5.93)     ref  ->  x23         class-hnd exact "impAppendStmt" <System.String>
 ;  V19 tmp11        [V19,T07] (  3, 13.33)     ref  ->   x1         class-hnd "Inline return value spill temp" <System.String>
-;  V20 tmp12        [V20,T01] (  4, 29.63)     ref  ->   x0         class-hnd "Inlining Arg" <<unknown class>>
-;  V21 tmp13        [V21,T00] ( 10, 29.68)   byref  ->  x21         "Inlining Arg"
+;  V20 tmp12        [V20,T00] (  4, 29.63)     ref  ->   x0         class-hnd "Inlining Arg" <<unknown class>>
+;  V21 tmp13        [V21,T01] (  9, 28.80)   byref  ->  x21         "Inlining Arg"
 ;  V22 tmp14        [V22,T14] (  4,  6.55)     ref  ->  x14         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;* V23 tmp15        [V23    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V24 tmp16        [V24,T12] (  3,  7.83)     ref  ->  x14         "arr expr"
 ;  V25 tmp17        [V25,T13] (  3,  7.83)     int  ->  x15         "index expr"
 ;  V26 PSPSym       [V26,T23] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
 ;  V27 cse0         [V27,T21] (  3,  4.80)     int  ->  x15         "CSE - moderate"
-;  V28 cse1         [V28,T18] (  4,  5.68)     ref  ->  x23         "CSE - moderate"
-;  V29 rat0         [V29,T19] (  3,  5.60)    long  ->  x11         "fgMakeTemp is creating a new local variable"
+;  V28 cse1         [V28,T19] (  3,  5.24)     ref  ->  x23         "CSE - moderate"
+;  V29 rat0         [V29,T18] (  3,  5.60)    long  ->  x11         "fgMakeTemp is creating a new local variable"
 ;  V30 rat1         [V30,T03] (  3, 23.04)    long  ->   x1         "spilling expr"
 ;  V31 rat2         [V31,T04] (  3, 18.43)    long  ->  x11         "fgMakeTemp is creating a new local variable"
 ;
@@ -63,11 +63,11 @@ G_M62024_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=48 bbWeight=1 PerfScore 9.00
 G_M62024_IG02:        ; bbWeight=1, gcVars=0000000001000000 {V06}, gcrefRegs=280000 {x19 x21}, byrefRegs=400000 {x22}, gcvars, byref, isz
             ; GC ptr vars +{V06 V24}
-            cbz     x21, G_M62024_IG34
-            cbz     x19, G_M62024_IG35
+            cbz     x21, G_M62024_IG33
+            cbz     x19, G_M62024_IG34
             ldr     x0, [x20, #0x38]
             ldr     x11, [x0, #0x10]
-            cbz     x11, G_M62024_IG25
+            cbz     x11, G_M62024_IG24
                        ;; size=20 bbWeight=1 PerfScore 9.00
 G_M62024_IG03:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=400000 {x22}, byref
             mov     x0, x21
@@ -113,8 +113,8 @@ G_M62024_IG07:        ; bbWeight=4.11, gcrefRegs=80000 {x19}, byrefRegs=400000 {
 G_M62024_IG08:        ; bbWeight=1.48, gcrefRegs=1080000 {x19 x24}, byrefRegs=400000 {x22}, byref, isz
             ldr     x0, [x19, #0x08]
             ; gcrRegs +[x0]
-            ldr     x21, [x24, #0x08]
-            ; gcrRegs +[x21]
+            ldr     x23, [x24, #0x08]
+            ; gcrRegs +[x23]
             ldr     x0, [x0, #0x28]
             add     x1, x0, #8
             ; byrRegs +[x1]
@@ -123,7 +123,7 @@ G_M62024_IG08:        ; bbWeight=1.48, gcrefRegs=1080000 {x19 x24}, byrefRegs=40
             ; byrRegs -[x1]
             cbz     x1, G_M62024_IG11
                        ;; size=24 bbWeight=1.48 PerfScore 20.00
-G_M62024_IG09:        ; bbWeight=5.93, gcrefRegs=1280001 {x0 x19 x21 x24}, byrefRegs=400000 {x22}, byref
+G_M62024_IG09:        ; bbWeight=5.93, gcrefRegs=1880001 {x0 x19 x23 x24}, byrefRegs=400000 {x22}, byref
             ; gcrRegs -[x1]
             movz    x1, #0xD1FFAB1E      // code for <unknown method>
             movk    x1, #0xD1FFAB1E LSL #16
@@ -136,7 +136,7 @@ G_M62024_IG09:        ; bbWeight=5.93, gcrefRegs=1280001 {x0 x19 x21 x24}, byref
             b       G_M62024_IG12
                        ;; size=28 bbWeight=5.93 PerfScore 41.48
 G_M62024_IG10:        ; bbWeight=1.48, gcrefRegs=80000 {x19}, byrefRegs=400000 {x22}, byref
-            ; gcrRegs -[x0-x1 x21 x24]
+            ; gcrRegs -[x0-x1 x23-x24]
             mov     x0, x20
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
@@ -146,14 +146,14 @@ G_M62024_IG10:        ; bbWeight=1.48, gcrefRegs=80000 {x19}, byrefRegs=400000 {
             mov     x11, x0
             b       G_M62024_IG07
                        ;; size=28 bbWeight=1.48 PerfScore 6.67
-G_M62024_IG11:        ; bbWeight=5.93, gcrefRegs=1280001 {x0 x19 x21 x24}, byrefRegs=400000 {x22}, byref
-            ; gcrRegs +[x0 x21 x24]
+G_M62024_IG11:        ; bbWeight=5.93, gcrefRegs=1880001 {x0 x19 x23 x24}, byrefRegs=400000 {x22}, byref
+            ; gcrRegs +[x0 x23-x24]
             ldr     x1, [x0, #0x18]
             ; gcrRegs +[x1]
                        ;; size=4 bbWeight=5.93 PerfScore 17.78
-G_M62024_IG12:        ; bbWeight=1.48, gcrefRegs=1280002 {x1 x19 x21 x24}, byrefRegs=400000 {x22}, byref
+G_M62024_IG12:        ; bbWeight=1.48, gcrefRegs=1880002 {x1 x19 x23 x24}, byrefRegs=400000 {x22}, byref
             ; gcrRegs -[x0]
-            mov     x0, x21
+            mov     x0, x23
             ; gcrRegs +[x0]
             mov     w2, #5
             movz    x3, #0xD1FFAB1E      // code for <unknown method>
@@ -161,7 +161,7 @@ G_M62024_IG12:        ; bbWeight=1.48, gcrefRegs=1280002 {x1 x19 x21 x24}, byref
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-            ; gcrRegs -[x0-x1 x21]
+            ; gcrRegs -[x0-x1 x23]
             ; gcr arg pop 0
             b       G_M62024_IG14
                        ;; size=32 bbWeight=1.48 PerfScore 11.11
@@ -176,7 +176,7 @@ G_M62024_IG13:        ; bbWeight=2.63, gcrefRegs=1080000 {x19 x24}, byrefRegs=40
             ; gcr arg pop 0
                        ;; size=16 bbWeight=2.63 PerfScore 19.75
 G_M62024_IG14:        ; bbWeight=4.11, gcrefRegs=1080000 {x19 x24}, byrefRegs=400000 {x22}, byref, isz
-            cbnz    w0, G_M62024_IG24
+            cbnz    w0, G_M62024_IG23
                        ;; size=4 bbWeight=4.11 PerfScore 4.11
 G_M62024_IG15:        ; bbWeight=4.85, gcrefRegs=80000 {x19}, byrefRegs=400000 {x22}, byref, isz
             ; gcrRegs -[x24]
@@ -187,7 +187,7 @@ G_M62024_IG15:        ; bbWeight=4.85, gcrefRegs=80000 {x19}, byrefRegs=400000 {
             movk    x15, #0xD1FFAB1E LSL #16
             movk    x15, #0xD1FFAB1E LSL #32
             cmp     x14, x15
-            bne     G_M62024_IG22
+            bne     G_M62024_IG21
                      ;; size=28 bbWeight=4.85 PerfScore 38.82
 G_M62024_IG16:        ; bbWeight=1.75, gcrefRegs=80001 {x0 x19}, byrefRegs=400000 {x22}, byref, isz
             add     x21, x0, #8
@@ -199,11 +199,11 @@ G_M62024_IG16:        ; bbWeight=1.75, gcrefRegs=80001 {x0 x19}, byrefRegs=40000
             ldr     w15, [x21, #0x14]
             ldr     w12, [x14, #0x14]
             cmp     w15, w12
-            bne     G_M62024_IG20
+            bne     G_M62024_IG19
             ldr     w15, [x21, #0x10]
             ldr     w12, [x14, #0x10]
             cmp     w15, w12
-            bhs     G_M62024_IG21
+            bhs     G_M62024_IG20
                      ;; size=44 bbWeight=1.75 PerfScore 33.19
 G_M62024_IG17:        ; bbWeight=1.31, gcrefRegs=84000 {x14 x19}, byrefRegs=600000 {x21 x22}, byref, isz
             ; gcrRegs -[x0 x23]
@@ -240,22 +240,16 @@ G_M62024_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M62024_IG20:        ; bbWeight=0.44, gcrefRegs=800000 {x23}, byrefRegs=600000 {x21 x22}, byref, isz
+G_M62024_IG20:        ; bbWeight=1.75, gcrefRegs=800000 {x23}, byrefRegs=600000 {x21 x22}, byref
             ; gcrRegs +[x23]
             ; byrRegs +[x21-x22]
-            ldr     w11, [x21, #0x14]
-            ldr     w1, [x23, #0x14]
-            cmp     w11, w1
-            bne     G_M62024_IG19
-                       ;; size=16 bbWeight=0.44 PerfScore 3.31
-G_M62024_IG21:        ; bbWeight=1.75, gcrefRegs=800000 {x23}, byrefRegs=600000 {x21 x22}, byref
             ldr     w11, [x23, #0x10]
             add     w11, w11, #1
             str     w11, [x21, #0x10]
             str     xzr, [x21, #0x08]
-            b       G_M62024_IG26
+            b       G_M62024_IG25
                         ;; size=20 bbWeight=1.75 PerfScore 11.35
-G_M62024_IG22:        ; bbWeight=4.85, gcrefRegs=80001 {x0 x19}, byrefRegs=400000 {x22}, byref, isz
+G_M62024_IG21:        ; bbWeight=4.85, gcrefRegs=80001 {x0 x19}, byrefRegs=400000 {x22}, byref, isz
             ; gcrRegs -[x23] +[x0 x19]
             ; byrRegs -[x21]
             movz    x11, #0xD1FFAB1E      // code for <unknown method>
@@ -267,20 +261,20 @@ G_M62024_IG22:        ; bbWeight=4.85, gcrefRegs=80001 {x0 x19}, byrefRegs=40000
             ; gcr arg pop 0
             cbnz    w0, G_M62024_IG05
                        ;; size=24 bbWeight=4.85 PerfScore 31.54
-G_M62024_IG23:        ; bbWeight=0.74, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, byref
+G_M62024_IG22:        ; bbWeight=0.74, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, byref
             ; gcrRegs -[x19]
-            b       G_M62024_IG26
+            b       G_M62024_IG25
                         ;; size=4 bbWeight=0.74 PerfScore 0.74
-G_M62024_IG24:        ; bbWeight=0.26, gcrefRegs=1000000 {x24}, byrefRegs=400000 {x22}, byref
+G_M62024_IG23:        ; bbWeight=0.26, gcrefRegs=1000000 {x24}, byrefRegs=400000 {x22}, byref
             ; gcrRegs +[x24]
             ldr     x0, [fp, #0x18]    // [V04 loc0]
             ; gcrRegs +[x0]
             mov     w11, #1
             strb    w11, [x22]
             str     x24, [fp, #0x10]   // [V06 loc2]
-            b       G_M62024_IG30
+            b       G_M62024_IG29
                      ;; size=20 bbWeight=0.26 PerfScore 1.44
-G_M62024_IG25:        ; bbWeight=0.20, gcVars=0000000001000000 {V06}, gcrefRegs=280000 {x19 x21}, byrefRegs=400000 {x22}, gcvars, byref
+G_M62024_IG24:        ; bbWeight=0.20, gcVars=0000000001000000 {V06}, gcrefRegs=280000 {x19 x21}, byrefRegs=400000 {x22}, gcvars, byref
             ; gcrRegs -[x0 x24] +[x19 x21]
             ; GC ptr vars -{V04}
             mov     x0, x20
@@ -292,7 +286,7 @@ G_M62024_IG25:        ; bbWeight=0.20, gcVars=0000000001000000 {V06}, gcrefRegs=
             mov     x11, x0
             b       G_M62024_IG03
                        ;; size=28 bbWeight=0.20 PerfScore 0.90
-G_M62024_IG26:        ; bbWeight=0.74, gcVars=0000000000000020 {V04}, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, gcvars, byref, isz
+G_M62024_IG25:        ; bbWeight=0.74, gcVars=0000000000000020 {V04}, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, gcvars, byref, isz
             ; gcrRegs -[x19 x21]
             ; GC ptr vars -{V06} +{V04 V05}
             ldr     x0, [fp, #0x18]    // [V04 loc0]
@@ -302,9 +296,9 @@ G_M62024_IG26:        ; bbWeight=0.74, gcVars=0000000000000020 {V04}, gcrefRegs=
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x11, x1
-            beq     G_M62024_IG28
+            beq     G_M62024_IG27
                       ;; size=28 bbWeight=0.74 PerfScore 5.90
-G_M62024_IG27:        ; bbWeight=0.38, gcrefRegs=0001 {x0}, byrefRegs=400000 {x22}, byref
+G_M62024_IG26:        ; bbWeight=0.38, gcrefRegs=0001 {x0}, byrefRegs=400000 {x22}, byref
             movz    x11, #0xD1FFAB1E      // code for <unknown method>
             movk    x11, #0xD1FFAB1E LSL #16
             movk    x11, #0xD1FFAB1E LSL #32
@@ -314,41 +308,41 @@ G_M62024_IG27:        ; bbWeight=0.38, gcrefRegs=0001 {x0}, byrefRegs=400000 {x2
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=20 bbWeight=0.38 PerfScore 2.07
-G_M62024_IG28:        ; bbWeight=0.74, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, byref
+G_M62024_IG27:        ; bbWeight=0.74, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, byref
             strb    wzr, [x22]
             mov     x0, xzr
                        ;; size=8 bbWeight=0.74 PerfScore 1.11
-G_M62024_IG29:        ; bbWeight=0.74, epilog, nogc, extend
+G_M62024_IG28:        ; bbWeight=0.74, epilog, nogc, extend
             ldp     x23, x24, [sp, #0x50]
             ldp     x21, x22, [sp, #0x40]
             ldp     x19, x20, [sp, #0x30]
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=20 bbWeight=0.74 PerfScore 3.69
-G_M62024_IG30:        ; bbWeight=0.26, gcVars=0000000001000020 {V04 V06}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref
+G_M62024_IG29:        ; bbWeight=0.26, gcVars=0000000001000020 {V04 V06}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs +[x0]
             ; byrRegs -[x22]
             ; GC ptr vars +{V04 V05 V06 V24}
             ldr     x0, [fp, #0x28]    // [V26 PSPSym]
             ; gcrRegs -[x0]
-            bl      G_M62024_IG36
+            bl      G_M62024_IG35
                       ;; size=8 bbWeight=0.26 PerfScore 0.79
-G_M62024_IG31:        ; bbWeight=0.26, nogc, extend
+G_M62024_IG30:        ; bbWeight=0.26, nogc, extend
             nop     
                        ;; size=4 bbWeight=0.26 PerfScore 0.13
-G_M62024_IG32:        ; bbWeight=0.26, gcVars=0000000001000000 {V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M62024_IG31:        ; bbWeight=0.26, gcVars=0000000001000000 {V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; GC ptr vars -{V04 V05 V24}
             ldr     x0, [fp, #0x10]    // [V06 loc2]
             ; gcrRegs +[x0]
                        ;; size=4 bbWeight=0.26 PerfScore 0.52
-G_M62024_IG33:        ; bbWeight=0.26, epilog, nogc, extend
+G_M62024_IG32:        ; bbWeight=0.26, epilog, nogc, extend
             ldp     x23, x24, [sp, #0x50]
             ldp     x21, x22, [sp, #0x40]
             ldp     x19, x20, [sp, #0x30]
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=20 bbWeight=0.26 PerfScore 1.31
-G_M62024_IG34:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M62024_IG33:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             ; GC ptr vars -{V06}
...
  
-16 (-1.97%) : 39426.dasm - System.Linq.Enumerable:TryGetFirstSystem.__Canon:System.__Canon (Tier1)
@@ -27,18 +27,18 @@
 ;  V15 tmp7         [V15,T08] (  2,  9.70)     int  ->   x0         "guarded devirt return temp"
 ;* V16 tmp8         [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Collections.Generic.List`1+Enumerator[Internal.Microsoft.Extensions.DependencyModel.RuntimeAssetGroup]>
 ;* V17 tmp9         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Collections.Generic.List`1+Enumerator[Internal.Microsoft.Extensions.DependencyModel.RuntimeAssetGroup]>
-;  V18 tmp10        [V18,T17] (  2,  5.93)     ref  ->  x21         class-hnd exact "impAppendStmt" <System.String>
+;  V18 tmp10        [V18,T17] (  2,  5.93)     ref  ->  x23         class-hnd exact "impAppendStmt" <System.String>
 ;  V19 tmp11        [V19,T07] (  3, 13.33)     ref  ->   x1         class-hnd "Inline return value spill temp" <System.String>
-;  V20 tmp12        [V20,T01] (  4, 29.63)     ref  ->   x0         class-hnd "Inlining Arg" <<unknown class>>
-;  V21 tmp13        [V21,T00] ( 10, 29.68)   byref  ->  x21         "Inlining Arg"
+;  V20 tmp12        [V20,T00] (  4, 29.63)     ref  ->   x0         class-hnd "Inlining Arg" <<unknown class>>
+;  V21 tmp13        [V21,T01] (  9, 28.80)   byref  ->  x21         "Inlining Arg"
 ;  V22 tmp14        [V22,T14] (  4,  6.55)     ref  ->  x14         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;* V23 tmp15        [V23    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V24 tmp16        [V24,T12] (  3,  7.83)     ref  ->  x14         "arr expr"
 ;  V25 tmp17        [V25,T13] (  3,  7.83)     int  ->  x15         "index expr"
 ;  V26 PSPSym       [V26,T23] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
 ;  V27 cse0         [V27,T21] (  3,  4.80)     int  ->  x15         "CSE - moderate"
-;  V28 cse1         [V28,T18] (  4,  5.68)     ref  ->  x23         "CSE - moderate"
-;  V29 rat0         [V29,T19] (  3,  5.60)    long  ->  x11         "fgMakeTemp is creating a new local variable"
+;  V28 cse1         [V28,T19] (  3,  5.24)     ref  ->  x23         "CSE - moderate"
+;  V29 rat0         [V29,T18] (  3,  5.60)    long  ->  x11         "fgMakeTemp is creating a new local variable"
 ;  V30 rat1         [V30,T03] (  3, 23.04)    long  ->   x1         "spilling expr"
 ;  V31 rat2         [V31,T04] (  3, 18.43)    long  ->  x11         "fgMakeTemp is creating a new local variable"
 ;
@@ -63,11 +63,11 @@ G_M62024_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=48 bbWeight=1 PerfScore 9.00
 G_M62024_IG02:        ; bbWeight=1, gcVars=0000000001000000 {V06}, gcrefRegs=280000 {x19 x21}, byrefRegs=400000 {x22}, gcvars, byref, isz
             ; GC ptr vars +{V06 V24}
-            cbz     x21, G_M62024_IG34
-            cbz     x19, G_M62024_IG35
+            cbz     x21, G_M62024_IG33
+            cbz     x19, G_M62024_IG34
             ldr     x0, [x20, #0x38]
             ldr     x11, [x0, #0x10]
-            cbz     x11, G_M62024_IG25
+            cbz     x11, G_M62024_IG24
                        ;; size=20 bbWeight=1 PerfScore 9.00
 G_M62024_IG03:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=400000 {x22}, byref
             mov     x0, x21
@@ -113,8 +113,8 @@ G_M62024_IG07:        ; bbWeight=4.11, gcrefRegs=80000 {x19}, byrefRegs=400000 {
 G_M62024_IG08:        ; bbWeight=1.48, gcrefRegs=1080000 {x19 x24}, byrefRegs=400000 {x22}, byref, isz
             ldr     x0, [x19, #0x08]
             ; gcrRegs +[x0]
-            ldr     x21, [x24, #0x08]
-            ; gcrRegs +[x21]
+            ldr     x23, [x24, #0x08]
+            ; gcrRegs +[x23]
             ldr     x0, [x0, #0x28]
             add     x1, x0, #8
             ; byrRegs +[x1]
@@ -123,7 +123,7 @@ G_M62024_IG08:        ; bbWeight=1.48, gcrefRegs=1080000 {x19 x24}, byrefRegs=40
             ; byrRegs -[x1]
             cbz     x1, G_M62024_IG11
                        ;; size=24 bbWeight=1.48 PerfScore 20.00
-G_M62024_IG09:        ; bbWeight=5.93, gcrefRegs=1280001 {x0 x19 x21 x24}, byrefRegs=400000 {x22}, byref
+G_M62024_IG09:        ; bbWeight=5.93, gcrefRegs=1880001 {x0 x19 x23 x24}, byrefRegs=400000 {x22}, byref
             ; gcrRegs -[x1]
             movz    x1, #0xD1FFAB1E      // code for <unknown method>
             movk    x1, #0xD1FFAB1E LSL #16
@@ -136,7 +136,7 @@ G_M62024_IG09:        ; bbWeight=5.93, gcrefRegs=1280001 {x0 x19 x21 x24}, byref
             b       G_M62024_IG12
                        ;; size=28 bbWeight=5.93 PerfScore 41.48
 G_M62024_IG10:        ; bbWeight=1.48, gcrefRegs=80000 {x19}, byrefRegs=400000 {x22}, byref
-            ; gcrRegs -[x0-x1 x21 x24]
+            ; gcrRegs -[x0-x1 x23-x24]
             mov     x0, x20
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
@@ -146,14 +146,14 @@ G_M62024_IG10:        ; bbWeight=1.48, gcrefRegs=80000 {x19}, byrefRegs=400000 {
             mov     x11, x0
             b       G_M62024_IG07
                        ;; size=28 bbWeight=1.48 PerfScore 6.67
-G_M62024_IG11:        ; bbWeight=5.93, gcrefRegs=1280001 {x0 x19 x21 x24}, byrefRegs=400000 {x22}, byref
-            ; gcrRegs +[x0 x21 x24]
+G_M62024_IG11:        ; bbWeight=5.93, gcrefRegs=1880001 {x0 x19 x23 x24}, byrefRegs=400000 {x22}, byref
+            ; gcrRegs +[x0 x23-x24]
             ldr     x1, [x0, #0x18]
             ; gcrRegs +[x1]
                        ;; size=4 bbWeight=5.93 PerfScore 17.78
-G_M62024_IG12:        ; bbWeight=1.48, gcrefRegs=1280002 {x1 x19 x21 x24}, byrefRegs=400000 {x22}, byref
+G_M62024_IG12:        ; bbWeight=1.48, gcrefRegs=1880002 {x1 x19 x23 x24}, byrefRegs=400000 {x22}, byref
             ; gcrRegs -[x0]
-            mov     x0, x21
+            mov     x0, x23
             ; gcrRegs +[x0]
             mov     w2, #5
             movz    x3, #0xD1FFAB1E      // code for <unknown method>
@@ -161,7 +161,7 @@ G_M62024_IG12:        ; bbWeight=1.48, gcrefRegs=1280002 {x1 x19 x21 x24}, byref
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-            ; gcrRegs -[x0-x1 x21]
+            ; gcrRegs -[x0-x1 x23]
             ; gcr arg pop 0
             b       G_M62024_IG14
                        ;; size=32 bbWeight=1.48 PerfScore 11.11
@@ -176,7 +176,7 @@ G_M62024_IG13:        ; bbWeight=2.63, gcrefRegs=1080000 {x19 x24}, byrefRegs=40
             ; gcr arg pop 0
                        ;; size=16 bbWeight=2.63 PerfScore 19.75
 G_M62024_IG14:        ; bbWeight=4.11, gcrefRegs=1080000 {x19 x24}, byrefRegs=400000 {x22}, byref, isz
-            cbnz    w0, G_M62024_IG24
+            cbnz    w0, G_M62024_IG23
                        ;; size=4 bbWeight=4.11 PerfScore 4.11
 G_M62024_IG15:        ; bbWeight=4.85, gcrefRegs=80000 {x19}, byrefRegs=400000 {x22}, byref, isz
             ; gcrRegs -[x24]
@@ -187,7 +187,7 @@ G_M62024_IG15:        ; bbWeight=4.85, gcrefRegs=80000 {x19}, byrefRegs=400000 {
             movk    x15, #0xD1FFAB1E LSL #16
             movk    x15, #0xD1FFAB1E LSL #32
             cmp     x14, x15
-            bne     G_M62024_IG22
+            bne     G_M62024_IG21
                      ;; size=28 bbWeight=4.85 PerfScore 38.82
 G_M62024_IG16:        ; bbWeight=1.75, gcrefRegs=80001 {x0 x19}, byrefRegs=400000 {x22}, byref, isz
             add     x21, x0, #8
@@ -199,11 +199,11 @@ G_M62024_IG16:        ; bbWeight=1.75, gcrefRegs=80001 {x0 x19}, byrefRegs=40000
             ldr     w15, [x21, #0x14]
             ldr     w12, [x14, #0x14]
             cmp     w15, w12
-            bne     G_M62024_IG20
+            bne     G_M62024_IG19
             ldr     w15, [x21, #0x10]
             ldr     w12, [x14, #0x10]
             cmp     w15, w12
-            bhs     G_M62024_IG21
+            bhs     G_M62024_IG20
                      ;; size=44 bbWeight=1.75 PerfScore 33.19
 G_M62024_IG17:        ; bbWeight=1.31, gcrefRegs=84000 {x14 x19}, byrefRegs=600000 {x21 x22}, byref, isz
             ; gcrRegs -[x0 x23]
@@ -240,22 +240,16 @@ G_M62024_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M62024_IG20:        ; bbWeight=0.44, gcrefRegs=800000 {x23}, byrefRegs=600000 {x21 x22}, byref, isz
+G_M62024_IG20:        ; bbWeight=1.75, gcrefRegs=800000 {x23}, byrefRegs=600000 {x21 x22}, byref
             ; gcrRegs +[x23]
             ; byrRegs +[x21-x22]
-            ldr     w11, [x21, #0x14]
-            ldr     w1, [x23, #0x14]
-            cmp     w11, w1
-            bne     G_M62024_IG19
-                       ;; size=16 bbWeight=0.44 PerfScore 3.31
-G_M62024_IG21:        ; bbWeight=1.75, gcrefRegs=800000 {x23}, byrefRegs=600000 {x21 x22}, byref
             ldr     w11, [x23, #0x10]
             add     w11, w11, #1
             str     w11, [x21, #0x10]
             str     xzr, [x21, #0x08]
-            b       G_M62024_IG26
+            b       G_M62024_IG25
                         ;; size=20 bbWeight=1.75 PerfScore 11.35
-G_M62024_IG22:        ; bbWeight=4.85, gcrefRegs=80001 {x0 x19}, byrefRegs=400000 {x22}, byref, isz
+G_M62024_IG21:        ; bbWeight=4.85, gcrefRegs=80001 {x0 x19}, byrefRegs=400000 {x22}, byref, isz
             ; gcrRegs -[x23] +[x0 x19]
             ; byrRegs -[x21]
             movz    x11, #0xD1FFAB1E      // code for <unknown method>
@@ -267,20 +261,20 @@ G_M62024_IG22:        ; bbWeight=4.85, gcrefRegs=80001 {x0 x19}, byrefRegs=40000
             ; gcr arg pop 0
             cbnz    w0, G_M62024_IG05
                        ;; size=24 bbWeight=4.85 PerfScore 31.54
-G_M62024_IG23:        ; bbWeight=0.74, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, byref
+G_M62024_IG22:        ; bbWeight=0.74, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, byref
             ; gcrRegs -[x19]
-            b       G_M62024_IG26
+            b       G_M62024_IG25
                         ;; size=4 bbWeight=0.74 PerfScore 0.74
-G_M62024_IG24:        ; bbWeight=0.26, gcrefRegs=1000000 {x24}, byrefRegs=400000 {x22}, byref
+G_M62024_IG23:        ; bbWeight=0.26, gcrefRegs=1000000 {x24}, byrefRegs=400000 {x22}, byref
             ; gcrRegs +[x24]
             ldr     x0, [fp, #0x18]    // [V04 loc0]
             ; gcrRegs +[x0]
             mov     w11, #1
             strb    w11, [x22]
             str     x24, [fp, #0x10]   // [V06 loc2]
-            b       G_M62024_IG30
+            b       G_M62024_IG29
                      ;; size=20 bbWeight=0.26 PerfScore 1.44
-G_M62024_IG25:        ; bbWeight=0.20, gcVars=0000000001000000 {V06}, gcrefRegs=280000 {x19 x21}, byrefRegs=400000 {x22}, gcvars, byref
+G_M62024_IG24:        ; bbWeight=0.20, gcVars=0000000001000000 {V06}, gcrefRegs=280000 {x19 x21}, byrefRegs=400000 {x22}, gcvars, byref
             ; gcrRegs -[x0 x24] +[x19 x21]
             ; GC ptr vars -{V04}
             mov     x0, x20
@@ -292,7 +286,7 @@ G_M62024_IG25:        ; bbWeight=0.20, gcVars=0000000001000000 {V06}, gcrefRegs=
             mov     x11, x0
             b       G_M62024_IG03
                        ;; size=28 bbWeight=0.20 PerfScore 0.90
-G_M62024_IG26:        ; bbWeight=0.74, gcVars=0000000000000020 {V04}, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, gcvars, byref, isz
+G_M62024_IG25:        ; bbWeight=0.74, gcVars=0000000000000020 {V04}, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, gcvars, byref, isz
             ; gcrRegs -[x19 x21]
             ; GC ptr vars -{V06} +{V04 V05}
             ldr     x0, [fp, #0x18]    // [V04 loc0]
@@ -302,9 +296,9 @@ G_M62024_IG26:        ; bbWeight=0.74, gcVars=0000000000000020 {V04}, gcrefRegs=
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x11, x1
-            beq     G_M62024_IG28
+            beq     G_M62024_IG27
                       ;; size=28 bbWeight=0.74 PerfScore 5.90
-G_M62024_IG27:        ; bbWeight=0.38, gcrefRegs=0001 {x0}, byrefRegs=400000 {x22}, byref
+G_M62024_IG26:        ; bbWeight=0.38, gcrefRegs=0001 {x0}, byrefRegs=400000 {x22}, byref
             movz    x11, #0xD1FFAB1E      // code for <unknown method>
             movk    x11, #0xD1FFAB1E LSL #16
             movk    x11, #0xD1FFAB1E LSL #32
@@ -314,41 +308,41 @@ G_M62024_IG27:        ; bbWeight=0.38, gcrefRegs=0001 {x0}, byrefRegs=400000 {x2
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=20 bbWeight=0.38 PerfScore 2.07
-G_M62024_IG28:        ; bbWeight=0.74, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, byref
+G_M62024_IG27:        ; bbWeight=0.74, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, byref
             strb    wzr, [x22]
             mov     x0, xzr
                        ;; size=8 bbWeight=0.74 PerfScore 1.11
-G_M62024_IG29:        ; bbWeight=0.74, epilog, nogc, extend
+G_M62024_IG28:        ; bbWeight=0.74, epilog, nogc, extend
             ldp     x23, x24, [sp, #0x50]
             ldp     x21, x22, [sp, #0x40]
             ldp     x19, x20, [sp, #0x30]
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=20 bbWeight=0.74 PerfScore 3.69
-G_M62024_IG30:        ; bbWeight=0.26, gcVars=0000000001000020 {V04 V06}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref
+G_M62024_IG29:        ; bbWeight=0.26, gcVars=0000000001000020 {V04 V06}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs +[x0]
             ; byrRegs -[x22]
             ; GC ptr vars +{V04 V05 V06 V24}
             ldr     x0, [fp, #0x28]    // [V26 PSPSym]
             ; gcrRegs -[x0]
-            bl      G_M62024_IG36
+            bl      G_M62024_IG35
                       ;; size=8 bbWeight=0.26 PerfScore 0.79
-G_M62024_IG31:        ; bbWeight=0.26, nogc, extend
+G_M62024_IG30:        ; bbWeight=0.26, nogc, extend
             nop     
                        ;; size=4 bbWeight=0.26 PerfScore 0.13
-G_M62024_IG32:        ; bbWeight=0.26, gcVars=0000000001000000 {V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M62024_IG31:        ; bbWeight=0.26, gcVars=0000000001000000 {V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; GC ptr vars -{V04 V05 V24}
             ldr     x0, [fp, #0x10]    // [V06 loc2]
             ; gcrRegs +[x0]
                        ;; size=4 bbWeight=0.26 PerfScore 0.52
-G_M62024_IG33:        ; bbWeight=0.26, epilog, nogc, extend
+G_M62024_IG32:        ; bbWeight=0.26, epilog, nogc, extend
             ldp     x23, x24, [sp, #0x50]
             ldp     x21, x22, [sp, #0x40]
             ldp     x19, x20, [sp, #0x30]
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=20 bbWeight=0.26 PerfScore 1.31
-G_M62024_IG34:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M62024_IG33:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             ; GC ptr vars -{V06}
...
  
-16 (-1.01%) : 4127.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Instrumented Tier1)
@@ -8,75 +8,76 @@
 ; 5 inlinees with PGO data; 21 single block inlinees; 9 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T34] (  4,  1   )     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <System.Object>
+;  V00 loc0         [V00,T35] (  4,  1   )     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <System.Object>
 ;  V01 loc1         [V01    ] (  6,  2.50)   ubyte  ->  [fp+0x30]  do-not-enreg[X] addr-exposed ld-addr-op
-;  V02 loc2         [V02,T10] (  6, 15.83)     ref  ->  x19         class-hnd exact single-def <<unknown class>>
+;  V02 loc2         [V02,T09] (  6, 15.83)     ref  ->  x19         class-hnd exact single-def <<unknown class>>
 ;  V03 loc3         [V03,T08] (  6, 17   )     ref  ->  x20         class-hnd <System.Diagnostics.Tracing.EventListener>
-;  V04 loc4         [V04,T18] (  4,  6.50)     int  ->  x20        
+;  V04 loc4         [V04,T19] (  4,  6.50)     int  ->  x20        
 ;* V05 loc5         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.WeakReference`1[System.Diagnostics.Tracing.EventSource]]>
 ;* V06 loc6         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.WeakReference`1[System.Diagnostics.Tracing.EventSource]>
-;  V07 loc7         [V07,T13] (  4,  8   )     ref  ->  x21         ld-addr-op class-hnd <System.Diagnostics.Tracing.EventSource>
+;  V07 loc7         [V07,T14] (  4,  8   )     ref  ->  x21         ld-addr-op class-hnd <System.Diagnostics.Tracing.EventSource>
 ;  V08 loc8         [V08,T00] ( 10,442   )     ref  ->  x21         class-hnd <<unknown class>>
 ;  V09 loc9         [V09    ] (  7, 42   )  struct (24) [fp+0x18]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.Diagnostics.Tracing.EventListener,ubyte]>
 ;  V10 loc10        [V10,T01] (  2,144   )     ref  ->  x28         class-hnd <System.Diagnostics.Tracing.EventListener>
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V12 tmp1         [V12,T28] (  3,  3   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V13 tmp2         [V13,T30] (  2,  2   )   ubyte  ->   x0         "Inlining Arg"
+;  V12 tmp1         [V12,T29] (  3,  3   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V13 tmp2         [V13,T31] (  2,  2   )   ubyte  ->   x0         "Inlining Arg"
 ;* V14 tmp3         [V14    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V15 tmp4         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;  V16 tmp5         [V16,T29] (  2,  2   )     ref  ->  x22         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V16 tmp5         [V16,T30] (  2,  2   )     ref  ->  x22         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V17 tmp6         [V17    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.WeakReference`1[System.Diagnostics.Tracing.EventSource]]>
 ;* V18 tmp7         [V18    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V19 tmp8         [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Diagnostics.Tracing.EventSource>
-;  V20 tmp9         [V20,T24] (  3,  4   )     ref  ->  x21         class-hnd "Inline return value spill temp" <System.Diagnostics.Tracing.EventSource>
-;  V21 tmp10        [V21,T12] (  5,  8   )    long  ->   x0         "Inline stloc first use temp"
+;  V20 tmp9         [V20,T25] (  3,  4   )     ref  ->  x21         class-hnd "Inline return value spill temp" <System.Diagnostics.Tracing.EventSource>
+;  V21 tmp10        [V21,T13] (  5,  8   )    long  ->   x0         "Inline stloc first use temp"
 ;* V22 tmp11        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Diagnostics.Tracing.EventSource>
-;  V23 tmp12        [V23,T25] (  3,  4   )     ref  ->   x0         class-hnd "Inline stloc first use temp" <System.Diagnostics.Tracing.EventSource>
+;  V23 tmp12        [V23,T26] (  3,  4   )     ref  ->   x0         class-hnd "Inline stloc first use temp" <System.Diagnostics.Tracing.EventSource>
 ;* V24 tmp13        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Diagnostics.Tracing.EventSource>
 ;* V25 tmp14        [V25    ] (  0,  0   )     ref  ->  zero-ref    ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Diagnostics.Tracing.EventSource>
-;  V26 tmp15        [V26,T39] (  3,  0   )     ref  ->  x26         class-hnd "updating class info" <System.ComAwareWeakReference>
+;  V26 tmp15        [V26,T40] (  3,  0   )     ref  ->  x26         class-hnd "updating class info" <System.ComAwareWeakReference>
 ;* V27 tmp16        [V27    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V28 tmp17        [V28    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V29 tmp18        [V29,T40] (  2,  0   )     ref  ->   x0         class-hnd "dup spill" <System.Object>
-;  V30 tmp19        [V30,T38] (  4,  0   )     ref  ->   x0        
+;  V29 tmp18        [V29,T41] (  2,  0   )     ref  ->   x0         class-hnd "dup spill" <System.Object>
+;  V30 tmp19        [V30,T39] (  4,  0   )     ref  ->   x0        
 ;* V31 tmp20        [V31    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V32 tmp21        [V32,T03] (  2, 32   )     ref  ->   x1         class-hnd "Inlining Arg" <System.Diagnostics.Tracing.EventListener>
 ;* V33 tmp22        [V33    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V34 tmp23        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <<unknown class>>
-;  V35 tmp24        [V35,T14] (  2,  8   )     ref  ->   x1         class-hnd exact "dup spill" <System.Collections.Generic.Dictionary`2+KeyCollection[System.__Canon,ubyte]>
-;  V36 tmp25        [V36,T17] (  4,  6.67)     ref  ->   x1        
+;  V35 tmp24        [V35,T15] (  2,  8   )     ref  ->   x1         class-hnd exact "dup spill" <System.Collections.Generic.Dictionary`2+KeyCollection[System.__Canon,ubyte]>
+;  V36 tmp25        [V36,T18] (  4,  6.67)     ref  ->   x1        
 ;  V37 tmp26        [V37,T23] (  4,  5.33)     ref  ->   x1         class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V38 tmp27        [V38    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <<unknown class>>
 ;* V39 tmp28        [V39    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.Diagnostics.Tracing.EventListener,ubyte]>
-;  V40 tmp29        [V40,T15] (  2,  8   )     ref  ->   x0         class-hnd "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.__Canon,ubyte]>
+;  V40 tmp29        [V40,T16] (  2,  8   )     ref  ->   x0         class-hnd "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.__Canon,ubyte]>
 ;* V41 tmp30        [V41    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V42 tmp31        [V42    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V43 tmp32        [V43,T16] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V43 tmp32        [V43,T17] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V44 tmp33        [V44    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V45 tmp34        [V45,T09] (  5, 12.50)     ref  ->  x22         single-def "field V05._list (fldOffset=0x0)" P-INDEP
-;  V46 tmp35        [V46,T11] (  3,  6.99)     ref  ->  x25         "field V05._current (fldOffset=0x8)" P-INDEP
+;  V45 tmp34        [V45,T11] (  4, 11.49)     ref  ->  x22         single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V46 tmp35        [V46,T12] (  3,  6.99)     ref  ->  x25         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V47 tmp36        [V47,T04] (  6, 16.46)     int  ->  x24         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V48 tmp37        [V48,T22] (  3,  5.51)     int  ->  x23         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V48 tmp37        [V48,T24] (  2,  4.50)     int  ->  x23         "field V05._version (fldOffset=0x14)" P-INDEP
 ;  V49 tmp38        [V49    ] (  3, 20   )     ref  ->  [fp+0x18]  do-not-enreg[X] addr-exposed "field V09._dictionary (fldOffset=0x0)" P-DEP
 ;  V50 tmp39        [V50    ] (  4, 36   )     ref  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "field V09._currentKey (fldOffset=0x8)" P-DEP
 ;  V51 tmp40        [V51    ] (  3, 20   )     int  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V09._index (fldOffset=0x10)" P-DEP
 ;  V52 tmp41        [V52    ] (  3, 20   )     int  ->  [fp+0x2C]  do-not-enreg[X] addr-exposed "field V09._version (fldOffset=0x14)" P-DEP
-;  V53 tmp42        [V53,T33] (  3,  1.50)     ref  ->  x22         single-def "field V17._list (fldOffset=0x0)" P-INDEP
+;  V53 tmp42        [V53,T34] (  3,  1.50)     ref  ->  x22         single-def "field V17._list (fldOffset=0x0)" P-INDEP
 ;* V54 tmp43        [V54    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V17._current (fldOffset=0x8)" P-INDEP
-;* V55 tmp44        [V55,T37] (  0,  0   )     int  ->  zero-ref    "field V17._index (fldOffset=0x10)" P-INDEP
-;  V56 tmp45        [V56,T35] (  2,  1   )     int  ->  x23         "field V17._version (fldOffset=0x14)" P-INDEP
-;  V57 tmp46        [V57,T19] (  3,  6   )     ref  ->   x0         "field V39._dictionary (fldOffset=0x0)" P-INDEP
-;* V58 tmp47        [V58,T31] (  0,  0   )     ref  ->  zero-ref    "field V39._currentKey (fldOffset=0x8)" P-INDEP
-;* V59 tmp48        [V59,T32] (  0,  0   )     int  ->  zero-ref    "field V39._index (fldOffset=0x10)" P-INDEP
-;  V60 tmp49        [V60,T27] (  2,  4   )     int  ->   x1         "field V39._version (fldOffset=0x14)" P-INDEP
+;* V55 tmp44        [V55,T38] (  0,  0   )     int  ->  zero-ref    "field V17._index (fldOffset=0x10)" P-INDEP
+;  V56 tmp45        [V56,T36] (  2,  1   )     int  ->  x23         "field V17._version (fldOffset=0x14)" P-INDEP
+;  V57 tmp46        [V57,T20] (  3,  6   )     ref  ->   x0         "field V39._dictionary (fldOffset=0x0)" P-INDEP
+;* V58 tmp47        [V58,T32] (  0,  0   )     ref  ->  zero-ref    "field V39._currentKey (fldOffset=0x8)" P-INDEP
+;* V59 tmp48        [V59,T33] (  0,  0   )     int  ->  zero-ref    "field V39._index (fldOffset=0x10)" P-INDEP
+;  V60 tmp49        [V60,T28] (  2,  4   )     int  ->   x1         "field V39._version (fldOffset=0x14)" P-INDEP
 ;  V61 tmp50        [V61,T07] (  3, 17.94)     ref  ->   x0         "arr expr"
-;  V62 PSPSym       [V62,T36] (  1,  1   )    long  ->  [fp+0x38]  do-not-enreg[V] "PSPSym"
-;  V63 cse0         [V63,T02] ( 27,112.75)    long  ->  registers   hoist multi-def "CSE - aggressive"
-;  V64 cse1         [V64,T05] (  3, 20   )   byref  ->  x25         "CSE - aggressive"
-;  V65 cse2         [V65,T06] (  3, 20   )    long  ->  x27         "CSE - aggressive"
-;  V66 rat0         [V66,T26] (  3,  4   )    long  ->   x1         "TLS field access"
-;  V67 rat1         [V67,T20] (  3,  6   )    long  ->   x0         "TLS access"
-;  V68 rat2         [V68,T21] (  3,  6   )    long  ->   x1         "ThreadStaticBlockBase access"
+;  V62 PSPSym       [V62,T37] (  1,  1   )    long  ->  [fp+0x38]  do-not-enreg[V] "PSPSym"
+;  V63 cse0         [V63,T10] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V64 cse1         [V64,T02] ( 27,112.75)    long  ->  registers   hoist multi-def "CSE - aggressive"
+;  V65 cse2         [V65,T05] (  3, 20   )   byref  ->  x25         "CSE - aggressive"
+;  V66 cse3         [V66,T06] (  3, 20   )    long  ->  x27         "CSE - aggressive"
+;  V67 rat0         [V67,T27] (  3,  4   )    long  ->   x1         "TLS field access"
+;  V68 rat1         [V68,T21] (  3,  6   )    long  ->   x0         "TLS access"
+;  V69 rat2         [V69,T22] (  3,  6   )    long  ->   x1         "ThreadStaticBlockBase access"
 ;
 ; Lcl frame size = 48
 
@@ -96,10 +97,10 @@ G_M15982_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             mrs     x0, tpidr_el0
             ldr     w1, [x0, #0xD1FFAB1E]
             cmp     w1, #2
-            blt     G_M15982_IG51
+            blt     G_M15982_IG49
             ldr     x0, [x0, #0xD1FFAB1E]
             ldr     x1, [x0, #0x10]
-            cbz     x1, G_M15982_IG51
+            cbz     x1, G_M15982_IG49
                       ;; size=28 bbWeight=1 PerfScore 12.50
 G_M15982_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [x1, #0xD1FFAB1E]
@@ -134,9 +135,9 @@ G_M15982_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000
             ; GC ptr vars +{V00}
             str     wzr, [fp, #0x30]   // [V01 loc1]
                        ;; size=28 bbWeight=0.50 PerfScore 3.75
-G_M15982_IG07:        ; bbWeight=0.50, gcVars=0000000400000000 {V00}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M15982_IG07:        ; bbWeight=0.50, gcVars=0000000800000000 {V00}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w1, [fp, #0x30]  // [V01 loc1]
-            cbnz    w1, G_M15982_IG46
+            cbnz    w1, G_M15982_IG44
             add     x1, fp, #48  // [V01 loc1]
             bl      <unknown method>
             ; gcrRegs -[x0]
@@ -519,17 +520,17 @@ G_M15982_IG39:        ; bbWeight=2, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {
 G_M15982_IG40:        ; bbWeight=4, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x22, #0x14]
             cmp     w23, w0
-            bne     G_M15982_IG42
+            bne     G_M15982_IG43
             ldr     w0, [x22, #0x10]
             cmp     w24, w0
-            bhs     G_M15982_IG47
+            bhs     G_M15982_IG45
                       ;; size=24 bbWeight=4 PerfScore 36.00
 G_M15982_IG41:        ; bbWeight=2.99, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x22, #0x08]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x08]
             cmp     w24, w1
-            bhs     G_M15982_IG44
+            bhs     G_M15982_IG42
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
@@ -538,22 +539,13 @@ G_M15982_IG41:        ; bbWeight=2.99, gcrefRegs=480000 {x19 x22}, byrefRegs=000
             add     w24, w24, #1
             b       G_M15982_IG16
                        ;; size=32 bbWeight=2.99 PerfScore 37.37
-G_M15982_IG42:        ; bbWeight=1.01, gcrefRegs=400000 {x22}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x19 x25]
+G_M15982_IG42:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x19 x22 x25]
             ; byrRegs -[x0]
-            ldr     w0, [x22, #0x14]
-            cmp     w23, w0
-            bne     G_M15982_IG45
-                       ;; size=12 bbWeight=1.01 PerfScore 4.55
-G_M15982_IG43:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x22]
-            b       G_M15982_IG47
-                       ;; size=4 bbWeight=4 PerfScore 4.00
-G_M15982_IG44:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M15982_IG45:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M15982_IG43:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -562,7 +554,7 @@ G_M15982_IG45:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M15982_IG46:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M15982_IG44:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x1, #0xD1FFAB1E      // code for System.Threading.Monitor:ThrowLockTakenException()
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
@@ -571,7 +563,7 @@ G_M15982_IG46:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M15982_IG47:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M15982_IG45:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x26, #0xD1FFAB1E
             movk    x26, #0xD1FFAB1E LSL #16
             movk    x26, #0xD1FFAB1E LSL #32
@@ -579,9 +571,9 @@ G_M15982_IG47:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             bl      CORINFO_HELP_COUNTPROFILE32
             ; gcr arg pop 0
                        ;; size=20 bbWeight=0.50 PerfScore 1.50
-G_M15982_IG48:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M15982_IG46:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [fp, #0x30]    // [V01 loc1]
-            cbz     w0, G_M15982_IG49
+            cbz     w0, G_M15982_IG47
             add     x0, x26, #36
             bl      CORINFO_HELP_COUNTPROFILE32
             ; gcr arg pop 0
@@ -592,7 +584,7 @@ G_M15982_IG48:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=24 bbWeight=0.50 PerfScore 3.75
-G_M15982_IG49:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M15982_IG47:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             add     x0, x26, #40
             bl      CORINFO_HELP_COUNTPROFILE32
             ; gcr arg pop 0
@@ -600,7 +592,7 @@ G_M15982_IG49:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             bl      CORINFO_HELP_COUNTPROFILE32
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0.50 PerfScore 1.50
-G_M15982_IG50:        ; bbWeight=0.50, epilog, nogc, extend
+G_M15982_IG48:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     x27, x28, [sp, #0x80]
             ldp     x25, x26, [sp, #0x70]
             ldp     x23, x24, [sp, #0x60]
@@ -609,15 +601,15 @@ G_M15982_IG50:        ; bbWeight=0.50, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x90
             ret     lr
                        ;; size=28 bbWeight=0.50 PerfScore 3.50
-G_M15982_IG51:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M15982_IG49:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #2
             bl      CORINFO_HELP_GETSHARED_NONGCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
             ; gcr arg pop 0
             mov     x1, x0
             b       G_M15982_IG03
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M15982_IG52:        ; bbWeight=0, gcVars=0000000400000000 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-            ; GC ptr vars +{V00}
+G_M15982_IG50:        ; bbWeight=0, gcVars=0000000800000000 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+            ; GC ptr vars +{V00 V35}
             stp     fp, lr, [sp, #-0x70]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
...
  
-8 (-0.47%) : 940.dasm - System.Diagnostics.Tracing.EventSource:InitializeProviderMetadata():this (Instrumented Tier1)
@@ -9,62 +9,62 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T04] ( 18, 19.50)     ref  ->  x19         this class-hnd single-def <System.Diagnostics.Tracing.EventSource>
-;  V01 loc0         [V01,T47] (  2,  2   )   ubyte  ->  x22        
+;  V01 loc0         [V01,T48] (  2,  2   )   ubyte  ->  x22        
 ;* V02 loc1         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op <System.ReadOnlySpan`1[ubyte]>
 ;  V03 loc2         [V03,T05] ( 28, 21.50)     ref  ->  x23         class-hnd exact single-def <System.Collections.Generic.List`1[ubyte]>
-;  V04 loc3         [V04,T32] (  4,  3.50)     ref  ->  x24         class-hnd single-def <ubyte[]>
+;  V04 loc3         [V04,T33] (  4,  3.50)     ref  ->  x24         class-hnd single-def <ubyte[]>
 ;  V05 loc4         [V05,T25] (  3,  4.50)     int  ->  registers  
 ;  V06 loc5         [V06,T03] ( 10, 23.50)     int  ->  x24        
 ;  V07 loc6         [V07    ] (  6,  5.50)  struct (16) [fp+0x38]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
 ;  V08 loc7         [V08    ] (  3,  3   )   ubyte  ->  [fp+0x30]  do-not-enreg[X] addr-exposed ld-addr-op
-;  V09 loc8         [V09,T41] (  2,  2.50)     ref  ->  x25         class-hnd exact <System.String>
+;  V09 loc8         [V09,T42] (  2,  2.50)     ref  ->  x25         class-hnd exact <System.String>
 ;  V10 loc9         [V10,T14] (  5,  8.50)     int  ->  x26        
 ;  V11 loc10        [V11,T20] (  3,  6   )     int  ->   x0        
 ;* V12 loc11        [V12    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[ubyte]>
-;  V13 loc12        [V13,T27] (  2,  4   )   ubyte  ->   x0        
+;  V13 loc12        [V13,T28] (  2,  4   )   ubyte  ->   x0        
 ;# V14 OutArgs      [V14    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V15 tmp1         [V15    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.ReadOnlySpan`1[ubyte]>
 ;* V16 tmp2         [V16    ] (  0,  0   )  struct (16) zero-ref    multireg-ret "Return value temp for multireg return" <System.ReadOnlySpan`1[ubyte]>
 ;* V17 tmp3         [V17    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
-;  V18 tmp4         [V18,T33] (  3,  3   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[ubyte]>
+;  V18 tmp4         [V18,T34] (  3,  3   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[ubyte]>
 ;  V19 tmp5         [V19,T06] (  3, 18   )     ref  ->   x0         "spilling varStr"
-;* V20 tmp6         [V20,T30] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
+;* V20 tmp6         [V20,T31] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
 ;* V21 tmp7         [V21    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
-;* V22 tmp8         [V22,T80] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
-;  V23 tmp9         [V23,T76] (  2,  0   )     ref  ->  x20         class-hnd exact "non-inline candidate call" <System.String>
-;  V24 tmp10        [V24,T75] (  3,  0   )     ref  ->  x19         class-hnd exact "NewObj constructor temp" <<unknown class>>
+;* V22 tmp8         [V22,T81] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
+;  V23 tmp9         [V23,T77] (  2,  0   )     ref  ->  x20         class-hnd exact "non-inline candidate call" <System.String>
+;  V24 tmp10        [V24,T76] (  3,  0   )     ref  ->  x19         class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V25 tmp11        [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.String>
 ;* V26 tmp12        [V26    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
-;  V27 tmp13        [V27,T08] (  4, 16   )     int  ->  x26         "impSpillLclRefs"
+;  V27 tmp13        [V27,T07] (  4, 16   )     int  ->  x26         "impSpillLclRefs"
 ;* V28 tmp14        [V28    ] (  0,  0   )     ref  ->  zero-ref    single-def "handle histogram profile tmp"
 ;* V29 tmp15        [V29    ] (  0,  0   )     ref  ->  zero-ref    single-def "handle histogram profile tmp"
 ;* V30 tmp16        [V30    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;  V31 tmp17        [V31,T24] (  5,  7   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.String>
 ;* V32 tmp18        [V32    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V33 tmp19        [V33    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V34 tmp20        [V34,T36] (  3,  3   )     int  ->  x26         "Inlining Arg"
-;  V35 tmp21        [V35,T44] (  2,  2   )   byref  ->  x25         "Inlining Arg"
+;  V34 tmp20        [V34,T37] (  3,  3   )     int  ->  x26         "Inlining Arg"
+;  V35 tmp21        [V35,T45] (  2,  2   )   byref  ->  x25         "Inlining Arg"
 ;* V36 tmp22        [V36    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V37 tmp23        [V37    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V38 tmp24        [V38    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V39 tmp25        [V39    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
 ;* V40 tmp26        [V40    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
-;  V41 tmp27        [V41,T57] (  3,  1.42)     ref  ->   x1         class-hnd "Inline stloc first use temp" <ubyte[]>
-;  V42 tmp28        [V42,T51] (  4,  1.85)     int  ->   x0         "Inline stloc first use temp"
-;  V43 tmp29        [V43,T58] (  3,  1.42)     ref  ->   x0         class-hnd "Inline stloc first use temp" <ubyte[]>
-;  V44 tmp30        [V44,T52] (  4,  1.85)     int  ->   x1         "Inline stloc first use temp"
-;  V45 tmp31        [V45,T59] (  3,  1.42)     ref  ->   x0         class-hnd "Inline stloc first use temp" <ubyte[]>
-;  V46 tmp32        [V46,T53] (  4,  1.85)     int  ->   x2         "Inline stloc first use temp"
-;  V47 tmp33        [V47,T43] (  3,  2   )   ubyte  ->   x1         "Inlining Arg"
+;  V41 tmp27        [V41,T58] (  3,  1.42)     ref  ->   x1         class-hnd "Inline stloc first use temp" <ubyte[]>
+;  V42 tmp28        [V42,T52] (  4,  1.85)     int  ->   x0         "Inline stloc first use temp"
+;  V43 tmp29        [V43,T59] (  3,  1.42)     ref  ->   x0         class-hnd "Inline stloc first use temp" <ubyte[]>
+;  V44 tmp30        [V44,T53] (  4,  1.85)     int  ->   x1         "Inline stloc first use temp"
+;  V45 tmp31        [V45,T60] (  3,  1.42)     ref  ->   x0         class-hnd "Inline stloc first use temp" <ubyte[]>
+;  V46 tmp32        [V46,T54] (  4,  1.85)     int  ->   x2         "Inline stloc first use temp"
+;  V47 tmp33        [V47,T44] (  3,  2   )   ubyte  ->   x1         "Inlining Arg"
 ;* V48 tmp34        [V48    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V49 tmp35        [V49,T09] (  4, 16   )     int  ->   x5         "Inlining Arg"
+;  V49 tmp35        [V49,T08] (  4, 16   )     int  ->   x5         "Inlining Arg"
 ;* V50 tmp36        [V50    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V51 tmp37        [V51    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[ubyte]>
-;* V52 tmp38        [V52,T16] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V52 tmp38        [V52,T15] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V53 tmp39        [V53    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[ubyte]>
-;  V54 tmp40        [V54,T31] (  4,  3.81)     ref  ->   x2         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V54 tmp40        [V54,T32] (  4,  3.81)     ref  ->   x2         class-hnd single-def "Inlining Arg" <ubyte[]>
 ;* V55 tmp41        [V55    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
-;  V56 tmp42        [V56,T72] (  3,  0.99)   ubyte  ->   x0         "Inline return value spill temp"
+;  V56 tmp42        [V56,T73] (  3,  0.99)   ubyte  ->   x0         "Inline return value spill temp"
 ;* V57 tmp43        [V57    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;* V58 tmp44        [V58    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V59 tmp45        [V59    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
@@ -72,42 +72,42 @@
 ;* V61 tmp47        [V61    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
 ;* V62 tmp48        [V62    ] (  0,  0   )   byref  ->  zero-ref    single-def "impAppendStmt"
 ;* V63 tmp49        [V63    ] (  0,  0   )   byref  ->  zero-ref    single-def "spilling arg"
-;  V64 tmp50        [V64,T42] (  3,  2.47)    long  ->   x2         "spilling arg"
-;  V65 tmp51        [V65,T50] (  3,  1.97)     int  ->   x0         "Grabbing temp for Qmark"
+;  V64 tmp50        [V64,T43] (  3,  2.47)    long  ->   x2         "spilling arg"
+;  V65 tmp51        [V65,T51] (  3,  1.97)     int  ->   x0         "Grabbing temp for Qmark"
 ;* V66 tmp52        [V66    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;* V67 tmp53        [V67    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;* V68 tmp54        [V68    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;* V69 tmp55        [V69    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
-;  V70 tmp56        [V70,T67] (  1,  1   )   byref  ->   x0         "field V02._reference (fldOffset=0x0)" P-INDEP
-;  V71 tmp57        [V71,T48] (  2,  2   )     int  ->   x1         "field V02._length (fldOffset=0x8)" P-INDEP
+;  V70 tmp56        [V70,T68] (  1,  1   )   byref  ->   x0         "field V02._reference (fldOffset=0x0)" P-INDEP
+;  V71 tmp57        [V71,T49] (  2,  2   )     int  ->   x1         "field V02._length (fldOffset=0x8)" P-INDEP
 ;  V72 tmp58        [V72    ] (  4,  3   )   byref  ->  [fp+0x38]  do-not-enreg[X] addr-exposed "field V07._reference (fldOffset=0x0)" P-DEP
 ;  V73 tmp59        [V73    ] (  4,  3   )     int  ->  [fp+0x40]  do-not-enreg[X] addr-exposed "field V07._length (fldOffset=0x8)" P-DEP
-;  V74 tmp60        [V74,T07] (  4, 12.50)     ref  ->  x23         single-def "field V12._list (fldOffset=0x0)" P-INDEP
+;  V74 tmp60        [V74,T10] (  4, 12.50)     ref  ->  x23         single-def "field V12._list (fldOffset=0x0)" P-INDEP
 ;  V75 tmp61        [V75,T00] (  6, 20.50)     int  ->  x28         "field V12._index (fldOffset=0x8)" P-INDEP
-;  V76 tmp62        [V76,T15] (  3,  8.50)     int  ->  x27         "field V12._version (fldOffset=0xc)" P-INDEP
+;  V76 tmp62        [V76,T26] (  2,  4.50)     int  ->  x27         "field V12._version (fldOffset=0xc)" P-INDEP
 ;  V77 tmp63        [V77,T13] (  2,  6   )   ubyte  ->  [fp+0x2C]  spill-single-def "field V12._current (fldOffset=0x10)" P-INDEP
 ;* V78 tmp64        [V78    ] (  0,  0   )   byref  ->  zero-ref    "field V15._reference (fldOffset=0x0)" P-DEP
 ;* V79 tmp65        [V79    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-DEP
-;  V80 tmp66        [V80,T71] (  3,  0.99)   byref  ->   x0         "field V16._reference (fldOffset=0x0)" P-INDEP
-;  V81 tmp67        [V81,T61] (  2,  1   )     int  ->   x1         "field V16._length (fldOffset=0x8)" P-INDEP
+;  V80 tmp66        [V80,T72] (  3,  0.99)   byref  ->   x0         "field V16._reference (fldOffset=0x0)" P-INDEP
+;  V81 tmp67        [V81,T62] (  2,  1   )     int  ->   x1         "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V82 tmp68        [V82    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V17._reference (fldOffset=0x0)" P-INDEP
 ;* V83 tmp69        [V83    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
-;  V84 tmp70        [V84,T26] (  3,  4   )   byref  ->   x0         "field V21._reference (fldOffset=0x0)" P-INDEP
-;  V85 tmp71        [V85,T28] (  2,  4   )     int  ->   x1         "field V21._length (fldOffset=0x8)" P-INDEP
+;  V84 tmp70        [V84,T27] (  3,  4   )   byref  ->   x0         "field V21._reference (fldOffset=0x0)" P-INDEP
+;  V85 tmp71        [V85,T29] (  2,  4   )     int  ->   x1         "field V21._length (fldOffset=0x8)" P-INDEP
 ;* V86 tmp72        [V86    ] (  0,  0   )   byref  ->  zero-ref    "field V30._reference (fldOffset=0x0)" P-INDEP
 ;* V87 tmp73        [V87    ] (  0,  0   )     int  ->  zero-ref    "field V30._length (fldOffset=0x8)" P-INDEP
-;  V88 tmp74        [V88,T60] (  2,  1   )   byref  ->  x25         "field V32._reference (fldOffset=0x0)" P-INDEP
-;  V89 tmp75        [V89,T62] (  2,  1   )     int  ->  x26         "field V32._length (fldOffset=0x8)" P-INDEP
+;  V88 tmp74        [V88,T61] (  2,  1   )   byref  ->  x25         "field V32._reference (fldOffset=0x0)" P-INDEP
+;  V89 tmp75        [V89,T63] (  2,  1   )     int  ->  x26         "field V32._length (fldOffset=0x8)" P-INDEP
 ;* V90 tmp76        [V90    ] (  0,  0   )   byref  ->  zero-ref    "field V33._reference (fldOffset=0x0)" P-INDEP
 ;* V91 tmp77        [V91    ] (  0,  0   )     int  ->  zero-ref    "field V33._length (fldOffset=0x8)" P-INDEP
 ;* V92 tmp78        [V92    ] (  0,  0   )   byref  ->  zero-ref    "field V38._reference (fldOffset=0x0)" P-INDEP
 ;* V93 tmp79        [V93    ] (  0,  0   )     int  ->  zero-ref    "field V38._length (fldOffset=0x8)" P-INDEP
-;  V94 tmp80        [V94,T54] (  3,  1.50)     ref  ->  x23         single-def "field V51._list (fldOffset=0x0)" P-INDEP
-;* V95 tmp81        [V95,T73] (  0,  0   )     int  ->  zero-ref    "field V51._index (fldOffset=0x8)" P-INDEP
-;  V96 tmp82        [V96,T63] (  2,  1   )     int  ->  x27         "field V51._version (fldOffset=0xc)" P-INDEP
+;  V94 tmp80        [V94,T55] (  3,  1.50)     ref  ->  x23         single-def "field V51._list (fldOffset=0x0)" P-INDEP
+;* V95 tmp81        [V95,T74] (  0,  0   )     int  ->  zero-ref    "field V51._index (fldOffset=0x8)" P-INDEP
+;  V96 tmp82        [V96,T64] (  2,  1   )     int  ->  x27         "field V51._version (fldOffset=0xc)" P-INDEP
 ;* V97 tmp83        [V97    ] (  0,  0   )   ubyte  ->  zero-ref    "field V51._current (fldOffset=0x10)" P-INDEP
-;  V98 tmp84        [V98,T70] (  4,  0.99)   byref  ->   x3         "field V55._reference (fldOffset=0x0)" P-INDEP
-;  V99 tmp85        [V99,T56] (  4,  1.49)     int  ->   x4         "field V55._length (fldOffset=0x8)" P-INDEP
+;  V98 tmp84        [V98,T71] (  4,  0.99)   byref  ->   x3         "field V55._reference (fldOffset=0x0)" P-INDEP
+;  V99 tmp85        [V99,T57] (  4,  1.49)     int  ->   x4         "field V55._length (fldOffset=0x8)" P-INDEP
 ;* V100 tmp86       [V100    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V57._reference (fldOffset=0x0)" P-INDEP
 ;* V101 tmp87       [V101    ] (  0,  0   )     int  ->  zero-ref    "field V57._length (fldOffset=0x8)" P-INDEP
 ;* V102 tmp88       [V102    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V59._reference (fldOffset=0x0)" P-INDEP
@@ -120,37 +120,38 @@
 ;* V109 tmp95       [V109    ] (  0,  0   )     int  ->  zero-ref    "field V68._length (fldOffset=0x8)" P-INDEP
 ;* V110 tmp96       [V110    ] (  0,  0   )   byref  ->  zero-ref    "field V69._reference (fldOffset=0x0)" P-INDEP
 ;* V111 tmp97       [V111    ] (  0,  0   )     int  ->  zero-ref    "field V69._length (fldOffset=0x8)" P-INDEP
-;* V112 tmp98       [V112,T49] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
+;* V112 tmp98       [V112,T50] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
 ;  V113 tmp99       [V113,T01] (  3, 24   )     ref  ->   x0         "arr expr"
-;  V114 tmp100      [V114,T34] (  3,  6   )     ref  ->   x0         "arr expr"
-;  V115 tmp101      [V115,T45] (  2,  2   )     ref  ->   x3         "argument with side effect"
-;  V116 tmp102      [V116,T37] (  3,  3   )  struct (16) [fp+0x18]  do-not-enreg[SFA] multireg-arg must-init "argument with side effect" <System.ReadOnlySpan`1[ushort]>
-;  V117 tmp103      [V117,T77] (  2,  0   )     ref  ->   x1         "argument with side effect"
-;  V118 tmp104      [V118,T78] (  2,  0   )     ref  ->  x20         "argument with side effect"
-;  V119 tmp105      [V119,T79] (  2,  0   )     ref  ->   x2         "argument with side effect"
-;  V120 tmp106      [V120,T35] (  3,  3   )     ref  ->   x0         "arr expr"
+;  V114 tmp100      [V114,T35] (  3,  6   )     ref  ->   x0         "arr expr"
+;  V115 tmp101      [V115,T46] (  2,  2   )     ref  ->   x3         "argument with side effect"
+;  V116 tmp102      [V116,T38] (  3,  3   )  struct (16) [fp+0x18]  do-not-enreg[SFA] multireg-arg must-init "argument with side effect" <System.ReadOnlySpan`1[ushort]>
+;  V117 tmp103      [V117,T78] (  2,  0   )     ref  ->   x1         "argument with side effect"
+;  V118 tmp104      [V118,T79] (  2,  0   )     ref  ->  x20         "argument with side effect"
+;  V119 tmp105      [V119,T80] (  2,  0   )     ref  ->   x2         "argument with side effect"
+;  V120 tmp106      [V120,T36] (  3,  3   )     ref  ->   x0         "arr expr"
 ;  V121 tmp107      [V121,T11] (  3, 12   )     ref  ->   x2         "arr expr"
-;* V122 tmp108      [V122,T29] (  0,  0   )     ref  ->  zero-ref    "arr expr"
+;* V122 tmp108      [V122,T30] (  0,  0   )     ref  ->  zero-ref    "arr expr"
 ;  V123 tmp109      [V123,T02] (  3, 24   )     ref  ->   x0         "arr expr"
-;* V124 tmp110      [V124,T68] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
-;  V125 PSPSym      [V125,T69] (  1,  1   )    long  ->  [fp+0x48]  do-not-enreg[V] "PSPSym"
-;* V126 cse0        [V126,T46] (  0,  0   )     ref  ->  zero-ref    "CSE - moderate"
-;* V127 cse1        [V127,T39] (  0,  0   )     ref  ->  zero-ref    "CSE - moderate"
+;* V124 tmp110      [V124,T69] (  0,  0   )     ref  ->  zero-ref    single-def "argument with side effect"
+;  V125 PSPSym      [V125,T70] (  1,  1   )    long  ->  [fp+0x48]  do-not-enreg[V] "PSPSym"
+;* V126 cse0        [V126,T47] (  0,  0   )     ref  ->  zero-ref    "CSE - moderate"
+;* V127 cse1        [V127,T40] (  0,  0   )     ref  ->  zero-ref    "CSE - moderate"
 ;  V128 cse2        [V128,T21] (  3,  6   )     int  ->   x4         "CSE - moderate"
-;  V129 cse3        [V129,T40] (  3,  2.50)    long  ->  x21         "CSE - moderate"
-;  V130 cse4        [V130,T64] (  2,  1   )     int  ->   x2         "CSE - conservative"
-;  V131 cse5        [V131,T65] (  2,  1   )     int  ->   x2         "CSE - conservative"
-;  V132 cse6        [V132,T66] (  2,  1   )     int  ->   x3         "CSE - conservative"
-;  V133 cse7        [V133,T12] (  3, 12   )     int  ->   x1         "CSE - aggressive"
-;  V134 cse8        [V134,T22] (  3,  6   )     int  ->   x1         "CSE - moderate"
-;  V135 cse9        [V135,T17] (  2,  4   )     ref  ->   x2         "CSE - moderate"
-;  V136 cse10       [V136,T55] (  3,  1.50)     int  ->   x0         "CSE - conservative"
-;  V137 cse11       [V137,T10] ( 14, 13.50)    long  ->  x20         multi-def "CSE - aggressive"
-;  V138 cse12       [V138,T38] (  3,  3   )     int  ->  x25         "CSE - moderate"
-;  V139 cse13       [V139,T18] (  3,  6   )     ref  ->   x1         "CSE - moderate"
-;  V140 cse14       [V140,T23] (  3,  6   )     int  ->   x3         "CSE - moderate"
-;  V141 cse15       [V141,T19] (  3,  6   )   byref  ->   x2         "CSE - moderate"
-;  V142 rat0        [V142,T74] (  3,  1.48)  simd16  ->  d16         "ReplaceWithLclVar is creating a new local variable"
+;  V129 cse3        [V129,T41] (  3,  2.50)    long  ->  x21         "CSE - moderate"
+;  V130 cse4        [V130,T65] (  2,  1   )     int  ->   x2         "CSE - conservative"
+;  V131 cse5        [V131,T66] (  2,  1   )     int  ->   x2         "CSE - conservative"
+;  V132 cse6        [V132,T67] (  2,  1   )     int  ->   x3         "CSE - conservative"
+;  V133 cse7        [V133,T16] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V134 cse8        [V134,T12] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V135 cse9        [V135,T22] (  3,  6   )     int  ->   x1         "CSE - moderate"
+;  V136 cse10       [V136,T17] (  2,  4   )     ref  ->   x2         "CSE - moderate"
+;  V137 cse11       [V137,T56] (  3,  1.50)     int  ->   x0         "CSE - conservative"
+;  V138 cse12       [V138,T09] ( 14, 13.50)    long  ->  x20         multi-def "CSE - aggressive"
+;  V139 cse13       [V139,T39] (  3,  3   )     int  ->  x25         "CSE - moderate"
+;  V140 cse14       [V140,T18] (  3,  6   )     ref  ->   x1         "CSE - moderate"
+;  V141 cse15       [V141,T23] (  3,  6   )     int  ->   x3         "CSE - moderate"
+;  V142 cse16       [V142,T19] (  3,  6   )   byref  ->   x2         "CSE - moderate"
+;  V143 rat0        [V143,T75] (  3,  1.48)  simd16  ->  d16         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 64
 
@@ -193,7 +194,7 @@ G_M6771_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byr
             ldr     x0, [x19, #0x58]
             ; gcrRegs +[x0]
             ; byrRegs -[x0]
-            cbz     x0, G_M6771_IG33
+            cbz     x0, G_M6771_IG32
                         ;; size=60 bbWeight=1 PerfScore 19.00
 G_M6771_IG03:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -234,7 +235,7 @@ G_M6771_IG04:        ; bbWeight=4, gcrefRegs=880000 {x19 x23}, byrefRegs=0000 {}
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x08]
             cmp     w24, w1
-            bhs     G_M6771_IG46
+            bhs     G_M6771_IG45
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
@@ -258,19 +259,19 @@ G_M6771_IG05:        ; bbWeight=1, gcrefRegs=880001 {x0 x19 x23}, byrefRegs=0000
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x08]
             cmp     w24, w1
-            bhs     G_M6771_IG46
+            bhs     G_M6771_IG45
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
             ldr     x0, [x0, w24, UXTW #3]
             ; gcrRegs +[x0]
             ; byrRegs -[x0]
-            cbz     x0, G_M6771_IG47
+            cbz     x0, G_M6771_IG46
                         ;; size=56 bbWeight=1 PerfScore 18.50
 G_M6771_IG06:        ; bbWeight=0.50, gcrefRegs=880001 {x0 x19 x23}, byrefRegs=0000 {}, byref, isz
             ldr     w1, [x0, #0x08]
             cmp     w1, #4
-            blo     G_M6771_IG47
+            blo     G_M6771_IG46
...
  
+12 (+0.19%) : 60169.dasm - System.Reflection.Metadata.Tests.LargeTablesAndHeapsTests:Strings():this (Tier1-OSR)
@@ -169,7 +169,7 @@
 ;* V156 tmp146      [V156    ] (  0,     0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Buffers.SharedArrayPoolThreadLocalArray[]>
 ;  V157 tmp147      [V157,T66] (  4,   172.95)   ubyte  ->  [fp+0x54]  "Inline stloc first use temp"
 ;  V158 tmp148      [V158,T72] (  3,    86.52)   ubyte  ->  [fp+0x50]  "Inline stloc first use temp"
-;  V159 tmp149      [V159,T68] (  4,   172.83)     ref  ->  x28         class-hnd exact "Inline stloc first use temp" <System.Buffers.ArrayPoolEventSource>
+;  V159 tmp149      [V159,T68] (  4,   172.83)     ref  ->  [fp+0x20]  class-hnd exact "Inline stloc first use temp" <System.Buffers.ArrayPoolEventSource>
 ;  V160 tmp150      [V160,T157] (  2,     0   )     int  ->  [fp+0x4C]  spill-single-def "impAppendStmt"
 ;  V161 tmp151      [V161,T158] (  2,     0   )     int  ->  [fp+0x48]  spill-single-def "impAppendStmt"
 ;  V162 tmp152      [V162,T159] (  2,     0   )     int  ->  [fp+0x44]  spill-single-def "impAppendStmt"
@@ -209,7 +209,7 @@
 ;* V196 tmp186      [V196    ] (  0,     0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V197 tmp187      [V197    ] (  0,     0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V198 tmp188      [V198,T150] (  3,     0   )   ubyte  ->   x3         "Inline return value spill temp"
-;  V199 tmp189      [V199,T95] (  5,     0   )     ref  ->  [fp+0x20]  class-hnd exact spill-single-def "Inline stloc first use temp" <<unknown class>>
+;  V199 tmp189      [V199,T95] (  5,     0   )     ref  ->  [fp+0x18]  class-hnd exact spill-single-def "Inline stloc first use temp" <<unknown class>>
 ;  V200 tmp190      [V200,T93] (  7,     0   )     int  ->  [fp+0x38]  "Inline stloc first use temp"
 ;  V201 tmp191      [V201,T99] (  4,     0   )     int  ->  [fp+0x34]  "Inline stloc first use temp"
 ;  V202 tmp192      [V202,T162] (  2,     0   )     int  ->   x0         "dup spill"
@@ -219,7 +219,7 @@
 ;* V206 tmp196      [V206    ] (  0,     0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V207 tmp197      [V207    ] (  0,     0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V208 tmp198      [V208,T151] (  3,     0   )   ubyte  ->  [fp+0x28]  "Inline stloc first use temp"
-;  V209 tmp199      [V209,T92] (  8,     0   )     ref  ->  [fp+0x18]  class-hnd exact spill-single-def "Inlining Arg" <System.Buffers.SharedArrayPoolPartitions+Partition>
+;  V209 tmp199      [V209,T92] (  8,     0   )     ref  ->  [fp+0x10]  class-hnd exact spill-single-def "Inlining Arg" <System.Buffers.SharedArrayPoolPartitions+Partition>
 ;  V210 tmp200      [V210,T104] (  3,     0   )     ref  ->  x14         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V211 tmp201      [V211,T96] (  5,     0   )     int  ->   x0         "Inline stloc first use temp"
 ;  V212 tmp202      [V212,T163] (  2,     0   )     int  ->   x4         "Inlining Arg"
@@ -436,7 +436,7 @@ G_M20288_IG01:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
                        ;; size=48 bbWeight=0.01 PerfScore 0.13
 G_M20288_IG02:        ; bbWeight=0.01, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             cmp     w20, #4, LSL #12
-            bge     G_M20288_IG82
+            bge     G_M20288_IG64
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -460,7 +460,7 @@ G_M20288_IG03:        ; bbWeight=99.99, gcrefRegs=A80000 {x19 x21 x23}, byrefReg
             blr     x2
             ; gcr arg pop 0
             str     x0, [fp, #0xD1FFAB1E]  // [V05 loc4+0x08]
-            cbz     x0, G_M20288_IG61
+            cbz     x0, G_M20288_IG79
             add     x24, x0, #16
             ; byrRegs +[x24]
             ldr     w25, [x0, #0x08]
@@ -474,7 +474,7 @@ G_M20288_IG04:        ; bbWeight=99.99, gcrefRegs=A80000 {x19 x21 x23}, byrefReg
             ldr     w0, [fp, #0xD1FFAB1E]  // [V05 loc4+0x10]
             ldr     w1, [fp, #0xD1FFAB1E]  // [V05 loc4+0x20]
             cmp     w0, w1
-            bhi     G_M20288_IG83
+            bhi     G_M20288_IG65
             ldr     x2, [fp, #0xD1FFAB1E]  // [V05 loc4+0x18]
             ; byrRegs +[x2]
             ubfiz   x3, x0, #1, #32
@@ -500,7 +500,7 @@ G_M20288_IG05:        ; bbWeight=399.96, gcrefRegs=A80000 {x19 x21 x23}, byrefRe
             ; gcr arg pop 0
                        ;; size=40 bbWeight=399.96 PerfScore 3199.68
 G_M20288_IG06:        ; bbWeight=99.99, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=1000000 {x24}, byref, isz
-            cbz     w25, G_M20288_IG62
+            cbz     w25, G_M20288_IG80
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -512,13 +512,13 @@ G_M20288_IG06:        ; bbWeight=99.99, gcrefRegs=A80000 {x19 x21 x23}, byrefReg
             sxtw    w24, w20
             ; byrRegs -[x24]
             ldrb    w0, [fp, #0xD1FFAB1E]  // [V05 loc4+0x14]
-            cbnz    w0, G_M20288_IG63
+            cbnz    w0, G_M20288_IG81
                         ;; size=48 bbWeight=99.99 PerfScore 1349.86
 G_M20288_IG07:        ; bbWeight=99.99, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [fp, #0xD1FFAB1E]  // [V05 loc4+0x10]
             ldr     w1, [fp, #0xD1FFAB1E]  // [V05 loc4+0x20]
             cmp     w0, w1
-            bhi     G_M20288_IG83
+            bhi     G_M20288_IG65
             ldr     x2, [fp, #0xD1FFAB1E]  // [V05 loc4+0x18]
             ; byrRegs +[x2]
             ubfiz   x3, x0, #1, #32
@@ -551,7 +551,7 @@ G_M20288_IG09:        ; bbWeight=99.99, gcrefRegs=A80000 {x19 x21 x23}, byrefReg
             ldr     x0, [fp, #0xD1FFAB1E]  // [V05 loc4]
             ; gcrRegs +[x0]
             sxtw    w1, w24
-            tbnz    w1, #31, G_M20288_IG28
+            tbnz    w1, #31, G_M20288_IG42
                         ;; size=20 bbWeight=99.99 PerfScore 449.95
 G_M20288_IG10:        ; bbWeight=99.78, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=2000000 {x25}, byref, isz
             ; gcrRegs -[x0]
@@ -697,7 +697,7 @@ G_M20288_IG21:        ; bbWeight=99.78, gcrefRegs=A80000 {x19 x21 x23}, byrefReg
             str     xzr, [fp, #0x58]   // [V77 tmp67]
                        ;; size=4 bbWeight=99.78 PerfScore 99.78
 G_M20288_IG22:        ; bbWeight=99.99, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=0000 {}, byref, isz
-            cbz     w0, G_M20288_IG64
+            cbz     w0, G_M20288_IG82
             ldr     w0, [fp, #0xD1FFAB1E]   // [V05 loc4+0x10]
             ldr     w1, [fp, #0x60]    // [V39 tmp29]
             add     w0, w0, w1
@@ -707,7 +707,7 @@ G_M20288_IG23:        ; bbWeight=99.99, gcrefRegs=A80000 {x19 x21 x23}, byrefReg
             ldr     w0, [fp, #0xD1FFAB1E]  // [V05 loc4+0x10]
             ldr     w1, [fp, #0xD1FFAB1E]  // [V05 loc4+0x20]
             cmp     w0, w1
-            bhi     G_M20288_IG83
+            bhi     G_M20288_IG65
             ldr     x2, [fp, #0xD1FFAB1E]  // [V05 loc4+0x18]
             ; byrRegs +[x2]
             ubfiz   x3, x0, #1, #32
@@ -734,7 +734,7 @@ G_M20288_IG24:        ; bbWeight=399.96, gcrefRegs=A80000 {x19 x21 x23}, byrefRe
             ; gcr arg pop 0
                        ;; size=40 bbWeight=399.96 PerfScore 3199.68
 G_M20288_IG25:        ; bbWeight=99.99, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=1000000 {x24}, byref, isz
-            cbz     w25, G_M20288_IG65
+            cbz     w25, G_M20288_IG49
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -749,10 +749,10 @@ G_M20288_IG26:        ; bbWeight=99.99, gcrefRegs=A80000 {x19 x21 x23}, byrefReg
             ldr     w24, [fp, #0xD1FFAB1E] // [V05 loc4+0x10]
             ldr     w0, [fp, #0xD1FFAB1E]  // [V05 loc4+0x20]
             cmp     w24, w0
-            bhi     G_M20288_IG83
+            bhi     G_M20288_IG65
             ldr     x25, [fp, #0xD1FFAB1E]    // [V05 loc4+0x18]
             ; byrRegs +[x25]
-            tbz     w24, #31, G_M20288_IG41
+            tbz     w24, #31, G_M20288_IG28
                      ;; size=24 bbWeight=99.99 PerfScore 849.91
 G_M20288_IG27:        ; bbWeight=399.96, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=2000000 {x25}, byref
             movz    x26, #0xD1FFAB1E
@@ -769,104 +769,124 @@ G_M20288_IG27:        ; bbWeight=399.96, gcrefRegs=A80000 {x19 x21 x23}, byrefRe
             blr     x2
             ; gcrRegs -[x0-x1] +[x26]
             ; gcr arg pop 0
-            b       G_M20288_IG40
-                       ;; size=44 bbWeight=399.96 PerfScore 3599.64
-G_M20288_IG28:        ; bbWeight=0.02, gcrefRegs=A80001 {x0 x19 x21 x23}, byrefRegs=8000000 {x27}, byref, isz
-            ; gcrRegs -[x26] +[x0]
-            ; byrRegs -[x25] +[x27]
-            cbnz    x0, G_M20288_IG32
-                       ;; size=4 bbWeight=0.02 PerfScore 0.02
-G_M20288_IG29:        ; bbWeight=0.02, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=8000000 {x27}, byref
+            mov     x0, x26
+            ; gcrRegs +[x0]
+            mov     x1, x26
+            ; gcrRegs +[x1]
+            movz    x2, #0xD1FFAB1E      // code for <unknown method>
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
+            ; gcrRegs -[x0-x1 x26]
+            ; gcr arg pop 0
+                       ;; size=68 bbWeight=399.96 PerfScore 5799.42
+G_M20288_IG28:        ; bbWeight=99.99, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=2000000 {x25}, byref, isz
+            mov     x0, x25
+            ; byrRegs +[x0]
+            sxtw    w1, w24
+            bl      <unknown method>
+            ; gcrRegs +[x0]
+            ; byrRegs -[x0 x25]
+            ; gcr arg pop 0
+            mov     x24, x0
+            ; gcrRegs +[x24]
+            ldr     x25, [fp, #0xD1FFAB1E] // [V05 loc4+0x08]
+            ; gcrRegs +[x25]
+            stp     xzr, xzr, [fp, #0xD1FFAB1E]
+            stp     xzr, xzr, [fp, #0xD1FFAB1E]
+            str     xzr, [fp, #0xD1FFAB1E]
+            cbz     x25, G_M20288_IG35
+                       ;; size=36 bbWeight=99.99 PerfScore 849.91
+G_M20288_IG29:        ; bbWeight=96.02, gcrefRegs=3A80000 {x19 x21 x23 x24 x25}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
-            movz    x0, #0xD1FFAB1E      // code for System.Globalization.NumberFormatInfo:get_CurrentInfo():System.Globalization.NumberFormatInfo
+            mov     x26, x21
+            ; gcrRegs +[x26]
+            ldr     w0, [x25, #0x08]
+            sub     w0, w0, #1
+            orr     w0, w0, #15
+            clz     w0, w0
+            eor     w0, w0, #31
+            sub     w27, w0, #3
+            movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x0, [x0]
-            blr     x0
-            ; gcrRegs +[x0]
+            mov     w1, #15
+            bl      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_DYNAMICCLASS
+            ; byrRegs +[x0]
             ; gcr arg pop 0
-            mov     x25, x0
-            ; gcrRegs +[x25]
-                       ;; size=24 bbWeight=0.02 PerfScore 0.10
-G_M20288_IG30:        ; bbWeight=0.02, gcrefRegs=2A80000 {x19 x21 x23 x25}, byrefRegs=8000000 {x27}, byref, isz
-            ; gcrRegs -[x0]
-            ldrsb   wzr, [x25]
-            mov     w0, #1
-            movz    x1, #0xD1FFAB1E      // code for System.Diagnostics.Debug:Assert(ubyte)
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            ldr     x1, [x1]
-            blr     x1
+            ldr     x28, [x0]
+            ; gcrRegs +[x28]
+            cbz     x28, G_M20288_IG40
+                       ;; size=56 bbWeight=96.02 PerfScore 1248.23
+G_M20288_IG30:        ; bbWeight=86.52, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=0000 {}, byref, isz
+            ; byrRegs -[x0]
+            mov     w2, wzr
+            mov     w3, #1
+            str     w3, [fp, #0x50]    // [V158 tmp148]
+            ldr     w0, [x28, #0x08]
+            cmp     w0, w27
+            bls     G_M20288_IG34
+                       ;; size=24 bbWeight=86.52 PerfScore 562.38
+G_M20288_IG31:        ; bbWeight=86.43, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=0000 {}, byref, isz
+            mov     w2, #1
+            str     w2, [fp, #0x54]    // [V157 tmp147]
+            ldr     w4, [x25, #0x08]
+            str     w4, [fp, #0x40]    // [V184 tmp174]
+            mov     w0, #16
+            lsl     w5, w0, w27
+            str     w5, [fp, #0x3C]    // [V195 tmp185]
+            tbz     w5, #31, G_M20288_IG33
+                       ;; size=32 bbWeight=86.43 PerfScore 734.68
+G_M20288_IG32:        ; bbWeight=345.73, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=0000 {}, byref
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
+            mov     x6, x0
+            ; gcrRegs +[x6]
+            mov     x1, x6
+            ; gcrRegs +[x1]
+            movz    x6, #0xD1FFAB1E      // code for <unknown method>
+            ; gcrRegs -[x6]
+            movk    x6, #0xD1FFAB1E LSL #16
+            movk    x6, #0xD1FFAB1E LSL #32
+            ldr     x6, [x6]
+            blr     x6
+            ; gcrRegs -[x1]
             ; gcr arg pop 0
-            ldr     x0, [x25, #0x28]
-            ; gcrRegs +[x0]
-            cbnz    x0, G_M20288_IG33
-                       ;; size=36 bbWeight=0.02 PerfScore 0.29
-G_M20288_IG31:        ; bbWeight=0.36, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=8000000 {x27}, byref
-            ; gcrRegs -[x0 x25]
-            mov     x26, xzr
-            ; byrRegs +[x26]
-            mov     w25, wzr
...
  
  
librariestestsnotieredcompilation.run.linux.arm64.Release.mch
-20 (-11.90%) : 148024.dasm - System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
@@ -8,9 +8,9 @@
 ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] (  4, 14   )     ref  ->  x20         this class-hnd single-def <System.Net.HttpEndPointListener>
-;  V01 arg1         [V01,T02] (  5, 22   )     ref  ->  x19         class-hnd single-def <System.Net.Sockets.SocketAsyncEventArgs>
-;  V02 loc0         [V02,T01] (  3, 24   )   ubyte  ->  x21        
+;  V00 this         [V00,T02] (  4, 18   )     ref  ->  x20         this class-hnd single-def <System.Net.HttpEndPointListener>
+;  V01 arg1         [V01,T01] (  5, 26   )     ref  ->  x19         class-hnd single-def <System.Net.Sockets.SocketAsyncEventArgs>
+;  V02 loc0         [V02,T03] (  2, 16   )   ubyte  ->   x0        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
 ;  V05 tmp2         [V05,T00] (  3, 48   )     ref  ->   x0         class-hnd "Inlining Arg" <System.Net.Sockets.Socket>
@@ -18,22 +18,21 @@
 ;* V07 tmp4         [V07    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
 ;* V08 tmp5         [V08    ] (  0,  0   )     ref  ->  zero-ref    "field V06._source (fldOffset=0x0)" P-INDEP
 ;* V09 tmp6         [V09,T04] (  0,  0   )     ref  ->  zero-ref    "field V07._source (fldOffset=0x0)" P-INDEP
-;  V10 PSPSym       [V10,T05] (  1,  1   )    long  ->  [fp+0x10]  do-not-enreg[V] "PSPSym"
+;  V10 PSPSym       [V10,T05] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 16
 
 G_M14120_IG01:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     x19, x20, [sp, #0x20]
             mov     fp, sp
             add     x2, sp, #48
-            str     x2, [fp, #0x10]   // [V10 PSPSym]
+            str     x2, [fp, #0x18]    // [V10 PSPSym]
             mov     x20, x0
             ; gcrRegs +[x20]
             mov     x19, x1
             ; gcrRegs +[x19]
-                     ;; size=32 bbWeight=8 PerfScore 48.00
+                     ;; size=28 bbWeight=8 PerfScore 40.00
 G_M14120_IG02:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             str     xzr, [x19, #0x08]
             ldr     x0, [x20, #0x18]
@@ -49,12 +48,9 @@ G_M14120_IG02:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             blr     x3
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            sxtw    w21, w0
-                       ;; size=44 bbWeight=8 PerfScore 112.00
+                        ;; size=40 bbWeight=8 PerfScore 108.00
 G_M14120_IG03:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            cbnz    w21, G_M14120_IG05
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M14120_IG04:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+            cbnz    w0, G_M14120_IG04
             mov     x0, x20
             ; gcrRegs +[x0]
             mov     x1, x19
@@ -66,35 +62,30 @@ G_M14120_IG04:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-                      ;; size=28 bbWeight=4 PerfScore 26.00
-G_M14120_IG05:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            cbz     w21, G_M14120_IG02
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M14120_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            b       G_M14120_IG02
+                       ;; size=36 bbWeight=8 PerfScore 68.00
+G_M14120_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x19-x20]
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
+            ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x30
             ret     lr
-                       ;; size=16 bbWeight=1 PerfScore 5.00
-G_M14120_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                        ;; size=12 bbWeight=1 PerfScore 3.00
+G_M14120_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     x19, x20, [sp, #0x20]
             add     x3, fp, #48
-            str     x3, [sp, #0x10]
-                       ;; size=20 bbWeight=0 PerfScore 0.00
-G_M14120_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            adr     x0, [G_M14120_IG06]
+            str     x3, [sp, #0x18]
+                       ;; size=16 bbWeight=0 PerfScore 0.00
+G_M14120_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+            adr     x0, [G_M14120_IG04]
                         ;; size=4 bbWeight=0 PerfScore 0.00
-G_M14120_IG09:        ; bbWeight=0, funclet epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
+G_M14120_IG07:        ; bbWeight=0, funclet epilog, nogc, extend
+            ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x30
             ret     lr
-                       ;; size=16 bbWeight=0 PerfScore 0.00
+                      ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 168, prolog size 32, PerfScore 207.00, instruction count 42, allocated bytes for code 168 (MethodHash=c2bdc8d7) for method System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
+; Total bytes of code 148, prolog size 28, PerfScore 219.00, instruction count 37, allocated bytes for code 148 (MethodHash=c2bdc8d7) for method System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -105,7 +96,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 32 (0x00020) Actual length = 128 (0x000080)
+  Function Length   : 29 (0x0001d) Actual length = 116 (0x000074)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -113,31 +104,29 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
+    C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
     85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
     E4          end
+    E4          end
+    E4          end
 
 Unwind Info:
   >> Start offset   : 0xd1ffab1e (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 2
+  Code Words        : 1
   Epilog Count      : 0
   E bit             : 1
   X bit             : 0
   Vers              : 0
-  Function Length   : 10 (0x0000a) Actual length = 40 (0x000028)
+  Function Length   : 8 (0x00008) Actual length = 32 (0x000020)
   --- One epilog, unwind codes at 0
   ---- Unwind codes ----
     ---- Epilog start at index 0 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
+    C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
     85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
-    E4          end
-    E4          end
 
 *************** EH table for System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M14120_IG02..G_M14120_IG03) handled by [G_M14120_IG07..END) (class: 100003E)
+EH#0: try [G_M14120_IG02..G_M14120_IG03) handled by [G_M14120_IG05..END) (class: 100003E)
  
-16 (-4.12%) : 538.dasm - Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
@@ -8,30 +8,31 @@
 ; 3 inlinees with PGO data; 7 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T09] (  4,  4   )     ref  ->  x21         this class-hnd single-def <Xunit.AggregateMessageSink>
-;  V01 arg1         [V01,T06] (  3,  5.35)     ref  ->  x19         class-hnd single-def <Xunit.Abstractions.IMessageSinkMessage>
-;  V02 arg2         [V02,T07] (  3,  5.35)     ref  ->  x20         class-hnd single-def <System.Collections.Generic.HashSet`1[System.String]>
-;  V03 loc0         [V03,T05] (  4,  8.70)   ubyte  ->  x22        
-;  V04 loc1         [V04,T14] (  4,  1.50)     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
+;  V00 this         [V00,T10] (  4,  4   )     ref  ->  x21         this class-hnd single-def <Xunit.AggregateMessageSink>
+;  V01 arg1         [V01,T07] (  3,  5.35)     ref  ->  x19         class-hnd single-def <Xunit.Abstractions.IMessageSinkMessage>
+;  V02 arg2         [V02,T08] (  3,  5.35)     ref  ->  x20         class-hnd single-def <System.Collections.Generic.HashSet`1[System.String]>
+;  V03 loc0         [V03,T06] (  4,  8.70)   ubyte  ->  x22        
+;  V04 loc1         [V04,T15] (  4,  1.50)     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
 ;  V05 loc2         [V05    ] (  5,  4   )   ubyte  ->  [fp+0x20]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;* V06 loc3         [V06    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[Xunit.IMessageSinkWithTypes]>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V08 tmp1         [V08,T11] (  2,  4   )   ubyte  ->   x0         "Inlining Arg"
-;  V09 tmp2         [V09,T10] (  2,  4   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
+;  V08 tmp1         [V08,T12] (  2,  4   )   ubyte  ->   x0         "Inlining Arg"
+;  V09 tmp2         [V09,T11] (  2,  4   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[Xunit.IMessageSinkWithTypes]>
-;* V11 tmp4         [V11,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V11 tmp4         [V11,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V12 tmp5         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
-;  V13 tmp6         [V13,T01] (  5, 17.00)     ref  ->  x21         single-def "field V06._list (fldOffset=0x0)" P-INDEP
-;  V14 tmp7         [V14,T03] (  2,  6.70)     ref  ->   x0         "field V06._current (fldOffset=0x8)" P-INDEP
+;  V13 tmp6         [V13,T02] (  4, 16.35)     ref  ->  x21         single-def "field V06._list (fldOffset=0x0)" P-INDEP
+;  V14 tmp7         [V14,T04] (  2,  6.70)     ref  ->   x0         "field V06._current (fldOffset=0x8)" P-INDEP
 ;  V15 tmp8         [V15,T00] (  6, 18.39)     int  ->  x24         "field V06._index (fldOffset=0x10)" P-INDEP
-;  V16 tmp9         [V16,T04] (  3,  9.65)     int  ->  x23         single-def "field V06._version (fldOffset=0x14)" P-INDEP
-;  V17 tmp10        [V17,T12] (  3,  3   )     ref  ->  x21         single-def "field V10._list (fldOffset=0x0)" P-INDEP
+;  V16 tmp9         [V16,T05] (  2,  9   )     int  ->  x23         single-def "field V06._version (fldOffset=0x14)" P-INDEP
+;  V17 tmp10        [V17,T13] (  3,  3   )     ref  ->  x21         single-def "field V10._list (fldOffset=0x0)" P-INDEP
 ;* V18 tmp11        [V18    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V10._current (fldOffset=0x8)" P-INDEP
-;* V19 tmp12        [V19,T16] (  0,  0   )     int  ->  zero-ref    single-def "field V10._index (fldOffset=0x10)" P-INDEP
-;  V20 tmp13        [V20,T13] (  2,  2   )     int  ->  x23         single-def "field V10._version (fldOffset=0x14)" P-INDEP
-;  V21 tmp14        [V21,T02] (  3, 20.09)     ref  ->   x0         "arr expr"
-;  V22 PSPSym       [V22,T17] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
-;  V23 cse0         [V23,T15] (  3,  1.50)     ref  ->   x1         "CSE - moderate"
+;* V19 tmp12        [V19,T17] (  0,  0   )     int  ->  zero-ref    single-def "field V10._index (fldOffset=0x10)" P-INDEP
+;  V20 tmp13        [V20,T14] (  2,  2   )     int  ->  x23         single-def "field V10._version (fldOffset=0x14)" P-INDEP
+;  V21 tmp14        [V21,T01] (  3, 20.09)     ref  ->   x0         "arr expr"
+;  V22 PSPSym       [V22,T18] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
+;  V23 cse0         [V23,T03] (  2,  8.00)     int  ->   x0         "CSE - aggressive"
+;  V24 cse1         [V24,T16] (  3,  1.50)     ref  ->   x1         "CSE - moderate"
 ;
 ; Lcl frame size = 32
 
@@ -58,7 +59,7 @@ G_M52679_IG02:        ; bbWeight=1, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
             str     x0, [fp, #0x18]    // [V04 loc1]
             ; GC ptr vars +{V04}
                        ;; size=12 bbWeight=1 PerfScore 4.50
-G_M52679_IG03:        ; bbWeight=1, gcVars=0000000000004000 {V04}, gcrefRegs=380001 {x0 x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M52679_IG03:        ; bbWeight=1, gcVars=0000000000008000 {V04}, gcrefRegs=380001 {x0 x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w1, [fp, #0x20]   // [V05 loc2]
             cbnz    w1, G_M52679_IG09
             add     x1, fp, #32    // [V05 loc2]
@@ -90,19 +91,19 @@ G_M52679_IG05:        ; bbWeight=1, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
 G_M52679_IG06:        ; bbWeight=8, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x21, #0x14]
             cmp     w23, w0
-            bne     G_M52679_IG10
+            bne     G_M52679_IG11
                       ;; size=12 bbWeight=8 PerfScore 36.00
 G_M52679_IG07:        ; bbWeight=4.00, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x21, #0x10]
             cmp     w24, w0
-            bhs     G_M52679_IG14
+            bhs     G_M52679_IG12
                       ;; size=12 bbWeight=4.00 PerfScore 18.01
 G_M52679_IG08:        ; bbWeight=3.35, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x21, #0x08]
             ; gcrRegs +[x0]
             ldr     w2, [x0, #0x08]
             cmp     w24, w2
-            bhs     G_M52679_IG12
+            bhs     G_M52679_IG10
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
@@ -135,21 +136,11 @@ G_M52679_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M52679_IG10:        ; bbWeight=0.65, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x21]
-            ldr     w0, [x21, #0x14]
-            cmp     w23, w0
-            bne     G_M52679_IG13
-                       ;; size=12 bbWeight=0.65 PerfScore 2.93
-G_M52679_IG11:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x21]
-            b       G_M52679_IG14
-                       ;; size=4 bbWeight=4 PerfScore 4.00
-G_M52679_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52679_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M52679_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52679_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -158,11 +149,11 @@ G_M52679_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M52679_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M52679_IG12:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [fp, #0x20] // [V05 loc2]
-            cbz     w0, G_M52679_IG16
+            cbz     w0, G_M52679_IG14
                      ;; size=8 bbWeight=1 PerfScore 3.00
-G_M52679_IG15:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52679_IG13:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ldr     x0, [fp, #0x18]  // [V04 loc1]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V04}
@@ -170,18 +161,18 @@ G_M52679_IG15:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=8 bbWeight=0.50 PerfScore 1.50
-G_M52679_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52679_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, w22
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M52679_IG17:        ; bbWeight=1, epilog, nogc, extend
+G_M52679_IG15:        ; bbWeight=1, epilog, nogc, extend
             ldp     x23, x24, [sp, #0x50]
             ldp     x21, x22, [sp, #0x40]
             ldp     x19, x20, [sp, #0x30]
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=20 bbWeight=1 PerfScore 5.00
-G_M52679_IG18:        ; bbWeight=0, gcVars=0000000000004000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-            ; GC ptr vars +{V04 V14}
+G_M52679_IG16:        ; bbWeight=0, gcVars=0000000000008000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+            ; GC ptr vars +{V04 V15}
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
@@ -189,17 +180,17 @@ G_M52679_IG18:        ; bbWeight=0, gcVars=0000000000004000 {V04}, gcrefRegs=000
             add     x3, fp, #96
             str     x3, [sp, #0x18]
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M52679_IG19:        ; bbWeight=0, gcVars=0000000000004000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M52679_IG17:        ; bbWeight=0, gcVars=0000000000008000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w0, [fp, #0x20]   // [V05 loc2]
-            cbz     w0, G_M52679_IG20
+            cbz     w0, G_M52679_IG18
             ldr     x0, [fp, #0x18]  // [V04 loc1]
             ; gcrRegs +[x0]
-            ; GC ptr vars -{V04 V14}
+            ; GC ptr vars -{V04 V15}
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M52679_IG20:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M52679_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
@@ -207,7 +198,7 @@ G_M52679_IG20:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 388, prolog size 44, PerfScore 168.65, instruction count 97, allocated bytes for code 388 (MethodHash=39853238) for method Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
+; Total bytes of code 372, prolog size 44, PerfScore 161.72, instruction count 93, allocated bytes for code 372 (MethodHash=39853238) for method Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -218,7 +209,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 82 (0x00052) Actual length = 328 (0x000148)
+  Function Length   : 78 (0x0004e) Actual length = 312 (0x000138)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -255,4 +246,4 @@ Unwind Info:
 
 *************** EH table for Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M52679_IG03..G_M52679_IG14) handled by [G_M52679_IG18..END) (fault)
+EH#0: try [G_M52679_IG03..G_M52679_IG12) handled by [G_M52679_IG16..END) (fault)
  
-16 (-4.12%) : 217783.dasm - System.Security.Cryptography.X509Certificates.FindPal:LaxParseDecimalBigInteger(System.String):System.Numerics.BigInteger (FullOpts)
@@ -8,7 +8,7 @@
 ; 2 inlinees with PGO data; 9 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T11] (  3,  3   )     ref  ->  x19         class-hnd single-def <System.String>
+;  V00 arg0         [V00,T13] (  3,  3   )     ref  ->  x19         class-hnd single-def <System.String>
 ;  V01 loc0         [V01    ] (  3,  5   )  struct (16) [fp+0x38]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Numerics.BigInteger>
 ;* V02 loc1         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-ret <System.Numerics.BigInteger>
 ;  V03 loc2         [V03,T06] (  3,  6   )     ref  ->  x19         class-hnd exact single-def <System.String>
@@ -50,10 +50,10 @@
 ;* V39 tmp33        [V39    ] (  0,  0   )     int  ->  zero-ref    "field V12._sign (fldOffset=0x8)" P-DEP
 ;  V40 tmp34        [V40    ] (  3, 10   )     ref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V14._bits (fldOffset=0x0)" P-DEP
 ;  V41 tmp35        [V41    ] (  3, 10   )     int  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V14._sign (fldOffset=0x8)" P-DEP
-;  V42 tmp36        [V42,T12] (  3,  4   )   byref  ->  registers   "field V16._reference (fldOffset=0x0)" P-INDEP
-;  V43 tmp37        [V43,T14] (  3,  4   )     int  ->  registers   "field V16._length (fldOffset=0x8)" P-INDEP
-;  V44 tmp38        [V44,T13] (  3,  4   )   byref  ->   x4         "field V19._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp39        [V45,T15] (  3,  4   )     int  ->   x6         "field V19._length (fldOffset=0x8)" P-INDEP
+;  V42 tmp36        [V42,T11] (  3,  5.07)   byref  ->  registers   "field V16._reference (fldOffset=0x0)" P-INDEP
+;  V43 tmp37        [V43,T12] (  3,  5.07)     int  ->  registers   "field V16._length (fldOffset=0x8)" P-INDEP
+;  V44 tmp38        [V44,T14] (  3,  4   )   byref  ->   x3         "field V19._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp39        [V45,T15] (  3,  4   )     int  ->   x4         "field V19._length (fldOffset=0x8)" P-INDEP
 ;  V46 tmp40        [V46    ] (  3, 10   )     ref  ->  [fp+0x18]  do-not-enreg[X] addr-exposed "field V22._bits (fldOffset=0x0)" P-DEP
 ;  V47 tmp41        [V47    ] (  3, 10   )     int  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "field V22._sign (fldOffset=0x8)" P-DEP
 ;* V48 tmp42        [V48    ] (  0,  0   )     ref  ->  zero-ref    "field V23._bits (fldOffset=0x0)" P-DEP
@@ -108,7 +108,7 @@ G_M64460_IG04:        ; bbWeight=2, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {},
             ldr     x23, [fp, #0x38]   // [V24 tmp18]
             ; gcrRegs +[x23]
             ldr     w5, [fp, #0x40]    // [V25 tmp19]
-            cbnz    x0, G_M64460_IG06
+            cbnz    x0, G_M64460_IG08
             cbnz    x23, G_M64460_IG05
             stp     xzr, xzr, [fp, #0x28]
             smull   x1, w2, w5
@@ -126,52 +126,43 @@ G_M64460_IG04:        ; bbWeight=2, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {},
             ldr     w25, [fp, #0x30]   // [V41 tmp35]
             b       G_M64460_IG11
                        ;; size=60 bbWeight=2 PerfScore 40.00
-G_M64460_IG05:        ; bbWeight=0.93, gcrefRegs=880000 {x19 x23}, byrefRegs=0000 {}, byref
+G_M64460_IG05:        ; bbWeight=2, gcrefRegs=880000 {x19 x23}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x24] +[x23]
             mov     x0, xzr
             ; byrRegs +[x0]
             mov     w1, wzr
-            mov     w3, w1
-            mov     x1, x0
-            ; byrRegs +[x1]
-            b       G_M64460_IG07
-                       ;; size=20 bbWeight=0.93 PerfScore 2.80
-G_M64460_IG06:        ; bbWeight=1.07, gcrefRegs=880001 {x0 x19 x23}, byrefRegs=0000 {}, byref
-            ; gcrRegs +[x0]
-            ; byrRegs -[x0-x1]
+                       ;; size=8 bbWeight=2 PerfScore 2.00
+G_M64460_IG06:        ; bbWeight=2, gcrefRegs=880000 {x19 x23}, byrefRegs=0001 {x0}, byref, isz
+            cbnz    x23, G_M64460_IG09
+                       ;; size=4 bbWeight=2 PerfScore 2.00
+G_M64460_IG07:        ; bbWeight=0.93, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0}, byref
+            ; gcrRegs -[x23]
+            mov     x3, xzr
+            ; byrRegs +[x3]
+            mov     w4, wzr
+            b       G_M64460_IG10
+                       ;; size=12 bbWeight=0.93 PerfScore 1.87
+G_M64460_IG08:        ; bbWeight=1.07, gcrefRegs=880001 {x0 x19 x23}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x0 x23]
+            ; byrRegs -[x0 x3]
             add     x1, x0, #16
             ; byrRegs +[x1]
             ldr     w0, [x0, #0x08]
             ; gcrRegs -[x0]
             sxtw    w3, w0
-                       ;; size=12 bbWeight=1.07 PerfScore 4.27
-G_M64460_IG07:        ; bbWeight=2, gcrefRegs=880000 {x19 x23}, byrefRegs=0002 {x1}, byref, isz
-            cbnz    x23, G_M64460_IG09
-                       ;; size=4 bbWeight=2 PerfScore 2.00
-G_M64460_IG08:        ; bbWeight=0.93, gcrefRegs=80000 {x19}, byrefRegs=0002 {x1}, byref
-            ; gcrRegs -[x23]
-            mov     x4, xzr
-            ; byrRegs +[x4]
-            mov     w6, wzr
-            b       G_M64460_IG10
-                       ;; size=12 bbWeight=0.93 PerfScore 1.87
-G_M64460_IG09:        ; bbWeight=1.07, gcrefRegs=880000 {x19 x23}, byrefRegs=0002 {x1}, byref
-            ; gcrRegs +[x23]
-            ; byrRegs -[x4]
-            add     x4, x23, #16
-            ; byrRegs +[x4]
-            ldr     w6, [x23, #0x08]
-                       ;; size=8 bbWeight=1.07 PerfScore 3.74
-G_M64460_IG10:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0012 {x1 x4}, byref
-            ; gcrRegs -[x23]
             mov     x0, x1
             ; byrRegs +[x0]
             mov     w1, w3
             ; byrRegs -[x1]
-            mov     x3, x4
+            b       G_M64460_IG06
+                       ;; size=24 bbWeight=1.07 PerfScore 6.40
+G_M64460_IG09:        ; bbWeight=1.07, gcrefRegs=880000 {x19 x23}, byrefRegs=0001 {x0}, byref
+            add     x3, x23, #16
             ; byrRegs +[x3]
-            mov     w4, w6
-            ; byrRegs -[x4]
+            ldr     w4, [x23, #0x08]
+                       ;; size=8 bbWeight=1.07 PerfScore 3.74
+G_M64460_IG10:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0009 {x0 x3}, byref
+            ; gcrRegs -[x23]
             movz    x6, #0xD1FFAB1E      // code for <unknown method>
             movk    x6, #0xD1FFAB1E LSL #16
             movk    x6, #0xD1FFAB1E LSL #32
@@ -183,7 +174,7 @@ G_M64460_IG10:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0012 {x1 x4
             mov     x24, x0
             ; gcrRegs +[x24]
             mov     w25, w1
-                      ;; size=44 bbWeight=2 PerfScore 17.00
+                     ;; size=28 bbWeight=2 PerfScore 13.00
 G_M64460_IG11:        ; bbWeight=2, gcrefRegs=1080000 {x19 x24}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             stp     xzr, xzr, [fp, #0x18]
@@ -228,7 +219,7 @@ G_M64460_IG14:        ; bbWeight=1, epilog, nogc, extend
             ret     lr
                        ;; size=24 bbWeight=1 PerfScore 7.00
 
-; Total bytes of code 388, prolog size 44, PerfScore 167.67, instruction count 97, allocated bytes for code 388 (MethodHash=1fda0433) for method System.Security.Cryptography.X509Certificates.FindPal:LaxParseDecimalBigInteger(System.String):System.Numerics.BigInteger (FullOpts)
+; Total bytes of code 372, prolog size 44, PerfScore 165.00, instruction count 93, allocated bytes for code 372 (MethodHash=1fda0433) for method System.Security.Cryptography.X509Certificates.FindPal:LaxParseDecimalBigInteger(System.String):System.Numerics.BigInteger (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -239,7 +230,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 97 (0x00061) Actual length = 388 (0x000184)
+  Function Length   : 93 (0x0005d) Actual length = 372 (0x000174)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+12 (+1.14%) : 53391.dasm - Microsoft.Extensions.Logging.Test.FormattedLogValuesTest:CachedFormattersAreCapped():this (FullOpts)
@@ -12,7 +12,7 @@
 ;  V01 loc0         [V01,T31] (  4,  4   )     ref  ->  x20         class-hnd <Microsoft.Extensions.Logging.LogValuesFormatter>
 ;  V02 loc1         [V02,T06] (  6, 21   )     int  ->  x19        
 ;  V03 loc2         [V03    ] (  1,  4   )  struct (24) [fp+0x98]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <Microsoft.Extensions.Logging.FormattedLogValues>
-;  V04 loc3         [V04    ] ( 18, 63.99)  struct (40) [fp+0x70]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
+;  V04 loc3         [V04    ] ( 20, 59.99)  struct (40) [fp+0x70]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
 ;* V05 loc4         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <Microsoft.Extensions.Logging.FormattedLogValues>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T03] (  3, 24   )     ref  ->  x23         class-hnd exact "dup spill" <<unknown class>>
@@ -50,7 +50,7 @@
 ;* V39 tmp33        [V39    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V40 tmp34        [V40,T15] (  2,  8   )     ref  ->  x21         class-hnd exact "Inline stloc first use temp" <System.String>
 ;* V41 tmp35        [V41    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
-;  V42 tmp36        [V42,T02] (  4, 32   )     int  ->  x21         "Inlining Arg"
+;  V42 tmp36        [V42,T02] (  6, 24.00)     int  ->  x21         "Inlining Arg"
 ;* V43 tmp37        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V44 tmp38        [V44,T08] (  2, 16   )   byref  ->  x22         "Inlining Arg"
 ;* V45 tmp39        [V45    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -165,7 +165,7 @@ G_M64132_IG05:        ; bbWeight=4, gcrefRegs=100000 {x20}, byrefRegs=200000 {x2
             ldr     w0, [fp, #0x80]    // [V04 loc3+0x10]
             ldr     w1, [fp, #0x90]    // [V04 loc3+0x20]
             cmp     w0, w1
-            bhi     G_M64132_IG20
+            bhi     G_M64132_IG17
             ldr     x2, [fp, #0x88]    // [V04 loc3+0x18]
             ; byrRegs +[x2]
             ubfiz   x3, x0, #1, #32
@@ -192,9 +192,9 @@ G_M64132_IG06:        ; bbWeight=2, gcrefRegs=100000 {x20}, byrefRegs=200000 {x2
                        ;; size=40 bbWeight=2 PerfScore 16.00
 G_M64132_IG07:        ; bbWeight=4, gcrefRegs=100000 {x20}, byrefRegs=200000 {x21}, byref, isz
             cmp     w22, #3
-            blo     G_M64132_IG11
+            blo     G_M64132_IG16
                       ;; size=8 bbWeight=4 PerfScore 6.00
-G_M64132_IG08:        ; bbWeight=1.99, gcrefRegs=100000 {x20}, byrefRegs=200000 {x21}, byref
+G_M64132_IG08:        ; bbWeight=1.99, gcrefRegs=100000 {x20}, byrefRegs=200000 {x21}, byref, isz
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -205,17 +205,17 @@ G_M64132_IG08:        ; bbWeight=1.99, gcrefRegs=100000 {x20}, byrefRegs=200000
             ldr     w0, [fp, #0x80]    // [V04 loc3+0x10]
             add     w0, w0, #3
             str     w0, [fp, #0x80]    // [V04 loc3+0x10]
-                        ;; size=40 bbWeight=1.99 PerfScore 25.90
-G_M64132_IG09:        ; bbWeight=4, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
-            ; byrRegs -[x21]
             ldr     w21, [fp, #0x80]   // [V04 loc3+0x10]
+            ; byrRegs -[x21]
             ldr     w0, [fp, #0x90] // [V04 loc3+0x20]
             cmp     w21, w0
-            bhi     G_M64132_IG20
+            bhi     G_M64132_IG17
+                       ;; size=56 bbWeight=1.99 PerfScore 36.86
+G_M64132_IG09:        ; bbWeight=4, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
             ldr     x22, [fp, #0x88]  // [V04 loc3+0x18]
             ; byrRegs +[x22]
-            tbz     w21, #31, G_M64132_IG13
-                       ;; size=24 bbWeight=4 PerfScore 34.00
+            tbz     w21, #31, G_M64132_IG11
+                       ;; size=8 bbWeight=4 PerfScore 12.00
 G_M64132_IG10:        ; bbWeight=2, gcrefRegs=100000 {x20}, byrefRegs=400000 {x22}, byref
             movz    x23, #0xD1FFAB1E
             movk    x23, #0xD1FFAB1E LSL #16
@@ -230,25 +230,6 @@ G_M64132_IG10:        ; bbWeight=2, gcrefRegs=100000 {x20}, byrefRegs=400000 {x2
             ldr     x2, [x2]
             blr     x2
             ; gcrRegs -[x0-x1] +[x23]
-            b       G_M64132_IG12
-                       ;; size=44 bbWeight=2 PerfScore 18.00
-G_M64132_IG11:        ; bbWeight=0.01, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x23]
-            ; byrRegs -[x22]
-            add     x0, fp, #112   // [V04 loc3]
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            b       G_M64132_IG09
-                       ;; size=40 bbWeight=0.01 PerfScore 0.07
-G_M64132_IG12:        ; bbWeight=2, gcrefRegs=900000 {x20 x23}, byrefRegs=400000 {x22}, byref
-            ; gcrRegs +[x23]
-            ; byrRegs +[x22]
             mov     x0, x23
             ; gcrRegs +[x0]
             mov     x1, x23
@@ -259,8 +240,8 @@ G_M64132_IG12:        ; bbWeight=2, gcrefRegs=900000 {x20 x23}, byrefRegs=400000
             ldr     x2, [x2]
             blr     x2
             ; gcrRegs -[x0-x1 x23]
-                       ;; size=28 bbWeight=2 PerfScore 13.00
-G_M64132_IG13:        ; bbWeight=4, gcrefRegs=100000 {x20}, byrefRegs=400000 {x22}, byref, isz
+                       ;; size=68 bbWeight=2 PerfScore 29.00
+G_M64132_IG11:        ; bbWeight=4, gcrefRegs=100000 {x20}, byrefRegs=400000 {x22}, byref, isz
             mov     x0, x22
             ; byrRegs +[x0]
             sxtw    w1, w21
@@ -274,9 +255,9 @@ G_M64132_IG13:        ; bbWeight=4, gcrefRegs=100000 {x20}, byrefRegs=400000 {x2
             stp     xzr, xzr, [fp, #0x70]
             stp     xzr, xzr, [fp, #0x80]
             str     xzr, [fp, #0x90]
-            cbz     x1, G_M64132_IG15
+            cbz     x1, G_M64132_IG13
                      ;; size=36 bbWeight=4 PerfScore 34.00
-G_M64132_IG14:        ; bbWeight=1.92, gcrefRegs=300002 {x1 x20 x21}, byrefRegs=0000 {}, byref
+G_M64132_IG12:        ; bbWeight=1.92, gcrefRegs=300002 {x1 x20 x21}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             mov     x0, x20
             ; gcrRegs +[x0]
@@ -288,7 +269,7 @@ G_M64132_IG14:        ; bbWeight=1.92, gcrefRegs=300002 {x1 x20 x21}, byrefRegs=
             blr     x3
             ; gcrRegs -[x0-x1]
                        ;; size=28 bbWeight=1.92 PerfScore 12.48
-G_M64132_IG15:        ; bbWeight=4, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M64132_IG13:        ; bbWeight=4, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
             movz    x22, #0xD1FFAB1E
             movk    x22, #0xD1FFAB1E LSL #16
             movk    x22, #0xD1FFAB1E LSL #32
@@ -328,7 +309,7 @@ G_M64132_IG15:        ; bbWeight=4, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {
             cmp     w19, #0xD1FFAB1E
             blt     G_M64132_IG03
                        ;; size=108 bbWeight=4 PerfScore 76.00
-G_M64132_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M64132_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x20]
             mov     x0, x22
             mov     x1, #1
@@ -475,15 +456,40 @@ G_M64132_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             cmp     x20, x2
             beq     G_M64132_IG19
                        ;; size=380 bbWeight=1 PerfScore 77.00
-G_M64132_IG17:        ; bbWeight=1, epilog, nogc, extend
+G_M64132_IG15:        ; bbWeight=1, epilog, nogc, extend
             ldp     x23, x24, [sp, #0xD0]
             ldp     x21, x22, [sp, #0xC0]
             ldp     x19, x20, [sp, #0xB0]
             ldp     fp, lr, [sp], #0xE0
             ret     lr
                        ;; size=20 bbWeight=1 PerfScore 5.00
-G_M64132_IG18:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, gcvars, byref
+G_M64132_IG16:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x2]
+            add     x0, fp, #112   // [V04 loc3]
+            movz    x1, #0xD1FFAB1E
+            movk    x1, #0xD1FFAB1E LSL #16
+            movk    x1, #0xD1FFAB1E LSL #32
+            movz    x2, #0xD1FFAB1E      // code for <unknown method>
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
+            ldr     w21, [fp, #0x80]   // [V04 loc3+0x10]
+            ldr     w0, [fp, #0x90]    // [V04 loc3+0x20]
+            cmp     w21, w0
+            bls     G_M64132_IG09
+                       ;; size=52 bbWeight=0.01 PerfScore 0.11
+G_M64132_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x20]
+            movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
+            ldr     x0, [x0]
+            blr     x0
+            brk_unix #0
+                       ;; size=24 bbWeight=0 PerfScore 0.00
+G_M64132_IG18:        ; bbWeight=0, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x20]
             mov     x21, xzr
             ; byrRegs +[x21]
             mov     w22, wzr
@@ -500,17 +506,10 @@ G_M64132_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0]
             bl      CORINFO_HELP_THROW
             ; gcrRegs -[x0]
-                      ;; size=24 bbWeight=0 PerfScore 0.00
-G_M64132_IG20:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x0, [x0]
-            blr     x0
             brk_unix #0
-                        ;; size=24 bbWeight=0 PerfScore 0.00
+                      ;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1052, prolog size 48, PerfScore 461.96, instruction count 263, allocated bytes for code 1052 (MethodHash=f538057b) for method Microsoft.Extensions.Logging.Test.FormattedLogValuesTest:CachedFormattersAreCapped():this (FullOpts)
+; Total bytes of code 1064, prolog size 48, PerfScore 448.95, instruction count 266, allocated bytes for code 1064 (MethodHash=f538057b) for method Microsoft.Extensions.Logging.Test.FormattedLogValuesTest:CachedFormattersAreCapped():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -521,7 +520,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 263 (0x00107) Actual length = 1052 (0x00041c)
+  Function Length   : 266 (0x0010a) Actual length = 1064 (0x000428)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+28 (+1.24%) : 58162.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
@@ -8,49 +8,49 @@
 ; 6 inlinees with PGO data; 17 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] ( 21, 18   )     ref  ->  x24         class-hnd <System.Reflection.MemberInfo>
+;  V00 arg0         [V00,T19] ( 23, 19   )     ref  ->  x24         class-hnd <System.Reflection.MemberInfo>
 ;  V01 arg1         [V01,T10] ( 12, 39.50)     ref  ->  registers   class-hnd <System.Reflection.ParameterInfo[]>
-;  V02 arg2         [V02,T17] (  6, 19.50)     int  ->  x23         single-def
-;  V03 arg3         [V03,T13] (  8, 29.50)   ubyte  ->  x21         single-def
-;  V04 arg4         [V04,T38] (  3,  2.50)     ref  ->  x25         class-hnd single-def <System.Object[]>
-;  V05 arg5         [V05,T15] (  4, 20   )     int  ->  x22         single-def
-;  V06 arg6         [V06,T39] (  3,  2.50)     ref  ->  x26         class-hnd single-def <System.String[]>
-;  V07 arg7         [V07,T40] (  3,  2.50)     ref  ->  x27         class-hnd single-def <System.Type[]>
+;  V02 arg2         [V02,T18] (  6, 19.50)     int  ->  x23         single-def
+;  V03 arg3         [V03,T17] (  7, 21.50)   ubyte  ->  x22         single-def
+;  V04 arg4         [V04,T39] (  3,  2.50)     ref  ->  x25         class-hnd single-def <System.Object[]>
+;  V05 arg5         [V05,T15] (  4, 20   )     int  ->  x21         single-def
+;  V06 arg6         [V06,T40] (  3,  2.50)     ref  ->  x26         class-hnd single-def <System.String[]>
+;  V07 arg7         [V07,T41] (  3,  2.50)     ref  ->  x27         class-hnd single-def <System.Type[]>
 ;  V08 arg8         [V08,T62] (  1,  1   )   ubyte  ->  [fp+0xF0]  single-def
 ;  V09 arg9         [V09,T04] ( 27, 69.38)     ref  ->  x19         class-hnd single-def <System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
-;  V10 arg10        [V10,T42] (  2,  4   )     ref  ->  x28         class-hnd single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Container>
-;  V11 loc0         [V11,T36] ( 10,  5.46)     ref  ->  [fp+0x48]  class-hnd <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V12 loc1         [V12,T19] (  7, 19   )     ref  ->  [fp+0x40]  class-hnd spill-single-def <System.Reflection.MethodBase>
-;  V13 loc2         [V13,T35] (  5,  5.50)   ubyte  ->  [fp+0x9C] 
-;  V14 loc3         [V14,T37] (  3,  5   )     int  ->  x26         single-def
+;  V10 arg10        [V10,T43] (  2,  4   )     ref  ->  x28         class-hnd single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Container>
+;  V11 loc0         [V11,T37] ( 10,  5.46)     ref  ->  [fp+0x40]  class-hnd <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V12 loc1         [V12,T20] (  7, 19   )     ref  ->  [fp+0x38]  class-hnd spill-single-def <System.Reflection.MethodBase>
+;  V13 loc2         [V13,T36] (  5,  5.50)   ubyte  ->  [fp+0x9C] 
+;  V14 loc3         [V14,T38] (  3,  5   )     int  ->  x26         single-def
 ;  V15 loc4         [V15,T07] ( 11, 60.50)     int  ->  x27        
-;  V16 loc5         [V16,T01] ( 16, 84   )     ref  ->  [fp+0x38]  class-hnd exact spill-single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V17 loc6         [V17,T12] (  3, 34   )     ref  ->  [fp+0x30]  class-hnd spill-single-def <System.Reflection.ParameterInfo[]>
-;  V18 loc7         [V18,T11] ( 11, 36   )     ref  ->  [fp+0x28]  class-hnd <System.Reflection.MethodBase>
-;  V19 loc8         [V19,T02] (  8, 84   )     int  ->  [fp+0x98] 
-;  V20 loc9         [V20,T03] (  8, 84   )     int  ->  [fp+0x94] 
+;  V16 loc5         [V16,T03] ( 16, 76   )     ref  ->  [fp+0x30]  class-hnd exact spill-single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V17 loc6         [V17,T12] (  3, 34   )     ref  ->  [fp+0x28]  class-hnd spill-single-def <System.Reflection.ParameterInfo[]>
+;  V18 loc7         [V18,T11] ( 11, 36   )     ref  ->  [fp+0x20]  class-hnd <System.Reflection.MethodBase>
+;  V19 loc8         [V19,T01] (  8, 84   )     int  ->  [fp+0x98] 
+;  V20 loc9         [V20,T02] (  8, 84   )     int  ->  [fp+0x94] 
 ;* V21 loc10        [V21,T49] (  0,  0   )     int  ->  zero-ref   
-;  V22 loc11        [V22,T09] (  4, 50   )     int  ->  [fp+0x90] 
+;  V22 loc11        [V22,T08] (  4, 50   )     int  ->  [fp+0x90] 
 ;  V23 loc12        [V23    ] (  3, 48   )   ubyte  ->  [fp+0x88]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V24 loc13        [V24    ] (  3, 48   )   ubyte  ->  [fp+0x80]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V25 loc14        [V25    ] (  3, 48   )   ubyte  ->  [fp+0x78]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V26 OutArgs      [V26    ] (  1,  1   )  struct (16) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V27 tmp1         [V27,T44] (  3,  2.50)    long  ->   x0         "fgMakeTemp is creating a new local variable"
-;  V28 tmp2         [V28,T43] (  4,  3   )     ref  ->  x25         class-hnd "spilling QMark2" <System.Reflection.MethodBase>
-;  V29 tmp3         [V29,T26] ( 10,  9.92)     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V30 tmp4         [V30,T45] (  3,  2.50)    long  ->   x0         "fgMakeTemp is creating a new local variable"
-;  V31 tmp5         [V31,T48] (  3,  2   )     ref  ->  x22         class-hnd "spilling QMark2" <System.Reflection.PropertyInfo>
-;  V32 tmp6         [V32,T28] (  9,  8.92)     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V27 tmp1         [V27,T45] (  3,  2.50)    long  ->   x1         "fgMakeTemp is creating a new local variable"
+;  V28 tmp2         [V28,T44] (  4,  3   )     ref  ->  x25         class-hnd "spilling QMark2" <System.Reflection.MethodBase>
+;  V29 tmp3         [V29,T27] ( 10,  9.92)     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V30 tmp4         [V30,T46] (  3,  2.50)    long  ->   x1         "fgMakeTemp is creating a new local variable"
+;  V31 tmp5         [V31,T48] (  3,  2   )     ref  ->  x21         class-hnd "spilling QMark2" <System.Reflection.PropertyInfo>
+;  V32 tmp6         [V32,T29] (  9,  8.92)     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
 ;* V33 tmp7         [V33    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V34 tmp8         [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Reflection.ParameterInfo[]>
 ;* V35 tmp9         [V35    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Type>
-;  V36 tmp10        [V36,T27] (  9,  9   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V36 tmp10        [V36,T28] (  9,  9   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
 ;  V37 tmp11        [V37,T54] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V38 tmp12        [V38,T55] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V39 tmp13        [V39,T41] (  4,  4   )     ref  ->  x25         class-hnd single-def "Inlining Arg" <System.Reflection.MethodBase>
+;  V39 tmp13        [V39,T42] (  4,  4   )     ref  ->  x25         class-hnd single-def "Inlining Arg" <System.Reflection.MethodBase>
 ;* V40 tmp14        [V40,T50] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V41 tmp15        [V41,T33] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V42 tmp16        [V42,T34] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V41 tmp15        [V41,T34] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V42 tmp16        [V42,T35] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V43 tmp17        [V43,T58] (  3,  1.46)     ref  ->   x3         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
 ;  V44 tmp18        [V44,T51] (  4,  1.92)     int  ->   x2         single-def "Inline stloc first use temp"
 ;  V45 tmp19        [V45,T59] (  3,  1.46)     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
@@ -58,27 +58,27 @@
 ;  V47 tmp21        [V47,T60] (  3,  1.46)     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
 ;  V48 tmp22        [V48,T53] (  4,  1.92)     int  ->  x15         single-def "Inline stloc first use temp"
 ;  V49 tmp23        [V49,T16] (  3, 24   )     ref  ->   x0         "arr expr"
-;  V50 tmp24        [V50,T21] (  3, 12   )     ref  ->   x0         "argument with side effect"
-;  V51 tmp25        [V51,T22] (  3, 12   )     ref  ->   x0         "argument with side effect"
+;  V50 tmp24        [V50,T22] (  3, 12   )     ref  ->   x0         "argument with side effect"
+;  V51 tmp25        [V51,T23] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V52 tmp26        [V52,T05] (  2, 64   )     ref  ->   x1         "argument with side effect"
 ;  V53 tmp27        [V53,T06] (  2, 64   )     ref  ->   x4         "argument with side effect"
-;  V54 tmp28        [V54,T30] (  2,  8   )     int  ->  [fp+0x74]  spill-single-def "argument with side effect"
-;  V55 tmp29        [V55,T31] (  2,  8   )     int  ->   x3         "argument with side effect"
-;  V56 tmp30        [V56,T29] (  2,  8   )     ref  ->  [fp+0x20]  spill-single-def "argument with side effect"
-;  V57 tmp31        [V57,T23] (  3, 12   )     ref  ->   x2         "argument with side effect"
-;  V58 tmp32        [V58,T24] (  3, 12   )     ref  ->   x0         "argument with side effect"
+;  V54 tmp28        [V54,T31] (  2,  8   )     int  ->  [fp+0x74]  spill-single-def "argument with side effect"
+;  V55 tmp29        [V55,T32] (  2,  8   )     int  ->   x3         "argument with side effect"
+;  V56 tmp30        [V56,T30] (  2,  8   )     ref  ->  [fp+0x18]  spill-single-def "argument with side effect"
+;  V57 tmp31        [V57,T24] (  3, 12   )     ref  ->   x2         "argument with side effect"
+;  V58 tmp32        [V58,T25] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V59 tmp33        [V59,T00] (  3, 96   )     ref  ->   x3         "arr expr"
-;  V60 tmp34        [V60,T25] (  3, 12   )     ref  ->   x0         "arr expr"
-;  V61 cse0         [V61,T20] (  6, 12   )    long  ->  [fp+0x68]  multi-def "CSE - moderate"
-;  V62 cse1         [V62,T32] (  5,  7   )    long  ->  [fp+0x60]  multi-def "CSE - moderate"
+;  V60 tmp34        [V60,T26] (  3, 12   )     ref  ->   x0         "arr expr"
+;  V61 cse0         [V61,T21] (  6, 12   )    long  ->  [fp+0x68]  multi-def "CSE - moderate"
+;  V62 cse1         [V62,T33] (  5,  7   )    long  ->  [fp+0x60]  multi-def "CSE - moderate"
 ;  V63 cse2         [V63,T56] (  3,  1.50)    long  ->  [fp+0x58]  spill-single-def "CSE - conservative"
 ;  V64 cse3         [V64,T57] (  3,  1.50)    long  ->  x26         "CSE - conservative"
-;  V65 cse4         [V65,T08] (  5, 52   )     int  ->   x0         multi-def "CSE - aggressive"
-;  V66 cse5         [V66,T46] (  4,  2   )     int  ->  x25         multi-def "CSE - moderate"
+;  V65 cse4         [V65,T13] (  5, 28   )     int  ->   x0         multi-def "CSE - aggressive"
+;  V66 cse5         [V66,T47] (  4,  2   )     int  ->  x25         multi-def "CSE - moderate"
 ;  V67 cse6         [V67,T61] (  2,  1   )     int  ->   x0         "CSE - conservative"
-;  V68 cse7         [V68,T47] (  4,  2   )    long  ->  x22         "CSE - moderate"
-;  V69 cse8         [V69,T14] (  4, 26   )    long  ->  [fp+0x50]  spill-single-def "CSE - aggressive"
-;  TEMP_01                                     ref  ->  [fp+0x18]
+;  V68 cse7         [V68,T09] (  5, 44   )     int  ->  [fp+0x54]  multi-def "CSE - aggressive"
+;  V69 cse8         [V69,T14] (  4, 26   )    long  ->  [fp+0x48]  spill-single-def "CSE - aggressive"
+;  TEMP_01                                     ref  ->  [fp+0x10]
 ;
 ; Lcl frame size = 160
 
@@ -93,16 +93,16 @@ G_M30168_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             add     fp, sp, #16
             stp     xzr, xzr, [fp, #0x80]  // [V24 loc13], [V23 loc12]
             str     xzr, [fp, #0x78]   // [V25 loc14]
-            str     xzr, [fp, #0x18]    // [TEMP_01]
+            str     xzr, [fp, #0x10]  // [TEMP_01]
             mov     x24, x0
             ; gcrRegs +[x24]
             mov     x20, x1
             ; gcrRegs +[x20]
             mov     w23, w2
-            mov     w21, w3
+            mov     w22, w3
             mov     x25, x4
             ; gcrRegs +[x25]
-            mov     w22, w5
+            mov     w21, w5
             mov     x26, x6
             ; gcrRegs +[x26]
             mov     x27, x7
@@ -111,13 +111,13 @@ G_M30168_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x19 x28]
                        ;; size=80 bbWeight=1 PerfScore 17.00
 G_M30168_IG02:        ; bbWeight=1, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, byref, isz
-            str     xzr, [fp, #0x48]  // [V11 loc0]
+            str     xzr, [fp, #0x40] // [V11 loc0]
             ; GC ptr vars +{V11}
             ldrb    w1, [fp, #0xF0]    // [V08 arg8]
             tst     w1, #255
             bne     G_M30168_IG36
                        ;; size=16 bbWeight=1 PerfScore 4.50
-G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000001000000000 {V11}, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000002000000000 {V11}, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             mov     x1, x24
             ; gcrRegs +[x1]
             movz    x0, #0xD1FFAB1E
@@ -126,7 +126,7 @@ G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000001000000000 {V11}, gcrefRegs=
             bl      CORINFO_HELP_ISINSTANCEOFCLASS
             ; gcrRegs -[x1] +[x0]
             ; gcr arg pop 0
-            str     x0, [fp, #0x40]   // [V12 loc1]
+            str     x0, [fp, #0x38]  // [V12 loc1]
             ; GC ptr vars +{V12}
             str     wzr, [fp, #0x9C]   // [V13 loc2]
             mov     x0, x24
@@ -138,7 +138,7 @@ G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000001000000000 {V11}, gcrefRegs=
             ; gcr arg pop 0
             cmp     w0, #8
             bne     G_M30168_IG05
-            ldr     x0, [fp, #0x40] // [V12 loc1]
+            ldr     x0, [fp, #0x38]  // [V12 loc1]
             ; gcrRegs +[x0]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x60]
@@ -148,7 +148,7 @@ G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000001000000000 {V11}, gcrefRegs=
             ; gcrRegs -[x0]
             ; gcr arg pop 0
             cbz     w0, G_M30168_IG05
-            ldr     x0, [fp, #0x40] // [V12 loc1]
+            ldr     x0, [fp, #0x38]  // [V12 loc1]
             ; gcrRegs +[x0]
             ldr     x1, [fp, #0x58]    // [V63 cse2]
             ldr     x1, [x1, #0x18]
@@ -180,19 +180,19 @@ G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000001000000000 {V11}, gcrefRegs=
             ; gcrRegs -[x15 x20]
             ; byrRegs -[x14]
             str     w23, [x2, #0x48]
-            strb    w21, [x2, #0x4C]
+            strb    w22, [x2, #0x4C]
             mov     w14, #1
             strb    w14, [x2, #0x4F]
             add     x14, x2, #8
             ; byrRegs +[x14]
-            ldr     x15, [fp, #0x40] // [V12 loc1]
+            ldr     x15, [fp, #0x38] // [V12 loc1]
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x15]
             ; byrRegs -[x14]
             add     x14, x2, #16
             ; byrRegs +[x14]
-            ldr     x15, [fp, #0x40] // [V12 loc1]
+            ldr     x15, [fp, #0x38] // [V12 loc1]
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x15]
@@ -235,11 +235,11 @@ G_M30168_IG04:        ; bbWeight=0.50, gcrefRegs=10180000 {x19 x20 x28}, byrefRe
             ldr     x0, [x20, #0x18]
             mov     x25, x0
             ; gcrRegs +[x25]
-            str     x20, [fp, #0x48] // [V11 loc0]
+            str     x20, [fp, #0x40] // [V11 loc0]
             ; GC ptr vars +{V11}
             mov     x20, x25
                        ;; size=52 bbWeight=0.50 PerfScore 6.50
-G_M30168_IG05:        ; bbWeight=0.50, gcVars=0000001000080000 {V11 V12}, gcrefRegs=11180000 {x19 x20 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG05:        ; bbWeight=0.50, gcVars=0000002000100000 {V11 V12}, gcrefRegs=11180000 {x19 x20 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0 x25]
             cbz     x24, G_M30168_IG06
             mov     x0, x24
@@ -301,18 +301,18 @@ G_M30168_IG07:        ; bbWeight=4, gcrefRegs=11180000 {x19 x20 x24 x28}, byrefR
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
             mov     w1, w27
-            str     x1, [fp, #0x50]   // [V69 cse8]
+            str     x1, [fp, #0x48]  // [V69 cse8]
             ldr     x2, [x0, x1, LSL #3]
             ; gcrRegs +[x2]
-            str     x2, [fp, #0x38]   // [V16 loc5]
+            str     x2, [fp, #0x30]  // [V16 loc5]
             ; GC ptr vars +{V16}
             cbz     x2, G_M30168_IG35
                        ;; size=52 bbWeight=4 PerfScore 76.00
-G_M30168_IG08:        ; bbWeight=2, gcVars=0000001000080002 {V11 V12 V16}, gcrefRegs=11180004 {x2 x19 x20 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG08:        ; bbWeight=2, gcVars=0000002000100008 {V11 V12 V16}, gcrefRegs=11180004 {x2 x19 x20 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             ; byrRegs -[x0]
             ldr     x3, [x2, #0x18]
             ; gcrRegs +[x3]
-            str     x3, [fp, #0x30]   // [V17 loc6]
+            str     x3, [fp, #0x28]  // [V17 loc6]
             ; GC ptr vars +{V17}
             ldr     x0, [x2, #0x08]
             ; gcrRegs +[x0]
@@ -324,7 +324,7 @@ G_M30168_IG08:        ; bbWeight=2, gcVars=0000001000080002 {V11 V12 V16}, gcref
             ; gcr arg pop 0
             cmp     w0, #8
             beq     G_M30168_IG09
-            ldr     x1, [fp, #0x38] // [V16 loc5]
+            ldr     x1, [fp, #0x30]  // [V16 loc5]
...
  
+16 (+1.38%) : 206385.dasm - System.Tests.DecimalTests+BigIntegerCompare:Test() (FullOpts)
@@ -55,7 +55,7 @@
 ;* V44 tmp35        [V44    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[uint]>
 ;* V45 tmp36        [V45    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <uint[]>
 ;  V46 tmp37        [V46    ] (  6,128.00)  struct (16) [fp+0x18]  do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg" <System.Decimal>
-;  V47 tmp38        [V47,T18] (  8, 24.00)     int  ->  x24         "Inline return value spill temp"
+;  V47 tmp38        [V47,T18] (  8, 24.00)     int  ->  x25         "Inline return value spill temp"
 ;  V48 tmp39        [V48,T04] (  2, 64   )    long  ->   x0         "impAppendStmt"
 ;  V49 tmp40        [V49,T14] (  2, 32.00)    long  ->   x0         "impAppendStmt"
 ;  V50 tmp41        [V50,T37] (  3, 16.00)     int  ->  x24         "Inline stloc first use temp"
@@ -84,10 +84,10 @@
 ;* V73 tmp64        [V73    ] (  0,  0   )     int  ->  zero-ref    "field V23._sign (fldOffset=0x8)" P-DEP
 ;  V74 tmp65        [V74    ] (  3, 40   )     ref  ->  [fp+0x38]  do-not-enreg[X] addr-exposed "field V25._bits (fldOffset=0x0)" P-DEP
 ;  V75 tmp66        [V75    ] (  3, 40   )     int  ->  [fp+0x40]  do-not-enreg[X] addr-exposed "field V25._sign (fldOffset=0x8)" P-DEP
-;  V76 tmp67        [V76,T29] (  3, 16   )   byref  ->   x0         "field V27._reference (fldOffset=0x0)" P-INDEP
-;  V77 tmp68        [V77,T33] (  3, 16   )     int  ->   x1         "field V27._length (fldOffset=0x8)" P-INDEP
-;  V78 tmp69        [V78,T30] (  3, 16   )   byref  ->   x3         "field V30._reference (fldOffset=0x0)" P-INDEP
-;  V79 tmp70        [V79,T34] (  3, 16   )     int  ->   x4         "field V30._length (fldOffset=0x8)" P-INDEP
+;  V76 tmp67        [V76,T29] (  3, 20.27)   byref  ->   x0         "field V27._reference (fldOffset=0x0)" P-INDEP
+;  V77 tmp68        [V77,T31] (  3, 20.27)     int  ->   x1         "field V27._length (fldOffset=0x8)" P-INDEP
+;  V78 tmp69        [V78,T33] (  3, 16   )   byref  ->   x3         "field V30._reference (fldOffset=0x0)" P-INDEP
+;  V79 tmp70        [V79,T35] (  3, 16   )     int  ->   x4         "field V30._length (fldOffset=0x8)" P-INDEP
 ;  V80 tmp71        [V80,T20] (  3, 24   )     ref  ->  x25         "field V32._bits (fldOffset=0x0)" P-INDEP
 ;  V81 tmp72        [V81,T24] (  3, 24   )     int  ->  x26         "field V32._sign (fldOffset=0x8)" P-INDEP
 ;  V82 tmp73        [V82,T17] (  4, 24.54)     ref  ->  x24         "field V33._bits (fldOffset=0x0)" P-INDEP
@@ -102,9 +102,9 @@
 ;* V91 tmp82        [V91    ] (  0,  0   )     int  ->  zero-ref    "field V37._sign (fldOffset=0x8)" P-DEP
 ;  V92 tmp83        [V92    ] (  3, 40   )     ref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V39._bits (fldOffset=0x0)" P-DEP
 ;  V93 tmp84        [V93    ] (  3, 40   )     int  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V39._sign (fldOffset=0x8)" P-DEP
-;  V94 tmp85        [V94,T31] (  3, 16   )   byref  ->   x0         "field V41._reference (fldOffset=0x0)" P-INDEP
-;  V95 tmp86        [V95,T35] (  3, 16   )     int  ->   x1         "field V41._length (fldOffset=0x8)" P-INDEP
-;  V96 tmp87        [V96,T32] (  3, 16   )   byref  ->   x3         "field V44._reference (fldOffset=0x0)" P-INDEP
+;  V94 tmp85        [V94,T30] (  3, 20.27)   byref  ->   x0         "field V41._reference (fldOffset=0x0)" P-INDEP
+;  V95 tmp86        [V95,T32] (  3, 20.27)     int  ->   x1         "field V41._length (fldOffset=0x8)" P-INDEP
+;  V96 tmp87        [V96,T34] (  3, 16   )   byref  ->   x3         "field V44._reference (fldOffset=0x0)" P-INDEP
 ;  V97 tmp88        [V97,T36] (  3, 16   )     int  ->   x4         "field V44._length (fldOffset=0x8)" P-INDEP
 ;  V98 tmp89        [V98    ] (  4, 56.00)     int  ->  [fp+0x18]  do-not-enreg[X] addr-exposed "field V46._flags (fldOffset=0x0)" P-DEP
 ;  V99 tmp90        [V99    ] (  3, 64.00)     int  ->  [fp+0x1C]  do-not-enreg[X] addr-exposed "field V46._hi32 (fldOffset=0x4)" P-DEP
@@ -154,7 +154,7 @@ G_M48799_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             mov     w20, wzr
             ldr     w21, [x19, #0x08]
             cmp     w21, #0
-            ble     G_M48799_IG31
+            ble     G_M48799_IG37
                       ;; size=48 bbWeight=1 PerfScore 12.00
 G_M48799_IG03:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -167,7 +167,7 @@ G_M48799_IG03:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ldr     w1, [x1, #0x08]
             ; gcrRegs -[x1]
             cmp     w20, w1
-            bhs     G_M48799_IG35
+            bhs     G_M48799_IG38
             ldr     x1, [fp, #0xA8]   // [V01 loc1]
             ; gcrRegs +[x1]
             mov     w0, #24
@@ -198,7 +198,7 @@ G_M48799_IG06:        ; bbWeight=16, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, b
             ldr     w0, [x0, #0x08]
             ; gcrRegs -[x0]
             cmp     w22, w0
-            bhs     G_M48799_IG35
+            bhs     G_M48799_IG38
             ldr     x0, [fp, #0xA8]   // [V01 loc1]
             ; gcrRegs +[x0]
             mov     x2, #24
@@ -221,7 +221,7 @@ G_M48799_IG08:        ; bbWeight=16, isz, extend
             ; byrRegs -[x1]
             sub     w23, w1, w0
             cmp     w23, #0
-            ble     G_M48799_IG17
+            ble     G_M48799_IG20
                       ;; size=20 bbWeight=16 PerfScore 80.00
 G_M48799_IG09:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x24, [fp, #0x60]   // [V14 tmp5+0x08]
@@ -233,7 +233,7 @@ G_M48799_IG09:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ldr     x1, [x1]
             ; gcrRegs +[x1]
             cmp     w23, #60
-            bhs     G_M48799_IG35
+            bhs     G_M48799_IG38
             ubfiz   x0, x23, #4, #32
             add     x0, x0, #16
             add     x1, x1, x0
@@ -242,7 +242,7 @@ G_M48799_IG09:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ldr     x23, [x1]
             ; gcrRegs +[x23]
             ldr     w5, [x1, #0x08]
-            cbnz    x24, G_M48799_IG11
+            cbnz    x24, G_M48799_IG13
             cbnz    x23, G_M48799_IG10
             stp     xzr, xzr, [fp, #0x38]
             smull   x1, w2, w5
@@ -258,41 +258,66 @@ G_M48799_IG09:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ldr     x1, [fp, #0x38]    // [V74 tmp65]
             ; gcrRegs +[x1]
             ldr     w2, [fp, #0x40]    // [V75 tmp66]
-            b       G_M48799_IG16
+            b       G_M48799_IG19
                         ;; size=104 bbWeight=8 PerfScore 272.00
-G_M48799_IG10:        ; bbWeight=3.73, gcrefRegs=880000 {x19 x23}, byrefRegs=0000 {}, byref
+G_M48799_IG10:        ; bbWeight=8, gcrefRegs=880000 {x19 x23}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x1] +[x23]
             mov     x0, xzr
             ; byrRegs +[x0]
             mov     w1, wzr
-            b       G_M48799_IG12
-                       ;; size=12 bbWeight=3.73 PerfScore 7.46
-G_M48799_IG11:        ; bbWeight=4.27, gcrefRegs=1880000 {x19 x23 x24}, byrefRegs=0000 {}, byref
-            ; gcrRegs +[x24]
-            ; byrRegs -[x0]
-            add     x0, x24, #16
-            ; byrRegs +[x0]
-            ldr     w1, [x24, #0x08]
-                       ;; size=8 bbWeight=4.27 PerfScore 14.94
-G_M48799_IG12:        ; bbWeight=8, gcrefRegs=880000 {x19 x23}, byrefRegs=0001 {x0}, byref, isz
-            ; gcrRegs -[x24]
-            cbnz    x23, G_M48799_IG14
+                       ;; size=8 bbWeight=8 PerfScore 8.00
+G_M48799_IG11:        ; bbWeight=8, gcrefRegs=880000 {x19 x23}, byrefRegs=0001 {x0}, byref, isz
+            cbnz    x23, G_M48799_IG17
                      ;; size=4 bbWeight=8 PerfScore 8.00
-G_M48799_IG13:        ; bbWeight=3.73, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0}, byref
+G_M48799_IG12:        ; bbWeight=3.73, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0}, byref
             ; gcrRegs -[x23]
             mov     x3, xzr
             ; byrRegs +[x3]
             mov     w4, wzr
-            b       G_M48799_IG15
+            b       G_M48799_IG18
                       ;; size=12 bbWeight=3.73 PerfScore 7.46
-G_M48799_IG14:        ; bbWeight=4.27, gcrefRegs=880000 {x19 x23}, byrefRegs=0001 {x0}, byref
+G_M48799_IG13:        ; bbWeight=4.27, gcrefRegs=1880000 {x19 x23 x24}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x23-x24]
+            ; byrRegs -[x0 x3]
+            add     x0, x24, #16
+            ; byrRegs +[x0]
+            ldr     w1, [x24, #0x08]
+            b       G_M48799_IG11
+                       ;; size=12 bbWeight=4.27 PerfScore 19.21
+G_M48799_IG14:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x23-x24]
+            ; byrRegs -[x0]
+            ldp     x1, x2, [fp, #0x60]    // [V14 tmp5+0x08], [V14 tmp5+0x10]
+            ; gcrRegs +[x1]
+            add     x0, fp, #136   // [V04 loc4+0x08]
+            movz    x3, #0xD1FFAB1E      // code for <unknown method>
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #0xD1FFAB1E LSL #32
+            ldr     x3, [x3]
+            blr     x3
+            ; gcrRegs -[x1]
+            ; gcr arg pop 0
+            sxtw    w23, w0
+                       ;; size=32 bbWeight=8 PerfScore 76.00
+G_M48799_IG15:        ; bbWeight=16, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            ldr     q16, [fp, #0x70]   // [V06 loc6]
+            str     q16, [fp, #0x18]   // [V46 tmp37]
+            ldr     x0, [fp, #0x20]    // [V100 tmp91]
+            ldr     w1, [fp, #0x1C]    // [V99 tmp90]
+            orr     x0, x0, x1
+            cbnz    x0, G_M48799_IG35
+                       ;; size=24 bbWeight=16 PerfScore 136.00
+G_M48799_IG16:        ; bbWeight=0.00, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+            b       G_M48799_IG32
+                       ;; size=4 bbWeight=0.00 PerfScore 0.00
+G_M48799_IG17:        ; bbWeight=4.27, gcrefRegs=880000 {x19 x23}, byrefRegs=0001 {x0}, byref
             ; gcrRegs +[x23]
-            ; byrRegs -[x3]
+            ; byrRegs +[x0]
             add     x3, x23, #16
             ; byrRegs +[x3]
             ldr     w4, [x23, #0x08]
                        ;; size=8 bbWeight=4.27 PerfScore 14.94
-G_M48799_IG15:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0009 {x0 x3}, byref
+G_M48799_IG18:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0009 {x0 x3}, byref
             ; gcrRegs -[x23]
             movz    x6, #0xD1FFAB1E      // code for <unknown method>
             movk    x6, #0xD1FFAB1E LSL #16
@@ -306,7 +331,7 @@ G_M48799_IG15:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0009 {x0 x3
             mov     x1, x0
             ; gcrRegs +[x1]
                        ;; size=28 bbWeight=8 PerfScore 52.00
-G_M48799_IG16:        ; bbWeight=8, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
+G_M48799_IG19:        ; bbWeight=8, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             add     x0, fp, #136   // [V04 loc4+0x08]
             movz    x3, #0xD1FFAB1E      // code for <unknown method>
@@ -317,10 +342,10 @@ G_M48799_IG16:        ; bbWeight=8, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {},
             ; gcrRegs -[x1]
             ; gcr arg pop 0
             sxtw    w23, w0
-            b       G_M48799_IG26
+            b       G_M48799_IG15
                       ;; size=32 bbWeight=8 PerfScore 60.00
-G_M48799_IG17:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            tbz     w23, #31, G_M48799_IG25
+G_M48799_IG20:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            tbz     w23, #31, G_M48799_IG14
             ldr     x24, [fp, #0x88]    // [V04 loc4+0x08]
             ; gcrRegs +[x24]
             ldr     w2, [fp, #0x90]    // [V04 loc4+0x10]
@@ -331,7 +356,7 @@ G_M48799_IG17:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; gcrRegs +[x1]
             neg     w0, w23
             cmp     w0, #60
-            bhs     G_M48799_IG35
+            bhs     G_M48799_IG38
             neg     w0, w23
             ubfiz   x0, x0, #4, #32
             add     x0, x0, #16
@@ -341,8 +366,8 @@ G_M48799_IG17:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ldr     x23, [x1]
             ; gcrRegs +[x23]
             ldr     w5, [x1, #0x08]
-            cbnz    x24, G_M48799_IG19
-            cbnz    x23, G_M48799_IG18
+            cbnz    x24, G_M48799_IG24
+            cbnz    x23, G_M48799_IG21
             stp     xzr, xzr, [fp, #0x28]
             smull   x1, w2, w5
             ; byrRegs -[x1]
@@ -357,41 +382,65 @@ G_M48799_IG17:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ldr     x25, [fp, #0x28]   // [V92 tmp83]
             ; gcrRegs +[x25]
             ldr     w26, [fp, #0x30]   // [V93 tmp84]
-            b       G_M48799_IG24
+            b       G_M48799_IG31
                         ;; size=116 bbWeight=8 PerfScore 288.00
-G_M48799_IG18:        ; bbWeight=3.73, gcrefRegs=880000 {x19 x23}, byrefRegs=0000 {}, byref
+G_M48799_IG21:        ; bbWeight=8, gcrefRegs=880000 {x19 x23}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x25] +[x23]
             mov     x0, xzr
             ; byrRegs +[x0]
             mov     w1, wzr
-            b       G_M48799_IG20
-                       ;; size=12 bbWeight=3.73 PerfScore 7.46
-G_M48799_IG19:        ; bbWeight=4.27, gcrefRegs=1880000 {x19 x23 x24}, byrefRegs=0000 {}, byref
-            ; gcrRegs +[x24]
-            ; byrRegs -[x0]
-            add     x0, x24, #16
-            ; byrRegs +[x0]
-            ldr     w1, [x24, #0x08]
-                       ;; size=8 bbWeight=4.27 PerfScore 14.94
-G_M48799_IG20:        ; bbWeight=8, gcrefRegs=880000 {x19 x23}, byrefRegs=0001 {x0}, byref, isz
-            ; gcrRegs -[x24]
-            cbnz    x23, G_M48799_IG22
+                       ;; size=8 bbWeight=8 PerfScore 8.00
+G_M48799_IG22:        ; bbWeight=8, gcrefRegs=880000 {x19 x23}, byrefRegs=0001 {x0}, byref, isz
+            cbnz    x23, G_M48799_IG29
                      ;; size=4 bbWeight=8 PerfScore 8.00
-G_M48799_IG21:        ; bbWeight=3.73, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0}, byref
...
  
  
realworld.run.linux.arm64.checked.mch
-12 (-2.73%) : 30569.dasm - System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberPossiblyUpdated(System.String) (FullOpts)
@@ -8,34 +8,35 @@
 ; 0 inlinees with PGO data; 6 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T08] (  3,  3   )     ref  ->  x19         class-hnd single-def <System.String>
-;  V01 loc0         [V01,T09] (  4,  4   )     ref  ->  x19         class-hnd single-def <<unknown class>>
-;  V02 loc1         [V02,T19] (  3,  0.50)     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <<unknown class>>
+;  V00 arg0         [V00,T09] (  3,  3   )     ref  ->  x19         class-hnd single-def <System.String>
+;  V01 loc0         [V01,T10] (  4,  4   )     ref  ->  x19         class-hnd single-def <<unknown class>>
+;  V02 loc1         [V02,T20] (  3,  0.50)     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <<unknown class>>
 ;  V03 loc2         [V03    ] (  6,  5   )   ubyte  ->  [fp+0x18]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;* V04 loc3         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Management.Automation.Language.PSGetMemberBinder]>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V06 tmp1         [V06,T10] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <<unknown class>>
-;  V07 tmp2         [V07,T14] (  2,  2   )     ref  ->  x21         single-def
+;  V06 tmp1         [V06,T11] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <<unknown class>>
+;  V07 tmp2         [V07,T15] (  2,  2   )     ref  ->  x21         single-def
 ;* V08 tmp3         [V08    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V09 tmp4         [V09,T11] (  4,  3.50)     ref  ->   x2        
-;  V10 tmp5         [V10,T07] (  5,  5   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V11 tmp6         [V11,T15] (  2,  2   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V09 tmp4         [V09,T12] (  4,  3.50)     ref  ->   x2        
+;  V10 tmp5         [V10,T08] (  5,  5   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V11 tmp6         [V11,T16] (  2,  2   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
 ;* V12 tmp7         [V12    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Management.Automation.Language.PSGetMemberBinder]>
 ;* V13 tmp8         [V13    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V14 tmp9         [V14,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V14 tmp9         [V14,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V15 tmp10        [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V16 tmp11        [V16,T02] (  4, 17   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V17 tmp12        [V17,T04] (  3, 12   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V17 tmp12        [V17,T03] (  3, 12   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V18 tmp13        [V18,T00] (  6, 21   )     int  ->   x1         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V19 tmp14        [V19,T05] (  3, 13   )     int  ->   x0         single-def "field V04._version (fldOffset=0x14)" P-INDEP
-;  V20 tmp15        [V20,T13] (  3,  3   )     ref  ->  x19         single-def "field V12._list (fldOffset=0x0)" P-INDEP
+;  V19 tmp14        [V19,T06] (  2,  9   )     int  ->   x0         single-def "field V04._version (fldOffset=0x14)" P-INDEP
+;  V20 tmp15        [V20,T14] (  3,  3   )     ref  ->  x19         single-def "field V12._list (fldOffset=0x0)" P-INDEP
 ;* V21 tmp16        [V21    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V12._current (fldOffset=0x8)" P-INDEP
-;* V22 tmp17        [V22,T17] (  0,  0   )     int  ->  zero-ref    single-def "field V12._index (fldOffset=0x10)" P-INDEP
-;  V23 tmp18        [V23,T16] (  2,  2   )     int  ->   x0         single-def "field V12._version (fldOffset=0x14)" P-INDEP
+;* V22 tmp17        [V22,T18] (  0,  0   )     int  ->  zero-ref    single-def "field V12._index (fldOffset=0x10)" P-INDEP
+;  V23 tmp18        [V23,T17] (  2,  2   )     int  ->   x0         single-def "field V12._version (fldOffset=0x14)" P-INDEP
 ;  V24 tmp19        [V24,T01] (  3, 24   )     ref  ->   x2         "arr expr"
-;  V25 PSPSym       [V25,T18] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
-;  V26 cse0         [V26,T03] (  3, 20   )     int  ->   x2         "CSE - aggressive"
-;  V27 cse1         [V27,T12] (  4,  3   )    long  ->  x20         "CSE - aggressive"
+;  V25 PSPSym       [V25,T19] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
+;  V26 cse0         [V26,T05] (  2,  8   )     int  ->   x2         "CSE - aggressive"
+;  V27 cse1         [V27,T04] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V28 cse2         [V28,T13] (  4,  3   )    long  ->  x20         "CSE - aggressive"
 ;
 ; Lcl frame size = 24
 
@@ -108,7 +109,7 @@ G_M45525_IG04:        ; bbWeight=1, gcrefRegs=280004 {x2 x19 x21}, byrefRegs=000
             ; GC ptr vars +{V02}
             str     wzr, [fp, #0x18]   // [V03 loc2]
                        ;; size=40 bbWeight=1 PerfScore 9.00
-G_M45525_IG05:        ; bbWeight=1, gcVars=0000000000080000 {V02}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M45525_IG05:        ; bbWeight=1, gcVars=0000000000100000 {V02}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0]
             ldrb    w1, [fp, #0x18]    // [V03 loc2]
             cbnz    w1, G_M45525_IG08
@@ -131,17 +132,17 @@ G_M45525_IG05:        ; bbWeight=1, gcVars=0000000000080000 {V02}, gcrefRegs=800
 G_M45525_IG06:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     w2, [x19, #0x14]
             cmp     w0, w2
-            bne     G_M45525_IG09
+            bne     G_M45525_IG10
                        ;; size=12 bbWeight=8 PerfScore 36.00
 G_M45525_IG07:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     w2, [x19, #0x10]
             cmp     w1, w2
-            bhs     G_M45525_IG12
+            bhs     G_M45525_IG11
             ldr     x2, [x19, #0x08]
             ; gcrRegs +[x2]
             ldr     w3, [x2, #0x08]
             cmp     w1, w3
-            bhs     G_M45525_IG10
+            bhs     G_M45525_IG09
             add     x2, x2, #16
             ; gcrRegs -[x2]
             ; byrRegs +[x2]
@@ -168,16 +169,11 @@ G_M45525_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M45525_IG09:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            cmp     w0, w2
-            bne     G_M45525_IG11
-            b       G_M45525_IG12
-                       ;; size=12 bbWeight=4 PerfScore 10.00
-G_M45525_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M45525_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M45525_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M45525_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -186,11 +182,11 @@ G_M45525_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M45525_IG12:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M45525_IG11:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [fp, #0x18] // [V03 loc2]
-            cbz     w0, G_M45525_IG14
+            cbz     w0, G_M45525_IG13
                      ;; size=8 bbWeight=1 PerfScore 3.00
-G_M45525_IG13:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M45525_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ldr     x0, [fp, #0x10]  // [V02 loc1]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V02}
@@ -198,38 +194,38 @@ G_M45525_IG13:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=8 bbWeight=0.50 PerfScore 1.50
-G_M45525_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M45525_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ldr     x21, [sp, #0x38]
             ldp     x19, x20, [sp, #0x28]
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=16 bbWeight=1 PerfScore 5.00
-G_M45525_IG15:        ; bbWeight=0, gcVars=0000000000080000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-            ; GC ptr vars +{V02 V19}
+G_M45525_IG14:        ; bbWeight=0, gcVars=0000000000100000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+            ; GC ptr vars +{V02 V20}
             stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x18]
             str     x21, [sp, #0x28]
             add     x3, fp, #64
             str     x3, [sp, #0x10]
                        ;; size=20 bbWeight=0 PerfScore 0.00
-G_M45525_IG16:        ; bbWeight=0, gcVars=0000000000080000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M45525_IG15:        ; bbWeight=0, gcVars=0000000000100000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w0, [fp, #0x18]   // [V03 loc2]
-            cbz     w0, G_M45525_IG17
+            cbz     w0, G_M45525_IG16
             ldr     x0, [fp, #0x10]  // [V02 loc1]
             ; gcrRegs +[x0]
-            ; GC ptr vars -{V02 V19}
+            ; GC ptr vars -{V02 V20}
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M45525_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M45525_IG16:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldr     x21, [sp, #0x28]
             ldp     x19, x20, [sp, #0x18]
             ldp     fp, lr, [sp], #0x30
             ret     lr
                        ;; size=16 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 440, prolog size 32, PerfScore 199.00, instruction count 110, allocated bytes for code 440 (MethodHash=bcc44e2a) for method System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberPossiblyUpdated(System.String) (FullOpts)
+; Total bytes of code 428, prolog size 32, PerfScore 189.00, instruction count 107, allocated bytes for code 428 (MethodHash=bcc44e2a) for method System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberPossiblyUpdated(System.String) (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -240,7 +236,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 97 (0x00061) Actual length = 388 (0x000184)
+  Function Length   : 94 (0x0005e) Actual length = 376 (0x000178)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -275,4 +271,4 @@ Unwind Info:
 
 *************** EH table for System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberPossiblyUpdated(System.String)
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M45525_IG05..G_M45525_IG12) handled by [G_M45525_IG15..END) (fault)
+EH#0: try [G_M45525_IG05..G_M45525_IG11) handled by [G_M45525_IG14..END) (fault)
  
-12 (-2.00%) : 6196.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
@@ -10,8 +10,8 @@
 ;
 ;  V00 this         [V00,T10] (  3,  4   )     ref  ->  x20         this class-hnd single-def <System.Threading.Tasks.Task>
 ;  V01 arg1         [V01,T09] (  5,  4.50)     ref  ->  x19         class-hnd single-def <System.Threading.Tasks.Task+ContingentProperties>
-;  V02 loc0         [V02,T12] (  5,  3.50)     ref  ->  x21         class-hnd single-def <<unknown class>>
-;  V03 loc1         [V03,T16] (  3,  0.50)     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <<unknown class>>
+;  V02 loc0         [V02,T13] (  5,  3.50)     ref  ->  x21         class-hnd single-def <<unknown class>>
+;  V03 loc1         [V03,T17] (  3,  0.50)     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <<unknown class>>
 ;  V04 loc2         [V04    ] (  6,  2.50)   ubyte  ->  [fp+0x18]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
@@ -20,20 +20,21 @@
 ;* V09 tmp1         [V09    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V10 tmp2         [V10    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V11 tmp3         [V11,T05] (  3, 12   )     ref  ->  x24         class-hnd "Inlining Arg" <System.AggregateException>
-;* V12 tmp4         [V12,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V12 tmp4         [V12,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V13 tmp5         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V14 tmp6         [V14,T02] (  4, 12.50)     ref  ->  x21         single-def "field V05._list (fldOffset=0x0)" P-INDEP
-;  V15 tmp7         [V15,T03] (  3, 10   )     ref  ->  x24         "field V05._current (fldOffset=0x8)" P-INDEP
+;  V14 tmp6         [V14,T04] (  4, 12.50)     ref  ->  x21         single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V15 tmp7         [V15,T02] (  3, 10   )     ref  ->  x24         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V16 tmp8         [V16,T00] (  6, 20.50)     int  ->  x23         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V17 tmp9         [V17,T07] (  3,  8.50)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
-;  V18 tmp10        [V18,T13] (  3,  1.50)     ref  ->  x21         single-def "field V09._list (fldOffset=0x0)" P-INDEP
+;  V17 tmp9         [V17,T12] (  2,  4.50)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V18 tmp10        [V18,T14] (  3,  1.50)     ref  ->  x21         single-def "field V09._list (fldOffset=0x0)" P-INDEP
 ;* V19 tmp11        [V19    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V09._current (fldOffset=0x8)" P-INDEP
-;* V20 tmp12        [V20,T17] (  0,  0   )     int  ->  zero-ref    "field V09._index (fldOffset=0x10)" P-INDEP
-;  V21 tmp13        [V21,T14] (  2,  1   )     int  ->  x22         "field V09._version (fldOffset=0x14)" P-INDEP
+;* V20 tmp12        [V20,T18] (  0,  0   )     int  ->  zero-ref    "field V09._index (fldOffset=0x10)" P-INDEP
+;  V21 tmp13        [V21,T15] (  2,  1   )     int  ->  x22         "field V09._version (fldOffset=0x14)" P-INDEP
 ;  V22 tmp14        [V22,T01] (  3, 24   )     ref  ->   x0         "arr expr"
-;  V23 PSPSym       [V23,T15] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
-;  V24 cse0         [V24,T06] (  3, 12   )     int  ->  x24         "CSE - aggressive"
-;  V25 cse1         [V25,T04] (  4, 14   )   byref  ->  x25         "CSE - aggressive"
+;  V23 PSPSym       [V23,T16] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
+;  V24 cse0         [V24,T08] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V25 cse1         [V25,T06] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V26 cse2         [V26,T03] (  4, 14   )   byref  ->  x25         "CSE - aggressive"
 ;
 ; Lcl frame size = 24
 
@@ -64,7 +65,7 @@ G_M37406_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             ; byrRegs +[x1]
             ldapr   x21, [x1]
             ; gcrRegs +[x21]
-            cbz     x21, G_M37406_IG13
+            cbz     x21, G_M37406_IG12
                        ;; size=40 bbWeight=1 PerfScore 11.00
 G_M37406_IG03:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
             ; byrRegs -[x1]
@@ -72,7 +73,7 @@ G_M37406_IG03:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs
             ; GC ptr vars +{V03}
             str     wzr, [fp, #0x18]   // [V04 loc2]
                        ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M37406_IG04:        ; bbWeight=0.50, gcVars=0000000000010000 {V03}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M37406_IG04:        ; bbWeight=0.50, gcVars=0000000000020000 {V03}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w1, [fp, #0x18] // [V04 loc2]
             cbnz    w1, G_M37406_IG07
             add     x1, fp, #24    // [V04 loc2]
@@ -92,17 +93,17 @@ G_M37406_IG04:        ; bbWeight=0.50, gcVars=0000000000010000 {V03}, gcrefRegs=
             mov     w23, wzr
                        ;; size=52 bbWeight=0.50 PerfScore 8.00
 G_M37406_IG05:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
-            ldr     w24, [x21, #0x14]
-            cmp     w22, w24
-            bne     G_M37406_IG08
+            ldr     w0, [x21, #0x14]
+            cmp     w22, w0
+            bne     G_M37406_IG09
             ldr     w0, [x21, #0x10]
             cmp     w23, w0
-            bhs     G_M37406_IG11
+            bhs     G_M37406_IG10
             ldr     x0, [x21, #0x08]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x08]
             cmp     w23, w1
-            bhs     G_M37406_IG09
+            bhs     G_M37406_IG08
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
@@ -200,18 +201,11 @@ G_M37406_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M37406_IG08:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x19]
-            cmp     w22, w24
-            bne     G_M37406_IG10
-            b       G_M37406_IG11
-                       ;; size=12 bbWeight=4 PerfScore 10.00
-G_M37406_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x19]
+G_M37406_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M37406_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M37406_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -220,10 +214,10 @@ G_M37406_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M37406_IG11:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M37406_IG10:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x19]
             ldrb    w0, [fp, #0x18]    // [V04 loc2]
-            cbz     w0, G_M37406_IG12
+            cbz     w0, G_M37406_IG11
             ldr     x0, [fp, #0x10]  // [V03 loc1]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V03}
@@ -231,12 +225,12 @@ G_M37406_IG11:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0.50 PerfScore 3.00
-G_M37406_IG12:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M37406_IG11:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             add     x0, x19, #40
             ; byrRegs +[x0]
             stlr    xzr, [x0]
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
-G_M37406_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M37406_IG12:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x19]
             ; byrRegs -[x0]
             ldr     x25, [sp, #0x58]
@@ -246,8 +240,8 @@ G_M37406_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=24 bbWeight=1 PerfScore 7.00
-G_M37406_IG14:        ; bbWeight=0, gcVars=0000000000010000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-            ; GC ptr vars +{V03 V16}
+G_M37406_IG13:        ; bbWeight=0, gcVars=0000000000020000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+            ; GC ptr vars +{V03 V17}
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x18]
             stp     x21, x22, [sp, #0x28]
@@ -256,17 +250,17 @@ G_M37406_IG14:        ; bbWeight=0, gcVars=0000000000010000 {V03}, gcrefRegs=000
             add     x3, fp, #96
             str     x3, [sp, #0x10]
                        ;; size=28 bbWeight=0 PerfScore 0.00
-G_M37406_IG15:        ; bbWeight=0, gcVars=0000000000010000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M37406_IG14:        ; bbWeight=0, gcVars=0000000000020000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w0, [fp, #0x18]   // [V04 loc2]
-            cbz     w0, G_M37406_IG16
+            cbz     w0, G_M37406_IG15
             ldr     x0, [fp, #0x10]  // [V03 loc1]
             ; gcrRegs +[x0]
-            ; GC ptr vars -{V03 V16}
+            ; GC ptr vars -{V03 V17}
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M37406_IG16:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M37406_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldr     x25, [sp, #0x48]
             ldp     x23, x24, [sp, #0x38]
             ldp     x21, x22, [sp, #0x28]
@@ -275,7 +269,7 @@ G_M37406_IG16:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 600, prolog size 40, PerfScore 282.75, instruction count 150, allocated bytes for code 600 (MethodHash=88f36de1) for method System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
+; Total bytes of code 588, prolog size 40, PerfScore 272.75, instruction count 147, allocated bytes for code 588 (MethodHash=88f36de1) for method System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -286,7 +280,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 133 (0x00085) Actual length = 532 (0x000214)
+  Function Length   : 130 (0x00082) Actual length = 520 (0x000208)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -325,4 +319,4 @@ Unwind Info:
 
 *************** EH table for System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M37406_IG04..G_M37406_IG11) handled by [G_M37406_IG14..END) (fault)
+EH#0: try [G_M37406_IG04..G_M37406_IG10) handled by [G_M37406_IG13..END) (fault)
  
-8 (-1.82%) : 15671.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
@@ -10,62 +10,63 @@
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Net.Http.Headers.HeaderDescriptor>
 ;  V01 arg1         [V01,T03] (  8, 13.50)     ref  ->  x19         class-hnd single-def <System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo>
-;  V02 loc0         [V02,T16] (  3,  0.50)     ref  ->  [fp+0x18]  class-hnd exact EH-live spill-single-def <System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo>
-;  V03 loc1         [V03    ] (  6,  5   )   ubyte  ->  [fp+0x20]  do-not-enreg[X] addr-exposed ld-addr-op
-;  V04 loc2         [V04,T12] (  3,  1.50)     ref  ->   x0         class-hnd single-def <<unknown class>>
+;  V02 loc0         [V02,T17] (  3,  0.50)     ref  ->  [fp+0x10]  class-hnd exact EH-live spill-single-def <System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo>
+;  V03 loc1         [V03    ] (  6,  5   )   ubyte  ->  [fp+0x18]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V04 loc2         [V04,T13] (  3,  1.50)     ref  ->   x0         class-hnd single-def <<unknown class>>
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
-;  V07 loc5         [V07,T10] (  5,  2.50)     ref  ->   x2         class-hnd exact <System.String>
+;  V07 loc5         [V07,T11] (  5,  2.50)     ref  ->   x2         class-hnd exact <System.String>
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V09 tmp1         [V09,T11] (  2,  2   )     ref  ->   x2         single-def "CASTCLASS eval op1"
+;  V09 tmp1         [V09,T12] (  2,  2   )     ref  ->   x2         single-def "CASTCLASS eval op1"
 ;* V10 tmp2         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.String>
 ;* V11 tmp3         [V11    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
-;* V12 tmp4         [V12,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V12 tmp4         [V12,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V13 tmp5         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V14 tmp6         [V14,T08] (  3,  5.50)     ref  ->  x20         single-def "field V00._descriptor (fldOffset=0x0)" P-INDEP
 ;  V15 tmp7         [V15,T02] (  4, 12.50)     ref  ->  x21         single-def "field V05._list (fldOffset=0x0)" P-INDEP
 ;  V16 tmp8         [V16,T04] (  2,  8   )     ref  ->   x2         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V17 tmp9         [V17,T00] (  6, 20.50)     int  ->  x23         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V18 tmp10        [V18,T06] (  3,  8.50)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
-;  V19 tmp11        [V19,T13] (  3,  1.50)     ref  ->  x21         single-def "field V11._list (fldOffset=0x0)" P-INDEP
+;  V18 tmp10        [V18,T09] (  2,  4.50)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V19 tmp11        [V19,T14] (  3,  1.50)     ref  ->  x21         single-def "field V11._list (fldOffset=0x0)" P-INDEP
 ;* V20 tmp12        [V20    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V11._current (fldOffset=0x8)" P-INDEP
-;* V21 tmp13        [V21,T17] (  0,  0   )     int  ->  zero-ref    "field V11._index (fldOffset=0x10)" P-INDEP
-;  V22 tmp14        [V22,T14] (  2,  1   )     int  ->  x22         "field V11._version (fldOffset=0x14)" P-INDEP
+;* V21 tmp13        [V21,T18] (  0,  0   )     int  ->  zero-ref    "field V11._index (fldOffset=0x10)" P-INDEP
+;  V22 tmp14        [V22,T15] (  2,  1   )     int  ->  x22         "field V11._version (fldOffset=0x14)" P-INDEP
 ;  V23 tmp15        [V23,T01] (  3, 24   )     ref  ->   x0         "arr expr"
-;  V24 PSPSym       [V24,T15] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
-;  V25 cse0         [V25,T05] (  3, 12   )     int  ->  x24         "CSE - aggressive"
-;  V26 cse1         [V26,T09] (  4,  3   )     ref  ->  x21         "CSE - aggressive"
+;  V24 PSPSym       [V24,T16] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
+;  V25 cse0         [V25,T07] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V26 cse1         [V26,T05] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V27 cse2         [V27,T10] (  4,  3   )     ref  ->  x21         "CSE - aggressive"
 ;
-; Lcl frame size = 32
+; Lcl frame size = 24
 
 G_M53769_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x30]
-            stp     x21, x22, [sp, #0x40]
-            stp     x23, x24, [sp, #0x50]
+            stp     fp, lr, [sp, #-0x50]!
+            stp     x19, x20, [sp, #0x28]
+            stp     x21, x22, [sp, #0x38]
+            str     x23, [sp, #0x48]
             mov     fp, sp
-            add     x2, sp, #96
-            str     x2, [fp, #0x28]    // [V24 PSPSym]
+            add     x2, sp, #80
+            str     x2, [fp, #0x20]    // [V24 PSPSym]
             mov     x20, x0
             ; gcrRegs +[x20]
             mov     x19, x1
             ; gcrRegs +[x19]
                        ;; size=36 bbWeight=1 PerfScore 7.00
 G_M53769_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
-            str     x19, [fp, #0x18] // [V02 loc0]
+            str     x19, [fp, #0x10] // [V02 loc0]
             ; GC ptr vars +{V02}
-            str     wzr, [fp, #0x20] // [V03 loc1]
+            str     wzr, [fp, #0x18] // [V03 loc1]
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M53769_IG03:        ; bbWeight=1, gcVars=0000000000010000 {V02}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
-            ldrb    w1, [fp, #0x20]    // [V03 loc1]
+G_M53769_IG03:        ; bbWeight=1, gcVars=0000000000020000 {V02}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
+            ldrb    w1, [fp, #0x18]    // [V03 loc1]
             cbnz    w1, G_M53769_IG06
-            add     x1, fp, #32 // [V03 loc1]
+            add     x1, fp, #24  // [V03 loc1]
             mov     x0, x19
             ; gcrRegs +[x0]
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            ldrb    w0, [fp, #0x20]   // [V03 loc1]
+            ldrb    w0, [fp, #0x18]  // [V03 loc1]
             movz    x1, #0xD1FFAB1E      // code for <unknown method>
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
@@ -74,7 +75,7 @@ G_M53769_IG03:        ; bbWeight=1, gcVars=0000000000010000 {V02}, gcrefRegs=180
             ; gcr arg pop 0
             ldr     x21, [x19, #0x08]
             ; gcrRegs +[x21]
-            cbz     x21, G_M53769_IG12
+            cbz     x21, G_M53769_IG11
                        ;; size=52 bbWeight=1 PerfScore 16.50
 G_M53769_IG04:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             mov     x1, x21
@@ -85,24 +86,24 @@ G_M53769_IG04:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs
             bl      CORINFO_HELP_ISINSTANCEOFCLASS
             ; gcrRegs -[x1] +[x0]
             ; gcr arg pop 0
-            cbz     x0, G_M53769_IG11
+            cbz     x0, G_M53769_IG10
             mov     x21, x0
             ldr     w22, [x21, #0x14]
             mov     w23, wzr
                        ;; size=36 bbWeight=0.50 PerfScore 4.00
 G_M53769_IG05:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
-            ldr     w24, [x21, #0x14]
-            cmp     w22, w24
-            bne     G_M53769_IG07
+            ldr     w0, [x21, #0x14]
+            cmp     w22, w0
+            bne     G_M53769_IG09
             ldr     w0, [x21, #0x10]
             cmp     w23, w0
-            bhs     G_M53769_IG08
+            bhs     G_M53769_IG07
             ldr     x0, [x21, #0x08]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x08]
             cmp     w23, w1
-            bhs     G_M53769_IG09
+            bhs     G_M53769_IG08
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
@@ -133,21 +134,17 @@ G_M53769_IG06:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M53769_IG07:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M53769_IG07:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x19]
-            cmp     w22, w24
-            bne     G_M53769_IG10
-                       ;; size=8 bbWeight=4 PerfScore 6.00
-G_M53769_IG08:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             str     xzr, [x19, #0x08]
-            b       G_M53769_IG12
+            b       G_M53769_IG11
                      ;; size=8 bbWeight=4 PerfScore 8.00
-G_M53769_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M53769_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M53769_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M53769_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -156,7 +153,7 @@ G_M53769_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M53769_IG11:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+G_M53769_IG10:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x19-x21]
             mov     x2, x21
             ; gcrRegs +[x2]
@@ -177,56 +174,56 @@ G_M53769_IG11:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs
             blr     x3
             ; gcrRegs -[x0-x2 x20-x21]
             ; gcr arg pop 0
-            b       G_M53769_IG08
+            b       G_M53769_IG07
                       ;; size=60 bbWeight=0.50 PerfScore 6.75
-G_M53769_IG12:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M53769_IG11:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x19]
-            ldrb    w0, [fp, #0x20]    // [V03 loc1]
-            cbz     w0, G_M53769_IG14
+            ldrb    w0, [fp, #0x18] // [V03 loc1]
+            cbz     w0, G_M53769_IG13
                       ;; size=8 bbWeight=1 PerfScore 3.00
-G_M53769_IG13:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ldr     x0, [fp, #0x18]    // [V02 loc0]
+G_M53769_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ldr     x0, [fp, #0x10]    // [V02 loc0]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V02}
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=8 bbWeight=0.50 PerfScore 1.50
-G_M53769_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ldp     x23, x24, [sp, #0x50]
-            ldp     x21, x22, [sp, #0x40]
-            ldp     x19, x20, [sp, #0x30]
-            ldp     fp, lr, [sp], #0x60
+G_M53769_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            ldr     x23, [sp, #0x48]
+            ldp     x21, x22, [sp, #0x38]
+            ldp     x19, x20, [sp, #0x28]
+            ldp     fp, lr, [sp], #0x50
             ret     lr
-                        ;; size=20 bbWeight=1 PerfScore 5.00
-G_M53769_IG15:        ; bbWeight=0, gcVars=0000000000010000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-            ; GC ptr vars +{V02 V16}
-            stp     fp, lr, [sp, #-0x50]!
-            stp     x19, x20, [sp, #0x20]
-            stp     x21, x22, [sp, #0x30]
-            stp     x23, x24, [sp, #0x40]
-            add     x3, fp, #96
-            str     x3, [sp, #0x18]
+                      ;; size=20 bbWeight=1 PerfScore 6.00
+G_M53769_IG14:        ; bbWeight=0, gcVars=0000000000020000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+            ; GC ptr vars +{V02 V17}
+            stp     fp, lr, [sp, #-0x40]!
+            stp     x19, x20, [sp, #0x18]
+            stp     x21, x22, [sp, #0x28]
+            str     x23, [sp, #0x38]
+            add     x3, fp, #80
+            str     x3, [sp, #0x10]
                         ;; size=24 bbWeight=0 PerfScore 0.00
-G_M53769_IG16:        ; bbWeight=0, gcVars=0000000000010000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            ldrb    w0, [fp, #0x20]    // [V03 loc1]
-            cbz     w0, G_M53769_IG17
-            ldr     x0, [fp, #0x18]    // [V02 loc0]
+G_M53769_IG15:        ; bbWeight=0, gcVars=0000000000020000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+            ldrb    w0, [fp, #0x18]    // [V03 loc1]
+            cbz     w0, G_M53769_IG16
+            ldr     x0, [fp, #0x10]    // [V02 loc0]
             ; gcrRegs +[x0]
-            ; GC ptr vars -{V02 V16}
+            ; GC ptr vars -{V02 V17}
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M53769_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
-            ldp     x23, x24, [sp, #0x40]
-            ldp     x21, x22, [sp, #0x30]
-            ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x50
+G_M53769_IG16:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+            ldr     x23, [sp, #0x38]
+            ldp     x21, x22, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 440, prolog size 36, PerfScore 171.75, instruction count 110, allocated bytes for code 440 (MethodHash=4a3e2df6) for method System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
+; Total bytes of code 432, prolog size 36, PerfScore 166.75, instruction count 108, allocated bytes for code 432 (MethodHash=4a3e2df6) for method System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
...
  
-4 (-0.18%) : 2260.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan1[ushort],System.ReadOnlySpan1[ushort],ubyte,ubyte):ubyte (FullOpts)
@@ -8,16 +8,16 @@
 ; 0 inlinees with PGO data; 64 single block inlinees; 39 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T56] (  4,   4   )  struct (16) [fp-0x68]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
-;  V01 arg1         [V01,T57] (  4,   4   )  struct (16) [fp-0x78]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
-;  V02 arg2         [V02,T53] (  4,  10.50)   ubyte  ->  x20         single-def
-;  V03 arg3         [V03,T36] (  5,  66.50)   ubyte  ->  x19         single-def
+;  V00 arg0         [V00,T57] (  4,   4   )  struct (16) [fp-0x68]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
+;  V01 arg1         [V01,T58] (  4,   4   )  struct (16) [fp-0x78]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
+;  V02 arg2         [V02,T54] (  4,  10.50)   ubyte  ->  x20         single-def
+;  V03 arg3         [V03,T49] (  4,  34.50)   ubyte  ->  x19         single-def
 ;  V04 loc0         [V04,T48] (  5,  40.50)     int  ->  registers   ptr
 ;  V05 loc1         [V05,T06] ( 10, 488   )     int  ->  [fp-0x7C]  ptr
 ;  V06 loc2         [V06,T00] ( 10,1348   )     int  ->  [fp-0x80]  ptr
 ;  V07 loc3         [V07,T08] ( 22, 428   )     int  ->  [fp-0x84]  ptr
 ;  V08 loc4         [V08,T03] (  7, 724   )     int  ->  [fp-0x88]  ptr
-;  V09 loc5         [V09,T46] (  8,  43.50)     int  ->  x26        
+;  V09 loc5         [V09,T46] (  8,  43.50)     int  ->  x25        
 ;  V10 loc6         [V10,T21] ( 11, 146.50)  ushort  ->  registers   ptr
 ;  V11 loc7         [V11,T10] ( 13, 288   )  ushort  ->  [fp-0x8C]  ptr
 ;* V12 loc8         [V12    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[int]>
@@ -29,9 +29,9 @@
 ;* V18 loc14        [V18    ] (  0,   0   )  struct (16) zero-ref    multireg-arg ld-addr-op <System.ReadOnlySpan`1[ushort]>
 ;* V19 loc15        [V19    ] (  0,   0   )   ubyte  ->  zero-ref   
 ;* V20 loc16        [V20    ] (  0,   0   )  struct (16) zero-ref    <System.Span`1[int]>
-;  V21 loc17        [V21,T28] (  3,  96   )     int  ->  [fp-0x9C]  spill-single-def ptr
-;  V22 loc18        [V22,T29] (  3,  96   )   ubyte  ->  x14        
-;  V23 loc19        [V23,T01] (  7,1344   )     int  ->  x13        
+;  V21 loc17        [V21,T29] (  3,  96   )     int  ->  [fp-0x9C]  spill-single-def ptr
+;  V22 loc18        [V22,T30] (  3,  96   )   ubyte  ->  x14        
+;  V23 loc19        [V23,T01] (  7,1344   )     int  ->   x1        
 ;  V24 loc20        [V24,T02] (  3, 832   )     int  ->   x0        
 ;# V25 OutArgs      [V25    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V26 tmp1         [V26    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
@@ -41,16 +41,16 @@
 ;  V30 tmp5         [V30,T13] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
 ;  V31 tmp6         [V31,T15] (  2, 256   )     int  ->  x10         "dup spill"
 ;  V32 tmp7         [V32,T14] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
-;  V33 tmp8         [V33,T49] (  2,  32   )     int  ->  [fp-0xA0]  spill-single-def ptr "impAppendStmt"
+;  V33 tmp8         [V33,T50] (  2,  32   )     int  ->  [fp-0xA0]  spill-single-def ptr "impAppendStmt"
 ;* V34 tmp9         [V34    ] (  0,   0   )     int  ->  zero-ref    ptr
 ;  V35 tmp10        [V35,T37] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V36 tmp11        [V36,T38] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
-;  V37 tmp12        [V37,T34] (  5,  80   )     int  ->  x13         "dup spill"
+;  V37 tmp12        [V37,T35] (  5,  80   )     int  ->  x13         "dup spill"
 ;  V38 tmp13        [V38,T39] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
 ;  V39 tmp14        [V39,T40] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V40 tmp15        [V40,T41] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
-;  V41 tmp16        [V41,T30] (  3,  96   )     int  ->   x1        
-;  V42 tmp17        [V42,T52] (  4,  16   )     int  ->  x25         "impSpillLclRefs"
+;  V41 tmp16        [V41,T31] (  3,  96   )     int  ->   x1        
+;  V42 tmp17        [V42,T53] (  4,  16   )     int  ->  x27         "impSpillLclRefs"
 ;* V43 tmp18        [V43    ] (  0,   0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V44 tmp19        [V44    ] (  0,   0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V45 tmp20        [V45    ] (  0,   0   )     int  ->  zero-ref    ptr
@@ -58,15 +58,15 @@
 ;* V47 tmp22        [V47    ] (  0,   0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
 ;* V48 tmp23        [V48    ] (  0,   0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
 ;* V49 tmp24        [V49    ] (  0,   0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
-;  V50 tmp25        [V50,T69] (  2,   1   )     int  ->   x4        
+;  V50 tmp25        [V50,T70] (  2,   1   )     int  ->   x4        
 ;* V51 tmp26        [V51    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;  V52 tmp27        [V52,T59] (  3,   3   )     int  ->  x26         "Inlining Arg"
-;  V53 tmp28        [V53,T60] (  2,   2   )   byref  ->  x25         single-def "Inlining Arg"
+;  V52 tmp27        [V52,T60] (  3,   3   )     int  ->  x26         "Inlining Arg"
+;  V53 tmp28        [V53,T61] (  2,   2   )   byref  ->  x25         single-def "Inlining Arg"
 ;* V54 tmp29        [V54    ] (  0,   0   )  struct (16) zero-ref    "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V55 tmp30        [V55    ] (  0,   0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V56 tmp31        [V56    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V57 tmp32        [V57,T72] (  0,   0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V58 tmp33        [V58,T73] (  0,   0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
+;* V57 tmp32        [V57,T73] (  0,   0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
+;* V58 tmp33        [V58,T74] (  0,   0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
 ;* V59 tmp34        [V59    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V60 tmp35        [V60    ] (  0,   0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V61 tmp36        [V61    ] (  0,   0   )   short  ->  zero-ref    "Inlining Arg"
@@ -76,7 +76,7 @@
 ;* V65 tmp40        [V65    ] (  0,   0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V66 tmp41        [V66    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V67 tmp42        [V67    ] (  0,   0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V68 tmp43        [V68,T70] (  2,   1   )     int  ->   x0         "Inline return value spill temp"
+;  V68 tmp43        [V68,T71] (  2,   1   )     int  ->   x0         "Inline return value spill temp"
 ;* V69 tmp44        [V69    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V70 tmp45        [V70    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V71 tmp46        [V71    ] (  0,   0   )   byref  ->  zero-ref    "impAppendStmt"
@@ -142,8 +142,8 @@
 ;* V131 tmp106      [V131    ] (  0,   0   )  struct (32) zero-ref    HFA(simd16)  ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.Intrinsics.Vector256`1[ubyte]>
 ;* V132 tmp107      [V132    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V133 tmp108      [V133    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;  V134 tmp109      [V134,T64] (  2,   2   )    long  ->  x28         "Inlining Arg"
-;  V135 tmp110      [V135,T65] (  2,   2   )    long  ->   x3         "Inlining Arg"
+;  V134 tmp109      [V134,T65] (  2,   2   )    long  ->  x28         "Inlining Arg"
+;  V135 tmp110      [V135,T66] (  2,   2   )    long  ->   x3         "Inlining Arg"
 ;  V136 tmp111      [V136,T18] (  3, 192   )     ref  ->   x0         class-hnd exact "Inlining Arg" <int[]>
 ;* V137 tmp112      [V137    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V138 tmp113      [V138    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
@@ -158,7 +158,7 @@
 ;* V147 tmp122      [V147    ] (  0,   0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;  V148 tmp123      [V148,T24] (  2, 128   )    long  ->   x2         "Inlining Arg"
 ;* V149 tmp124      [V149    ] (  0,   0   )    long  ->  zero-ref    "Inlining Arg"
-;  V150 tmp125      [V150,T50] (  3,  24   )  ushort  ->  registers   ptr "Inline return value spill temp"
+;  V150 tmp125      [V150,T51] (  3,  24   )  ushort  ->  registers   ptr "Inline return value spill temp"
 ;  V151 tmp126      [V151,T42] (  4,  64   )  ushort  ->  x12         "Inlining Arg"
 ;* V152 tmp127      [V152    ] (  0,   0   )  ushort  ->  zero-ref    "Inline return value spill temp"
 ;* V153 tmp128      [V153    ] (  0,   0   )    long  ->  zero-ref    "Inline stloc first use temp"
@@ -171,7 +171,7 @@
 ;  V160 tmp135      [V160    ] (  3,  24   )  ushort  ->  [fp-0xA8]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inline stloc first use temp"
 ;  V161 tmp136      [V161,T44] (  3,  48   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Globalization.TextInfo>
 ;  V162 tmp137      [V162    ] (  2,  32   )  ushort  ->  [fp-0xB0]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inlining Arg"
-;  V163 tmp138      [V163,T51] (  3,  24   )  ushort  ->  x13         "Inline return value spill temp"
+;  V163 tmp138      [V163,T52] (  3,  24   )  ushort  ->  x13         "Inline return value spill temp"
 ;  V164 tmp139      [V164,T43] (  4,  64   )  ushort  ->  x13         "Inlining Arg"
 ;* V165 tmp140      [V165    ] (  0,   0   )  ushort  ->  zero-ref    "Inline return value spill temp"
 ;* V166 tmp141      [V166    ] (  0,   0   )    long  ->  zero-ref    "Inline stloc first use temp"
@@ -184,35 +184,35 @@
 ;  V173 tmp148      [V173    ] (  3,  24   )  ushort  ->  [fp-0xB8]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inline stloc first use temp"
 ;  V174 tmp149      [V174,T45] (  3,  48   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Globalization.TextInfo>
 ;  V175 tmp150      [V175    ] (  2,  32   )  ushort  ->  [fp-0xC0]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inlining Arg"
-;  V176 tmp151      [V176,T61] (  3,   3   )     int  ->   x0         "Single return block return value"
-;  V177 tmp152      [V177,T54] (  2,   8   )   byref  ->   x1         "field V12._reference (fldOffset=0x0)" P-INDEP
-;  V178 tmp153      [V178,T55] (  2,   8   )     int  ->   x0         "field V12._length (fldOffset=0x8)" P-INDEP
+;  V176 tmp151      [V176,T62] (  3,   3   )     int  ->   x0         "Single return block return value"
+;  V177 tmp152      [V177,T55] (  2,   8   )   byref  ->   x1         "field V12._reference (fldOffset=0x0)" P-INDEP
+;  V178 tmp153      [V178,T56] (  2,   8   )     int  ->   x0         "field V12._length (fldOffset=0x8)" P-INDEP
 ;  V179 tmp154      [V179,T07] ( 14, 464.50)   byref  ->  x28         "field V13._reference (fldOffset=0x0)" P-INDEP
 ;  V180 tmp155      [V180,T04] ( 17, 592.50)     int  ->  [fp-0xC4]  ptr "field V13._length (fldOffset=0x8)" P-INDEP
 ;  V181 tmp156      [V181,T09] ( 10, 347.50)   byref  ->  [fp-0xD8]  ptr "field V14._reference (fldOffset=0x0)" P-INDEP
 ;  V182 tmp157      [V182,T20] ( 10, 187   )     int  ->  [fp-0xC8]  ptr "field V14._length (fldOffset=0x8)" P-INDEP
-;  V183 tmp158      [V183,T63] (  4,   2   )   byref  ->  x25         single-def "field V18._reference (fldOffset=0x0)" P-INDEP
-;  V184 tmp159      [V184,T62] (  5,   2.50)     int  ->  x26         "field V18._length (fldOffset=0x8)" P-INDEP
+;  V183 tmp158      [V183,T64] (  4,   2   )   byref  ->  x25         single-def "field V18._reference (fldOffset=0x0)" P-INDEP
+;  V184 tmp159      [V184,T63] (  5,   2.50)     int  ->  x26         "field V18._length (fldOffset=0x8)" P-INDEP
 ;* V185 tmp160      [V185    ] (  0,   0   )   byref  ->  zero-ref    "field V20._reference (fldOffset=0x0)" P-INDEP
 ;* V186 tmp161      [V186    ] (  0,   0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
-;  V187 tmp162      [V187,T66] (  2,   1   )   byref  ->  x28         single-def "field V26._reference (fldOffset=0x0)" P-INDEP
-;* V188 tmp163      [V188,T76] (  0,   0   )     int  ->  zero-ref    ptr "field V26._length (fldOffset=0x8)" P-INDEP
-;  V189 tmp164      [V189,T67] (  2,   1   )   byref  ->   x3         single-def "field V27._reference (fldOffset=0x0)" P-INDEP
-;* V190 tmp165      [V190,T77] (  0,   0   )     int  ->  zero-ref    ptr "field V27._length (fldOffset=0x8)" P-INDEP
+;  V187 tmp162      [V187,T67] (  2,   1   )   byref  ->  x28         single-def "field V26._reference (fldOffset=0x0)" P-INDEP
+;* V188 tmp163      [V188,T77] (  0,   0   )     int  ->  zero-ref    ptr "field V26._length (fldOffset=0x8)" P-INDEP
+;  V189 tmp164      [V189,T68] (  2,   1   )   byref  ->   x3         single-def "field V27._reference (fldOffset=0x0)" P-INDEP
+;* V190 tmp165      [V190,T78] (  0,   0   )     int  ->  zero-ref    ptr "field V27._length (fldOffset=0x8)" P-INDEP
 ;* V191 tmp166      [V191    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V43._reference (fldOffset=0x0)" P-INDEP
 ;* V192 tmp167      [V192    ] (  0,   0   )     int  ->  zero-ref    ptr "field V43._length (fldOffset=0x8)" P-INDEP
 ;* V193 tmp168      [V193    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V44._reference (fldOffset=0x0)" P-INDEP
 ;* V194 tmp169      [V194    ] (  0,   0   )     int  ->  zero-ref    ptr "field V44._length (fldOffset=0x8)" P-INDEP
-;  V195 tmp170      [V195,T68] (  2,   1   )   byref  ->   x0         single-def "field V46._reference (fldOffset=0x0)" P-INDEP
-;  V196 tmp171      [V196,T71] (  2,   1   )     int  ->   x1         "field V46._length (fldOffset=0x8)" P-INDEP
+;  V195 tmp170      [V195,T69] (  2,   1   )   byref  ->   x0         single-def "field V46._reference (fldOffset=0x0)" P-INDEP
+;  V196 tmp171      [V196,T72] (  2,   1   )     int  ->   x1         "field V46._length (fldOffset=0x8)" P-INDEP
 ;* V197 tmp172      [V197    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V47._reference (fldOffset=0x0)" P-INDEP
 ;* V198 tmp173      [V198    ] (  0,   0   )     int  ->  zero-ref    ptr "field V47._length (fldOffset=0x8)" P-INDEP
 ;* V199 tmp174      [V199    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V48._reference (fldOffset=0x0)" P-INDEP
 ;* V200 tmp175      [V200    ] (  0,   0   )     int  ->  zero-ref    ptr "field V48._length (fldOffset=0x8)" P-INDEP
 ;* V201 tmp176      [V201    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V49._reference (fldOffset=0x0)" P-INDEP
 ;* V202 tmp177      [V202    ] (  0,   0   )     int  ->  zero-ref    ptr "field V49._length (fldOffset=0x8)" P-INDEP
-;* V203 tmp178      [V203,T74] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V51._reference (fldOffset=0x0)" P-INDEP
-;* V204 tmp179      [V204,T78] (  0,   0   )     int  ->  zero-ref    ptr "field V51._length (fldOffset=0x8)" P-INDEP
+;* V203 tmp178      [V203,T75] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V51._reference (fldOffset=0x0)" P-INDEP
+;* V204 tmp179      [V204,T79] (  0,   0   )     int  ->  zero-ref    ptr "field V51._length (fldOffset=0x8)" P-INDEP
 ;* V205 tmp180      [V205    ] (  0,   0   )   byref  ->  zero-ref    "field V54._reference (fldOffset=0x0)" P-INDEP
 ;* V206 tmp181      [V206    ] (  0,   0   )     int  ->  zero-ref    "field V54._length (fldOffset=0x8)" P-INDEP
 ;* V207 tmp182      [V207    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V56._reference (fldOffset=0x0)" P-INDEP
@@ -223,7 +223,7 @@
 ;* V212 tmp187      [V212    ] (  0,   0   )     int  ->  zero-ref    "field V64._length (fldOffset=0x8)" P-INDEP
 ;* V213 tmp188      [V213    ] (  0,   0   )   byref  ->  zero-ref    "field V65._reference (fldOffset=0x0)" P-INDEP
 ;* V214 tmp189      [V214    ] (  0,   0   )     int  ->  zero-ref    "field V65._length (fldOffset=0x8)" P-INDEP
-;* V215 tmp190      [V215,T75] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V66._reference (fldOffset=0x0)" P-INDEP
+;* V215 tmp190      [V215,T76] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V66._reference (fldOffset=0x0)" P-INDEP
 ;* V216 tmp191      [V216    ] (  0,   0   )     int  ->  zero-ref    ptr "field V66._length (fldOffset=0x8)" P-INDEP
 ;* V217 tmp192      [V217    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V69._reference (fldOffset=0x0)" P-INDEP
 ;* V218 tmp193      [V218    ] (  0,   0   )     int  ->  zero-ref    ptr "field V69._length (fldOffset=0x8)" P-INDEP
@@ -251,12 +251,12 @@
 ;* V240 tmp215      [V240    ] (  0,   0   )     int  ->  zero-ref    "field V132._length (fldOffset=0x8)" P-INDEP
 ;* V241 tmp216      [V241    ] (  0,   0   )   byref  ->  zero-ref    "field V133._reference (fldOffset=0x0)" P-INDEP
 ;* V242 tmp217      [V242    ] (  0,   0   )     int  ->  zero-ref    "field V133._length (fldOffset=0x8)" P-INDEP
-;  V243 tmp218      [V243,T26] (  3,  96   )   byref  ->  [fp-0xE0]  spill-single-def ptr "field V137._reference (fldOffset=0x0)" P-INDEP
-;  V244 tmp219      [V244,T31] (  3,  96   )     int  ->  [fp-0xCC]  spill-single-def ptr "field V137._length (fldOffset=0x8)" P-INDEP
+;  V243 tmp218      [V243,T27] (  3,  96   )   byref  ->  [fp-0xE0]  spill-single-def ptr "field V137._reference (fldOffset=0x0)" P-INDEP
+;  V244 tmp219      [V244,T32] (  3,  96   )     int  ->  [fp-0xCC]  spill-single-def ptr "field V137._length (fldOffset=0x8)" P-INDEP
 ;* V245 tmp220      [V245    ] (  0,   0   )   byref  ->  zero-ref    ptr "field V138._reference (fldOffset=0x0)" P-INDEP
 ;* V246 tmp221      [V246    ] (  0,   0   )     int  ->  zero-ref    ptr "field V138._length (fldOffset=0x8)" P-INDEP
-;  V247 tmp222      [V247,T27] (  3,  96   )   byref  ->  [fp-0xE8]  spill-single-def ptr "field V144._reference (fldOffset=0x0)" P-INDEP
-;  V248 tmp223      [V248,T32] (  3,  96   )     int  ->  [fp-0xD0]  spill-single-def ptr "field V144._length (fldOffset=0x8)" P-INDEP
+;  V247 tmp222      [V247,T28] (  3,  96   )   byref  ->  [fp-0xE8]  spill-single-def ptr "field V144._reference (fldOffset=0x0)" P-INDEP
+;  V248 tmp223      [V248,T33] (  3,  96   )     int  ->  [fp-0xD0]  spill-single-def ptr "field V144._length (fldOffset=0x8)" P-INDEP
 ;* V249 tmp224      [V249    ] (  0,   0   )   byref  ->  zero-ref    ptr "field V145._reference (fldOffset=0x0)" P-INDEP
 ;* V250 tmp225      [V250    ] (  0,   0   )     int  ->  zero-ref    ptr "field V145._length (fldOffset=0x8)" P-INDEP
 ;* V251 tmp226      [V251    ] (  0,   0   )   byref  ->  zero-ref    "field V154._reference (fldOffset=0x0)" P-INDEP
@@ -271,14 +271,15 @@
 ;* V260 tmp235      [V260    ] (  0,   0   )     int  ->  zero-ref    "field V171._length (fldOffset=0x8)" P-INDEP
 ;* V261 tmp236      [V261    ] (  0,   0   )   byref  ->  zero-ref    "field V172._reference (fldOffset=0x0)" P-INDEP
 ;* V262 tmp237      [V262    ] (  0,   0   )     int  ->  zero-ref    "field V172._length (fldOffset=0x8)" P-INDEP
-;  V263 tmp238      [V263,T35] (  5,  74   )   byref  ->  x21         single-def "V00.[000..008)"
+;  V263 tmp238      [V263,T36] (  5,  74   )   byref  ->  x21         single-def "V00.[000..008)"
 ;  V264 tmp239      [V264,T17] ( 11, 227.50)     int  ->  x22         "V00.[008..012)"
 ;  V265 tmp240      [V265,T11] (  4, 259.50)   byref  ->  x23         single-def "V01.[000..008)"
 ;  V266 tmp241      [V266,T05] (  9, 552.50)     int  ->  x24         "V01.[008..012)"
 ;* V267 tmp242      [V267    ] (  0,   0   )    long  ->  zero-ref    ptr "Cast away GC"
 ;  V268 GsCookie    [V268    ] (  1,   1   )    long  ->  [fp-0x58]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
-;  V269 cse0        [V269,T58] (  3,   6   )     int  ->   x6         "CSE - moderate"
-;  V270 rat0        [V270,T33] (  3,  96   )     int  ->   x1         "ReplaceWithLclVar is creating a new local variable"
+;  V269 cse0        [V269,T26] (  5,  97   )     int  ->  registers   multi-def "CSE - moderate"
+;  V270 cse1        [V270,T59] (  3,   6   )     int  ->   x6         "CSE - moderate"
+;  V271 rat0        [V271,T34] (  3,  96   )     int  ->   x1         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 160
 
@@ -355,8 +356,8 @@ G_M9731_IG05:        ; bbWeight=0.50, gcVars=00000000000000000000000000000000 {}
             ldr     x1, [x1]
             blr     x1
             ; gcr arg pop 0
-            tst     w19, #255
-            bne     G_M9731_IG06
+            uxtb    w27, w19
+            cbnz    w27, G_M9731_IG06
             mov     w2, #63
             mov     w1, #42
             mov     x0, x25
@@ -414,9 +415,9 @@ G_M9731_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2800000 {x23
                        ;; size=60 bbWeight=0.50 PerfScore 5.75
 G_M9731_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x23}, byref
             ; byrRegs +[x21 x23]
-            mov     w25, wzr
-            mov     w26, #1
             mov     w27, wzr
+            mov     w25, #1
+            mov     w26, wzr
             ldr     wzr, [sp], #-0x40
             mov     x28, sp
             mov     w2, #16
@@ -430,20 +431,20 @@ G_M9731_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x
                        ;; size=52 bbWeight=0.50 PerfScore 5.50
 G_M9731_IG09:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21 x23 x28}, byref, isz
             ; byrRegs +[x3 x28]
-            cmp     w25, w24
+            cmp     w27, w24
             bge     G_M9731_IG11
                        ;; size=8 bbWeight=4 PerfScore 6.00
 G_M9731_IG10:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21 x23 x28}, byref, isz
-            add     w1, w25, #1
-            sxtw    w27, w1
-            cmp     w25, w24
+            add     w1, w27, #1
+            sxtw    w26, w1
+            cmp     w27, w24
             bhs     G_M9731_IG73
-            ldrh    w1, [x23, w25, UXTW #2]
-            sxtw    w25, w1
...
  
-8 (-0.15%) : 1191.dasm - System.Number:NumberToStringFormatushort (FullOpts)
@@ -10,7 +10,7 @@
 ;
 ;  V00 arg0         [V00,T02] ( 79,268.50)   byref  ->  x19         single-def
 ;  V01 arg1         [V01,T60] ( 17, 21.50)   byref  ->  x21         single-def
-;  V02 arg2         [V02,T81] (  6, 12   )  struct (16) [fp+0xE8]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
+;  V02 arg2         [V02,T82] (  6, 12   )  struct (16) [fp+0xE8]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
 ;  V03 arg3         [V03,T42] ( 15, 25   )     ref  ->  x20         class-hnd single-def <System.Globalization.NumberFormatInfo>
 ;  V04 loc0         [V04,T08] ( 15, 96   )     int  ->  x27        
 ;  V05 loc1         [V05,T16] ( 18, 56   )     int  ->  x28        
@@ -24,55 +24,55 @@
 ;  V13 loc9         [V13,T19] (  8, 48   )     int  ->   x8        
 ;  V14 loc10        [V14,T26] ( 11, 42   )     int  ->  [fp+0xD0]  ptr
 ;  V15 loc11        [V15,T64] (  6, 18.50)     int  ->  x26        
-;  V16 loc12        [V16,T00] ( 57,909.50)     int  ->  [fp+0xCC]  ptr
+;  V16 loc12        [V16,T00] ( 55,905.50)     int  ->  [fp+0xCC]  ptr
 ;  V17 loc13        [V17,T67] (  6, 17   )    long  ->  x25        
 ;  V18 loc14        [V18,T05] ( 36,238   )  ushort  ->  [fp+0xC8]  ptr
 ;* V19 loc15        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[int]>
 ;  V20 loc16        [V20,T10] ( 16, 71   )     int  ->  [fp+0xC4]  ptr
-;  V21 loc17        [V21,T147] (  3,  5   )   ubyte  ->  [fp+0xC0] 
+;  V21 loc17        [V21,T148] (  3,  5   )   ubyte  ->  [fp+0xC0] 
 ;  V22 loc18        [V22,T07] (  8,184   )    long  ->   x9        
 ;  V23 loc19        [V23    ] (  2, 16   )   byref  ->  [fp+0xB8]  must-init pinned ptr
 ;* V24 loc20        [V24    ] (  0,  0   )     int  ->  zero-ref   
 ;* V25 loc21        [V25    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[int]>
-;  V26 loc22        [V26,T146] (  5,  5.50)     ref  ->  [fp+0x60]  class-hnd spill-single-def ptr <int[]>
-;  V27 loc23        [V27,T82] (  6, 12.50)     int  ->  [fp+0xB4]  ptr
+;  V26 loc22        [V26,T147] (  5,  5.50)     ref  ->  [fp+0x60]  class-hnd spill-single-def ptr <int[]>
+;  V27 loc23        [V27,T83] (  6, 12.50)     int  ->  [fp+0xB4]  ptr
 ;  V28 loc24        [V28,T66] (  7, 17.50)     int  ->  [fp+0xB0]  ptr
-;  V29 loc25        [V29,T148] (  3,  5   )     int  ->  [fp+0xAC]  spill-single-def ptr
-;  V30 loc26        [V30,T87] (  5, 11   )     int  ->  [fp+0xA8]  ptr
-;  V31 loc27        [V31,T194] (  3,  1.50)     int  ->   x1        
-;  V32 loc28        [V32,T149] (  3,  5   )     int  ->  [fp+0xA4]  spill-single-def ptr
-;  V33 loc29        [V33,T88] (  5, 10   )     ref  ->  [fp+0x58]  class-hnd exact spill-single-def ptr <int[]>
+;  V29 loc25        [V29,T149] (  3,  5   )     int  ->  [fp+0xAC]  spill-single-def ptr
+;  V30 loc26        [V30,T88] (  5, 11   )     int  ->  [fp+0xA8]  ptr
+;  V31 loc27        [V31,T195] (  3,  1.50)     int  ->   x1        
+;  V32 loc28        [V32,T150] (  3,  5   )     int  ->  [fp+0xA4]  spill-single-def ptr
+;  V33 loc29        [V33,T89] (  5, 10   )     ref  ->  [fp+0x58]  class-hnd exact spill-single-def ptr <int[]>
 ;  V34 loc30        [V34,T11] ( 11, 65   )    long  ->  x22        
 ;  V35 loc31        [V35    ] (  2,  2   )   byref  ->  [fp+0x98]  must-init pinned ptr
 ;  V36 loc32        [V36,T33] (  8, 33   )    long  ->  [fp+0x90]  ptr
-;  V37 loc33        [V37,T121] (  3,  6   )   ubyte  ->  x14        
+;  V37 loc33        [V37,T122] (  3,  6   )   ubyte  ->  x14        
 ;  V38 loc34        [V38,T46] (  6, 24   )     int  ->  x12        
 ;* V39 loc35        [V39    ] (  0,  0   )     int  ->  zero-ref   
 ;# V40 OutArgs      [V40    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V41 tmp1         [V41    ] (  0,  0   )     int  ->  zero-ref   
 ;* V42 tmp2         [V42    ] (  0,  0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
 ;* V43 tmp3         [V43    ] (  0,  0   )  struct (16) zero-ref    multireg-arg <System.ReadOnlySpan`1[ushort]>
-;  V44 tmp4         [V44,T182] (  3,  2   )     int  ->   x2        
-;  V45 tmp5         [V45,T187] (  2,  2   )     int  ->   x3        
-;  V46 tmp6         [V46,T188] (  2,  2   )     int  ->   x4        
-;  V47 tmp7         [V47,T206] (  2,  1   )     int  ->   x3        
+;  V44 tmp4         [V44,T183] (  3,  2   )     int  ->   x2        
+;  V45 tmp5         [V45,T188] (  2,  2   )     int  ->   x3        
+;  V46 tmp6         [V46,T189] (  2,  2   )     int  ->   x4        
+;  V47 tmp7         [V47,T207] (  2,  1   )     int  ->   x3        
 ;  V48 tmp8         [V48    ] (  1,  1   )  struct (16) [fp+0xF8]  do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
 ;* V49 tmp9         [V49    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V50 tmp10        [V50    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V51 tmp11        [V51,T50] (  3, 24   )     int  ->   x1         "impSpillLclRefs"
-;  V52 tmp12        [V52,T79] (  2, 16   )     int  ->   x1         "dup spill"
-;  V53 tmp13        [V53,T106] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
-;  V54 tmp14        [V54,T107] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
+;  V52 tmp12        [V52,T80] (  2, 16   )     int  ->   x1         "dup spill"
+;  V53 tmp13        [V53,T107] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
+;  V54 tmp14        [V54,T108] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
 ;  V55 tmp15        [V55,T35] (  2, 32   )     int  ->   x6         "impSpillLclRefs"
 ;  V56 tmp16        [V56,T13] (  2, 64   )     int  ->   x6         "dup spill"
-;  V57 tmp17        [V57,T122] (  3,  6   )     int  ->   x5        
+;  V57 tmp17        [V57,T123] (  3,  6   )     int  ->   x5        
 ;* V58 tmp18        [V58    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V59 tmp19        [V59    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V60 tmp20        [V60    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V61 tmp21        [V61,T83] (  3, 12   )    long  ->   x1         "impSpillLclRefs"
-;  V62 tmp22        [V62,T99] (  4,  8   )     int  ->   x1        
+;  V61 tmp21        [V61,T84] (  3, 12   )    long  ->   x1         "impSpillLclRefs"
+;  V62 tmp22        [V62,T100] (  4,  8   )     int  ->   x1        
 ;* V63 tmp23        [V63    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V64 tmp24        [V64,T123] (  3,  6   )     int  ->  x13        
+;  V64 tmp24        [V64,T124] (  3,  6   )     int  ->  x13        
 ;  V65 tmp25        [V65,T36] (  2, 32   )     int  ->   x6         "impSpillLclRefs"
 ;* V66 tmp26        [V66    ] (  0,  0   )   byref  ->  zero-ref    ptr
 ;  V67 tmp27        [V67,T37] (  2, 32   )    long  ->   x0         "impSpillLclRefs"
@@ -82,11 +82,11 @@
 ;* V71 tmp31        [V71    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V72 tmp32        [V72    ] (  0,  0   )     int  ->  zero-ref   
 ;* V73 tmp33        [V73    ] (  0,  0   )     int  ->  zero-ref    ptr
-;  V74 tmp34        [V74,T207] (  2,  1   )     int  ->   x1        
-;  V75 tmp35        [V75,T208] (  2,  1   )     int  ->  xip0        
+;  V74 tmp34        [V74,T208] (  2,  1   )     int  ->   x1        
+;  V75 tmp35        [V75,T209] (  2,  1   )     int  ->  xip0        
 ;* V76 tmp36        [V76    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[int]>
 ;  V77 tmp37        [V77,T47] (  3, 24   )   byref  ->   x0         "dup spill"
-;  V78 tmp38        [V78,T101] (  3,  8   )     int  ->   x1        
+;  V78 tmp38        [V78,T102] (  3,  8   )     int  ->   x1        
 ;  V79 tmp39        [V79,T09] (  3, 96   )     int  ->   x0         "impSpillLclRefs"
 ;  V80 tmp40        [V80,T14] (  2, 64   )     int  ->  x11         "dup spill"
 ;  V81 tmp41        [V81,T03] (  2,256   )     int  ->  x10         "dup spill"
@@ -97,28 +97,28 @@
 ;* V86 tmp46        [V86    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;* V87 tmp47        [V87    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V88 tmp48        [V88    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
-;  V89 tmp49        [V89,T108] (  2,  8   )    long  ->   x2         "Inlining Arg"
+;  V89 tmp49        [V89,T109] (  2,  8   )    long  ->   x2         "Inlining Arg"
 ;* V90 tmp50        [V90    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V91 tmp51        [V91    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V92 tmp52        [V92    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V93 tmp53        [V93    ] (  0,  0   )     int  ->  zero-ref   
 ;* V94 tmp54        [V94    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V95 tmp55        [V95    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V96 tmp56        [V96,T150] (  4,  4   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V96 tmp56        [V96,T151] (  4,  4   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V97 tmp57        [V97    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V98 tmp58        [V98    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V99 tmp59        [V99,T189] (  2,  2   )     int  ->  [fp+0x8C]  spill-single-def ptr "Inlining Arg"
-;  V100 tmp60       [V100,T183] (  2,  2   )   byref  ->  [fp+0x50]  spill-single-def ptr "Inlining Arg"
+;  V99 tmp59        [V99,T190] (  2,  2   )     int  ->  [fp+0x8C]  spill-single-def ptr "Inlining Arg"
+;  V100 tmp60       [V100,T184] (  2,  2   )   byref  ->  [fp+0x50]  spill-single-def ptr "Inlining Arg"
 ;* V101 tmp61       [V101    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V102 tmp62       [V102    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V103 tmp63       [V103    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V104 tmp64       [V104    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V105 tmp65       [V105    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V106 tmp66       [V106,T195] (  3,  1.50)     int  ->  [fp+0x88]  spill-single-def ptr "Inline stloc first use temp"
+;  V106 tmp66       [V106,T196] (  3,  1.50)     int  ->  [fp+0x88]  spill-single-def ptr "Inline stloc first use temp"
 ;* V107 tmp67       [V107    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V108 tmp68       [V108    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V109 tmp69       [V109    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "Inlining Arg"
-;  V110 tmp70       [V110,T180] (  4,  2   )     int  ->   x3         "Inline stloc first use temp"
+;  V110 tmp70       [V110,T181] (  4,  2   )     int  ->   x3         "Inline stloc first use temp"
 ;* V111 tmp71       [V111    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V112 tmp72       [V112    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V113 tmp73       [V113    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
@@ -153,7 +153,7 @@
 ;  V142 tmp102      [V142,T29] (  5, 40   )     int  ->  x15         "Inline stloc first use temp"
 ;* V143 tmp103      [V143    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V144 tmp104      [V144    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;  V145 tmp105      [V145,T89] (  5, 10   )     int  ->   x1         "Inline stloc first use temp"
+;  V145 tmp105      [V145,T90] (  5, 10   )     int  ->   x1         "Inline stloc first use temp"
 ;* V146 tmp106      [V146    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V147 tmp107      [V147    ] (  0,  0   )  ushort  ->  zero-ref    ptr "Inlining Arg"
 ;* V148 tmp108      [V148    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -162,11 +162,11 @@
 ;* V151 tmp111      [V151    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V152 tmp112      [V152    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V153 tmp113      [V153    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V154 tmp114      [V154,T69] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V154 tmp114      [V154,T70] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V155 tmp115      [V155    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V156 tmp116      [V156    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V157 tmp117      [V157,T109] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V158 tmp118      [V158,T102] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V157 tmp117      [V157,T110] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V158 tmp118      [V158,T103] (  2,  8   )   byref  ->  x13         "Inlining Arg"
 ;* V159 tmp119      [V159    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V160 tmp120      [V160    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V161 tmp121      [V161    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -174,13 +174,13 @@
 ;* V163 tmp123      [V163    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V164 tmp124      [V164    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V165 tmp125      [V165    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V166 tmp126      [V166,T124] (  3,  6   )     int  ->  [fp+0x80]  spill-single-def ptr "Inline stloc first use temp"
+;  V166 tmp126      [V166,T125] (  3,  6   )     int  ->  [fp+0x80]  spill-single-def ptr "Inline stloc first use temp"
 ;* V167 tmp127      [V167    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V168 tmp128      [V168    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V169 tmp129      [V169    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V170 tmp130      [V170    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V171 tmp131      [V171    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V172 tmp132      [V172,T90] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
+;  V172 tmp132      [V172,T91] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
 ;* V173 tmp133      [V173    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V174 tmp134      [V174    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V175 tmp135      [V175    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -189,11 +189,11 @@
 ;* V178 tmp138      [V178    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V179 tmp139      [V179    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V180 tmp140      [V180    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V181 tmp141      [V181,T70] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V181 tmp141      [V181,T71] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V182 tmp142      [V182    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V183 tmp143      [V183    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V184 tmp144      [V184,T110] (  2,  8   )     int  ->  x13         "Inlining Arg"
-;  V185 tmp145      [V185,T103] (  2,  8   )   byref  ->  x11         "Inlining Arg"
+;  V184 tmp144      [V184,T111] (  2,  8   )     int  ->  x13         "Inlining Arg"
+;  V185 tmp145      [V185,T104] (  2,  8   )   byref  ->  x11         "Inlining Arg"
 ;* V186 tmp146      [V186    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V187 tmp147      [V187    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V188 tmp148      [V188    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -201,13 +201,13 @@
 ;* V190 tmp150      [V190    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V191 tmp151      [V191    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V192 tmp152      [V192    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V193 tmp153      [V193,T125] (  3,  6   )     int  ->  [fp+0x7C]  spill-single-def ptr "Inline stloc first use temp"
+;  V193 tmp153      [V193,T126] (  3,  6   )     int  ->  [fp+0x7C]  spill-single-def ptr "Inline stloc first use temp"
 ;* V194 tmp154      [V194    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V195 tmp155      [V195    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V196 tmp156      [V196    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V197 tmp157      [V197    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V198 tmp158      [V198    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V199 tmp159      [V199,T91] (  5, 10   )     int  ->  x14         "Inline stloc first use temp"
+;  V199 tmp159      [V199,T92] (  5, 10   )     int  ->  x14         "Inline stloc first use temp"
 ;* V200 tmp160      [V200    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V201 tmp161      [V201    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V202 tmp162      [V202    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -216,11 +216,11 @@
 ;* V205 tmp165      [V205    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V206 tmp166      [V206    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V207 tmp167      [V207    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V208 tmp168      [V208,T71] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V208 tmp168      [V208,T72] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V209 tmp169      [V209    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V210 tmp170      [V210    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V211 tmp171      [V211,T111] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V212 tmp172      [V212,T104] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V211 tmp171      [V211,T112] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V212 tmp172      [V212,T105] (  2,  8   )   byref  ->  x13         "Inlining Arg"
 ;* V213 tmp173      [V213    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V214 tmp174      [V214    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V215 tmp175      [V215    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -228,13 +228,13 @@
 ;* V217 tmp177      [V217    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V218 tmp178      [V218    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V219 tmp179      [V219    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V220 tmp180      [V220,T126] (  3,  6   )     int  ->  [fp+0x78]  spill-single-def ptr "Inline stloc first use temp"
+;  V220 tmp180      [V220,T127] (  3,  6   )     int  ->  [fp+0x78]  spill-single-def ptr "Inline stloc first use temp"
 ;* V221 tmp181      [V221    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V222 tmp182      [V222    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V223 tmp183      [V223    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V224 tmp184      [V224    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V225 tmp185      [V225    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V226 tmp186      [V226,T92] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
+;  V226 tmp186      [V226,T93] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
 ;* V227 tmp187      [V227    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V228 tmp188      [V228    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V229 tmp189      [V229    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -243,11 +243,11 @@
 ;* V232 tmp192      [V232    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V233 tmp193      [V233    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V234 tmp194      [V234    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V235 tmp195      [V235,T72] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V235 tmp195      [V235,T73] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V236 tmp196      [V236    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V237 tmp197      [V237    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V238 tmp198      [V238,T112] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V239 tmp199      [V239,T105] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V238 tmp198      [V238,T113] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V239 tmp199      [V239,T106] (  2,  8   )   byref  ->  x13         "Inlining Arg"
...
  
+16 (+1.44%) : 11781.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
@@ -8,15 +8,15 @@
 ; 0 inlinees with PGO data; 13 single block inlinees; 13 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T20] (  7, 196   )     ref  ->  x20         class-hnd exact single-def <<unknown class>>
-;  V01 loc1         [V01,T00] ( 16,1249   )     ref  ->  x21         class-hnd single-def <<unknown class>>
+;  V00 loc0         [V00,T21] (  7, 196   )     ref  ->  x20         class-hnd exact single-def <<unknown class>>
+;  V01 loc1         [V01,T00] ( 15,1121   )     ref  ->  x21         class-hnd single-def <<unknown class>>
 ;  V02 loc2         [V02,T05] (  9, 641   )     ref  ->  x22         class-hnd single-def <<unknown class>>
 ;  V03 loc3         [V03,T08] (  8, 392   )     int  ->  registers  
-;  V04 loc4         [V04,T36] (  2,   0   )     ref  ->  [fp+0x20]  class-hnd exact EH-live single-def <<unknown class>>
-;  V05 loc5         [V05    ] (  6,   5   )   ubyte  ->  [fp+0x30]  do-not-enreg[X] addr-exposed ld-addr-op
-;  V06 loc6         [V06,T23] (  2, 192   )    long  ->  x23        
-;  V07 loc7         [V07,T26] (  3,  80   )     ref  ->  [fp+0x18]  do-not-enreg[Z] class-hnd exact EH-live <<unknown class>>
-;  V08 loc8         [V08    ] (  6, 320   )   ubyte  ->  [fp+0x28]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V04 loc4         [V04,T37] (  2,   0   )     ref  ->  [fp+0x18]  class-hnd exact EH-live single-def <<unknown class>>
+;  V05 loc5         [V05    ] (  6,   5   )   ubyte  ->  [fp+0x28]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V06 loc6         [V06,T24] (  2, 192   )    long  ->  x23        
+;  V07 loc7         [V07,T27] (  3,  80   )     ref  ->  [fp+0x10]  do-not-enreg[Z] class-hnd exact EH-live <<unknown class>>
+;  V08 loc8         [V08    ] (  6, 320   )   ubyte  ->  [fp+0x20]  do-not-enreg[X] addr-exposed ld-addr-op
 ;  V09 loc9         [V09,T01] ( 11,1088   )     int  ->  x25        
 ;  V10 loc10        [V10,T07] (  5, 448   )     ref  ->   x1         class-hnd exact <System.Threading.TimerQueue>
 ;  V11 loc11        [V11,T10] (  4, 384   )    long  ->  x26        
@@ -24,62 +24,64 @@
 ;* V13 loc13        [V13    ] (  0,   0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.TimerQueue]>
 ;* V14 loc14        [V14    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact <System.Threading.TimerQueue>
 ;# V15 OutArgs      [V15    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V16 tmp1         [V16,T34] (  2,   4   )   ubyte  ->   x0         "Inlining Arg"
+;  V16 tmp1         [V16,T35] (  2,   4   )   ubyte  ->   x0         "Inlining Arg"
 ;* V17 tmp2         [V17    ] (  0,   0   )     int  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V18 tmp3         [V18,T29] (  0,   0   )     int  ->  zero-ref    "Inline return value spill temp"
-;  V19 tmp4         [V19,T18] (  2, 256   )   ubyte  ->   x0         "Inlining Arg"
-;  V20 tmp5         [V20,T21] (  3, 192   )     ref  ->  x14         class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V21 tmp6         [V21,T14] (  4, 256   )     int  ->  x15         "Inline stloc first use temp"
-;  V22 tmp7         [V22,T16] (  2, 256   )     ref  ->   x2         class-hnd "Inlining Arg" <System.__Canon>
+;* V18 tmp3         [V18,T30] (  0,   0   )     int  ->  zero-ref    "Inline return value spill temp"
+;  V19 tmp4         [V19,T19] (  2, 256   )   ubyte  ->   x0         "Inlining Arg"
+;  V20 tmp5         [V20,T22] (  3, 192   )     ref  ->  x14         class-hnd "Inline stloc first use temp" <<unknown class>>
+;  V21 tmp6         [V21,T15] (  4, 256   )     int  ->  x15         "Inline stloc first use temp"
+;  V22 tmp7         [V22,T17] (  2, 256   )     ref  ->   x2         class-hnd "Inlining Arg" <System.__Canon>
 ;* V23 tmp8         [V23    ] (  0,   0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.TimerQueue]>
-;* V24 tmp9         [V24,T19] (  0,   0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V24 tmp9         [V24,T20] (  0,   0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V25 tmp10        [V25    ] (  0,   0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V26 tmp11        [V26,T13] (  3, 272   )     int  ->   x2         "Inline stloc first use temp"
-;* V27 tmp12        [V27,T32] (  0,   0   )     ref  ->  zero-ref    "field V13._list (fldOffset=0x0)" P-INDEP
-;  V28 tmp13        [V28,T12] (  2, 192   )     ref  ->  x26         "field V13._current (fldOffset=0x8)" P-INDEP
+;  V26 tmp11        [V26,T14] (  3, 272   )     int  ->   x2         "Inline stloc first use temp"
+;* V27 tmp12        [V27,T33] (  0,   0   )     ref  ->  zero-ref    "field V13._list (fldOffset=0x0)" P-INDEP
+;  V28 tmp13        [V28,T13] (  2, 192   )     ref  ->  x27         "field V13._current (fldOffset=0x8)" P-INDEP
 ;  V29 tmp14        [V29,T02] (  6, 656   )     int  ->  x25         "field V13._index (fldOffset=0x10)" P-INDEP
-;  V30 tmp15        [V30,T24] (  2, 144   )     int  ->  x23         "field V13._version (fldOffset=0x14)" P-INDEP
-;  V31 tmp16        [V31,T30] (  2,  32   )     ref  ->   x0         "field V23._list (fldOffset=0x0)" P-INDEP
+;  V30 tmp15        [V30,T25] (  2, 144   )     int  ->  x23         "field V13._version (fldOffset=0x14)" P-INDEP
+;  V31 tmp16        [V31,T31] (  2,  32   )     ref  ->   x0         "field V23._list (fldOffset=0x0)" P-INDEP
 ;* V32 tmp17        [V32    ] (  0,   0   )     ref  ->  zero-ref    "field V23._current (fldOffset=0x8)" P-INDEP
-;* V33 tmp18        [V33,T33] (  0,   0   )     int  ->  zero-ref    "field V23._index (fldOffset=0x10)" P-INDEP
-;  V34 tmp19        [V34,T31] (  2,  32   )     int  ->  x23         "field V23._version (fldOffset=0x14)" P-INDEP
-;  V35 tmp20        [V35,T37] (  2,   0   )     ref  ->   x2         "argument with side effect"
+;* V33 tmp18        [V33,T34] (  0,   0   )     int  ->  zero-ref    "field V23._index (fldOffset=0x10)" P-INDEP
+;  V34 tmp19        [V34,T32] (  2,  32   )     int  ->  x23         "field V23._version (fldOffset=0x14)" P-INDEP
+;  V35 tmp20        [V35,T38] (  2,   0   )     ref  ->   x2         "argument with side effect"
 ;  V36 tmp21        [V36,T03] (  3, 768   )     ref  ->  x14         "arr expr"
 ;  V37 tmp22        [V37,T11] (  3, 384   )     ref  ->   x2         "arr expr"
 ;  V38 tmp23        [V38,T04] (  3, 768   )     ref  ->   x0         "arr expr"
-;  V39 tmp24        [V39,T17] (  2, 256   )     ref  ->   x0         "argument with side effect"
-;  V40 PSPSym       [V40,T35] (  1,   1   )    long  ->  [fp+0x38]  do-not-enreg[V] "PSPSym"
-;  V41 cse0         [V41,T06] (  3, 384   )     int  ->   x2         "CSE - aggressive"
-;  V42 cse1         [V42,T15] (  4, 256   )     int  ->   x0         "CSE - moderate"
-;  V43 cse2         [V43,T22] (  3, 192   )     ref  ->   x1         "CSE - moderate"
-;  V44 cse3         [V44,T27] (  5,  68   )    long  ->  x19         "CSE - moderate"
-;  V45 cse4         [V45,T25] (  2, 128   )     int  ->  x12         "CSE - moderate"
-;  V46 cse5         [V46,T28] (  6,  51   )     ref  ->   x1         multi-def "CSE - moderate"
+;  V39 tmp24        [V39,T18] (  2, 256   )     ref  ->   x0         "argument with side effect"
+;  V40 PSPSym       [V40,T36] (  1,   1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
+;  V41 cse0         [V41,T12] (  3, 384   )     int  ->  x26         "CSE - aggressive"
+;  V42 cse1         [V42,T06] (  3, 384   )     int  ->   x2         "CSE - aggressive"
+;  V43 cse2         [V43,T16] (  4, 256   )     int  ->   x0         "CSE - moderate"
+;  V44 cse3         [V44,T23] (  3, 192   )     ref  ->   x1         "CSE - moderate"
+;  V45 cse4         [V45,T28] (  5,  68   )    long  ->  x19         "CSE - moderate"
+;  V46 cse5         [V46,T26] (  2, 128   )     int  ->  x12         "CSE - moderate"
+;  V47 cse6         [V47,T29] (  6,  51   )     ref  ->   x1         multi-def "CSE - moderate"
 ;
-; Lcl frame size = 48
+; Lcl frame size = 40
 
 G_M45973_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x80]!
-            stp     x19, x20, [sp, #0x40]
-            stp     x21, x22, [sp, #0x50]
-            stp     x23, x24, [sp, #0x60]
-            stp     x25, x26, [sp, #0x70]
+            stp     x19, x20, [sp, #0x38]
+            stp     x21, x22, [sp, #0x48]
+            stp     x23, x24, [sp, #0x58]
+            stp     x25, x26, [sp, #0x68]
+            str     x27, [sp, #0x78]
             mov     fp, sp
             add     x0, sp, #128
-            str     x0, [fp, #0x38]  // [V40 PSPSym]
-                       ;; size=32 bbWeight=1 PerfScore 7.00
+            str     x0, [fp, #0x30]   // [V40 PSPSym]
+                       ;; size=36 bbWeight=1 PerfScore 8.00
 G_M45973_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x19, #0xD1FFAB1E
             movk    x19, #0xD1FFAB1E LSL #16
             movk    x19, #0xD1FFAB1E LSL #32
             ldp     x21, x20, [x19, #0xD1FFAB1E]
             ; gcrRegs +[x20-x21]
-            str     x20, [fp, #0x20] // [V04 loc4]
+            str     x20, [fp, #0x18] // [V04 loc4]
             ; GC ptr vars +{V04}
-            str     wzr, [fp, #0x30] // [V05 loc5]
+            str     wzr, [fp, #0x28] // [V05 loc5]
                        ;; size=24 bbWeight=1 PerfScore 7.50
-G_M45973_IG03:        ; bbWeight=1, gcVars=0000001000000000 {V04}, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
-            ldrb    w1, [fp, #0x30]    // [V05 loc5]
+G_M45973_IG03:        ; bbWeight=1, gcVars=0000002000000000 {V04}, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+            ldrb    w1, [fp, #0x28]    // [V05 loc5]
             cbz     w1, G_M45973_IG05
                        ;; size=8 bbWeight=1 PerfScore 3.00
 G_M45973_IG04:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -94,13 +96,13 @@ G_M45973_IG04:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
                        ;; size=24 bbWeight=0 PerfScore 0.00
 G_M45973_IG05:        ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x20-x21]
-            add     x1, fp, #48  // [V05 loc5]
+            add     x1, fp, #40  // [V05 loc5]
             mov     x0, x20
             ; gcrRegs +[x0]
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            ldrb    w0, [fp, #0x30]   // [V05 loc5]
+            ldrb    w0, [fp, #0x28]  // [V05 loc5]
             cbnz    w0, G_M45973_IG06
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
@@ -121,7 +123,7 @@ G_M45973_IG06:        ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {
                        ;; size=4 bbWeight=1 PerfScore 3.00
 G_M45973_IG07:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0000 {}, gcvars, byref, isz
             ; GC ptr vars -{V04}
-            ldrb    w0, [fp, #0x30]  // [V05 loc5]
+            ldrb    w0, [fp, #0x28]  // [V05 loc5]
             cbz     w0, G_M45973_IG08
             mov     x0, x20
             ; gcrRegs +[x0]
@@ -153,20 +155,20 @@ G_M45973_IG09:        ; bbWeight=64, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0
             mov     x23, x0
             movn    w1, #0xD1FFAB1E LSL #16
             sxtw    w24, w1
-            str     x20, [fp, #0x18]  // [V07 loc7]
+            str     x20, [fp, #0x10] // [V07 loc7]
             ; GC ptr vars +{V07}
-            str     wzr, [fp, #0x28] // [V08 loc8]
+            str     wzr, [fp, #0x20] // [V08 loc8]
                        ;; size=72 bbWeight=64 PerfScore 896.00
-G_M45973_IG10:        ; bbWeight=64, gcVars=0000000004000000 {V07}, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0000 {}, gcvars, byref, isz
-            ldrb    w1, [fp, #0x28]    // [V08 loc8]
+G_M45973_IG10:        ; bbWeight=64, gcVars=0000000008000000 {V07}, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0000 {}, gcvars, byref, isz
+            ldrb    w1, [fp, #0x20]    // [V08 loc8]
             cbnz    w1, G_M45973_IG23
-            add     x1, fp, #40 // [V08 loc8]
+            add     x1, fp, #32  // [V08 loc8]
             mov     x0, x20
             ; gcrRegs +[x0]
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            ldrb    w0, [fp, #0x28]   // [V08 loc8]
+            ldrb    w0, [fp, #0x20]  // [V08 loc8]
             cbnz    w0, G_M45973_IG12
                        ;; size=28 bbWeight=64 PerfScore 512.00
 G_M45973_IG11:        ; bbWeight=16, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0000 {}, byref
@@ -328,11 +330,11 @@ G_M45973_IG23:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
                        ;; size=24 bbWeight=0 PerfScore 0.00
 G_M45973_IG24:        ; bbWeight=64, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x20-x22]
-            ldrb    w0, [fp, #0x28]  // [V08 loc8]
+            ldrb    w0, [fp, #0x20]  // [V08 loc8]
             cbz     w0, G_M45973_IG26
                        ;; size=8 bbWeight=64 PerfScore 192.00
 G_M45973_IG25:        ; bbWeight=16, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0000 {}, byref
-            ldr     x0, [fp, #0x18] // [V07 loc7]
+            ldr     x0, [fp, #0x10]  // [V07 loc7]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V07}
             bl      <unknown method>
@@ -351,18 +353,18 @@ G_M45973_IG27:        ; bbWeight=16, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0
             mov     w25, wzr
             b       G_M45973_IG30
                        ;; size=16 bbWeight=16 PerfScore 80.00
-G_M45973_IG28:        ; bbWeight=64, gcrefRegs=4700000 {x20 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x0] +[x26]
+G_M45973_IG28:        ; bbWeight=64, gcrefRegs=8700000 {x20 x21 x22 x27}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x0] +[x27]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     w0, [x0]
             tbz     w0, #0, G_M45973_IG36
                        ;; size=20 bbWeight=64 PerfScore 352.00
-G_M45973_IG29:        ; bbWeight=64, gcrefRegs=4700000 {x20 x21 x22 x26}, byrefRegs=0000 {}, byref
+G_M45973_IG29:        ; bbWeight=64, gcrefRegs=8700000 {x20 x21 x22 x27}, byrefRegs=0000 {}, byref
             ldr     x0, [x19]
             ; gcrRegs +[x0]
-            mov     x1, x26
+            mov     x1, x27
             ; gcrRegs +[x1]
             movz    x2, #0xD1FFAB1E      // code for System.Threading.ThreadPoolWorkQueue:EnqueueAtHighPriority(System.Object):this
             movk    x2, #0xD1FFAB1E LSL #16
@@ -370,12 +372,12 @@ G_M45973_IG29:        ; bbWeight=64, gcrefRegs=4700000 {x20 x21 x22 x26}, byrefR
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
-            ; gcrRegs -[x0-x1 x26]
+            ; gcrRegs -[x0-x1 x27]
             ; gcr arg pop 0
                        ;; size=32 bbWeight=64 PerfScore 768.00
 G_M45973_IG30:        ; bbWeight=128, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0000 {}, byref, isz
-            ldr     w0, [x21, #0x14]
-            cmp     w23, w0
+            ldr     w26, [x21, #0x14]
+            cmp     w23, w26
             bne     G_M45973_IG38
             ldr     w2, [x21, #0x10]
             cmp     w25, w2
@@ -388,20 +390,19 @@ G_M45973_IG30:        ; bbWeight=128, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
-            ldr     x26, [x0, w25, UXTW #3]
-            ; gcrRegs +[x26]
+            ldr     x27, [x0, w25, UXTW #3]
+            ; gcrRegs +[x27]
             add     w25, w25, #1
             b       G_M45973_IG28
                        ;; size=56 bbWeight=128 PerfScore 2752.00
 G_M45973_IG31:        ; bbWeight=128, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x26]
+            ; gcrRegs -[x27]
             ; byrRegs -[x0]
-            ldr     w0, [x21, #0x14]
-            add     w0, w0, #1
+            add     w0, w26, #1
             stp     wzr, w0, [x21, #0x10]
             cmp     w2, #0
             ble     G_M45973_IG33
-                        ;; size=20 bbWeight=128 PerfScore 768.00
+                      ;; size=16 bbWeight=128 PerfScore 384.00
...
  
  
smoke_tests.nativeaot.linux.arm64.checked.mch
-24 (-6.45%) : 5986.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
@@ -7,10 +7,10 @@
 ; fully interruptible
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] (  3,  3   )    long  ->  x19         single-def
-;  V01 arg1         [V01,T19] (  3,  3   )    long  ->  x20         single-def
-;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x28]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T20] (  4, 11   )    long  ->  x20        
+;  V00 arg0         [V00,T19] (  3,  3   )    long  ->  x19         single-def
+;  V01 arg1         [V01,T20] (  3,  3   )    long  ->  x20         single-def
+;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x20]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
+;  V03 loc1         [V03,T21] (  4, 11   )    long  ->  x20        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
@@ -18,14 +18,14 @@
 ;  V08 tmp1         [V08,T10] (  7, 84   )     ref  ->  x19         class-hnd exact single-def "non-inline candidate call" <<unknown class>>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V11 tmp4         [V11,T28] (  3,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V12 tmp5         [V12,T22] (  2,  4   )     ref  ->  x19         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp4         [V11,T29] (  3,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp5         [V12,T23] (  2,  4   )     ref  ->  x19         class-hnd exact single-def "Inlining Arg" <<unknown class>>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp10        [V17,T08] (  2, 16   )     int  ->   x4         "Inlining Arg"
-;  V18 tmp11        [V18,T07] (  2, 16   )   byref  ->   x3         "Inlining Arg"
+;  V17 tmp10        [V17,T07] (  2, 16   )     int  ->   x4         "Inlining Arg"
+;  V18 tmp11        [V18,T06] (  2, 16   )   byref  ->   x3         "Inlining Arg"
 ;* V19 tmp12        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V21 tmp14        [V21,T12] (  2,  8   )   ubyte  ->   x0         "Inline return value spill temp"
@@ -39,30 +39,30 @@
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V30 tmp23        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V32 tmp25        [V32,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V32 tmp25        [V32,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V33 tmp26        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <<unknown class>>
-;  V34 tmp27        [V34,T23] (  3, 17   )     ref  ->  x14         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V35 tmp28        [V35,T21] (  4, 18   )     int  ->  x15         "Inline stloc first use temp"
-;  V36 tmp29        [V36,T17] (  3, 20   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [fp+0x18]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
-;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
-;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
-;  V40 tmp33        [V40,T02] (  4, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V41 tmp34        [V41,T03] (  4, 20   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V34 tmp27        [V34,T24] (  3, 17   )     ref  ->  x14         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V35 tmp28        [V35,T22] (  4, 18   )     int  ->  x15         "Inline stloc first use temp"
+;  V36 tmp29        [V36,T18] (  3, 20   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [fp+0x10]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
+;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
+;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
+;  V40 tmp33        [V40,T03] (  4, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V41 tmp34        [V41,T02] (  4, 20   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V42 tmp35        [V42,T00] (  6, 41   )     int  ->  x22         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V43 tmp36        [V43,T05] (  3, 17   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
-;  V44 tmp37        [V44,T13] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp38        [V45,T15] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp36        [V43,T13] (  2,  9   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
+;  V44 tmp37        [V44,T14] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp38        [V45,T16] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V46 tmp39        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V47 tmp40        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V48 tmp41        [V48,T24] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;  V48 tmp41        [V48,T25] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V49 tmp42        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V50 tmp43        [V50,T27] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
-;  V51 tmp44        [V51,T25] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
+;* V50 tmp43        [V50,T28] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
+;  V51 tmp44        [V51,T26] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
 ;  V52 tmp45        [V52,T11] (  3, 12   )   byref  ->   x3         "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V53 tmp46        [V53,T06] (  4, 16   )     int  ->   x4         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V54 tmp47        [V54,T14] (  2,  8   )   byref  ->   x3         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V55 tmp48        [V55,T16] (  2,  8   )     int  ->   x4         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V53 tmp46        [V53,T05] (  4, 16   )     int  ->   x4         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V54 tmp47        [V54,T15] (  2,  8   )   byref  ->   x3         "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V55 tmp48        [V55,T17] (  2,  8   )     int  ->   x4         "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp50        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V58 tmp51        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
@@ -78,23 +78,23 @@
 ;* V68 tmp61        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V69 tmp62        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;  V70 tmp63        [V70,T01] (  3, 48   )     ref  ->   x2         "arr expr"
-;  V71 cse0         [V71,T04] (  3, 24   )     int  ->  x23         "CSE - aggressive"
-;  V72 cse1         [V72,T26] (  2, 16   )     int  ->  x12         "CSE - moderate"
+;  V71 cse0         [V71,T09] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V72 cse1         [V72,T04] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V73 cse2         [V73,T27] (  2, 16   )     int  ->  x12         "CSE - moderate"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 32
 
 G_M19804_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x38]
-            stp     x21, x22, [sp, #0x48]
-            str     x23, [sp, #0x58]
+            stp     fp, lr, [sp, #-0x50]!
+            stp     x19, x20, [sp, #0x30]
+            stp     x21, x22, [sp, #0x40]
             mov     fp, sp
-            str     xzr, [fp, #0x28]  // [V02 loc0]
+            str     xzr, [fp, #0x20] // [V02 loc0]
             mov     x19, x0
             mov     x20, x1
-                      ;; size=32 bbWeight=1 PerfScore 6.50
+                      ;; size=28 bbWeight=1 PerfScore 5.50
 G_M19804_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x0, fp, #24    // [V37 tmp30]
+            add     x0, fp, #16 // [V37 tmp30]
             bl      CORINFO_HELP_JIT_REVERSE_PINVOKE_ENTER
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 1.50
@@ -103,9 +103,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             bl      System.Runtime.InteropServices.MemoryMarshal:CreateReadOnlySpanFromNullTerminated(ulong):System.ReadOnlySpan`1[ushort]
             ; byrRegs +[x0]
             ; gcr arg pop 0
-            stp     x0, x1, [fp, #0x28]   // [V02 loc0], [V02 loc0+0x08]
+            stp     x0, x1, [fp, #0x20] // [V02 loc0], [V02 loc0+0x08]
             ldrb    w2, [x20, #0x08]
-            cbz     w2, G_M19804_IG11
+            cbz     w2, G_M19804_IG10
             ldr     x19, [x20]
             ; gcrRegs +[x19]
             ldr     w21, [x19, #0x14]
@@ -115,9 +115,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M19804_IG04:        ; bbWeight=4, gcrefRegs=80004 {x2 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x2]
             ; byrRegs -[x0]
-            ldr     x0, [fp, #0x28]   // [V38 tmp31]
+            ldr     x0, [fp, #0x20] // [V38 tmp31]
             ; byrRegs +[x0]
-            ldr     w1, [fp, #0x30]  // [V39 tmp32]
+            ldr     w1, [fp, #0x28] // [V39 tmp32]
             cbnz    x2, G_M19804_IG05
             mov     x3, xzr
             ; byrRegs +[x3]
@@ -140,15 +140,15 @@ G_M19804_IG06:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0009 {x0 x3
             bl      <unknown method>
             ; byrRegs -[x0-x1 x3]
             ; gcr arg pop 0
-            cbnz    w0, G_M19804_IG14
+            cbnz    w0, G_M19804_IG13
                       ;; size=24 bbWeight=4 PerfScore 20.00
 G_M19804_IG07:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            ldr     w23, [x19, #0x14]
-            cmp     w21, w23
-            bne     G_M19804_IG10
+            ldr     w2, [x19, #0x14]
+            cmp     w21, w2
+            bne     G_M19804_IG09
             ldr     w2, [x19, #0x10]
             cmp     w22, w2
-            bhs     G_M19804_IG11
+            bhs     G_M19804_IG10
             ldr     x2, [x19, #0x08]
             ; gcrRegs +[x2]
             ldr     w0, [x2, #0x08]
@@ -174,13 +174,9 @@ G_M19804_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 G_M19804_IG10:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            cmp     w21, w23
-            bne     G_M19804_IG09
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldr     x19, [x20]
             ; gcrRegs +[x19]
-            add     x0, fp, #40  // [V02 loc0]
+            add     x0, fp, #32  // [V02 loc0]
             bl      <unknown method>
             ; gcrRegs +[x0]
             ; gcr arg pop 0
@@ -193,9 +189,9 @@ G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x14]
             ldr     w12, [x14, #0x08]
             cmp     w12, w15
-            bls     G_M19804_IG13
+            bls     G_M19804_IG12
                      ;; size=44 bbWeight=8 PerfScore 136.00
-G_M19804_IG12:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG11:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             add     w12, w15, #1
             str     w12, [x19, #0x10]
@@ -208,9 +204,9 @@ G_M19804_IG12:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x1 x15 x19]
             ; byrRegs -[x14]
-            b       G_M19804_IG14
+            b       G_M19804_IG13
                      ;; size=28 bbWeight=1 PerfScore 5.50
-G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG12:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x1 x19]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -218,26 +214,24 @@ G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {},
             ; gcrRegs -[x0-x1 x19]
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M19804_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x0, fp, #24    // [V37 tmp30]
+G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            add     x0, fp, #16    // [V37 tmp30]
             bl      CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x23, [sp, #0x58]
-            ldp     x21, x22, [sp, #0x48]
-            ldp     x19, x20, [sp, #0x38]
-            ldp     fp, lr, [sp], #0x60
+G_M19804_IG14:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x40]
+            ldp     x19, x20, [sp, #0x30]
+            ldp     fp, lr, [sp], #0x50
             ret     lr
-                        ;; size=20 bbWeight=1 PerfScore 6.00
-G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                      ;; size=16 bbWeight=1 PerfScore 4.00
+G_M19804_IG15:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             ; gcrRegs +[x0]
-            stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            str     x23, [sp, #0x38]
-                       ;; size=16 bbWeight=0 PerfScore 0.00
-G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
+                       ;; size=12 bbWeight=0 PerfScore 0.00
+G_M19804_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
             ldr     x1, [x0]
             ldr     x1, [x1, #0x18]
             blr     x1
@@ -245,42 +239,39 @@ G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            adr     x0, [G_M19804_IG14]
+            adr     x0, [G_M19804_IG13]
                       ;; size=20 bbWeight=0 PerfScore 0.00
-G_M19804_IG18:        ; bbWeight=0, funclet epilog, nogc, extend
-            ldr     x23, [sp, #0x38]
...
  
-24 (-3.95%) : 13944.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
@@ -7,72 +7,73 @@
 ; fully interruptible
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T17] (  7,  7   )     ref  ->  [fp+0x18]  class-hnd exact EH-live single-def <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;  V01 arg1         [V01,T14] (  3, 10   )     int  ->  x19         single-def
+;  V00 arg0         [V00,T18] (  7,  7   )     ref  ->  [fp+0x20]  class-hnd exact EH-live single-def <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
+;  V01 arg1         [V01,T15] (  3, 10   )     int  ->  x19         single-def
 ;* V02 arg2         [V02    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Threading.CancellationToken>
-;  V03 loc0         [V03,T15] (  4, 11   )   ubyte  ->  [fp+0x24]  do-not-enreg[Z] EH-live
-;  V04 loc1         [V04,T05] (  7, 28   )     ref  ->  [fp+0x10]  class-hnd exact EH-live spill-single-def <System.Threading.Tasks.Task+SetOnCountdownMres>
+;  V03 loc0         [V03,T16] (  4, 11   )   ubyte  ->  [fp+0x2C]  do-not-enreg[Z] EH-live
+;  V04 loc1         [V04,T04] (  7, 28   )     ref  ->  [fp+0x18]  class-hnd exact EH-live spill-single-def <System.Threading.Tasks.Task+SetOnCountdownMres>
 ;* V05 loc2         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V06 loc3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
 ;* V07 loc4         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V08 loc5         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V10 tmp1         [V10,T19] (  4,  8   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task+SetOnCountdownMres>
+;  V10 tmp1         [V10,T21] (  4,  8   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task+SetOnCountdownMres>
 ;* V11 tmp2         [V11    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V12 tmp3         [V12    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V13 tmp4         [V13    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V14 tmp5         [V14,T20] (  3,  6   )     int  ->  x22         "Inlining Arg"
+;  V14 tmp5         [V14,T22] (  3,  6   )     int  ->  x22         "Inlining Arg"
 ;* V15 tmp6         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V16 tmp7         [V16    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V17 tmp8         [V17    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V18 tmp9         [V18    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V19 tmp10        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V20 tmp11        [V20,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V20 tmp11        [V20,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V21 tmp12        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
 ;* V22 tmp13        [V22    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V23 tmp14        [V23    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;* V24 tmp15        [V24,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V24 tmp15        [V24,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V25 tmp16        [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;  V26 tmp17        [V26,T16] (  2,  9   )     ref  ->  x20         single-def "field V02._source (fldOffset=0x0)" P-INDEP
-;  V27 tmp18        [V27,T04] (  4, 25   )     ref  ->  x22         single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V26 tmp17        [V26,T17] (  2,  9   )     ref  ->  x20         single-def "field V02._source (fldOffset=0x0)" P-INDEP
+;  V27 tmp18        [V27,T05] (  4, 25   )     ref  ->  x22         single-def "field V05._list (fldOffset=0x0)" P-INDEP
 ;  V28 tmp19        [V28,T07] (  3, 16   )     ref  ->   x1         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V29 tmp20        [V29,T00] (  6, 41   )     int  ->  x24         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V30 tmp21        [V30,T11] (  3, 17   )     int  ->  x23         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V30 tmp21        [V30,T19] (  2,  9   )     int  ->  x23         "field V05._version (fldOffset=0x14)" P-INDEP
 ;  V31 tmp22        [V31,T06] (  4, 25   )     ref  ->  x19         single-def "field V07._list (fldOffset=0x0)" P-INDEP
 ;  V32 tmp23        [V32,T08] (  3, 16   )     ref  ->   x0         "field V07._current (fldOffset=0x8)" P-INDEP
 ;  V33 tmp24        [V33,T01] (  6, 41   )     int  ->  x21         "field V07._index (fldOffset=0x10)" P-INDEP
-;  V34 tmp25        [V34,T18] (  2,  9   )     int  ->  x20         "field V07._version (fldOffset=0x14)" P-INDEP
-;  V35 tmp26        [V35,T23] (  3,  3   )     ref  ->  x22         single-def "field V17._list (fldOffset=0x0)" P-INDEP
+;  V34 tmp25        [V34,T20] (  2,  9   )     int  ->  x20         "field V07._version (fldOffset=0x14)" P-INDEP
+;  V35 tmp26        [V35,T25] (  3,  3   )     ref  ->  x22         single-def "field V17._list (fldOffset=0x0)" P-INDEP
 ;* V36 tmp27        [V36    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V17._current (fldOffset=0x8)" P-INDEP
-;* V37 tmp28        [V37,T27] (  0,  0   )     int  ->  zero-ref    "field V17._index (fldOffset=0x10)" P-INDEP
-;  V38 tmp29        [V38,T25] (  2,  2   )     int  ->  x23         "field V17._version (fldOffset=0x14)" P-INDEP
-;  V39 tmp30        [V39,T24] (  3,  3   )     ref  ->  x19         single-def "field V22._list (fldOffset=0x0)" P-INDEP
+;* V37 tmp28        [V37,T29] (  0,  0   )     int  ->  zero-ref    "field V17._index (fldOffset=0x10)" P-INDEP
+;  V38 tmp29        [V38,T27] (  2,  2   )     int  ->  x23         "field V17._version (fldOffset=0x14)" P-INDEP
+;  V39 tmp30        [V39,T26] (  3,  3   )     ref  ->  x19         single-def "field V22._list (fldOffset=0x0)" P-INDEP
 ;* V40 tmp31        [V40    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V22._current (fldOffset=0x8)" P-INDEP
-;* V41 tmp32        [V41,T28] (  0,  0   )     int  ->  zero-ref    "field V22._index (fldOffset=0x10)" P-INDEP
-;  V42 tmp33        [V42,T26] (  2,  2   )     int  ->  x20         "field V22._version (fldOffset=0x14)" P-INDEP
-;  V43 tmp34        [V43,T22] (  2,  4   )     int  ->   x2         "argument with side effect"
+;* V41 tmp32        [V41,T30] (  0,  0   )     int  ->  zero-ref    "field V22._index (fldOffset=0x10)" P-INDEP
+;  V42 tmp33        [V42,T28] (  2,  2   )     int  ->  x20         "field V22._version (fldOffset=0x14)" P-INDEP
+;  V43 tmp34        [V43,T24] (  2,  4   )     int  ->   x2         "argument with side effect"
 ;  V44 tmp35        [V44,T02] (  3, 48   )     ref  ->   x1         "arr expr"
 ;  V45 tmp36        [V45,T03] (  3, 48   )     ref  ->   x0         "arr expr"
-;  V46 cse0         [V46,T09] (  3, 24   )     int  ->  x25         "CSE - aggressive"
-;  V47 cse1         [V47,T10] (  2, 16   )     int  ->   x0         "CSE - aggressive"
-;  V48 rat0         [V48,T21] (  3,  6   )    long  ->  x23         "fgMakeTemp is creating a new local variable"
+;  V46 cse0         [V46,T13] (  2, 16   )     int  ->   x1         "CSE - aggressive"
+;  V47 cse1         [V47,T09] (  2, 16   )     int  ->   x1         "CSE - aggressive"
+;  V48 cse2         [V48,T14] (  2, 16   )     int  ->   x0         "CSE - aggressive"
+;  V49 cse3         [V49,T10] (  2, 16   )     int  ->   x0         "CSE - aggressive"
+;  V50 rat0         [V50,T23] (  3,  6   )    long  ->  x23         "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 24
+; Lcl frame size = 32
 
 G_M12834_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x28]
-            stp     x21, x22, [sp, #0x38]
-            stp     x23, x24, [sp, #0x48]
-            str     x25, [sp, #0x58]
+            stp     x19, x20, [sp, #0x30]
+            stp     x21, x22, [sp, #0x40]
+            stp     x23, x24, [sp, #0x50]
             mov     fp, sp
-            str     x0, [fp, #0x18]   // [V00 arg0]
+            str     x0, [fp, #0x20]  // [V00 arg0]
             ; GC ptr vars +{V00}
             mov     w19, w1
             mov     x20, x2
             ; gcrRegs +[x20]
-                     ;; size=36 bbWeight=1 PerfScore 7.50
-G_M12834_IG02:        ; bbWeight=1, gcVars=0000000000020000 {V00}, gcrefRegs=100001 {x0 x20}, byrefRegs=0000 {}, gcvars, byref, isz
+                      ;; size=32 bbWeight=1 PerfScore 6.50
+G_M12834_IG02:        ; bbWeight=1, gcVars=0000000000040000 {V00}, gcrefRegs=100001 {x0 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x0]
             cbnz    x0, G_M12834_IG03
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]
@@ -87,7 +88,7 @@ G_M12834_IG02:        ; bbWeight=1, gcVars=0000000000020000 {V00}, gcrefRegs=100
             ; gcr arg pop 0
                        ;; size=24 bbWeight=1 PerfScore 4.00
 G_M12834_IG03:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
-            ldr     x0, [fp, #0x18] // [V00 arg0]
+            ldr     x0, [fp, #0x20]  // [V00 arg0]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x10]
             cmp     w1, #0
@@ -104,7 +105,7 @@ G_M12834_IG03:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, b
             ; gcr arg pop 0
                        ;; size=36 bbWeight=1 PerfScore 9.50
 G_M12834_IG04:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
-            str     wzr, [fp, #0x24]    // [V03 loc0]
+            str     wzr, [fp, #0x2C] // [V03 loc0]
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]      // System.Threading.Tasks.Task+SetOnCountdownMres
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
             bl      CORINFO_HELP_NEWSFAST
@@ -112,12 +113,12 @@ G_M12834_IG04:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, b
             ; gcr arg pop 0
             mov     x21, x0
             ; gcrRegs +[x21]
-            ldr     x0, [fp, #0x18]  // [V00 arg0]
+            ldr     x0, [fp, #0x20]  // [V00 arg0]
             ldr     w22, [x0, #0x10]
             adrp    x23, [HIGH RELOC #0xD1FFAB1E]
             add     x23, x23, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x23, #-0x08]
-            cbnz    x2, G_M12834_IG19
+            cbnz    x2, G_M12834_IG18
                         ;; size=44 bbWeight=1 PerfScore 13.50
 G_M12834_IG05:        ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -142,11 +143,11 @@ G_M12834_IG05:        ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {
                        ;; size=44 bbWeight=1 PerfScore 9.50
 G_M12834_IG06:        ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
             str     w22, [x21, #0x1C]
-            str     x21, [fp, #0x10]    // [V04 loc1]
+            str     x21, [fp, #0x18] // [V04 loc1]
             ; GC ptr vars +{V04}
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M12834_IG07:        ; bbWeight=1, gcVars=0000000000020020 {V00 V04}, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, gcvars, byref
-            ldr     x0, [fp, #0x18]    // [V00 arg0]
+G_M12834_IG07:        ; bbWeight=1, gcVars=0000000000040010 {V00 V04}, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, gcvars, byref
+            ldr     x0, [fp, #0x20]    // [V00 arg0]
             ; gcrRegs +[x0]
             mov     x22, x0
             ; gcrRegs +[x22]
@@ -193,12 +194,12 @@ G_M12834_IG09:        ; bbWeight=4, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=00
             ; gcr arg pop 0
                        ;; size=28 bbWeight=4 PerfScore 28.00
 G_M12834_IG10:        ; bbWeight=8, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0000 {}, byref, isz
-            ldr     w25, [x22, #0x14]
-            cmp     w23, w25
-            bne     G_M12834_IG13
+            ldr     w1, [x22, #0x14]
+            cmp     w23, w1
+            bne     G_M12834_IG12
             ldr     w1, [x22, #0x10]
             cmp     w24, w1
-            bhs     G_M12834_IG14
+            bhs     G_M12834_IG13
             ldr     x1, [x22, #0x08]
             ; gcrRegs +[x1]
             ldr     w2, [x1, #0x08]
@@ -224,12 +225,8 @@ G_M12834_IG12:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, b
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
-G_M12834_IG13:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M12834_IG13:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x20]
-            cmp     w23, w25
-            bne     G_M12834_IG12
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M12834_IG14:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
             mov     x0, x21
             ; gcrRegs +[x0]
             mov     w1, w19
@@ -238,29 +235,28 @@ G_M12834_IG14:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {
             bl      <unknown method>
             ; gcrRegs -[x0 x2 x20]
             ; gcr arg pop 0
-            str     w0, [fp, #0x24]   // [V03 loc0]
+            str     w0, [fp, #0x2C]  // [V03 loc0]
                        ;; size=20 bbWeight=8 PerfScore 28.00
-G_M12834_IG15:        ; bbWeight=1, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
+G_M12834_IG14:        ; bbWeight=1, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
             mov     x0, sp
-            bl      G_M12834_IG20
+            bl      G_M12834_IG19
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M12834_IG16:        ; bbWeight=1, nogc, extend
+G_M12834_IG15:        ; bbWeight=1, nogc, extend
             nop     
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M12834_IG17:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M12834_IG16:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x21]
             ; GC ptr vars -{V00 V04}
-            ldr     w0, [fp, #0x24]  // [V03 loc0]
+            ldr     w0, [fp, #0x2C]  // [V03 loc0]
                        ;; size=4 bbWeight=1 PerfScore 2.00
-G_M12834_IG18:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x25, [sp, #0x58]
-            ldp     x23, x24, [sp, #0x48]
-            ldp     x21, x22, [sp, #0x38]
-            ldp     x19, x20, [sp, #0x28]
+G_M12834_IG17:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x23, x24, [sp, #0x50]
+            ldp     x21, x22, [sp, #0x40]
+            ldp     x19, x20, [sp, #0x30]
             ldp     fp, lr, [sp], #0x60
             ret     lr
-                       ;; size=24 bbWeight=1 PerfScore 7.00
-G_M12834_IG19:        ; bbWeight=0, gcVars=0000000000020000 {V00}, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, gcvars, byref
+                      ;; size=20 bbWeight=1 PerfScore 5.00
+G_M12834_IG18:        ; bbWeight=0, gcVars=0000000000040000 {V00}, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs +[x20-x21]
             ; GC ptr vars +{V00}
             bl      CORINFO_HELP_READYTORUN_NONGCSTATIC_BASE
@@ -268,28 +264,27 @@ G_M12834_IG19:        ; bbWeight=0, gcVars=0000000000020000 {V00}, gcrefRegs=300
             ; gcr arg pop 0
             b       G_M12834_IG05
                        ;; size=8 bbWeight=0 PerfScore 0.00
-G_M12834_IG20:        ; bbWeight=1, gcVars=0000000000020020 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+G_M12834_IG19:        ; bbWeight=1, gcVars=0000000000040010 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
             ; gcrRegs -[x20-x21]
             ; byrRegs -[x0]
             ; GC ptr vars +{V04}
-            stp     fp, lr, [sp, #-0x50]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            stp     x23, x24, [sp, #0x38]
-            str     x25, [sp, #0x48]
-                       ;; size=20 bbWeight=1 PerfScore 5.00
-G_M12834_IG21:        ; bbWeight=1, gcVars=0000000000020020 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            ldr     w0, [fp, #0x24]    // [V03 loc0]
-            cbnz    w0, G_M12834_IG26
-            ldr     x0, [fp, #0x18]    // [V00 arg0]
+            stp     fp, lr, [sp, #-0x40]!
+            stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
+            stp     x23, x24, [sp, #0x30]
+                       ;; size=16 bbWeight=1 PerfScore 4.00
+G_M12834_IG20:        ; bbWeight=1, gcVars=0000000000040010 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
...
  
-8 (-1.82%) : 13524.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
@@ -9,9 +9,9 @@
 ;
 ;  V00 this         [V00,T10] (  3,  4   )     ref  ->  x20         this class-hnd single-def <System.Threading.Tasks.Task>
 ;  V01 arg1         [V01,T09] (  5,  4.50)     ref  ->  x19         class-hnd exact single-def <System.Threading.Tasks.Task+ContingentProperties>
-;  V02 loc0         [V02,T12] (  5,  3.50)     ref  ->  x21         class-hnd exact single-def <<unknown class>>
-;  V03 loc1         [V03,T16] (  3,  0.50)     ref  ->  [fp+0x18]  class-hnd exact EH-live spill-single-def <<unknown class>>
-;  V04 loc2         [V04,T14] (  3,  1   )   ubyte  ->  [fp+0x24]  do-not-enreg[Z] ld-addr-op EH-live
+;  V02 loc0         [V02,T13] (  5,  3.50)     ref  ->  x21         class-hnd exact single-def <<unknown class>>
+;  V03 loc1         [V03,T17] (  3,  0.50)     ref  ->  [fp+0x18]  class-hnd exact EH-live spill-single-def <<unknown class>>
+;  V04 loc2         [V04,T15] (  3,  1   )   ubyte  ->  [fp+0x24]  do-not-enreg[Z] ld-addr-op EH-live
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
 ;  V07 loc5         [V07,T11] (  3,  6   )     ref  ->  x24         class-hnd exact <<unknown class>>
@@ -28,19 +28,20 @@
 ;  V18 tmp10        [V18,T04] (  3, 12   )     ref  ->  x24         class-hnd exact "Inlining Arg" <<unknown class>>
 ;* V19 tmp11        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp12        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V21 tmp13        [V21,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V21 tmp13        [V21,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V22 tmp14        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <<unknown class>>
 ;  V23 tmp15        [V23,T02] (  4, 12.50)     ref  ->  x21         single-def "field V05._list (fldOffset=0x0)" P-INDEP
 ;  V24 tmp16        [V24,T03] (  3,  8   )     ref  ->  x24         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V25 tmp17        [V25,T00] (  6, 20.50)     int  ->  x23         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V26 tmp18        [V26,T06] (  3,  8.50)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
-;  V27 tmp19        [V27,T13] (  3,  1.50)     ref  ->  x21         single-def "field V12._list (fldOffset=0x0)" P-INDEP
+;  V26 tmp18        [V26,T12] (  2,  4.50)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V27 tmp19        [V27,T14] (  3,  1.50)     ref  ->  x21         single-def "field V12._list (fldOffset=0x0)" P-INDEP
 ;* V28 tmp20        [V28    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V12._current (fldOffset=0x8)" P-INDEP
-;* V29 tmp21        [V29,T17] (  0,  0   )     int  ->  zero-ref    "field V12._index (fldOffset=0x10)" P-INDEP
-;  V30 tmp22        [V30,T15] (  2,  1   )     int  ->  x22         "field V12._version (fldOffset=0x14)" P-INDEP
+;* V29 tmp21        [V29,T18] (  0,  0   )     int  ->  zero-ref    "field V12._index (fldOffset=0x10)" P-INDEP
+;  V30 tmp22        [V30,T16] (  2,  1   )     int  ->  x22         "field V12._version (fldOffset=0x14)" P-INDEP
 ;  V31 tmp23        [V31,T01] (  3, 24   )     ref  ->   x0         "arr expr"
-;  V32 cse0         [V32,T05] (  3, 12   )     int  ->  x24         "CSE - aggressive"
-;  V33 cse1         [V33,T07] (  4,  8   )   byref  ->  x25         "CSE - aggressive"
+;  V32 cse0         [V32,T08] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V33 cse1         [V33,T05] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V34 cse2         [V34,T06] (  4,  8   )   byref  ->  x25         "CSE - aggressive"
 ;
 ; Lcl frame size = 24
 
@@ -75,7 +76,7 @@ G_M37406_IG04:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             ; byrRegs +[x0]
             ldar    x21, [x0]
             ; gcrRegs +[x21]
-            cbz     x21, G_M37406_IG16
+            cbz     x21, G_M37406_IG15
                        ;; size=12 bbWeight=1 PerfScore 4.50
 G_M37406_IG05:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
             ; byrRegs -[x0]
@@ -83,7 +84,7 @@ G_M37406_IG05:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs
             ; GC ptr vars +{V03}
             str     wzr, [fp, #0x24]   // [V04 loc2]
                        ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M37406_IG06:        ; bbWeight=0.50, gcVars=0000000000010000 {V03}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref
+G_M37406_IG06:        ; bbWeight=0.50, gcVars=0000000000020000 {V03}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref
             mov     x0, x21
             ; gcrRegs +[x0]
             bl      <unknown method>
@@ -175,12 +176,12 @@ G_M37406_IG10:        ; bbWeight=2, gcrefRegs=1380000 {x19 x20 x21 x24}, byrefRe
             ; gcr arg pop 0
                        ;; size=16 bbWeight=2 PerfScore 5.00
 G_M37406_IG11:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
-            ldr     w24, [x21, #0x14]
-            cmp     w22, w24
-            bne     G_M37406_IG14
+            ldr     w0, [x21, #0x14]
+            cmp     w22, w0
+            bne     G_M37406_IG13
             ldr     w0, [x21, #0x10]
             cmp     w23, w0
-            bhs     G_M37406_IG15
+            bhs     G_M37406_IG14
             ldr     x0, [x21, #0x08]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x08]
@@ -205,12 +206,8 @@ G_M37406_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
-G_M37406_IG14:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M37406_IG14:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x19]
-            cmp     w22, w24
-            bne     G_M37406_IG13
-                       ;; size=8 bbWeight=4 PerfScore 6.00
-G_M37406_IG15:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ldr     x0, [fp, #0x18]  // [V03 loc1]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V03}
@@ -221,7 +218,7 @@ G_M37406_IG15:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             ; byrRegs +[x0]
             stlr    xzr, [x0]
                        ;; size=16 bbWeight=0.50 PerfScore 2.25
-G_M37406_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M37406_IG15:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x19]
             ; byrRegs -[x0]
             ldr     x25, [sp, #0x58]
@@ -231,7 +228,7 @@ G_M37406_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=24 bbWeight=1 PerfScore 7.00
-G_M37406_IG17:        ; bbWeight=0, gcVars=0000000000010000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+G_M37406_IG16:        ; bbWeight=0, gcVars=0000000000020000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
             ; GC ptr vars +{V03}
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x18]
@@ -239,9 +236,9 @@ G_M37406_IG17:        ; bbWeight=0, gcVars=0000000000010000 {V03}, gcrefRegs=000
             stp     x23, x24, [sp, #0x38]
             str     x25, [sp, #0x48]
                        ;; size=20 bbWeight=0 PerfScore 0.00
-G_M37406_IG18:        ; bbWeight=0, gcVars=0000000000010000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M37406_IG17:        ; bbWeight=0, gcVars=0000000000020000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldr     w0, [fp, #0x24]   // [V04 loc2]
-            cbz     w0, G_M37406_IG19
+            cbz     w0, G_M37406_IG18
             ldr     x0, [fp, #0x18]  // [V03 loc1]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V03}
@@ -249,7 +246,7 @@ G_M37406_IG18:        ; bbWeight=0, gcVars=0000000000010000 {V03}, gcrefRegs=000
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M37406_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M37406_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldr     x25, [sp, #0x48]
             ldp     x23, x24, [sp, #0x38]
             ldp     x21, x22, [sp, #0x28]
@@ -258,7 +255,7 @@ G_M37406_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 440, prolog size 32, PerfScore 199.50, instruction count 110, allocated bytes for code 440 (MethodHash=88f36de1) for method System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
+; Total bytes of code 432, prolog size 32, PerfScore 193.50, instruction count 108, allocated bytes for code 432 (MethodHash=88f36de1) for method System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
 ; ============================================================
 
 Cfi Info:
@@ -290,4 +287,4 @@ Cfi Info:
     CodeOffset: 0x14 Op: RelOffset DwarfReg:0x19 Offset:0x48
 *************** EH table for System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M37406_IG06..G_M37406_IG15) handled by [G_M37406_IG17..END) (fault)
+EH#0: try [G_M37406_IG06..G_M37406_IG14) handled by [G_M37406_IG16..END) (fault)
  
+0 (0.00%) : 3319.dasm - Internal.Runtime.TypeLoader.TypeLoaderEnvironment:FindMatchingInterfaceSlot(Internal.Runtime.TypeLoader.NativeFormatModuleInfo,Internal.NativeFormat.NativeReader,byref,byref,Internal.TypeSystem.InstantiatedMethod,Internal.TypeSystem.DefType,ubyte,ubyte):Internal.TypeSystem.InstantiatedMethod (FullOpts)
@@ -7,71 +7,71 @@
 ; partially interruptible
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] (  4, 68   )     ref  ->  x21         class-hnd exact single-def <Internal.Runtime.TypeLoader.NativeFormatModuleInfo>
-;  V01 arg1         [V01,T19] (  4, 68   )     ref  ->  x22         class-hnd exact single-def <Internal.NativeFormat.NativeReader>
+;  V00 arg0         [V00,T19] (  4, 68   )     ref  ->  x21         class-hnd exact single-def <Internal.Runtime.TypeLoader.NativeFormatModuleInfo>
+;  V01 arg1         [V01,T20] (  4, 68   )     ref  ->  x22         class-hnd exact single-def <Internal.NativeFormat.NativeReader>
 ;  V02 arg2         [V02,T00] ( 26,515   )   byref  ->  x19         single-def
-;  V03 arg3         [V03,T30] (  4, 20   )   byref  ->  x24         single-def
-;  V04 arg4         [V04,T43] (  5,  4.50)     ref  ->  x26         class-hnd exact single-def <Internal.TypeSystem.InstantiatedMethod>
+;  V03 arg3         [V03,T31] (  4, 20   )   byref  ->  x24         single-def
+;  V04 arg4         [V04,T44] (  5,  4.50)     ref  ->  x26         class-hnd exact single-def <Internal.TypeSystem.InstantiatedMethod>
 ;  V05 arg5         [V05,T15] (  7, 99   )     ref  ->  x20         class-hnd single-def <Internal.TypeSystem.DefType>
-;  V06 arg6         [V06,T20] (  3, 66   )   ubyte  ->  x23         single-def
-;  V07 arg7         [V07,T32] (  3, 18   )   ubyte  ->  x25         single-def
-;  V08 loc0         [V08,T47] (  3,  6   )     int  ->  x27         single-def
-;  V09 loc1         [V09,T22] (  4, 66   )     ref  ->  x28         class-hnd exact single-def <<unknown class>>
-;  V10 loc2         [V10,T13] (  4,129   )     ref  ->  [fp+0x30]  class-hnd spill-single-def <Internal.TypeSystem.TypeDesc>
-;  V11 loc3         [V11,T39] (  4, 13   )     int  ->  [fp+0xCC] 
-;  V12 loc4         [V12,T38] (  6, 14   )     int  ->  [fp+0xC8]  spill-single-def
-;  V13 loc5         [V13,T42] (  4,  7   )     ref  ->  [fp+0x28]  class-hnd exact <Internal.Runtime.CompilerServices.MethodNameAndSignature>
+;  V06 arg6         [V06,T21] (  3, 66   )   ubyte  ->  x23         single-def
+;  V07 arg7         [V07,T33] (  3, 18   )   ubyte  ->  x25         single-def
+;  V08 loc0         [V08,T48] (  3,  6   )     int  ->  x27         single-def
+;  V09 loc1         [V09,T23] (  4, 66   )     ref  ->  x28         class-hnd exact single-def <<unknown class>>
+;  V10 loc2         [V10,T16] (  4, 97   )     ref  ->  [fp+0x30]  class-hnd spill-single-def <Internal.TypeSystem.TypeDesc>
+;  V11 loc3         [V11,T40] (  4, 13   )     int  ->  [fp+0xCC] 
+;  V12 loc4         [V12,T39] (  6, 14   )     int  ->  [fp+0xC8]  spill-single-def
+;  V13 loc5         [V13,T43] (  4,  7   )     ref  ->  [fp+0x28]  class-hnd exact <Internal.Runtime.CompilerServices.MethodNameAndSignature>
 ;* V14 loc6         [V14    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.RuntimeTypeHandle>
-;  V15 loc7         [V15,T33] (  3, 20   )   ubyte  ->  [fp+0xC4] 
-;  V16 loc8         [V16,T29] (  3, 24   )     int  ->  [fp+0xC0]  spill-single-def
-;  V17 loc9         [V17,T25] (  4, 52   )     int  ->  [fp+0xBC] 
+;  V15 loc7         [V15,T34] (  3, 20   )   ubyte  ->  [fp+0xC4] 
+;  V16 loc8         [V16,T30] (  3, 24   )     int  ->  [fp+0xC0]  spill-single-def
+;  V17 loc9         [V17,T26] (  4, 52   )     int  ->  [fp+0xBC] 
 ;* V18 loc10        [V18    ] (  0,  0   )  struct ( 8) zero-ref    <System.RuntimeTypeHandle>
-;  V19 loc11        [V19,T12] (  5,160   )     int  ->  [fp+0xB8]  spill-single-def
+;  V19 loc11        [V19,T11] (  5,160   )     int  ->  [fp+0xB8]  spill-single-def
 ;* V20 loc12        [V20    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.RuntimeTypeHandle>
 ;  V21 loc13        [V21,T08] (  4,200   )     int  ->  [fp+0xB4] 
 ;  V22 loc14        [V22,T09] (  4,200   )     int  ->  [fp+0xB0] 
 ;  V23 loc15        [V23    ] (  3,192   )  struct (16) [fp+0xA0]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <Internal.NativeFormat.NativeParser>
 ;  V24 loc16        [V24,T04] (  5,320   )     ref  ->  [fp+0x20]  class-hnd exact spill-single-def <Internal.Runtime.TypeLoader.NativeLayoutInfoLoadContext>
-;  V25 loc17        [V25,T11] ( 11,179   )     ref  ->  [fp+0x18]  class-hnd spill-single-def <Internal.TypeSystem.TypeDesc>
-;  V26 loc18        [V26,T35] (  7, 18.50)     ref  ->  x22         class-hnd <Internal.TypeSystem.DefType>
-;  V27 loc19        [V27,T49] (  3,  5   )     ref  ->  x20         class-hnd <Internal.TypeSystem.DefType[]>
-;  V28 loc20        [V28,T36] (  5, 16.50)     int  ->  x24        
-;  V29 loc21        [V29,T28] (  6, 24   )     ref  ->  x27         class-hnd <Internal.TypeSystem.DefType>
-;  V30 loc22        [V30,T31] (  3, 20   )     ref  ->  x23         class-hnd <Internal.TypeSystem.DefType[]>
-;  V31 loc23        [V31,T21] (  5, 66   )     int  ->  [fp+0x9C] 
+;  V25 loc17        [V25,T12] ( 11,147   )     ref  ->  [fp+0x18]  class-hnd spill-single-def <Internal.TypeSystem.TypeDesc>
+;  V26 loc18        [V26,T36] (  7, 18.50)     ref  ->  x22         class-hnd <Internal.TypeSystem.DefType>
+;  V27 loc19        [V27,T50] (  3,  5   )     ref  ->  x20         class-hnd <Internal.TypeSystem.DefType[]>
+;  V28 loc20        [V28,T37] (  5, 16.50)     int  ->  x24        
+;  V29 loc21        [V29,T29] (  6, 24   )     ref  ->  x27         class-hnd <Internal.TypeSystem.DefType>
+;  V30 loc22        [V30,T32] (  3, 20   )     ref  ->  x23         class-hnd <Internal.TypeSystem.DefType[]>
+;  V31 loc23        [V31,T22] (  5, 66   )     int  ->  [fp+0x9C] 
 ;* V32 loc24        [V32    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <Internal.TypeSystem.DefType>
 ;# V33 OutArgs      [V33    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V34 tmp1         [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <Internal.Runtime.TypeLoader.NativeLayoutInfoLoadContext>
 ;  V35 tmp2         [V35,T06] (  2,256   )     ref  ->   x0         class-hnd exact "impAppendStmt" <Internal.Runtime.TypeLoader.ModuleList>
 ;* V36 tmp3         [V36    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <Internal.Runtime.TypeManagerHandle>
-;  V37 tmp4         [V37,T55] (  3,  2.25)     ref  ->   x1         "CASTCLASS eval op1"
-;  V38 tmp5         [V38,T63] (  3,  1.25)    long  ->   x2         "fgMakeTemp is creating a new local variable"
-;  V39 tmp6         [V39,T52] (  5,  3.75)     ref  ->  x22         class-hnd "spilling QMark2" <Internal.TypeSystem.DefType>
+;  V37 tmp4         [V37,T56] (  3,  2.25)     ref  ->   x1         "CASTCLASS eval op1"
+;  V38 tmp5         [V38,T64] (  3,  1.25)    long  ->   x2         "fgMakeTemp is creating a new local variable"
+;  V39 tmp6         [V39,T53] (  5,  3.75)     ref  ->  x22         class-hnd "spilling QMark2" <Internal.TypeSystem.DefType>
 ;* V40 tmp7         [V40    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <Internal.TypeSystem.Instantiation>
-;  V41 tmp8         [V41,T56] (  3,  2   )     ref  ->   x1         "CASTCLASS eval op1"
-;  V42 tmp9         [V42,T64] (  3,  1   )    long  ->   x3         "fgMakeTemp is creating a new local variable"
-;  V43 tmp10        [V43,T53] (  4,  3.50)     ref  ->   x0         class-hnd exact "spilling QMark2" <Internal.TypeSystem.InstantiatedMethod>
-;  V44 tmp11        [V44,T54] (  3,  2.50)    long  ->   x1         "fgMakeTemp is creating a new local variable"
-;  V45 tmp12        [V45,T57] (  3,  2   )     ref  ->   x0         class-hnd "spilling QMark2" <Internal.TypeSystem.DefType>
-;  V46 tmp13        [V46,T67] (  3,  0   )     ref  ->  x19         class-hnd exact "NewObj constructor temp" <<unknown class>>
-;  V47 tmp14        [V47,T68] (  3,  0   )     ref  ->  x19         class-hnd exact "NewObj constructor temp" <<unknown class>>
+;  V41 tmp8         [V41,T57] (  3,  2   )     ref  ->   x1         "CASTCLASS eval op1"
+;  V42 tmp9         [V42,T65] (  3,  1   )    long  ->   x3         "fgMakeTemp is creating a new local variable"
+;  V43 tmp10        [V43,T54] (  4,  3.50)     ref  ->   x0         class-hnd exact "spilling QMark2" <Internal.TypeSystem.InstantiatedMethod>
+;  V44 tmp11        [V44,T55] (  3,  2.50)    long  ->   x1         "fgMakeTemp is creating a new local variable"
+;  V45 tmp12        [V45,T58] (  3,  2   )     ref  ->   x0         class-hnd "spilling QMark2" <Internal.TypeSystem.DefType>
+;  V46 tmp13        [V46,T68] (  3,  0   )     ref  ->  x19         class-hnd exact "NewObj constructor temp" <<unknown class>>
+;  V47 tmp14        [V47,T69] (  3,  0   )     ref  ->  x19         class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V48 tmp15        [V48    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <Internal.Runtime.TypeManagerHandle>
 ;  V49 tmp16        [V49    ] (  2,  2   )     int  ->  [fp+0x90]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
-;  V50 tmp17        [V50,T59] (  4,  1.50)     ref  ->  registers   "guarded devirt return temp"
-;  V51 tmp18        [V51,T48] (  6,  5.66)     ref  ->   x0         single-def "guarded devirt arg temp"
+;  V50 tmp17        [V50,T60] (  4,  1.50)     ref  ->  registers   "guarded devirt return temp"
+;  V51 tmp18        [V51,T49] (  6,  5.66)     ref  ->   x0         single-def "guarded devirt arg temp"
 ;* V52 tmp19        [V52    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Internal.TypeSystem.MethodForInstantiatedType>
 ;* V53 tmp20        [V53    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Internal.TypeSystem.InstantiatedMethod>
 ;* V54 tmp21        [V54    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Internal.TypeSystem.NoMetadata.RuntimeMethodDesc>
 ;  V55 tmp22        [V55    ] (  3, 12   )     int  ->  [fp+0x88]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;  V56 tmp23        [V56    ] (  3,  6   )     int  ->  [fp+0x80]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
-;  V57 tmp24        [V57,T41] (  2,  8   )     int  ->   x1         "Inlining Arg"
+;  V57 tmp24        [V57,T42] (  2,  8   )     int  ->   x1         "Inlining Arg"
 ;* V58 tmp25        [V58    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V59 tmp26        [V59    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.RuntimeTypeHandle>
 ;* V60 tmp27        [V60    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.RuntimeTypeHandle>
-;  V61 tmp28        [V61,T40] (  2,  8   )   byref  ->   x0         "Inlining Arg"
+;  V61 tmp28        [V61,T41] (  2,  8   )   byref  ->   x0         "Inlining Arg"
 ;  V62 tmp29        [V62    ] (  3, 12   )     int  ->  [fp+0x78]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;  V63 tmp30        [V63    ] (  3, 48   )     int  ->  [fp+0x70]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
-;  V64 tmp31        [V64,T24] (  2, 64   )     int  ->   x1         "Inlining Arg"
+;  V64 tmp31        [V64,T25] (  2, 64   )     int  ->   x1         "Inlining Arg"
 ;* V65 tmp32        [V65    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V66 tmp33        [V66    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.RuntimeTypeHandle>
 ;  V67 tmp34        [V67    ] (  3, 48   )     int  ->  [fp+0x68]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
@@ -84,52 +84,53 @@
 ;  V74 tmp41        [V74,T10] (  3,192   )     ref  ->   x0         class-hnd exact "Inline stloc first use temp" <<unknown class>>
 ;* V75 tmp42        [V75    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <<unknown class>>
 ;  V76 tmp43        [V76,T05] (  3,256   )     ref  ->   x1         "CASTCLASS eval op1"
-;  V77 tmp44        [V77,T23] (  3, 64   )    long  ->   x0         "fgMakeTemp is creating a new local variable"
+;  V77 tmp44        [V77,T24] (  3, 64   )    long  ->   x0         "fgMakeTemp is creating a new local variable"
 ;  V78 tmp45        [V78,T01] (  4,416   )     ref  ->  x15         class-hnd exact "spilling QMark2" <Internal.Runtime.TypeLoader.NativeFormatModuleInfo>
 ;* V79 tmp46        [V79    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.RuntimeTypeHandle>
-;  V80 tmp47        [V80,T58] (  2,  2   )   byref  ->   x0         "Inlining Arg"
+;  V80 tmp47        [V80,T59] (  2,  2   )   byref  ->   x0         "Inlining Arg"
 ;* V81 tmp48        [V81    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.RuntimeTypeHandle>
-;* V82 tmp49        [V82,T66] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V82 tmp49        [V82,T67] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V83 tmp50        [V83    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <Internal.TypeSystem.Instantiation>
 ;* V84 tmp51        [V84    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Internal.TypeSystem.TypeDesc>
 ;* V85 tmp52        [V85    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.RuntimeTypeHandle>
-;  V86 tmp53        [V86,T60] (  3,  1.50)     ref  ->  x20         class-hnd "Inline return value spill temp" <Internal.TypeSystem.DefType[]>
+;  V86 tmp53        [V86,T61] (  3,  1.50)     ref  ->  x20         class-hnd "Inline return value spill temp" <Internal.TypeSystem.DefType[]>
 ;* V87 tmp54        [V87    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Internal.TypeSystem.TypeDesc>
 ;* V88 tmp55        [V88    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.RuntimeTypeHandle>
-;  V89 tmp56        [V89,T44] (  3,  6   )     ref  ->  x23         class-hnd "Inline return value spill temp" <Internal.TypeSystem.DefType[]>
+;  V89 tmp56        [V89,T45] (  3,  6   )     ref  ->  x23         class-hnd "Inline return value spill temp" <Internal.TypeSystem.DefType[]>
 ;* V90 tmp57        [V90    ] (  0,  0   )     int  ->  zero-ref   
 ;* V91 tmp58        [V91    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V92 tmp59        [V92    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V93 tmp60        [V93    ] (  0,  0   )     int  ->  zero-ref   
 ;* V94 tmp61        [V94    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V95 tmp62        [V95    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V96 tmp63        [V96,T37] (  7, 13.50)    long  ->  [fp+0x50]  "field V14._value (fldOffset=0x0)" P-INDEP
+;  V96 tmp63        [V96,T38] (  7, 13.50)    long  ->  [fp+0x50]  "field V14._value (fldOffset=0x0)" P-INDEP
 ;* V97 tmp64        [V97    ] (  0,  0   )    long  ->  zero-ref    "field V18._value (fldOffset=0x0)" P-INDEP
-;  V98 tmp65        [V98,T26] (  6, 41   )    long  ->   x3         "field V20._value (fldOffset=0x0)" P-INDEP
+;  V98 tmp65        [V98,T27] (  6, 41   )    long  ->   x3         "field V20._value (fldOffset=0x0)" P-INDEP
 ;  V99 tmp66        [V99    ] (  2,128   )     ref  ->  [fp+0xA0]  do-not-enreg[X] addr-exposed "field V23._reader (fldOffset=0x0)" P-DEP
 ;  V100 tmp67       [V100    ] (  2,128   )     int  ->  [fp+0xA8]  do-not-enreg[X] addr-exposed "field V23._offset (fldOffset=0x8)" P-DEP
-;  V101 tmp68       [V101,T14] (  2,128   )    long  ->   x1         "field V36._handleValue (fldOffset=0x0)" P-INDEP
+;  V101 tmp68       [V101,T13] (  2,128   )    long  ->   x1         "field V36._handleValue (fldOffset=0x0)" P-INDEP
 ;* V102 tmp69       [V102    ] (  0,  0   )     ref  ->  zero-ref    "field V40._genericParameters (fldOffset=0x0)" P-INDEP
 ;* V103 tmp70       [V103    ] (  0,  0   )    long  ->  zero-ref    "field V48._handleValue (fldOffset=0x0)" P-INDEP
-;  V104 tmp71       [V104,T51] (  2,  4   )    long  ->   x5         "field V59._value (fldOffset=0x0)" P-INDEP
+;  V104 tmp71       [V104,T52] (  2,  4   )    long  ->   x5         "field V59._value (fldOffset=0x0)" P-INDEP
 ;* V105 tmp72       [V105    ] (  0,  0   )    long  ->  zero-ref    "field V60._value (fldOffset=0x0)" P-INDEP
-;  V106 tmp73       [V106,T27] (  2, 32   )    long  ->  [fp+0x48]  spill-single-def "field V66._value (fldOffset=0x0)" P-INDEP
+;  V106 tmp73       [V106,T28] (  2, 32   )    long  ->  [fp+0x48]  spill-single-def "field V66._value (fldOffset=0x0)" P-INDEP
 ;* V107 tmp74       [V107    ] (  0,  0   )    long  ->  zero-ref    "field V69._value (fldOffset=0x0)" P-INDEP
 ;* V108 tmp75       [V108    ] (  0,  0   )    long  ->  zero-ref    "field V79._value (fldOffset=0x0)" P-INDEP
 ;* V109 tmp76       [V109    ] (  0,  0   )    long  ->  zero-ref    "field V81._value (fldOffset=0x0)" P-INDEP
-;  V110 tmp77       [V110,T65] (  2,  1   )     ref  ->   x0         "field V83._genericParameters (fldOffset=0x0)" P-INDEP
+;  V110 tmp77       [V110,T66] (  2,  1   )     ref  ->   x0         "field V83._genericParameters (fldOffset=0x0)" P-INDEP
 ;* V111 tmp78       [V111    ] (  0,  0   )    long  ->  zero-ref    "field V85._value (fldOffset=0x0)" P-INDEP
 ;* V112 tmp79       [V112    ] (  0,  0   )    long  ->  zero-ref    "field V88._value (fldOffset=0x0)" P-INDEP
-;  V113 tmp80       [V113,T45] (  3,  6   )     ref  ->   x0         single-def "argument with side effect"
+;  V113 tmp80       [V113,T46] (  3,  6   )     ref  ->   x0         single-def "argument with side effect"
 ;  V114 tmp81       [V114,T02] (  3,384   )     ref  ->  [fp+0x10]  spill-single-def "arr expr"
 ;  V115 tmp82       [V115,T03] (  3,384   )     int  ->   x0         "index expr"
-;  V116 tmp83       [V116,T16] (  3, 96   )     ref  ->   x0         "argument with side effect"
-;  V117 cse0        [V117,T62] (  3,  1.50)     int  ->   x0         "CSE - moderate"
-;  V118 cse1        [V118,T46] (  3,  6   )     ref  ->  x23         "CSE - moderate"
-;  V119 cse2        [V119,T61] (  3,  1.50)     ref  ->  x23         "CSE - moderate"
-;  V120 cse3        [V120,T17] (  3, 96   )    long  ->  [fp+0x40]  spill-single-def "CSE - moderate"
-;  V121 cse4        [V121,T34] (  3, 20   )     int  ->  [fp+0x3C]  spill-single-def "CSE - moderate"
-;  V122 cse5        [V122,T50] (  3,  5   )     int  ->  x25         "CSE - moderate"
+;  V116 tmp83       [V116,T17] (  3, 96   )     ref  ->   x0         "argument with side effect"
+;  V117 cse0        [V117,T63] (  3,  1.50)     int  ->   x0         "CSE - moderate"
+;  V118 cse1        [V118,T47] (  3,  6   )     ref  ->  x23         "CSE - moderate"
+;  V119 cse2        [V119,T62] (  3,  1.50)     ref  ->  x23         "CSE - moderate"
+;  V120 cse3        [V120,T18] (  3, 96   )    long  ->  [fp+0x40]  spill-single-def "CSE - moderate"
+;  V121 cse4        [V121,T14] (  2,128   )     int  ->   x0         "CSE - aggressive"
+;  V122 cse5        [V122,T35] (  3, 20   )     int  ->  [fp+0x3C]  spill-single-def "CSE - moderate"
+;  V123 cse6        [V123,T51] (  3,  5   )     int  ->  x25         "CSE - moderate"
 ;
 ; Lcl frame size = 192
 
@@ -221,7 +222,7 @@ G_M18606_IG07:        ; bbWeight=1, gcrefRegs=14700002 {x1 x20 x21 x22 x26 x28},
             str     wzr, [fp, #0xCC]   // [V11 loc3]
             cbz     w27, G_M18606_IG26
                        ;; size=12 bbWeight=1 PerfScore 3.00
-G_M18606_IG08:        ; bbWeight=4, gcVars=00000000000000000000000000002000 {V10}, gcrefRegs=14700000 {x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, gcvars, byref, isz
+G_M18606_IG08:        ; bbWeight=4, gcVars=00000000000000000000000000010000 {V10}, gcrefRegs=14700000 {x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, gcvars, byref, isz
             ; gcrRegs -[x1]
             str     wzr, [fp, #0x88]   // [V55 tmp22]
             ldr     x0, [x19]
@@ -278,7 +279,7 @@ G_M18606_IG09:        ; bbWeight=2, gcrefRegs=14700000 {x20 x21 x22 x26 x28}, by
             str     w4, [fp, #0xC4]    // [V15 loc7]
             b       G_M18606_IG11
                        ;; size=104 bbWeight=2 PerfScore 64.00
-G_M18606_IG10:        ; bbWeight=2, gcVars=00000000000000000000000000002000 {V10}, gcrefRegs=14700010 {x4 x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, gcvars, byref
+G_M18606_IG10:        ; bbWeight=2, gcVars=00000000000000000000000000010000 {V10}, gcrefRegs=14700010 {x4 x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, gcvars, byref
             ; gcrRegs +[x4]
             ; GC ptr vars -{V13}
             mov     w0, #1
@@ -287,7 +288,7 @@ G_M18606_IG10:        ; bbWeight=2, gcVars=00000000000000000000000000002000 {V10
             str     x4, [fp, #0x28]    // [V13 loc5]
             ; GC ptr vars +{V13}
                        ;; size=16 bbWeight=2 PerfScore 7.00
-G_M18606_IG11:        ; bbWeight=4, gcVars=00000000000000000000040000002000 {V10 V13}, gcrefRegs=14700000 {x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, gcvars, byref, isz
+G_M18606_IG11:        ; bbWeight=4, gcVars=00000000000000000000080000010000 {V10 V13}, gcrefRegs=14700000 {x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, gcvars, byref, isz
             ; gcrRegs -[x4]
             str     wzr, [fp, #0x78]   // [V62 tmp29]
             ldr     x0, [x19]
@@ -399,7 +400,7 @@ G_M18606_IG17:        ; bbWeight=64, gcrefRegs=14700000 {x20 x21 x22 x26 x28}, b
             ldr     x0, [x0, #-0x08]
             cbnz    x0, G_M18606_IG53
                        ;; size=72 bbWeight=64 PerfScore 1568.00
-G_M18606_IG18:        ; bbWeight=64, gcVars=00000000000000000000040000002010 {V10 V13 V24}, gcrefRegs=14700000 {x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, gcvars, byref, isz
+G_M18606_IG18:        ; bbWeight=64, gcVars=00000000000000000000080000010010 {V10 V13 V24}, gcrefRegs=14700000 {x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, gcvars, byref, isz
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x0]
@@ -429,7 +430,7 @@ G_M18606_IG18:        ; bbWeight=64, gcVars=00000000000000000000040000002010 {V1
             ; gcrRegs +[x15]
             cbz     x15, G_M18606_IG20
                        ;; size=76 bbWeight=64 PerfScore 2272.00
-G_M18606_IG19:        ; bbWeight=16, gcVars=00000000000000000000040000002010 {V10 V13 V24}, gcrefRegs=14708002 {x1 x15 x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, gcvars, byref, isz
+G_M18606_IG19:        ; bbWeight=16, gcVars=00000000000000000000080000010010 {V10 V13 V24}, gcrefRegs=14708002 {x1 x15 x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, gcvars, byref, isz
             ; byrRegs -[x14]
             ; GC ptr vars -{V114}
             ldr     x14, [x15]
@@ -478,11 +479,11 @@ G_M18606_IG20:        ; bbWeight=64, gcrefRegs=14708000 {x15 x20 x21 x22 x26 x28
             ; gcrRegs +[x2]
             str     x2, [fp, #0x18]    // [V25 loc17]
             ; GC ptr vars +{V25}
-            tst     w23, #255
-            bne     G_M18606_IG22
-                       ;; size=84 bbWeight=64 PerfScore 1344.00
-G_M18606_IG21:        ; bbWeight=32, gcVars=00000000000000000000040000002800 {V10 V13 V25}, gcrefRegs=14700004 {x2 x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, gcvars, byref, isz
+            uxtb    w0, w23
             ; gcrRegs -[x0]
+            cbnz    w0, G_M18606_IG22
+                       ;; size=84 bbWeight=64 PerfScore 1344.00
+G_M18606_IG21:        ; bbWeight=32, gcVars=00000000000000000000080000011000 {V10 V13 V25}, gcrefRegs=14700004 {x2 x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, gcvars, byref, isz
             ldr     x0, [fp, #0x30]    // [V10 loc2]
             ; gcrRegs +[x0]
             mov     x1, x2
@@ -494,7 +495,7 @@ G_M18606_IG21:        ; bbWeight=32, gcVars=00000000000000000000040000002800 {V1
             cbnz    w0, G_M18606_IG28
             b       G_M18606_IG23
                        ;; size=28 bbWeight=32 PerfScore 368.00
-G_M18606_IG22:        ; bbWeight=64, gcrefRegs=14700004 {x2 x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, byref, isz
+G_M18606_IG22:        ; bbWeight=32, gcrefRegs=14700004 {x2 x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, byref, isz
...
  
+0 (0.00%) : 5036.dasm - System.Reflection.Runtime.BindingFlagSupport.QueriedMemberList1[System.__Canon]:Create(System.Reflection.Runtime.BindingFlagSupport.MemberPolicies1[System.Canon],System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo,System.String,ubyte):System.Reflection.Runtime.BindingFlagSupport.QueriedMemberList`1[System.Canon] (FullOpts)
 
+0 (0.00%) : 12296.dasm - System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo:GetMemberWithSameMetadataDefinitionAs(System.Reflection.MemberInfo):System.Reflection.MemberInfo:this (FullOpts)
 
  
  
Details
Improvements/regressions per collection
| Collection | Contexts with diffs | Improvements | Regressions | Same size | Improvements (bytes) | Regressions (bytes) | 
| benchmarks.run.linux.arm64.checked.mch | 19 | 19 | 0 | 0 | -164 | +0 | 
| benchmarks.run_pgo.linux.arm64.checked.mch | 78 | 27 | 50 | 1 | -516 | +688 | 
| benchmarks.run_tiered.linux.arm64.checked.mch | 10 | 10 | 0 | 0 | -80 | +0 | 
| coreclr_tests.run.linux.arm64.checked.mch | 46 | 42 | 2 | 2 | -756 | +8 | 
| libraries.crossgen2.linux.arm64.checked.mch | 26 | 23 | 2 | 1 | -236 | +20 | 
| libraries.pmi.linux.arm64.checked.mch | 158 | 146 | 5 | 7 | -2,364 | +52 | 
| libraries_tests.run.linux.arm64.Release.mch | 60 | 59 | 1 | 0 | -1,040 | +12 | 
| librariestestsnotieredcompilation.run.linux.arm64.Release.mch | 220 | 187 | 13 | 20 | -2,620 | +100 | 
| realworld.run.linux.arm64.checked.mch | 32 | 31 | 1 | 0 | -332 | +16 | 
| smoke_tests.nativeaot.linux.arm64.checked.mch | 11 | 8 | 0 | 3 | -88 | +0 | 
|  | 660 | 552 | 74 | 34 | -8,196 | +896 | 
Context information
| Collection | Diffed contexts | MinOpts | FullOpts | Missed, base | Missed, diff | 
| benchmarks.run.linux.arm64.checked.mch | 28,842 | 1,210 | 27,632 | 50 (0.17%) | 50 (0.17%) | 
| benchmarks.run_pgo.linux.arm64.checked.mch | 125,945 | 51,761 | 74,184 | 54 (0.04%) | 54 (0.04%) | 
| benchmarks.run_tiered.linux.arm64.checked.mch | 57,979 | 43,144 | 14,835 | 47 (0.08%) | 47 (0.08%) | 
| coreclr_tests.run.linux.arm64.checked.mch | 393,725 | 185,167 | 208,558 | 148 (0.04%) | 148 (0.04%) | 
| libraries.crossgen2.linux.arm64.checked.mch | 264,907 | 15 | 264,892 | 1 (0.00%) | 1 (0.00%) | 
| libraries.pmi.linux.arm64.checked.mch | 295,798 | 6 | 295,792 | 72 (0.02%) | 74 (0.03%) | 
| libraries_tests.run.linux.arm64.Release.mch | 88,388 | 65,551 | 22,837 | 9 (0.01%) | 9 (0.01%) | 
| librariestestsnotieredcompilation.run.linux.arm64.Release.mch | 302,974 | 21,620 | 281,354 | 2,285 (0.75%) | 2,287 (0.75%) | 
| realworld.run.linux.arm64.checked.mch | 33,408 | 163 | 33,245 | 10 (0.03%) | 10 (0.03%) | 
| smoke_tests.nativeaot.linux.arm64.checked.mch | 18,940 | 7 | 18,933 | 114 (0.60%) | 114 (0.60%) | 
|  | 1,610,906 | 368,644 | 1,242,262 | 2,790 (0.17%) | 2,794 (0.17%) | 
jit-analyze output
benchmarks.run.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 13063852 (overridden on cmd)
Total bytes of diff: 13063688 (overridden on cmd)
Total bytes of delta: -164 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file improvements (bytes):
         -24 : 3782.dasm (-4.92 % of base)
         -12 : 14829.dasm (-0.60 % of base)
         -12 : 69.dasm (-1.06 % of base)
         -12 : 1338.dasm (-1.44 % of base)
         -12 : 6839.dasm (-1.94 % of base)
         -12 : 7204.dasm (-0.35 % of base)
          -8 : 1187.dasm (-0.15 % of base)
          -8 : 12313.dasm (-0.34 % of base)
          -8 : 12036.dasm (-0.15 % of base)
          -8 : 1563.dasm (-0.33 % of base)
          -8 : 21225.dasm (-0.60 % of base)
          -8 : 2495.dasm (-0.90 % of base)
          -8 : 6652.dasm (-1.82 % of base)
          -4 : 2217.dasm (-0.19 % of base)
          -4 : 2770.dasm (-0.62 % of base)
          -4 : 10007.dasm (-0.29 % of base)
          -4 : 15521.dasm (-0.04 % of base)
          -4 : 23173.dasm (-0.43 % of base)
          -4 : 2799.dasm (-0.39 % of base)
19 total files with Code Size differences (19 improved, 0 regressed), 0 unchanged.
Top method improvements (bytes):
         -24 (-4.92 % of base) : 3782.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -12 (-0.35 % of base) : 7204.dasm - ProtoBuf.Internal.Serializers.TypeSerializer`1[System.__Canon]:ProtoBuf.Internal.Serializers.IRuntimeProtoSerializerNode.EmitRead(ProtoBuf.Compiler.CompilerContext,ProtoBuf.Compiler.Local):this (FullOpts)
         -12 (-1.44 % of base) : 1338.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
         -12 (-1.06 % of base) : 69.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
         -12 (-0.60 % of base) : 14829.dasm - System.Formats.Tar.TarReader+<DisposeAsync>d__8:MoveNext():this (FullOpts)
         -12 (-1.94 % of base) : 6839.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -8 (-0.15 % of base) : 12036.dasm - Jil.Deserialize.InlineDeserializer`1[System.__Canon]:ReadObjectAutomata(System.Type):this (FullOpts)
          -8 (-0.60 % of base) : 21225.dasm - System.Diagnostics.ProcessWaitState:CheckChildren(ubyte,ubyte) (FullOpts)
          -8 (-0.34 % of base) : 12313.dasm - System.Environment:ReadXdgDirectory(System.String,System.String,System.String):System.String (FullOpts)
          -8 (-1.82 % of base) : 6652.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
          -8 (-0.33 % of base) : 1563.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (FullOpts)
          -8 (-0.15 % of base) : 1187.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
          -8 (-0.90 % of base) : 2495.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
          -4 (-0.62 % of base) : 2770.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -4 (-0.43 % of base) : 23173.dasm - System.IO.BinaryReader:Read():int:this (FullOpts)
          -4 (-0.19 % of base) : 2217.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -4 (-0.04 % of base) : 15521.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (FullOpts)
          -4 (-0.29 % of base) : 10007.dasm - System.Text.RegularExpressions.RegexWriter:EmitCode():System.Text.RegularExpressions.RegexInterpreterCode:this (FullOpts)
          -4 (-0.39 % of base) : 2799.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
Top method improvements (percentages):
         -24 (-4.92 % of base) : 3782.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -12 (-1.94 % of base) : 6839.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -8 (-1.82 % of base) : 6652.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
         -12 (-1.44 % of base) : 1338.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
         -12 (-1.06 % of base) : 69.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
          -8 (-0.90 % of base) : 2495.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
          -4 (-0.62 % of base) : 2770.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -8 (-0.60 % of base) : 21225.dasm - System.Diagnostics.ProcessWaitState:CheckChildren(ubyte,ubyte) (FullOpts)
         -12 (-0.60 % of base) : 14829.dasm - System.Formats.Tar.TarReader+<DisposeAsync>d__8:MoveNext():this (FullOpts)
          -4 (-0.43 % of base) : 23173.dasm - System.IO.BinaryReader:Read():int:this (FullOpts)
          -4 (-0.39 % of base) : 2799.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
         -12 (-0.35 % of base) : 7204.dasm - ProtoBuf.Internal.Serializers.TypeSerializer`1[System.__Canon]:ProtoBuf.Internal.Serializers.IRuntimeProtoSerializerNode.EmitRead(ProtoBuf.Compiler.CompilerContext,ProtoBuf.Compiler.Local):this (FullOpts)
          -8 (-0.34 % of base) : 12313.dasm - System.Environment:ReadXdgDirectory(System.String,System.String,System.String):System.String (FullOpts)
          -8 (-0.33 % of base) : 1563.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (FullOpts)
          -4 (-0.29 % of base) : 10007.dasm - System.Text.RegularExpressions.RegexWriter:EmitCode():System.Text.RegularExpressions.RegexInterpreterCode:this (FullOpts)
          -4 (-0.19 % of base) : 2217.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -8 (-0.15 % of base) : 12036.dasm - Jil.Deserialize.InlineDeserializer`1[System.__Canon]:ReadObjectAutomata(System.Type):this (FullOpts)
          -8 (-0.15 % of base) : 1187.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
          -4 (-0.04 % of base) : 15521.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (FullOpts)
19 total methods with Code Size differences (19 improved, 0 regressed).
  
benchmarks.run_pgo.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 65248792 (overridden on cmd)
Total bytes of diff: 65248964 (overridden on cmd)
Total bytes of delta: 172 (0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          48 : 106509.dasm (1.50 % of base)
          36 : 25717.dasm (1.12 % of base)
          32 : 75015.dasm (1.01 % of base)
          28 : 44358.dasm (0.83 % of base)
          28 : 60605.dasm (0.47 % of base)
          28 : 8490.dasm (0.87 % of base)
          28 : 94622.dasm (0.83 % of base)
          20 : 30058.dasm (0.63 % of base)
          20 : 68336.dasm (0.63 % of base)
          20 : 114346.dasm (0.58 % of base)
          16 : 104761.dasm (0.49 % of base)
          16 : 116682.dasm (0.48 % of base)
          16 : 80360.dasm (0.48 % of base)
          12 : 31968.dasm (0.61 % of base)
          12 : 48967.dasm (0.61 % of base)
          12 : 78395.dasm (0.61 % of base)
          12 : 79479.dasm (0.60 % of base)
          12 : 93518.dasm (0.61 % of base)
          12 : 98022.dasm (0.61 % of base)
          12 : 111857.dasm (0.61 % of base)
Top file improvements (bytes):
         -40 : 125707.dasm (-1.62 % of base)
         -40 : 84108.dasm (-2.17 % of base)
         -40 : 88282.dasm (-2.17 % of base)
         -40 : 94369.dasm (-1.80 % of base)
         -40 : 96304.dasm (-1.80 % of base)
         -40 : 98122.dasm (-1.67 % of base)
         -40 : 116786.dasm (-1.62 % of base)
         -20 : 105604.dasm (-2.87 % of base)
         -16 : 16952.dasm (-1.29 % of base)
         -16 : 20731.dasm (-1.29 % of base)
         -16 : 24887.dasm (-1.29 % of base)
         -16 : 47978.dasm (-1.29 % of base)
         -16 : 4942.dasm (-1.29 % of base)
         -16 : 60440.dasm (-1.29 % of base)
         -16 : 8235.dasm (-1.29 % of base)
         -16 : 85868.dasm (-1.29 % of base)
         -12 : 5815.dasm (-2.52 % of base)
         -12 : 66822.dasm (-0.95 % of base)
         -12 : 90403.dasm (-1.72 % of base)
         -12 : 9930.dasm (-1.30 % of base)
48 total files with Code Size differences (23 improved, 25 regressed), 1 unchanged.
Top method regressions (bytes):
          48 (1.50 % of base) : 106509.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          36 (1.12 % of base) : 25717.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          32 (1.01 % of base) : 75015.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          28 (0.83 % of base) : 44358.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          28 (0.47 % of base) : 60605.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          28 (0.87 % of base) : 8490.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          28 (0.83 % of base) : 94622.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          20 (0.63 % of base) : 30058.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          20 (0.63 % of base) : 68336.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          20 (0.58 % of base) : 114346.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          16 (0.49 % of base) : 104761.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          16 (0.48 % of base) : 116682.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          16 (0.48 % of base) : 80360.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          12 (0.61 % of base) : 31968.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          12 (0.61 % of base) : 48967.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          12 (0.61 % of base) : 78395.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          12 (0.60 % of base) : 79479.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          12 (0.61 % of base) : 93518.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          12 (0.61 % of base) : 98022.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          12 (0.61 % of base) : 111857.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
Top method improvements (bytes):
         -40 (-2.17 % of base) : 88282.dasm - LinqBenchmarks:Where00LinqMethodX():ubyte:this (Tier1-OSR)
         -40 (-2.17 % of base) : 84108.dasm - LinqBenchmarks:Where00LinqQueryX():ubyte:this (Tier1-OSR)
         -40 (-1.67 % of base) : 98122.dasm - LinqBenchmarks:Where01LinqMethodNestedX():ubyte:this (Tier1-OSR)
         -40 (-1.80 % of base) : 96304.dasm - LinqBenchmarks:Where01LinqMethodX():ubyte:this (Tier1-OSR)
         -40 (-1.80 % of base) : 94369.dasm - LinqBenchmarks:Where01LinqQueryX():ubyte:this (Tier1-OSR)
         -40 (-1.62 % of base) : 125707.dasm - System.Linq.Lookup`2[System.__Canon,System.__Canon]:Create(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Linq.Lookup`2[System.__Canon,System.__Canon] (Tier1)
         -40 (-1.62 % of base) : 116786.dasm - System.Linq.Lookup`2[System.__Canon,System.__Canon]:Create(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Linq.Lookup`2[System.__Canon,System.__Canon] (Tier1)
         -20 (-2.87 % of base) : 105604.dasm - System.Linq.Enumerable:Count[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (Tier1)
         -16 (-1.29 % of base) : 16952.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
         -16 (-1.29 % of base) : 20731.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
         -16 (-1.29 % of base) : 24887.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
         -16 (-1.29 % of base) : 47978.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
         -16 (-1.29 % of base) : 4942.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
         -16 (-1.29 % of base) : 60440.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
         -16 (-1.29 % of base) : 8235.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
         -16 (-1.29 % of base) : 85868.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
         -12 (-0.36 % of base) : 110174.dasm - BenchmarksGame.pidigits:Run(ubyte):this (Tier1-OSR)
         -12 (-1.72 % of base) : 90403.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
         -12 (-2.52 % of base) : 5815.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -12 (-0.95 % of base) : 66822.dasm - System.Reflection.RuntimeParameterInfo:GetParameters(System.IRuntimeMethodInfo,System.Reflection.MemberInfo,System.Signature,byref,ubyte):System.Reflection.ParameterInfo[] (Tier1)
Top method regressions (percentages):
          48 (1.50 % of base) : 106509.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          36 (1.12 % of base) : 25717.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          32 (1.01 % of base) : 75015.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          28 (0.87 % of base) : 8490.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          28 (0.83 % of base) : 94622.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          28 (0.83 % of base) : 44358.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          20 (0.63 % of base) : 30058.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          20 (0.63 % of base) : 68336.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          12 (0.61 % of base) : 31968.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          12 (0.61 % of base) : 48967.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          12 (0.61 % of base) : 78395.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          12 (0.61 % of base) : 93518.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          12 (0.61 % of base) : 98022.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          12 (0.61 % of base) : 111857.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          12 (0.61 % of base) : 125220.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          12 (0.61 % of base) : 110282.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          12 (0.61 % of base) : 115031.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          12 (0.61 % of base) : 116665.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          12 (0.61 % of base) : 123459.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          12 (0.60 % of base) : 79479.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
Top method improvements (percentages):
          -4 (-3.23 % of base) : 110151.dasm - System.Numerics.BigIntegerCalculator:Compare(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint]):int (Tier1)
         -20 (-2.87 % of base) : 105604.dasm - System.Linq.Enumerable:Count[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (Tier1)
         -12 (-2.52 % of base) : 5815.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -40 (-2.17 % of base) : 88282.dasm - LinqBenchmarks:Where00LinqMethodX():ubyte:this (Tier1-OSR)
         -40 (-2.17 % of base) : 84108.dasm - LinqBenchmarks:Where00LinqQueryX():ubyte:this (Tier1-OSR)
         -40 (-1.80 % of base) : 96304.dasm - LinqBenchmarks:Where01LinqMethodX():ubyte:this (Tier1-OSR)
         -40 (-1.80 % of base) : 94369.dasm - LinqBenchmarks:Where01LinqQueryX():ubyte:this (Tier1-OSR)
         -12 (-1.72 % of base) : 90403.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
         -40 (-1.67 % of base) : 98122.dasm - LinqBenchmarks:Where01LinqMethodNestedX():ubyte:this (Tier1-OSR)
         -40 (-1.62 % of base) : 125707.dasm - System.Linq.Lookup`2[System.__Canon,System.__Canon]:Create(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Linq.Lookup`2[System.__Canon,System.__Canon] (Tier1)
         -40 (-1.62 % of base) : 116786.dasm - System.Linq.Lookup`2[System.__Canon,System.__Canon]:Create(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Linq.Lookup`2[System.__Canon,System.__Canon] (Tier1)
         -12 (-1.30 % of base) : 9930.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (Tier0-FullOpts)
         -16 (-1.29 % of base) : 16952.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
         -16 (-1.29 % of base) : 20731.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
         -16 (-1.29 % of base) : 24887.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
         -16 (-1.29 % of base) : 47978.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
         -16 (-1.29 % of base) : 4942.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
         -16 (-1.29 % of base) : 60440.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
         -16 (-1.29 % of base) : 8235.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
         -16 (-1.29 % of base) : 85868.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
  
benchmarks.run_tiered.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 20463728 (overridden on cmd)
Total bytes of diff: 20463648 (overridden on cmd)
Total bytes of delta: -80 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file improvements (bytes):
         -24 : 3296.dasm (-4.92 % of base)
         -12 : 1233.dasm (-1.06 % of base)
          -8 : 29008.dasm (-0.33 % of base)
          -8 : 3031.dasm (-0.15 % of base)
          -8 : 11528.dasm (-0.90 % of base)
          -4 : 51995.dasm (-0.29 % of base)
          -4 : 6323.dasm (-0.19 % of base)
          -4 : 18572.dasm (-0.60 % of base)
          -4 : 52538.dasm (-0.39 % of base)
          -4 : 47520.dasm (-0.43 % of base)
10 total files with Code Size differences (10 improved, 0 regressed), 0 unchanged.
Top method improvements (bytes):
         -24 (-4.92 % of base) : 3296.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -12 (-1.06 % of base) : 1233.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -8 (-0.33 % of base) : 29008.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (Tier1)
          -8 (-0.15 % of base) : 3031.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (Tier0-FullOpts)
          -8 (-0.90 % of base) : 11528.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (Tier0-FullOpts)
          -4 (-0.60 % of base) : 18572.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
          -4 (-0.43 % of base) : 47520.dasm - System.IO.BinaryReader:Read():int:this (Tier0-FullOpts)
          -4 (-0.19 % of base) : 6323.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -4 (-0.29 % of base) : 51995.dasm - System.Text.RegularExpressions.RegexWriter:EmitCode():System.Text.RegularExpressions.RegexInterpreterCode:this (Tier1)
          -4 (-0.39 % of base) : 52538.dasm - System.Threading.TimerQueue:TimerThread() (Tier1-OSR)
Top method improvements (percentages):
         -24 (-4.92 % of base) : 3296.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -12 (-1.06 % of base) : 1233.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -8 (-0.90 % of base) : 11528.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (Tier0-FullOpts)
          -4 (-0.60 % of base) : 18572.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
          -4 (-0.43 % of base) : 47520.dasm - System.IO.BinaryReader:Read():int:this (Tier0-FullOpts)
          -4 (-0.39 % of base) : 52538.dasm - System.Threading.TimerQueue:TimerThread() (Tier1-OSR)
          -8 (-0.33 % of base) : 29008.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (Tier1)
          -4 (-0.29 % of base) : 51995.dasm - System.Text.RegularExpressions.RegexWriter:EmitCode():System.Text.RegularExpressions.RegexInterpreterCode:this (Tier1)
          -4 (-0.19 % of base) : 6323.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -8 (-0.15 % of base) : 3031.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (Tier0-FullOpts)
10 total methods with Code Size differences (10 improved, 0 regressed).
  
coreclr_tests.run.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 301233192 (overridden on cmd)
Total bytes of diff: 301232444 (overridden on cmd)
Total bytes of delta: -748 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
           4 : 219647.dasm (0.08 % of base)
           4 : 316461.dasm (0.10 % of base)
Top file improvements (bytes):
         -60 : 293203.dasm (-0.63 % of base)
         -40 : 197342.dasm (-5.29 % of base)
         -36 : 314789.dasm (-0.65 % of base)
         -36 : 344150.dasm (-1.05 % of base)
         -36 : 315016.dasm (-0.96 % of base)
         -36 : 248219.dasm (-14.75 % of base)
         -28 : 314608.dasm (-0.85 % of base)
         -28 : 314886.dasm (-1.00 % of base)
         -28 : 314930.dasm (-1.86 % of base)
         -28 : 314160.dasm (-0.23 % of base)
         -24 : 314212.dasm (-0.55 % of base)
         -16 : 224044.dasm (-0.74 % of base)
         -16 : 316453.dasm (-0.51 % of base)
         -16 : 317399.dasm (-1.01 % of base)
         -16 : 216639.dasm (-1.57 % of base)
         -16 : 316447.dasm (-0.50 % of base)
         -16 : 294414.dasm (-0.33 % of base)
         -16 : 313828.dasm (-0.93 % of base)
         -16 : 314765.dasm (-0.66 % of base)
         -16 : 316476.dasm (-0.52 % of base)
42 total files with Code Size differences (40 improved, 2 regressed), 2 unchanged.
Top method regressions (bytes):
           4 (0.08 % of base) : 219647.dasm - GenClass`1[int]:DoTest_Inner[System.__Canon,System.__Canon,System.__Canon](int,GenClass`1[System.__Canon],GenClass`1[System.__Canon],GenClass`1[System.__Canon]) (FullOpts)
           4 (0.10 % of base) : 316461.dasm - Tracing.Tests.DiagnosticPortValidation.DiagnosticPortValidation+<>c__DisplayClass2_1+<<TEST_MultipleConnectPortsSuspend>b__1>d:MoveNext():this (FullOpts)
Top method improvements (bytes):
         -60 (-0.63 % of base) : 293203.dasm - ILCompiler.Program:RunSingleCompilation(System.Collections.Generic.Dictionary`2[System.String,System.String],ILCompiler.InstructionSetSupport,System.String,System.Collections.Generic.Dictionary`2[System.String,System.String],System.Collections.Generic.HashSet`1[Internal.TypeSystem.ModuleDesc],ILCompiler.ReadyToRunCompilerContext,ILCompiler.Logger):this (FullOpts)
         -40 (-5.29 % of base) : 197342.dasm - CloningForIEnumerable:Sum(System.Collections.Generic.IEnumerable`1[int]):int (Tier1)
         -36 (-0.65 % of base) : 314789.dasm - Microsoft.Build.BackEnd.TargetEntry+<ExecuteTarget>d__44:MoveNext():this (FullOpts)
         -36 (-14.75 % of base) : 248219.dasm - Program:M49() (FullOpts)
         -36 (-0.96 % of base) : 315016.dasm - R2RTest.Buckets:WriteToStream(System.IO.StreamWriter,ubyte):this (FullOpts)
         -36 (-1.05 % of base) : 344150.dasm - System.Threading.Tasks.Task:WaitAllCore(System.Threading.Tasks.Task[],int,System.Threading.CancellationToken):ubyte (Instrumented Tier1)
         -28 (-1.86 % of base) : 314930.dasm - Microsoft.Build.BackEnd.Logging.LoggingService:ShutdownComponent():this (FullOpts)
         -28 (-0.85 % of base) : 314608.dasm - Microsoft.Build.BackEnd.Scheduler:DumpSchedulerState():this (FullOpts)
         -28 (-0.23 % of base) : 314160.dasm - Microsoft.Build.Evaluation.Evaluator`4[System.__Canon,System.__Canon,System.__Canon,System.__Canon]:Evaluate():this (FullOpts)
         -28 (-1.00 % of base) : 314886.dasm - Microsoft.Build.Execution.BuildManager:EndBuild():this (FullOpts)
         -24 (-0.55 % of base) : 314212.dasm - Microsoft.Build.Evaluation.Evaluator`4[System.__Canon,System.__Canon,System.__Canon,System.__Canon]:PerformDepthFirstPass(Microsoft.Build.Construction.ProjectRootElement):this (FullOpts)
         -16 (-0.33 % of base) : 294414.dasm - ILCompiler.DependencyAnalysis.ReadyToRunObjectWriter:EmitPortableExecutable():this (FullOpts)
         -16 (-0.66 % of base) : 314765.dasm - Microsoft.Build.BackEnd.TargetBuilder+<PushTargets>d__26:MoveNext():this (FullOpts)
         -16 (-1.57 % of base) : 216639.dasm - Microsoft.CSharp.RuntimeBinder.BinderHelper:ValidateBindArgument(System.Dynamic.DynamicMetaObject[],System.String) (FullOpts)
         -16 (-0.93 % of base) : 313828.dasm - PathExtensions+<DeleteSubtreesAsync>d__14:MoveNext():this (FullOpts)
         -16 (-0.74 % of base) : 224044.dasm - StackFrame:Validate(System.String,StackFrame[]) (FullOpts)
         -16 (-1.01 % of base) : 317399.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Instrumented Tier1)
         -16 (-0.52 % of base) : 316476.dasm - Tracing.Tests.DiagnosticPortValidation.DiagnosticPortValidation+<TEST_ConfigValidation>d__6:MoveNext():this (FullOpts)
         -16 (-0.50 % of base) : 316447.dasm - Tracing.Tests.DiagnosticPortValidation.DiagnosticPortValidation+<TEST_MultipleConnectPortsNoSuspend>d__1:MoveNext():this (FullOpts)
         -16 (-0.51 % of base) : 316453.dasm - Tracing.Tests.DiagnosticPortValidation.DiagnosticPortValidation+<TEST_MultipleConnectPortsSuspend>d__2:MoveNext():this (FullOpts)
Top method regressions (percentages):
           4 (0.10 % of base) : 316461.dasm - Tracing.Tests.DiagnosticPortValidation.DiagnosticPortValidation+<>c__DisplayClass2_1+<<TEST_MultipleConnectPortsSuspend>b__1>d:MoveNext():this (FullOpts)
           4 (0.08 % of base) : 219647.dasm - GenClass`1[int]:DoTest_Inner[System.__Canon,System.__Canon,System.__Canon](int,GenClass`1[System.__Canon],GenClass`1[System.__Canon],GenClass`1[System.__Canon]) (FullOpts)
Top method improvements (percentages):
         -36 (-14.75 % of base) : 248219.dasm - Program:M49() (FullOpts)
         -40 (-5.29 % of base) : 197342.dasm - CloningForIEnumerable:Sum(System.Collections.Generic.IEnumerable`1[int]):int (Tier1)
         -12 (-4.55 % of base) : 254992.dasm - Test.BB:TestEntryPoint() (FullOpts)
         -12 (-1.90 % of base) : 247696.dasm - Mutate:TestEntryPoint():int (FullOpts)
         -28 (-1.86 % of base) : 314930.dasm - Microsoft.Build.BackEnd.Logging.LoggingService:ShutdownComponent():this (FullOpts)
         -16 (-1.57 % of base) : 216639.dasm - Microsoft.CSharp.RuntimeBinder.BinderHelper:ValidateBindArgument(System.Dynamic.DynamicMetaObject[],System.String) (FullOpts)
         -12 (-1.44 % of base) : 292738.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
         -12 (-1.35 % of base) : 311487.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
         -12 (-1.11 % of base) : 294688.dasm - ILCompiler.PEWriter.SectionBuilder:RelocateOutputFile(System.Reflection.Metadata.BlobBuilder,ulong,System.IO.Stream):this (FullOpts)
         -12 (-1.06 % of base) : 292677.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
         -36 (-1.05 % of base) : 344150.dasm - System.Threading.Tasks.Task:WaitAllCore(System.Threading.Tasks.Task[],int,System.Threading.CancellationToken):ubyte (Instrumented Tier1)
         -12 (-1.03 % of base) : 311057.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
         -16 (-1.01 % of base) : 317399.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Instrumented Tier1)
         -28 (-1.00 % of base) : 314886.dasm - Microsoft.Build.Execution.BuildManager:EndBuild():this (FullOpts)
         -36 (-0.96 % of base) : 315016.dasm - R2RTest.Buckets:WriteToStream(System.IO.StreamWriter,ubyte):this (FullOpts)
         -12 (-0.95 % of base) : 294679.dasm - ILCompiler.PEWriter.SectionBuilder:SerializeRelocationSection(System.Reflection.PortableExecutable.SectionLocation):System.Reflection.Metadata.BlobBuilder:this (FullOpts)
         -16 (-0.93 % of base) : 313828.dasm - PathExtensions+<DeleteSubtreesAsync>d__14:MoveNext():this (FullOpts)
         -12 (-0.89 % of base) : 471.dasm - System.Diagnostics.ProcessWaitState:CheckChildren(ubyte,ubyte) (FullOpts)
         -12 (-0.88 % of base) : 314507.dasm - Microsoft.Build.BackEnd.Scheduler:DumpConfigurations():this (FullOpts)
         -28 (-0.85 % of base) : 314608.dasm - Microsoft.Build.BackEnd.Scheduler:DumpSchedulerState():this (FullOpts)
  
libraries.crossgen2.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 63764680 (overridden on cmd)
Total bytes of diff: 63764464 (overridden on cmd)
Total bytes of delta: -216 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          12 : 224464.dasm (0.54 % of base)
           8 : 37010.dasm (0.09 % of base)
Top file improvements (bytes):
         -24 : 37409.dasm (-4.65 % of base)
         -24 : 35537.dasm (-2.86 % of base)
         -20 : 264288.dasm (-11.11 % of base)
         -16 : 37996.dasm (-1.63 % of base)
         -12 : 27225.dasm (-1.52 % of base)
         -12 : 32397.dasm (-1.07 % of base)
         -12 : 228032.dasm (-0.55 % of base)
         -12 : 36871.dasm (-1.70 % of base)
         -12 : 207728.dasm (-0.55 % of base)
         -12 : 32395.dasm (-1.20 % of base)
         -12 : 37995.dasm (-2.40 % of base)
          -8 : 36603.dasm (-0.40 % of base)
          -8 : 234723.dasm (-0.95 % of base)
          -8 : 246925.dasm (-0.14 % of base)
          -8 : 36812.dasm (-1.05 % of base)
          -8 : 234718.dasm (-1.10 % of base)
          -4 : 204963.dasm (-0.07 % of base)
          -4 : 246857.dasm (-0.06 % of base)
          -4 : 37763.dasm (-0.34 % of base)
          -4 : 230443.dasm (-0.33 % of base)
25 total files with Code Size differences (23 improved, 2 regressed), 1 unchanged.
Top method regressions (bytes):
          12 (0.54 % of base) : 224464.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
           8 (0.09 % of base) : 37010.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
Top method improvements (bytes):
         -24 (-4.65 % of base) : 37409.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -24 (-2.86 % of base) : 35537.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
         -20 (-11.11 % of base) : 264288.dasm - System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
         -16 (-1.63 % of base) : 37996.dasm - System.Diagnostics.Tracing.CounterGroup:PollForValues() (FullOpts)
         -12 (-0.55 % of base) : 228032.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
         -12 (-0.55 % of base) : 207728.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
         -12 (-2.40 % of base) : 37995.dasm - System.Diagnostics.Tracing.CounterGroup:ResetCounters():this (FullOpts)
         -12 (-1.20 % of base) : 32395.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
         -12 (-1.07 % of base) : 32397.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
         -12 (-1.52 % of base) : 27225.dasm - System.Diagnostics.Tracing.EventSource:GetSources():System.Collections.Generic.IEnumerable`1[System.Diagnostics.Tracing.EventSource] (FullOpts)
         -12 (-1.70 % of base) : 36871.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -8 (-1.05 % of base) : 36812.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -8 (-0.40 % of base) : 36603.dasm - System.Environment:ReadXdgDirectory(System.String,System.String,System.String):System.String (FullOpts)
          -8 (-0.14 % of base) : 246925.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (FullOpts)
          -8 (-1.10 % of base) : 234718.dasm - System.Xml.Linq.Extensions+<GetDescendantNodes>d__22`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -8 (-0.95 % of base) : 234723.dasm - System.Xml.Linq.Extensions+<GetDescendants>d__23`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-0.33 % of base) : 230443.dasm - System.Data.ProviderBase.DbConnectionPool:TryGetConnection(System.Data.Common.DbConnection,uint,ubyte,ubyte,System.Data.Common.DbConnectionOptions,byref):ubyte:this (FullOpts)
          -4 (-0.09 % of base) : 252889.dasm - System.Globalization.FormatProvider+Number:NumberToStringFormat(byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
          -4 (-0.41 % of base) : 25639.dasm - System.IO.BinaryReader:Read():int:this (FullOpts)
          -4 (-0.17 % of base) : 32334.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
Top method regressions (percentages):
          12 (0.54 % of base) : 224464.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
           8 (0.09 % of base) : 37010.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
Top method improvements (percentages):
         -20 (-11.11 % of base) : 264288.dasm - System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
         -24 (-4.65 % of base) : 37409.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -24 (-2.86 % of base) : 35537.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
         -12 (-2.40 % of base) : 37995.dasm - System.Diagnostics.Tracing.CounterGroup:ResetCounters():this (FullOpts)
         -12 (-1.70 % of base) : 36871.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
         -16 (-1.63 % of base) : 37996.dasm - System.Diagnostics.Tracing.CounterGroup:PollForValues() (FullOpts)
         -12 (-1.52 % of base) : 27225.dasm - System.Diagnostics.Tracing.EventSource:GetSources():System.Collections.Generic.IEnumerable`1[System.Diagnostics.Tracing.EventSource] (FullOpts)
         -12 (-1.20 % of base) : 32395.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
          -8 (-1.10 % of base) : 234718.dasm - System.Xml.Linq.Extensions+<GetDescendantNodes>d__22`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -12 (-1.07 % of base) : 32397.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
          -8 (-1.05 % of base) : 36812.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -8 (-0.95 % of base) : 234723.dasm - System.Xml.Linq.Extensions+<GetDescendants>d__23`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -12 (-0.55 % of base) : 228032.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
         -12 (-0.55 % of base) : 207728.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
          -4 (-0.41 % of base) : 25639.dasm - System.IO.BinaryReader:Read():int:this (FullOpts)
          -8 (-0.40 % of base) : 36603.dasm - System.Environment:ReadXdgDirectory(System.String,System.String,System.String):System.String (FullOpts)
          -4 (-0.34 % of base) : 37763.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
          -4 (-0.33 % of base) : 230443.dasm - System.Data.ProviderBase.DbConnectionPool:TryGetConnection(System.Data.Common.DbConnection,uint,ubyte,ubyte,System.Data.Common.DbConnectionOptions,byref):ubyte:this (FullOpts)
          -4 (-0.17 % of base) : 32334.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -8 (-0.14 % of base) : 246925.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (FullOpts)
25 total methods with Code Size differences (23 improved, 2 regressed).
  
libraries.pmi.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 76205836 (overridden on cmd)
Total bytes of diff: 76203524 (overridden on cmd)
Total bytes of delta: -2312 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          28 : 198256.dasm (1.14 % of base)
          12 : 289556.dasm (0.45 % of base)
           4 : 166358.dasm (0.14 % of base)
           4 : 168471.dasm (0.05 % of base)
           4 : 180043.dasm (0.35 % of base)
Top file improvements (bytes):
         -60 : 264107.dasm (-0.62 % of base)
         -52 : 15260.dasm (-0.66 % of base)
         -48 : 172239.dasm (-1.05 % of base)
         -40 : 143783.dasm (-1.03 % of base)
         -40 : 198276.dasm (-7.94 % of base)
         -40 : 206568.dasm (-0.70 % of base)
         -36 : 169460.dasm (-1.62 % of base)
         -36 : 177664.dasm (-1.62 % of base)
         -36 : 272017.dasm (-2.47 % of base)
         -36 : 289109.dasm (-1.85 % of base)
         -36 : 289550.dasm (-0.93 % of base)
         -32 : 246431.dasm (-1.79 % of base)
         -32 : 206574.dasm (-0.89 % of base)
         -28 : 201794.dasm (-0.95 % of base)
         -28 : 203989.dasm (-1.85 % of base)
         -28 : 172277.dasm (-1.59 % of base)
         -28 : 122005.dasm (-0.92 % of base)
         -28 : 201850.dasm (-2.29 % of base)
         -28 : 202827.dasm (-0.85 % of base)
         -28 : 276056.dasm (-2.70 % of base)
62 total files with Code Size differences (57 improved, 5 regressed), 7 unchanged.
Top method regressions (bytes):
          28 (1.14 % of base) : 198256.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
          12 (0.45 % of base) : 289556.dasm - R2RTest.BuildFolder:WriteJitStatistics(System.IO.TextWriter,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.HashSet`1[System.String]][],System.Collections.Generic.IEnumerable`1[R2RTest.CompilerRunner]) (FullOpts)
           4 (0.35 % of base) : 180043.dasm - System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
           4 (0.05 % of base) : 168471.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
           4 (0.14 % of base) : 166358.dasm - System.Xml.Xsl.IlGen.XmlILModule:DefineMethod(System.String,System.Type,System.Type[],System.String[],int):System.Reflection.MethodInfo:this (FullOpts)
Top method improvements (bytes):
         -60 (-0.62 % of base) : 264107.dasm - ILCompiler.Program:RunSingleCompilation(System.Collections.Generic.Dictionary`2[System.String,System.String],ILCompiler.InstructionSetSupport,System.String,System.Collections.Generic.Dictionary`2[System.String,System.String],System.Collections.Generic.HashSet`1[Internal.TypeSystem.ModuleDesc],ILCompiler.ReadyToRunCompilerContext,ILCompiler.Logger):this (FullOpts)
         -52 (-0.66 % of base) : 15260.dasm - Microsoft.CodeAnalysis.CommonCompiler:CompileAndEmit(Microsoft.CodeAnalysis.TouchedFileLogger,byref,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.ISourceGenerator],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.AdditionalText],Microsoft.CodeAnalysis.AnalyzerConfigSet,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.AnalyzerConfigOptionsResult],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.EmbeddedText],Microsoft.CodeAnalysis.DiagnosticBag,Microsoft.CodeAnalysis.ErrorLogger,System.Threading.CancellationToken,byref,byref,byref):this (FullOpts)
         -48 (-1.05 % of base) : 172239.dasm - Xunit.Sdk.XunitTestAssemblyRunner+<RunTestCollectionsAsync>d__14:MoveNext():this (FullOpts)
         -40 (-0.70 % of base) : 206568.dasm - Microsoft.Build.BackEnd.TargetEntry+<ExecuteTarget>d__44:MoveNext():this (FullOpts)
         -40 (-7.94 % of base) : 198276.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:MostSpecificProcedure(System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],byref,System.Object[],System.String[]):Microsoft.VisualBasic.CompilerServices.Symbols+Method (FullOpts)
         -40 (-1.03 % of base) : 143783.dasm - System.Data.DataTable:ReadXmlSchema(System.Xml.XmlReader,ubyte):this (FullOpts)
         -36 (-0.93 % of base) : 289550.dasm - R2RTest.Buckets:WriteToStream(System.IO.StreamWriter,ubyte):this (FullOpts)
         -36 (-1.85 % of base) : 289109.dasm - System.Composition.Convention.PartConventionBuilder:BuildPropertyAttributes(System.Type,byref):this (FullOpts)
         -36 (-1.62 % of base) : 169460.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
         -36 (-1.62 % of base) : 177664.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
         -36 (-2.47 % of base) : 272017.dasm - System.Net.CookieContainer:DomainTableCleanup():this (FullOpts)
         -32 (-0.89 % of base) : 206574.dasm - Microsoft.Build.BackEnd.TaskBuilder+<ExecuteBucket>d__19:MoveNext():this (FullOpts)
         -32 (-1.79 % of base) : 246431.dasm - Microsoft.DotNet.XUnitExtensions.XunitParallelTheoryTestCaseRunner+<RunTestAsync>d__11:MoveNext():this (FullOpts)
         -28 (-2.70 % of base) : 276056.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.GcInfo:UpdateTransitionCodeOffset(System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.Amd64.GcTransition]):System.Collections.Generic.Dictionary`2[int,System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.BaseGcTransition]]:this (FullOpts)
         -28 (-1.85 % of base) : 203989.dasm - Microsoft.Build.BackEnd.Logging.LoggingService:ShutdownComponent():this (FullOpts)
         -28 (-0.85 % of base) : 202827.dasm - Microsoft.Build.BackEnd.Scheduler:DumpSchedulerState():this (FullOpts)
         -28 (-0.95 % of base) : 201794.dasm - Microsoft.Build.Execution.BuildManager:EndBuild():this (FullOpts)
         -28 (-2.29 % of base) : 201850.dasm - Microsoft.Build.Execution.BuildManager:OnThreadException(System.Exception):this (FullOpts)
         -28 (-0.92 % of base) : 122005.dasm - Microsoft.Diagnostics.Tracing.ZippedETLWriter:WriteArchive(int):ubyte:this (FullOpts)
         -28 (-0.96 % of base) : 280005.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+<Heartbeat>d__23[ubyte,System.Nullable`1[int]]:MoveNext():this (FullOpts)
Top method regressions (percentages):
          28 (1.14 % of base) : 198256.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
          12 (0.45 % of base) : 289556.dasm - R2RTest.BuildFolder:WriteJitStatistics(System.IO.TextWriter,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.HashSet`1[System.String]][],System.Collections.Generic.IEnumerable`1[R2RTest.CompilerRunner]) (FullOpts)
           4 (0.35 % of base) : 180043.dasm - System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
           4 (0.14 % of base) : 166358.dasm - System.Xml.Xsl.IlGen.XmlILModule:DefineMethod(System.String,System.Type,System.Type[],System.String[],int):System.Reflection.MethodInfo:this (FullOpts)
           4 (0.05 % of base) : 168471.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
Top method improvements (percentages):
         -20 (-11.90 % of base) : 261744.dasm - System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
         -40 (-7.94 % of base) : 198276.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:MostSpecificProcedure(System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],byref,System.Object[],System.String[]):Microsoft.VisualBasic.CompilerServices.Symbols+Method (FullOpts)
         -16 (-4.12 % of base) : 240700.dasm - Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
         -16 (-3.74 % of base) : 205742.dasm - Microsoft.Build.Evaluation.ProjectCollection+LoadedProjectCollection:GetMatchingProjectIfAny(System.String,System.Collections.Generic.IDictionary`2[System.String,System.String],System.String):Microsoft.Build.Evaluation.Project:this (FullOpts)
         -12 (-3.57 % of base) : 289368.dasm - Microsoft.Extensions.Configuration.ConfigurationManager:Microsoft.Extensions.Configuration.IConfigurationRoot.Reload():this (FullOpts)
         -16 (-3.39 % of base) : 256944.dasm - Microsoft.Extensions.DependencyInjection.DependencyInjectionEventSource:OnEventCommand(System.Diagnostics.Tracing.EventCommandEventArgs):this (FullOpts)
         -16 (-3.20 % of base) : 203984.dasm - Microsoft.Build.BackEnd.Logging.LoggingService:get_RegisteredLoggerTypeNames():System.Collections.Generic.ICollection`1[System.String]:this (FullOpts)
         -12 (-3.00 % of base) : 240699.dasm - Xunit.AggregateMessageSink:Dispose():this (FullOpts)
         -16 (-2.88 % of base) : 89471.dasm - System.Security.Cryptography.X509Certificates.X500NameEncoder:X500DistinguishedNameEncode(System.String,int):ubyte[] (FullOpts)
         -28 (-2.70 % of base) : 276056.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.GcInfo:UpdateTransitionCodeOffset(System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.Amd64.GcTransition]):System.Collections.Generic.Dictionary`2[int,System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.BaseGcTransition]]:this (FullOpts)
         -16 (-2.68 % of base) : 153590.dasm - Newtonsoft.Json.Linq.JsonPath.ArrayMultipleIndexFilter+<ExecuteFilter>d__2:MoveNext():ubyte:this (FullOpts)
         -12 (-2.68 % of base) : 261755.dasm - System.Net.HttpEndPointListener:Close():this (FullOpts)
         -16 (-2.61 % of base) : 274714.dasm - System.Diagnostics.Metrics.AggregationManager:GetInstrumentState(System.Diagnostics.Metrics.Instrument):System.Diagnostics.Metrics.InstrumentState:this (FullOpts)
         -12 (-2.61 % of base) : 200943.dasm - Microsoft.Build.Evaluation.ProjectCollection:RemoveGlobalProperty(System.String):ubyte:this (FullOpts)
         -12 (-2.59 % of base) : 226767.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
         -24 (-2.55 % of base) : 233623.dasm - Microsoft.Build.Framework.NativeMethods:KillTree(int) (FullOpts)
         -16 (-2.55 % of base) : 226860.dasm - System.Net.Http.Headers.HttpHeaderValueCollection`1+<<GetEnumerator>g__Iterate|14_0>d[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -16 (-2.50 % of base) : 244617.dasm - System.Security.Claims.ClaimsIdentity+<CombinedClaimsIterator>d__38:MoveNext():ubyte:this (FullOpts)
         -36 (-2.47 % of base) : 272017.dasm - System.Net.CookieContainer:DomainTableCleanup():this (FullOpts)
         -12 (-2.46 % of base) : 288184.dasm - Microsoft.Extensions.Caching.Memory.MemoryCache:Sum():System.ValueTuple`2[long,long]:this (FullOpts)
  
libraries_tests.run.linux.arm64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 38230684 (overridden on cmd)
Total bytes of diff: 38229656 (overridden on cmd)
Total bytes of delta: -1028 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          12 : 60169.dasm (0.19 % of base)
Top file improvements (bytes):
         -20 : 10194.dasm (-1.84 % of base)
         -20 : 14817.dasm (-1.87 % of base)
         -20 : 22312.dasm (-1.93 % of base)
         -20 : 28713.dasm (-1.87 % of base)
         -20 : 31146.dasm (-1.93 % of base)
         -20 : 40721.dasm (-1.94 % of base)
         -20 : 13780.dasm (-1.93 % of base)
         -20 : 21746.dasm (-1.93 % of base)
         -20 : 22152.dasm (-1.93 % of base)
         -20 : 28161.dasm (-1.87 % of base)
         -20 : 34091.dasm (-1.85 % of base)
         -20 : 36032.dasm (-1.93 % of base)
         -20 : 14526.dasm (-1.94 % of base)
         -20 : 44418.dasm (-1.87 % of base)
         -20 : 48488.dasm (-1.93 % of base)
         -20 : 53399.dasm (-1.93 % of base)
         -20 : 53967.dasm (-1.87 % of base)
         -20 : 55146.dasm (-1.92 % of base)
         -20 : 56240.dasm (-1.93 % of base)
         -20 : 59731.dasm (-1.93 % of base)
54 total files with Code Size differences (53 improved, 1 regressed), 0 unchanged.
Top method regressions (bytes):
          12 (0.19 % of base) : 60169.dasm - System.Reflection.Metadata.Tests.LargeTablesAndHeapsTests:Strings():this (Tier1-OSR)
Top method improvements (bytes):
         -20 (-1.84 % of base) : 10194.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.87 % of base) : 14817.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.93 % of base) : 22312.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.87 % of base) : 28713.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.93 % of base) : 31146.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.94 % of base) : 40721.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.93 % of base) : 13780.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.93 % of base) : 21746.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.93 % of base) : 22152.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.87 % of base) : 28161.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.85 % of base) : 34091.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.93 % of base) : 36032.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.94 % of base) : 14526.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.87 % of base) : 44418.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.93 % of base) : 48488.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.93 % of base) : 53399.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.87 % of base) : 53967.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.92 % of base) : 55146.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.93 % of base) : 56240.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.93 % of base) : 59731.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
Top method regressions (percentages):
          12 (0.19 % of base) : 60169.dasm - System.Reflection.Metadata.Tests.LargeTablesAndHeapsTests:Strings():this (Tier1-OSR)
Top method improvements (percentages):
          -4 (-2.63 % of base) : 66536.dasm - System.Numerics.BigIntegerCalculator:Compare(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint]):int (Tier1-OSR)
         -16 (-1.97 % of base) : 39426.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-1.97 % of base) : 14651.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-1.97 % of base) : 4145.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -20 (-1.94 % of base) : 40721.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.94 % of base) : 14526.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.94 % of base) : 83189.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.94 % of base) : 83365.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.94 % of base) : 87864.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.93 % of base) : 22312.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.93 % of base) : 31146.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.93 % of base) : 13780.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.93 % of base) : 21746.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.93 % of base) : 22152.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.93 % of base) : 36032.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.93 % of base) : 48488.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.93 % of base) : 53399.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.93 % of base) : 56240.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.93 % of base) : 59731.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.93 % of base) : 63817.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
  
librariestestsnotieredcompilation.run.linux.arm64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 161794580 (overridden on cmd)
Total bytes of diff: 161792060 (overridden on cmd)
Total bytes of delta: -2520 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          28 : 58162.dasm (1.24 % of base)
          16 : 206385.dasm (1.38 % of base)
          12 : 53391.dasm (1.14 % of base)
           8 : 229829.dasm (0.44 % of base)
           4 : 126505.dasm (0.49 % of base)
           4 : 165341.dasm (0.05 % of base)
           4 : 207016.dasm (0.33 % of base)
           4 : 207035.dasm (0.37 % of base)
           4 : 26223.dasm (0.35 % of base)
           4 : 206944.dasm (0.35 % of base)
           4 : 206947.dasm (0.37 % of base)
           4 : 207075.dasm (0.35 % of base)
           4 : 79292.dasm (0.48 % of base)
Top file improvements (bytes):
         -48 : 841.dasm (-1.05 % of base)
         -40 : 130035.dasm (-2.71 % of base)
         -40 : 130027.dasm (-2.90 % of base)
         -36 : 151236.dasm (-2.51 % of base)
         -36 : 151628.dasm (-2.51 % of base)
         -36 : 86627.dasm (-1.88 % of base)
         -32 : 121498.dasm (-1.10 % of base)
         -32 : 297197.dasm (-0.97 % of base)
         -32 : 294790.dasm (-1.08 % of base)
         -32 : 8035.dasm (-1.84 % of base)
         -32 : 87989.dasm (-1.64 % of base)
         -28 : 20300.dasm (-1.10 % of base)
         -28 : 296483.dasm (-1.18 % of base)
         -28 : 301841.dasm (-0.78 % of base)
         -28 : 3892.dasm (-1.63 % of base)
         -24 : 97877.dasm (-0.56 % of base)
         -24 : 143109.dasm (-1.05 % of base)
         -24 : 21923.dasm (-1.47 % of base)
         -24 : 219603.dasm (-0.94 % of base)
         -24 : 82713.dasm (-0.97 % of base)
54 total files with Code Size differences (41 improved, 13 regressed), 20 unchanged.
Top method regressions (bytes):
          28 (1.24 % of base) : 58162.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
          16 (1.38 % of base) : 206385.dasm - System.Tests.DecimalTests+BigIntegerCompare:Test() (FullOpts)
          12 (1.14 % of base) : 53391.dasm - Microsoft.Extensions.Logging.Test.FormattedLogValuesTest:CachedFormattersAreCapped():this (FullOpts)
           8 (0.44 % of base) : 229829.dasm - System.Text.Tests.EncodingTest+<>c:<TestGetEncodingsWithProvider>b__19_0():this (FullOpts)
           4 (0.48 % of base) : 79292.dasm - System.ComponentModel.Composition.ReflectionModel.GenericServices:GetGenericName(System.String,int[],int):System.String (FullOpts)
           4 (0.49 % of base) : 126505.dasm - System.IO.Packaging.Tests.ReflectionTests:<Verify_GeneralPurposeBitFlag_NotSetTo_Unicode>g__CheckCharacters|0_0(System.String) (FullOpts)
           4 (0.35 % of base) : 26223.dasm - System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
           4 (0.37 % of base) : 206947.dasm - System.Tests.DecimalTests:BigInteger_Ceiling() (FullOpts)
           4 (0.37 % of base) : 207035.dasm - System.Tests.DecimalTests:BigInteger_Floor() (FullOpts)
           4 (0.33 % of base) : 207016.dasm - System.Tests.DecimalTests:BigInteger_Round() (FullOpts)
           4 (0.35 % of base) : 207075.dasm - System.Tests.DecimalTests:BigInteger_RoundAwayFromZero() (FullOpts)
           4 (0.35 % of base) : 206944.dasm - System.Tests.DecimalTests:BigInteger_Truncate() (FullOpts)
           4 (0.05 % of base) : 165341.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
Top method improvements (bytes):
         -48 (-1.05 % of base) : 841.dasm - Xunit.Sdk.XunitTestAssemblyRunner+<RunTestCollectionsAsync>d__14:MoveNext():this (FullOpts)
         -40 (-2.71 % of base) : 130035.dasm - System.IO.Tests.WriteTests:Write_Span_WritesExpectedData(int,int,int,ubyte):this (FullOpts)
         -40 (-2.90 % of base) : 130027.dasm - System.IO.Tests.WriteTests:WriteLine_Span_WritesExpectedData(int,int,int,ubyte):this (FullOpts)
         -36 (-1.88 % of base) : 86627.dasm - System.Composition.Convention.PartConventionBuilder:BuildPropertyAttributes(System.Type,byref):this (FullOpts)
         -36 (-2.51 % of base) : 151236.dasm - System.Net.CookieContainer:DomainTableCleanup():this (FullOpts)
         -36 (-2.51 % of base) : 151628.dasm - System.Net.CookieContainer:DomainTableCleanup():this (FullOpts)
         -32 (-1.84 % of base) : 8035.dasm - Microsoft.DotNet.XUnitExtensions.XunitParallelTheoryTestCaseRunner+<RunTestAsync>d__11:MoveNext():this (FullOpts)
         -32 (-1.64 % of base) : 87989.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
         -32 (-1.10 % of base) : 121498.dasm - System.IO.Compression.Tests.ZipFileTestBase+<CreateFromDir>d__25:MoveNext():this (FullOpts)
         -32 (-1.08 % of base) : 294790.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+<Heartbeat>d__23[System.__Canon,int]:MoveNext():this (FullOpts)
         -32 (-0.97 % of base) : 297197.dasm - System.Threading.Tasks.Dataflow.Tests.BatchBlockTests+<TestNonGreedyLostMessages>d__17:MoveNext():this (FullOpts)
         -28 (-1.10 % of base) : 20300.dasm - NuGet.Protocol.HttpSourceAuthenticationHandler+<SendAsync>d__9:MoveNext():this (FullOpts)
         -28 (-1.18 % of base) : 296483.dasm - System.Threading.Tasks.Dataflow.Tests.SimpleNetworkTests+<BufferBlocksToBatchNonGreedyToAction>d__8:MoveNext():this (FullOpts)
         -28 (-0.78 % of base) : 301841.dasm - System.Threading.Tests.EtwTests+<>c:<WaitHandleWaitEventTest>b__1_0():this (FullOpts)
         -28 (-1.63 % of base) : 3892.dasm - Xunit.Sdk.XunitTheoryTestCaseRunner+<RunTestAsync>d__11:MoveNext():this (FullOpts)
         -24 (-1.47 % of base) : 21923.dasm - NuGet.Packaging.Signing.SignedPackageArchiveUtility:GetPackageContentHash(System.IO.BinaryReader):System.String (FullOpts)
         -24 (-0.97 % of base) : 82713.dasm - System.ComponentModel.Composition.Hosting.DirectoryCatalog:Refresh():this (FullOpts)
         -24 (-0.56 % of base) : 97877.dasm - System.Diagnostics.Tests.ActivitySourceTests+<>c:<TestActivityCreationProperties>b__9_0():this (FullOpts)
         -24 (-0.94 % of base) : 219603.dasm - System.Security.Cryptography.EcDsa.Tests.ECDsaTests:SignVerify_InteroperableSameKeys_RoundTripsUnlessTampered(System.Security.Cryptography.ECDsa,System.Security.Cryptography.HashAlgorithmName):this (FullOpts)
         -24 (-1.05 % of base) : 143109.dasm - System.SpanTests.ReadOnlySpanTests:SequenceCompareToNoMatch_string() (FullOpts)
Top method regressions (percentages):
          16 (1.38 % of base) : 206385.dasm - System.Tests.DecimalTests+BigIntegerCompare:Test() (FullOpts)
          28 (1.24 % of base) : 58162.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
          12 (1.14 % of base) : 53391.dasm - Microsoft.Extensions.Logging.Test.FormattedLogValuesTest:CachedFormattersAreCapped():this (FullOpts)
           4 (0.49 % of base) : 126505.dasm - System.IO.Packaging.Tests.ReflectionTests:<Verify_GeneralPurposeBitFlag_NotSetTo_Unicode>g__CheckCharacters|0_0(System.String) (FullOpts)
           4 (0.48 % of base) : 79292.dasm - System.ComponentModel.Composition.ReflectionModel.GenericServices:GetGenericName(System.String,int[],int):System.String (FullOpts)
           8 (0.44 % of base) : 229829.dasm - System.Text.Tests.EncodingTest+<>c:<TestGetEncodingsWithProvider>b__19_0():this (FullOpts)
           4 (0.37 % of base) : 207035.dasm - System.Tests.DecimalTests:BigInteger_Floor() (FullOpts)
           4 (0.37 % of base) : 206947.dasm - System.Tests.DecimalTests:BigInteger_Ceiling() (FullOpts)
           4 (0.35 % of base) : 26223.dasm - System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
           4 (0.35 % of base) : 206944.dasm - System.Tests.DecimalTests:BigInteger_Truncate() (FullOpts)
           4 (0.35 % of base) : 207075.dasm - System.Tests.DecimalTests:BigInteger_RoundAwayFromZero() (FullOpts)
           4 (0.33 % of base) : 207016.dasm - System.Tests.DecimalTests:BigInteger_Round() (FullOpts)
           4 (0.05 % of base) : 165341.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
Top method improvements (percentages):
         -20 (-11.90 % of base) : 148024.dasm - System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
         -16 (-4.12 % of base) : 217783.dasm - System.Security.Cryptography.X509Certificates.FindPal:LaxParseDecimalBigInteger(System.String):System.Numerics.BigInteger (FullOpts)
         -16 (-4.12 % of base) : 538.dasm - Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
         -12 (-3.57 % of base) : 33571.dasm - Microsoft.Extensions.Configuration.ConfigurationManager:Microsoft.Extensions.Configuration.IConfigurationRoot.Reload():this (FullOpts)
         -16 (-3.39 % of base) : 37372.dasm - Microsoft.Extensions.DependencyInjection.DependencyInjectionEventSource:OnEventCommand(System.Diagnostics.Tracing.EventCommandEventArgs):this (FullOpts)
         -40 (-2.90 % of base) : 130027.dasm - System.IO.Tests.WriteTests:WriteLine_Span_WritesExpectedData(int,int,int,ubyte):this (FullOpts)
         -16 (-2.88 % of base) : 152204.dasm - System.Security.Cryptography.X509Certificates.X500NameEncoder:X500DistinguishedNameEncode(System.String,int):ubyte[] (FullOpts)
         -16 (-2.78 % of base) : 220887.dasm - System.Security.Cryptography.X509Certificates.Tests.PfxIterationCountTests+<GetCertsWith_NonNullOrEmptyPassword_MemberData>d__19:MoveNext():ubyte:this (FullOpts)
         -16 (-2.74 % of base) : 219767.dasm - System.Security.Cryptography.X509Certificates.Tests.PfxIterationCountTests+<GetCertsWith_IterationCountNotExceedingDefaultLimit_AndNullOrEmptyPassword_MemberData>d__17:MoveNext():ubyte:this (FullOpts)
         -40 (-2.71 % of base) : 130035.dasm - System.IO.Tests.WriteTests:Write_Span_WritesExpectedData(int,int,int,ubyte):this (FullOpts)
         -12 (-2.68 % of base) : 148050.dasm - System.Net.HttpEndPointListener:Close():this (FullOpts)
         -16 (-2.63 % of base) : 219760.dasm - System.Security.Cryptography.X509Certificates.Tests.PfxIterationCountTests+<GetCertsWith_IterationCountExceedingDefaultLimit_MemberData>d__18:MoveNext():ubyte:this (FullOpts)
         -12 (-2.59 % of base) : 145994.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
         -12 (-2.59 % of base) : 20305.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
         -16 (-2.55 % of base) : 146175.dasm - System.Net.Http.Headers.HttpHeaderValueCollection`1+<<GetEnumerator>g__Iterate|14_0>d[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -16 (-2.55 % of base) : 20396.dasm - System.Net.Http.Headers.HttpHeaderValueCollection`1+<<GetEnumerator>g__Iterate|14_0>d[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -36 (-2.51 % of base) : 151236.dasm - System.Net.CookieContainer:DomainTableCleanup():this (FullOpts)
         -36 (-2.51 % of base) : 151628.dasm - System.Net.CookieContainer:DomainTableCleanup():this (FullOpts)
         -16 (-2.50 % of base) : 213771.dasm - System.Security.Claims.ClaimsIdentity+<CombinedClaimsIterator>d__38:MoveNext():ubyte:this (FullOpts)
         -12 (-2.46 % of base) : 29272.dasm - Microsoft.Extensions.Caching.Memory.MemoryCache:Sum():System.ValueTuple`2[long,long]:this (FullOpts)
  
realworld.run.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 15928884 (overridden on cmd)
Total bytes of diff: 15928568 (overridden on cmd)
Total bytes of delta: -316 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          16 : 11781.dasm (1.44 % of base)
Top file improvements (bytes):
         -52 : 15899.dasm (-8.33 % of base)
         -12 : 1342.dasm (-1.44 % of base)
         -12 : 30550.dasm (-1.60 % of base)
         -12 : 30582.dasm (-1.24 % of base)
         -12 : 31917.dasm (-0.26 % of base)
         -12 : 33293.dasm (-0.31 % of base)
         -12 : 33311.dasm (-0.54 % of base)
         -12 : 16286.dasm (-0.56 % of base)
         -12 : 30569.dasm (-2.73 % of base)
         -12 : 30595.dasm (-0.80 % of base)
         -12 : 32692.dasm (-1.45 % of base)
         -12 : 33273.dasm (-0.63 % of base)
         -12 : 6196.dasm (-2.00 % of base)
         -12 : 69.dasm (-1.06 % of base)
         -12 : 13129.dasm (-0.27 % of base)
          -8 : 1191.dasm (-0.15 % of base)
          -8 : 12467.dasm (-0.38 % of base)
          -8 : 15671.dasm (-1.82 % of base)
          -8 : 30678.dasm (-1.13 % of base)
          -8 : 33113.dasm (-0.83 % of base)
32 total files with Code Size differences (31 improved, 1 regressed), 0 unchanged.
Top method regressions (bytes):
          16 (1.44 % of base) : 11781.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
Top method improvements (bytes):
         -52 (-8.33 % of base) : 15899.dasm - Microsoft.ML.Data.SimpleFileHandle:Dispose():this (FullOpts)
         -12 (-0.56 % of base) : 16286.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
         -12 (-0.27 % of base) : 13129.dasm - Microsoft.ML.Data.TextLoader+Bindings:.ctor(Microsoft.ML.Data.TextLoader,Microsoft.ML.Data.TextLoader+Column[],Microsoft.ML.Data.IMultiStreamSource,Microsoft.ML.Data.IMultiStreamSource):this (FullOpts)
         -12 (-0.80 % of base) : 30595.dasm - Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBaseManager:LoadFromFileHelper(System.Collections.ObjectModel.Collection`1[System.Management.Automation.Runspaces.PSSnapInTypeAndFormatErrors],Microsoft.PowerShell.Commands.Internal.Format.PSPropertyExpressionFactory,System.Management.Automation.AuthorizationManager,System.Management.Automation.Host.PSHost,ubyte,byref,byref):Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBase (FullOpts)
         -12 (-1.24 % of base) : 30582.dasm - Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBaseManager:Update(System.Management.Automation.AuthorizationManager,System.Management.Automation.Host.PSHost):this (FullOpts)
         -12 (-0.63 % of base) : 33273.dasm - Microsoft.PowerShell.Commands.ModuleCmdletBase+<GetModuleForRootedPaths>d__95:MoveNext():ubyte:this (FullOpts)
         -12 (-1.44 % of base) : 1342.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
         -12 (-1.06 % of base) : 69.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
         -12 (-0.54 % of base) : 33311.dasm - System.Management.Automation.Internal.ModuleUtils+<GetDefaultAvailableModuleFiles>d__9:MoveNext():ubyte:this (FullOpts)
         -12 (-1.60 % of base) : 30550.dasm - System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberAdded(System.String) (FullOpts)
         -12 (-2.73 % of base) : 30569.dasm - System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberPossiblyUpdated(System.String) (FullOpts)
         -12 (-0.31 % of base) : 33293.dasm - System.Management.Automation.LocationGlobber:ExpandMshGlobPath(System.String,ubyte,System.Management.Automation.PSDriveInfo,System.Management.Automation.Provider.ContainerCmdletProvider,System.Management.Automation.CmdletProviderContext):System.Collections.ObjectModel.Collection`1[System.String]:this (FullOpts)
         -12 (-1.45 % of base) : 32692.dasm - System.Management.Automation.PSObject:GetMappedAdapter(System.Object,System.Management.Automation.Runspaces.TypeTable):System.Management.Automation.PSObject+AdapterSet (FullOpts)
         -12 (-0.26 % of base) : 31917.dasm - System.Management.Automation.ScriptBlock:InvokeWithPipeImpl(int,ubyte,System.Collections.Generic.Dictionary`2[System.String,System.Management.Automation.ScriptBlock],System.Collections.Generic.List`1[System.Management.Automation.PSVariable],int,System.Object,System.Object,System.Object,System.Management.Automation.Internal.Pipe,System.Management.Automation.InvocationInfo,System.Object[]):this (FullOpts)
         -12 (-2.00 % of base) : 6196.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -8 (-1.13 % of base) : 30678.dasm - Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBaseManager:LoadFormatDataHelper(System.Management.Automation.ExtendedTypeDefinition,Microsoft.PowerShell.Commands.Internal.Format.PSPropertyExpressionFactory,System.Collections.Generic.List`1[Microsoft.PowerShell.Commands.Internal.Format.XmlLoaderLoggerEntry],byref,System.Management.Automation.Runspaces.PSSnapInTypeAndFormatErrors,Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBase,ubyte,ubyte) (FullOpts)
          -8 (-0.38 % of base) : 12467.dasm - SixLabors.ImageSharp.Metadata.Profiles.Exif.BaseExifReader:ReadBigValues(System.Collections.Generic.List`1[SixLabors.ImageSharp.Metadata.Profiles.Exif.IExifValue]):this (FullOpts)
          -8 (-1.49 % of base) : 30807.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
          -8 (-1.43 % of base) : 33248.dasm - System.Management.Automation.CommandProcessor:DoBegin():this (FullOpts)
          -8 (-0.50 % of base) : 33257.dasm - System.Management.Automation.CommandProcessor:ProcessRecord():this (FullOpts)
Top method regressions (percentages):
          16 (1.44 % of base) : 11781.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
Top method improvements (percentages):
         -52 (-8.33 % of base) : 15899.dasm - Microsoft.ML.Data.SimpleFileHandle:Dispose():this (FullOpts)
         -12 (-2.73 % of base) : 30569.dasm - System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberPossiblyUpdated(System.String) (FullOpts)
         -12 (-2.00 % of base) : 6196.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -8 (-1.82 % of base) : 15671.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
         -12 (-1.60 % of base) : 30550.dasm - System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberAdded(System.String) (FullOpts)
          -8 (-1.49 % of base) : 30807.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -12 (-1.45 % of base) : 32692.dasm - System.Management.Automation.PSObject:GetMappedAdapter(System.Object,System.Management.Automation.Runspaces.TypeTable):System.Management.Automation.PSObject+AdapterSet (FullOpts)
         -12 (-1.44 % of base) : 1342.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
          -8 (-1.43 % of base) : 33248.dasm - System.Management.Automation.CommandProcessor:DoBegin():this (FullOpts)
         -12 (-1.24 % of base) : 30582.dasm - Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBaseManager:Update(System.Management.Automation.AuthorizationManager,System.Management.Automation.Host.PSHost):this (FullOpts)
          -8 (-1.13 % of base) : 30678.dasm - Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBaseManager:LoadFormatDataHelper(System.Management.Automation.ExtendedTypeDefinition,Microsoft.PowerShell.Commands.Internal.Format.PSPropertyExpressionFactory,System.Collections.Generic.List`1[Microsoft.PowerShell.Commands.Internal.Format.XmlLoaderLoggerEntry],byref,System.Management.Automation.Runspaces.PSSnapInTypeAndFormatErrors,Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBase,ubyte,ubyte) (FullOpts)
         -12 (-1.06 % of base) : 69.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
          -8 (-0.96 % of base) : 32660.dasm - System.Management.Automation.Runspaces.LocalRunspace:CloseOrDisconnectAllRemoteRunspaces(System.Func`1[System.Collections.Generic.List`1[System.Management.Automation.RemoteRunspace]]) (FullOpts)
          -8 (-0.90 % of base) : 13726.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
          -8 (-0.83 % of base) : 33113.dasm - System.Management.Automation.Internal.PipelineProcessor:SynchronousExecuteEnumerate(System.Object):System.Array:this (FullOpts)
         -12 (-0.80 % of base) : 30595.dasm - Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBaseManager:LoadFromFileHelper(System.Collections.ObjectModel.Collection`1[System.Management.Automation.Runspaces.PSSnapInTypeAndFormatErrors],Microsoft.PowerShell.Commands.Internal.Format.PSPropertyExpressionFactory,System.Management.Automation.AuthorizationManager,System.Management.Automation.Host.PSHost,ubyte,byref,byref):Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBase (FullOpts)
          -8 (-0.68 % of base) : 32658.dasm - System.Management.Automation.Runspaces.LocalRunspace:StopOrDisconnectAllJobs():this (FullOpts)
          -4 (-0.63 % of base) : 5339.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
         -12 (-0.63 % of base) : 33273.dasm - Microsoft.PowerShell.Commands.ModuleCmdletBase+<GetModuleForRootedPaths>d__95:MoveNext():ubyte:this (FullOpts)
          -4 (-0.60 % of base) : 33339.dasm - System.Management.Automation.Internal.PipelineProcessor:Clean():this (FullOpts)
32 total methods with Code Size differences (31 improved, 1 regressed).
  
smoke_tests.nativeaot.linux.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 2851260 (overridden on cmd)
Total bytes of diff: 2851172 (overridden on cmd)
Total bytes of delta: -88 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file improvements (bytes):
         -24 : 13944.dasm (-3.95 % of base)
         -24 : 5986.dasm (-6.45 % of base)
          -8 : 6902.dasm (-1.55 % of base)
          -8 : 8281.dasm (-0.18 % of base)
          -8 : 13524.dasm (-1.82 % of base)
          -8 : 15182.dasm (-1.02 % of base)
          -4 : 15538.dasm (-0.18 % of base)
          -4 : 14385.dasm (-0.46 % of base)
8 total files with Code Size differences (8 improved, 0 regressed), 3 unchanged.
Top method improvements (bytes):
         -24 (-6.45 % of base) : 5986.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -24 (-3.95 % of base) : 13944.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
          -8 (-1.55 % of base) : 6902.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -8 (-1.02 % of base) : 15182.dasm - System.Diagnostics.ProcessWaitState:CheckChildren(ubyte,ubyte) (FullOpts)
          -8 (-0.18 % of base) : 8281.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
          -8 (-1.82 % of base) : 13524.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -4 (-0.18 % of base) : 15538.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -4 (-0.46 % of base) : 14385.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
Top method improvements (percentages):
         -24 (-6.45 % of base) : 5986.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -24 (-3.95 % of base) : 13944.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
          -8 (-1.82 % of base) : 13524.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -8 (-1.55 % of base) : 6902.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -8 (-1.02 % of base) : 15182.dasm - System.Diagnostics.ProcessWaitState:CheckChildren(ubyte,ubyte) (FullOpts)
          -4 (-0.46 % of base) : 14385.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
          -4 (-0.18 % of base) : 15538.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -8 (-0.18 % of base) : 8281.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
8 total methods with Code Size differences (8 improved, 0 regressed).
  
  
linux x64
Diffs are based on 1,621,200 contexts (360,162 MinOpts, 1,261,038 FullOpts).
MISSED contexts: base: 2,647 (0.16%), diff: 2,650 (0.16%)
Overall (-742 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.linux.x64.checked.mch | 11,931,736 | +97 | 
| benchmarks.run_pgo.linux.x64.checked.mch | 57,208,438 | +1,769 | 
| benchmarks.run_tiered.linux.x64.checked.mch | 18,554,476 | -48 | 
| coreclr_tests.run.linux.x64.checked.mch | 247,130,491 | -254 | 
| libraries.crossgen2.linux.x64.checked.mch | 44,619,341 | -85 | 
| libraries.pmi.linux.x64.checked.mch | 60,391,350 | -848 | 
| libraries_tests.run.linux.x64.Release.mch | 31,730,283 | -231 | 
| librariestestsnotieredcompilation.run.linux.x64.Release.mch | 130,012,769 | -961 | 
| realworld.run.linux.x64.checked.mch | 13,219,489 | -24 | 
| smoke_tests.nativeaot.linux.x64.checked.mch | 4,228,743 | -157 | 
  
FullOpts (-742 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.linux.x64.checked.mch | 11,762,034 | +97 | 
| benchmarks.run_pgo.linux.x64.checked.mch | 39,461,926 | +1,769 | 
| benchmarks.run_tiered.linux.x64.checked.mch | 3,498,730 | -48 | 
| coreclr_tests.run.linux.x64.checked.mch | 106,763,610 | -254 | 
| libraries.crossgen2.linux.x64.checked.mch | 44,618,143 | -85 | 
| libraries.pmi.linux.x64.checked.mch | 60,278,493 | -848 | 
| libraries_tests.run.linux.x64.Release.mch | 15,802,466 | -231 | 
| librariestestsnotieredcompilation.run.linux.x64.Release.mch | 119,428,914 | -961 | 
| realworld.run.linux.x64.checked.mch | 12,830,953 | -24 | 
| smoke_tests.nativeaot.linux.x64.checked.mch | 4,227,794 | -157 | 
  
Example diffs
benchmarks.run.linux.x64.checked.mch
-9 (-1.64%) : 2729.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
@@ -19,15 +19,15 @@
 ;  V08 loc3         [V08    ] (  6,  2.50)   ubyte  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed ld-addr-op
 ;  V09 loc4         [V09,T14] (  3,  4.50)     ref  ->  r14         class-hnd exact single-def <System.Buffers.ArrayPoolEventSource>
 ;  V10 loc5         [V10,T02] ( 12, 14.25)     int  ->  [rbp-0x34] 
-;  V11 loc6         [V11,T07] (  5, 10   )     ref  ->  r15         class-hnd <System.Array>
-;  V12 loc7         [V12,T08] (  4,  8   )     int  ->  r15        
+;  V11 loc6         [V11,T06] (  5, 10   )     ref  ->  r15         class-hnd <System.Array>
+;  V12 loc7         [V12,T08] (  4,  8   )     int  ->  rax        
 ;# V13 OutArgs      [V13    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V14 tmp1         [V14,T20] (  2,  1   )     int  ->  r12        
 ;* V15 tmp2         [V15    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V16 tmp3         [V16    ] (  0,  0   )     ref  ->  zero-ref   
-;  V17 tmp4         [V17,T17] (  3,  1.50)     int  ->  rax        
-;  V18 tmp5         [V18,T00] (  3, 24   )     int  ->  rax         "impSpillLclRefs"
-;  V19 tmp6         [V19,T03] (  3, 12   )     ref  ->  rax         class-hnd "impSpillLclRefs" <<unknown class>>
+;  V17 tmp4         [V17,T17] (  3,  1.50)     int  ->  rbx        
+;  V18 tmp5         [V18,T00] (  3, 24   )     int  ->  rcx         "impSpillLclRefs"
+;  V19 tmp6         [V19,T03] (  3, 12   )     ref  ->  rcx         class-hnd "impSpillLclRefs" <<unknown class>>
 ;  V20 tmp7         [V20,T09] (  2,  8   )     int  ->  rdx         "impAppendStmt"
 ;* V21 tmp8         [V21    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V22 tmp9         [V22    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -35,7 +35,7 @@
 ;  V24 tmp11        [V24,T04] (  3, 12   )     ref  ->  rax         "arr expr"
 ;  V25 tmp12        [V25,T05] (  3, 12   )     int  ->  rcx         "index expr"
 ;  V26 PSPSym       [V26,T21] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
-;  V27 cse0         [V27,T06] (  4, 10.50)     int  ->  r15         "CSE - aggressive"
+;  V27 cse0         [V27,T07] (  3, 10   )     int  ->  rax         "CSE - aggressive"
 ;  V28 cse1         [V28,T18] (  3,  1.50)     int  ->  rsi         "CSE - moderate"
 ;  V29 cse2         [V29,T19] (  3,  1.50)     int  ->  rax         "CSE - moderate"
 ;
@@ -150,14 +150,13 @@ G_M62513_IG10:        ; bbWeight=1.75, gcrefRegs=4080 {rdi r14}, byrefRegs=0000
        jmp      G_M62513_IG13
                        ;; size=10 bbWeight=1.75 PerfScore 3.94
 G_M62513_IG11:        ; bbWeight=2, gcrefRegs=4080 {rdi r14}, byrefRegs=0000 {}, byref, isz
-       mov      rax, gword ptr [rdi+0x08]
-       ; gcrRegs +[rax]
-       dec      r15d
-       mov      dword ptr [rdi+0x14], r15d
-       cmp      r15d, dword ptr [rax+0x08]
+       mov      rcx, gword ptr [rdi+0x08]
+       ; gcrRegs +[rcx]
+       dec      eax
+       mov      dword ptr [rdi+0x14], eax
+       cmp      eax, dword ptr [rcx+0x08]
        jae      G_M62513_IG07
-       mov      ecx, r15d
-       mov      r15, gword ptr [rax+8*rcx+0x10]
+       mov      r15, gword ptr [rcx+8*rax+0x10]
        ; gcrRegs +[r15]
        test     r15, r15
        jne      SHORT G_M62513_IG12
@@ -165,9 +164,9 @@ G_M62513_IG11:        ; bbWeight=2, gcrefRegs=4080 {rdi r14}, byrefRegs=0000 {},
        mov      rsi, 0xD1FFAB1E
        ; gcrRegs +[rsi]
        call     [<unknown method>]
-       ; gcrRegs -[rax rsi rdi]
+       ; gcrRegs -[rcx rsi rdi]
        ; gcr arg pop 0
-                     ;; size=60 bbWeight=2 PerfScore 28.50
+                     ;; size=54 bbWeight=2 PerfScore 28.00
 G_M62513_IG12:        ; bbWeight=2, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      rdi, gword ptr [rbp-0x40]
        ; gcrRegs +[rdi]
@@ -205,15 +204,15 @@ G_M62513_IG12:        ; bbWeight=2, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {},
        ; gcrRegs +[rdi]
                        ;; size=90 bbWeight=2 PerfScore 62.00
 G_M62513_IG13:        ; bbWeight=4, gcrefRegs=4080 {rdi r14}, byrefRegs=0000 {}, byref, isz
-       mov      r15d, dword ptr [rdi+0x14]
-       test     r15d, r15d
-       jle      SHORT G_M62513_IG16
-       mov      eax, esi
-       lea      esi, [rax-0x01]
-       mov      dword ptr [rbp-0x34], esi
+       mov      eax, dword ptr [rdi+0x14]
        test     eax, eax
+       jle      SHORT G_M62513_IG16
+       mov      ecx, esi
+       lea      esi, [rcx-0x01]
+       mov      dword ptr [rbp-0x34], esi
+       test     ecx, ecx
        jg       G_M62513_IG11
-                        ;; size=25 bbWeight=4 PerfScore 25.00
+                     ;; size=23 bbWeight=4 PerfScore 25.00
 G_M62513_IG14:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[r14]
        jmp      SHORT G_M62513_IG17
@@ -227,21 +226,20 @@ G_M62513_IG15:        ; bbWeight=1, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byr
                        ;; size=9 bbWeight=1 PerfScore 4.00
 G_M62513_IG16:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[r14]
-       test     r15d, r15d
-       jg       SHORT G_M62513_IG17
-       xor      eax, eax
+       xor      ebx, ebx
        jmp      SHORT G_M62513_IG18
-                        ;; size=9 bbWeight=0.50 PerfScore 1.75
+                        ;; size=4 bbWeight=0.50 PerfScore 1.12
 G_M62513_IG17:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
-       mov      eax, r12d
-       sar      eax, 31
-       and      eax, 3
-       add      eax, r12d
-       sar      eax, 2
-       add      eax, dword ptr [rdi+0x18]
-                       ;; size=18 bbWeight=0.50 PerfScore 2.38
+       mov      ebx, r12d
+       sar      ebx, 31
+       and      ebx, 3
+       add      ebx, r12d
+       sar      ebx, 2
+       add      ebx, dword ptr [rdi+0x18]
+       mov      rdi, gword ptr [rbp-0x40]
+                       ;; size=22 bbWeight=0.50 PerfScore 2.88
 G_M62513_IG18:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
-       mov      dword ptr [rdi+0x18], eax
+       mov      dword ptr [rdi+0x18], ebx
                       ;; size=3 bbWeight=0.50 PerfScore 0.50
 G_M62513_IG19:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        cmp      byte  ptr [rbp-0x30], 0
@@ -289,7 +287,7 @@ G_M62513_IG23:        ; bbWeight=0, funclet epilog, nogc, extend
        ret      
                        ;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 549, prolog size 38, PerfScore 168.06, instruction count 158, allocated bytes for code 549 (MethodHash=d51a0bce) for method System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
+; Total bytes of code 540, prolog size 38, PerfScore 167.44, instruction count 156, allocated bytes for code 540 (MethodHash=d51a0bce) for method System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
-4 (-1.08%) : 5597.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
@@ -8,10 +8,10 @@
 ; 0 inlinees with PGO data; 11 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] (  3,  3   )    long  ->  rbx         single-def
-;  V01 arg1         [V01,T19] (  3,  3   )    long  ->  r15         single-def
+;  V00 arg0         [V00,T19] (  3,  3   )    long  ->  rbx         single-def
+;  V01 arg1         [V01,T20] (  3,  3   )    long  ->  r15         single-def
 ;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [rbp-0x38]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T20] (  4, 11   )    long  ->  r15        
+;  V03 loc1         [V03,T21] (  4, 11   )    long  ->  r15        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
@@ -19,14 +19,14 @@
 ;  V08 tmp1         [V08,T10] (  7, 84   )     ref  ->  rbx         class-hnd single-def "non-inline candidate call" <<unknown class>>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V11 tmp4         [V11,T28] (  3,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V12 tmp5         [V12,T22] (  2,  4   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp4         [V11,T29] (  3,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp5         [V12,T23] (  2,  4   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp10        [V17,T08] (  2, 16   )     int  ->  [rbp-0x3C]  spill-single-def "Inlining Arg"
-;  V18 tmp11        [V18,T07] (  2, 16   )   byref  ->  [rbp-0x60]  spill-single-def "Inlining Arg"
+;  V17 tmp10        [V17,T07] (  2, 16   )     int  ->  [rbp-0x3C]  spill-single-def "Inlining Arg"
+;  V18 tmp11        [V18,T06] (  2, 16   )   byref  ->  [rbp-0x60]  spill-single-def "Inlining Arg"
 ;  V19 tmp12        [V19,T12] (  2,  8   )   ubyte  ->  rax         "Inline return value spill temp"
 ;* V20 tmp13        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V21 tmp14        [V21    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
@@ -38,30 +38,30 @@
 ;* V27 tmp20        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V28 tmp21        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V30 tmp23        [V30,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V30 tmp23        [V30,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V31 tmp24        [V31    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V32 tmp25        [V32,T23] (  3, 17   )     ref  ->  rdi         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
-;  V33 tmp26        [V33,T21] (  4, 18   )     int  ->  rsi         "Inline stloc first use temp"
-;  V34 tmp27        [V34,T17] (  3, 20   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V32 tmp25        [V32,T24] (  3, 17   )     ref  ->  rdi         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
+;  V33 tmp26        [V33,T22] (  4, 18   )     int  ->  rsi         "Inline stloc first use temp"
+;  V34 tmp27        [V34,T18] (  3, 20   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V35 tmp28        [V35    ] (  3,  3   )  struct (16) [rbp-0x50]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
 ;  V36 tmp29        [V36    ] (  3, 13   )   byref  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
 ;  V37 tmp30        [V37    ] (  3, 13   )     int  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
-;  V38 tmp31        [V38,T02] (  4, 25   )     ref  ->  rbx         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V39 tmp32        [V39,T03] (  4, 20   )     ref  ->  rdi         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V38 tmp31        [V38,T03] (  4, 25   )     ref  ->  rbx         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V39 tmp32        [V39,T02] (  4, 20   )     ref  ->  rdi         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V40 tmp33        [V40,T00] (  6, 41   )     int  ->  r13         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V41 tmp34        [V41,T05] (  3, 17   )     int  ->  r14         "field V04._version (fldOffset=0x14)" P-INDEP
-;  V42 tmp35        [V42,T13] (  2,  8   )   byref  ->  r12         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V43 tmp36        [V43,T15] (  2,  8   )     int  ->  [rbp-0x54]  spill-single-def "field V09._length (fldOffset=0x8)" P-INDEP
+;  V41 tmp34        [V41,T13] (  2,  9   )     int  ->  r14         "field V04._version (fldOffset=0x14)" P-INDEP
+;  V42 tmp35        [V42,T14] (  2,  8   )   byref  ->  r12         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V43 tmp36        [V43,T16] (  2,  8   )     int  ->  [rbp-0x54]  spill-single-def "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V44 tmp37        [V44    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V45 tmp38        [V45    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V46 tmp39        [V46,T24] (  3,  3   )     ref  ->  rbx         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;  V46 tmp39        [V46,T25] (  3,  3   )     ref  ->  rbx         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V47 tmp40        [V47    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V48 tmp41        [V48,T26] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
-;  V49 tmp42        [V49,T25] (  2,  2   )     int  ->  r14         "field V13._version (fldOffset=0x14)" P-INDEP
+;* V48 tmp41        [V48,T27] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
+;  V49 tmp42        [V49,T26] (  2,  2   )     int  ->  r14         "field V13._version (fldOffset=0x14)" P-INDEP
 ;  V50 tmp43        [V50,T11] (  3, 12   )   byref  ->  rsi         "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V51 tmp44        [V51,T06] (  4, 16   )     int  ->  rcx         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V52 tmp45        [V52,T14] (  2,  8   )   byref  ->  rsi         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V53 tmp46        [V53,T16] (  2,  8   )     int  ->  rcx         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V51 tmp44        [V51,T05] (  4, 16   )     int  ->  rcx         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V52 tmp45        [V52,T15] (  2,  8   )   byref  ->  rsi         "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V53 tmp46        [V53,T17] (  2,  8   )     int  ->  rcx         "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V54 tmp47        [V54    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V55 tmp48        [V55    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V20._reference (fldOffset=0x0)" P-INDEP
@@ -77,8 +77,9 @@
 ;* V66 tmp59        [V66    ] (  0,  0   )   byref  ->  zero-ref    "field V29._reference (fldOffset=0x0)" P-INDEP
 ;* V67 tmp60        [V67    ] (  0,  0   )     int  ->  zero-ref    "field V29._length (fldOffset=0x8)" P-INDEP
 ;  V68 tmp61        [V68,T01] (  3, 48   )     ref  ->  rdi         "arr expr"
-;  V69 PSPSym       [V69,T27] (  1,  1   )    long  ->  [rbp-0x70]  do-not-enreg[V] "PSPSym"
-;  V70 cse0         [V70,T04] (  3, 24   )     int  ->  r12         "CSE - moderate"
+;  V69 PSPSym       [V69,T28] (  1,  1   )    long  ->  [rbp-0x70]  do-not-enreg[V] "PSPSym"
+;  V70 cse0         [V70,T09] (  2, 16   )     int  ->  rdi         "CSE - moderate"
+;  V71 cse1         [V71,T04] (  2, 16   )     int  ->  rdi         "CSE - moderate"
 ;
 ; Lcl frame size = 72
 
@@ -111,7 +112,7 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      bword ptr [rbp-0x38], rax
        mov      qword ptr [rbp-0x30], rdx
        cmp      byte  ptr [r15+0x08], 0
-       je       G_M19804_IG11
+       je       G_M19804_IG10
        mov      rbx, gword ptr [r15]
        ; gcrRegs +[rbx]
        mov      r14d, dword ptr [rbx+0x14]
@@ -161,14 +162,15 @@ G_M19804_IG06:        ; bbWeight=4, gcVars=0000000000000000 {}, gcrefRegs=0008 {
        ; byrRegs -[rsi rdi r12]
        ; gcr arg pop 0
        test     eax, eax
-       jne      SHORT G_M19804_IG14
+       jne      SHORT G_M19804_IG13
                      ;; size=23 bbWeight=4 PerfScore 32.00
 G_M19804_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       mov      r12d, dword ptr [rbx+0x14]
-       cmp      r14d, r12d
-       jne      SHORT G_M19804_IG10
-       cmp      r13d, dword ptr [rbx+0x10]
-       jae      SHORT G_M19804_IG11
+       mov      edi, dword ptr [rbx+0x14]
+       cmp      r14d, edi
+       jne      SHORT G_M19804_IG09
+       mov      edi, dword ptr [rbx+0x10]
+       cmp      r13d, edi
+       jae      SHORT G_M19804_IG10
        mov      rdi, gword ptr [rbx+0x08]
        ; gcrRegs +[rdi]
        cmp      r13d, dword ptr [rdi+0x08]
@@ -177,7 +179,7 @@ G_M19804_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      rdi, gword ptr [rdi+8*rax+0x10]
        inc      r13d
        jmp      SHORT G_M19804_IG04
-                      ;; size=38 bbWeight=8 PerfScore 142.00
+                        ;; size=39 bbWeight=8 PerfScore 136.00
 G_M19804_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx rdi]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -189,10 +191,6 @@ G_M19804_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 G_M19804_IG10:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       cmp      r14d, r12d
-       jne      SHORT G_M19804_IG09
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        mov      rbx, gword ptr [r15]
        ; gcrRegs +[rbx]
        lea      rdi, [rbp-0x38]
@@ -204,9 +202,9 @@ G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ; gcrRegs +[rdi]
        mov      esi, dword ptr [rbx+0x10]
        cmp      dword ptr [rdi+0x08], esi
-       jbe      SHORT G_M19804_IG13
+       jbe      SHORT G_M19804_IG12
                         ;; size=28 bbWeight=8 PerfScore 132.00
-G_M19804_IG12:        ; bbWeight=1, gcrefRegs=0089 {rax rbx rdi}, byrefRegs=0000 {}, byref, isz
+G_M19804_IG11:        ; bbWeight=1, gcrefRegs=0089 {rax rbx rdi}, byrefRegs=0000 {}, byref, isz
        lea      ecx, [rsi+0x01]
        mov      dword ptr [rbx+0x10], ecx
        mov      esi, esi
@@ -218,9 +216,9 @@ G_M19804_IG12:        ; bbWeight=1, gcrefRegs=0089 {rax rbx rdi}, byrefRegs=0000
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rax rbx rsi]
        ; byrRegs -[rdi]
-       jmp      SHORT G_M19804_IG14
+       jmp      SHORT G_M19804_IG13
                       ;; size=23 bbWeight=1 PerfScore 6.00
-G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
+G_M19804_IG12:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rax rbx]
        mov      rdi, rbx
        ; gcrRegs +[rdi]
@@ -231,13 +229,13 @@ G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {},
        ; gcr arg pop 0
        nop      
                        ;; size=13 bbWeight=1 PerfScore 3.75
-G_M19804_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        lea      rdi, [rbp-0x50]
        call     CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT
        ; gcr arg pop 0
        nop      
                        ;; size=10 bbWeight=1 PerfScore 1.75
-G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
+G_M19804_IG14:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 72
        pop      rbx
        pop      r12
@@ -247,7 +245,7 @@ G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=15 bbWeight=1 PerfScore 4.25
-G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M19804_IG15:        ; bbWeight=0, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        ; gcrRegs +[rsi]
        push     rbp
        push     r15
@@ -260,7 +258,7 @@ G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byr
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x70]
                        ;; size=22 bbWeight=0 PerfScore 0.00
-G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, gcvars, byref
+G_M19804_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, gcvars, byref
        mov      rdi, rsi
        ; gcrRegs +[rdi]
        mov      rax, qword ptr [rsi]
@@ -273,9 +271,9 @@ G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0040 {
        call     [<unknown method>]
        ; gcrRegs -[rax rdi]
        ; gcr arg pop 0
-       lea      rax, G_M19804_IG14
+       lea      rax, G_M19804_IG13
                      ;; size=29 bbWeight=0 PerfScore 0.00
-G_M19804_IG18:        ; bbWeight=0, funclet epilog, nogc, extend
+G_M19804_IG17:        ; bbWeight=0, funclet epilog, nogc, extend
        add      rsp, 8
        pop      rbx
        pop      r12
@@ -286,7 +284,7 @@ G_M19804_IG18:        ; bbWeight=0, funclet epilog, nogc, extend
        ret      
                        ;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 371, prolog size 35, PerfScore 424.50, instruction count 122, allocated bytes for code 371 (MethodHash=86b0b2a3) for method System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
+; Total bytes of code 367, prolog size 35, PerfScore 408.50, instruction count 121, allocated bytes for code 367 (MethodHash=86b0b2a3) for method System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -325,4 +323,4 @@ Unwind Info:
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 *************** EH table for System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long)
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M19804_IG03..G_M19804_IG14) handled by [G_M19804_IG16..END) (class: 2000053)
+EH#0: try [G_M19804_IG03..G_M19804_IG13) handled by [G_M19804_IG15..END) (class: 2000053)
  
-4 (-0.92%) : 4299.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
@@ -10,8 +10,8 @@
 ;
 ;  V00 this         [V00,T09] (  3,  4   )     ref  ->  r15         this class-hnd single-def <System.Threading.Tasks.Task>
 ;  V01 arg1         [V01,T08] (  5,  4.50)     ref  ->  rbx         class-hnd single-def <System.Threading.Tasks.Task+ContingentProperties>
-;  V02 loc0         [V02,T11] (  5,  3.50)     ref  ->  r14         class-hnd single-def <<unknown class>>
-;  V03 loc1         [V03,T15] (  3,  0.50)     ref  ->  [rbp-0x38]  class-hnd EH-live spill-single-def <<unknown class>>
+;  V02 loc0         [V02,T12] (  5,  3.50)     ref  ->  r14         class-hnd single-def <<unknown class>>
+;  V03 loc1         [V03,T16] (  3,  0.50)     ref  ->  [rbp-0x38]  class-hnd EH-live spill-single-def <<unknown class>>
 ;  V04 loc2         [V04    ] (  6,  2.50)   ubyte  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
@@ -24,19 +24,20 @@
 ;  V13 tmp5         [V13,T04] (  3, 12   )     ref  ->  [rbp-0x48]  class-hnd spill-single-def "Inlining Arg" <System.AggregateException>
 ;* V14 tmp6         [V14    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V15 tmp7         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V16 tmp8         [V16,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V16 tmp8         [V16,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V17 tmp9         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V18 tmp10        [V18,T03] (  4, 12.50)     ref  ->  r14         single-def "field V05._list (fldOffset=0x0)" P-INDEP
 ;  V19 tmp11        [V19,T02] (  5, 14   )     ref  ->  [rbp-0x50]  "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V20 tmp12        [V20,T00] (  6, 20.50)     int  ->  r12         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V21 tmp13        [V21,T06] (  3,  8.50)     int  ->  r13         "field V05._version (fldOffset=0x14)" P-INDEP
-;  V22 tmp14        [V22,T12] (  3,  1.50)     ref  ->  r14         single-def "field V09._list (fldOffset=0x0)" P-INDEP
+;  V21 tmp13        [V21,T11] (  2,  4.50)     int  ->  r13         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V22 tmp14        [V22,T13] (  3,  1.50)     ref  ->  r14         single-def "field V09._list (fldOffset=0x0)" P-INDEP
 ;* V23 tmp15        [V23    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V09._current (fldOffset=0x8)" P-INDEP
-;* V24 tmp16        [V24,T16] (  0,  0   )     int  ->  zero-ref    "field V09._index (fldOffset=0x10)" P-INDEP
-;  V25 tmp17        [V25,T13] (  2,  1   )     int  ->  r13         "field V09._version (fldOffset=0x14)" P-INDEP
+;* V24 tmp16        [V24,T17] (  0,  0   )     int  ->  zero-ref    "field V09._index (fldOffset=0x10)" P-INDEP
+;  V25 tmp17        [V25,T14] (  2,  1   )     int  ->  r13         "field V09._version (fldOffset=0x14)" P-INDEP
 ;  V26 tmp18        [V26,T01] (  3, 24   )     ref  ->  rdi         "arr expr"
-;  V27 PSPSym       [V27,T14] (  1,  1   )    long  ->  [rbp-0x60]  do-not-enreg[V] "PSPSym"
-;  V28 cse0         [V28,T05] (  3, 12   )     int  ->  rax         "CSE - aggressive"
+;  V27 PSPSym       [V27,T15] (  1,  1   )    long  ->  [rbp-0x60]  do-not-enreg[V] "PSPSym"
+;  V28 cse0         [V28,T07] (  2,  8   )     int  ->  rdi         "CSE - aggressive"
+;  V29 cse1         [V29,T05] (  2,  8   )     int  ->  rdi         "CSE - aggressive"
 ;
 ; Lcl frame size = 56
 
@@ -64,7 +65,7 @@ G_M37406_IG02:        ; bbWeight=1, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {},
        mov      r14, gword ptr [rbx+0x28]
        ; gcrRegs +[r14]
        test     r14, r14
-       je       G_M37406_IG16
+       je       G_M37406_IG15
                      ;; size=28 bbWeight=1 PerfScore 7.75
 G_M37406_IG03:        ; bbWeight=0.50, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
        mov      gword ptr [rbp-0x38], r14
@@ -72,7 +73,7 @@ G_M37406_IG03:        ; bbWeight=0.50, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0
        xor      esi, esi
        mov      dword ptr [rbp-0x30], esi
                        ;; size=9 bbWeight=0.50 PerfScore 1.12
-G_M37406_IG04:        ; bbWeight=0.50, gcVars=0000000000008000 {V03}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M37406_IG04:        ; bbWeight=0.50, gcVars=0000000000010000 {V03}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref
        cmp      byte  ptr [rbp-0x30], 0
        jne      G_M37406_IG10
        lea      rsi, [rbp-0x30]
@@ -88,15 +89,16 @@ G_M37406_IG04:        ; bbWeight=0.50, gcVars=0000000000008000 {V03}, gcrefRegs=
        xor      r12d, r12d
                        ;; size=40 bbWeight=0.50 PerfScore 5.50
 G_M37406_IG05:        ; bbWeight=4, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
-       mov      eax, dword ptr [r14+0x14]
-       cmp      r13d, eax
-       jne      G_M37406_IG11
-       cmp      r12d, dword ptr [r14+0x10]
-       jae      G_M37406_IG14
+       mov      edi, dword ptr [r14+0x14]
+       cmp      r13d, edi
+       jne      G_M37406_IG12
+       mov      edi, dword ptr [r14+0x10]
+       cmp      r12d, edi
+       jae      G_M37406_IG13
        mov      rdi, gword ptr [r14+0x08]
        ; gcrRegs +[rdi]
        cmp      r12d, dword ptr [rdi+0x08]
-       jae      G_M37406_IG12
+       jae      G_M37406_IG11
        mov      esi, r12d
        mov      rax, gword ptr [rdi+8*rsi+0x10]
        ; gcrRegs +[rax]
@@ -105,8 +107,8 @@ G_M37406_IG05:        ; bbWeight=4, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000
        ; GC ptr vars +{V19}
        test     dword ptr [rax+0x34], 0xD1FFAB1E
        jne      SHORT G_M37406_IG07
-                      ;; size=61 bbWeight=4 PerfScore 83.00
-G_M37406_IG06:        ; bbWeight=2, gcVars=0000000000008004 {V03 V19}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref
+                        ;; size=64 bbWeight=4 PerfScore 80.00
+G_M37406_IG06:        ; bbWeight=2, gcVars=0000000000010004 {V03 V19}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax rdi]
        mov      rdi, 0xD1FFAB1E
        ; gcrRegs +[rdi]
@@ -172,39 +174,32 @@ G_M37406_IG08:        ; bbWeight=2, gcrefRegs=C009 {rax rbx r14 r15}, byrefRegs=
        ; gcr arg pop 0
        jmp      G_M37406_IG05
                        ;; size=19 bbWeight=2 PerfScore 11.50
-G_M37406_IG09:        ; bbWeight=1, gcVars=0000000000008010 {V03 V13}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M37406_IG09:        ; bbWeight=1, gcVars=0000000000010010 {V03 V13}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        ; GC ptr vars +{V13}
        mov      rax, gword ptr [rbp-0x48]
        ; gcrRegs +[rax]
        jmp      SHORT G_M37406_IG08
                        ;; size=6 bbWeight=1 PerfScore 3.00
-G_M37406_IG10:        ; bbWeight=0, gcVars=0000000000008000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M37406_IG10:        ; bbWeight=0, gcVars=0000000000010000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax rbx r14-r15]
        ; GC ptr vars -{V13}
        call     [System.Threading.Monitor:ThrowLockTakenException()]
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M37406_IG11:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs +[rbx]
-       cmp      r13d, eax
-       jne      SHORT G_M37406_IG13
-       jmp      SHORT G_M37406_IG14
-                       ;; size=7 bbWeight=4 PerfScore 13.00
-G_M37406_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rbx]
+G_M37406_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
                        ;; size=5 bbWeight=0 PerfScore 0.00
-G_M37406_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M37406_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()]
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M37406_IG14:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M37406_IG13:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rbx]
        cmp      byte  ptr [rbp-0x30], 0
-       je       SHORT G_M37406_IG15
+       je       SHORT G_M37406_IG14
        mov      rdi, gword ptr [rbp-0x38]
        ; gcrRegs +[rdi]
        ; GC ptr vars -{V03}
@@ -212,12 +207,12 @@ G_M37406_IG14:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
                        ;; size=15 bbWeight=0.50 PerfScore 2.50
-G_M37406_IG15:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M37406_IG14:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        xor      rax, rax
        ; gcrRegs +[rax]
        mov      gword ptr [rbx+0x28], rax
                        ;; size=6 bbWeight=0.50 PerfScore 0.62
-G_M37406_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M37406_IG15:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rax rbx]
        add      rsp, 56
        pop      rbx
@@ -228,8 +223,8 @@ G_M37406_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        pop      rbp
        ret      
                        ;; size=15 bbWeight=1 PerfScore 4.25
-G_M37406_IG17:        ; bbWeight=0, gcVars=0000000000008000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-       ; GC ptr vars +{V03}
+G_M37406_IG16:        ; bbWeight=0, gcVars=0000000000010000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+       ; GC ptr vars +{V03 V16}
        push     rbp
        push     r15
        push     r14
@@ -241,20 +236,20 @@ G_M37406_IG17:        ; bbWeight=0, gcVars=0000000000008000 {V03}, gcrefRegs=000
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x60]
                        ;; size=22 bbWeight=0 PerfScore 0.00
-G_M37406_IG18:        ; bbWeight=0, gcVars=0000000000008000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M37406_IG17:        ; bbWeight=0, gcVars=0000000000010000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        cmp      byte  ptr [rbp-0x30], 0
-       je       SHORT G_M37406_IG19
+       je       SHORT G_M37406_IG18
        mov      rdi, gword ptr [rbp-0x38]
        ; gcrRegs +[rdi]
-       ; GC ptr vars -{V03}
+       ; GC ptr vars -{V03 V16}
        call     <unknown method>
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
                        ;; size=15 bbWeight=0 PerfScore 0.00
-G_M37406_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M37406_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=0 PerfScore 0.00
-G_M37406_IG20:        ; bbWeight=0, funclet epilog, nogc, extend
+G_M37406_IG19:        ; bbWeight=0, funclet epilog, nogc, extend
        add      rsp, 8
        pop      rbx
        pop      r12
@@ -265,7 +260,7 @@ G_M37406_IG20:        ; bbWeight=0, funclet epilog, nogc, extend
        ret      
                        ;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 437, prolog size 29, PerfScore 213.00, instruction count 123, allocated bytes for code 437 (MethodHash=88f36de1) for method System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
+; Total bytes of code 433, prolog size 29, PerfScore 197.00, instruction count 121, allocated bytes for code 433 (MethodHash=88f36de1) for method System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -304,4 +299,4 @@ Unwind Info:
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 *************** EH table for System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M37406_IG04..G_M37406_IG14) handled by [G_M37406_IG17..END) (fault)
+EH#0: try [G_M37406_IG04..G_M37406_IG13) handled by [G_M37406_IG16..END) (fault)
  
+3 (+2.36%) : 9016.dasm - Newtonsoft.Json.Serialization.JsonContract:InvokeOnSerializing(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
@@ -8,27 +8,28 @@
 ; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T07] (  4,  3.50)     ref  ->  rdi         this class-hnd single-def <Newtonsoft.Json.Serialization.JsonContract>
-;  V01 arg1         [V01,T06] (  3,  4   )     ref  ->  rbx         class-hnd single-def <System.Object>
+;  V00 this         [V00,T08] (  4,  3.50)     ref  ->  rdi         this class-hnd single-def <Newtonsoft.Json.Serialization.JsonContract>
+;  V01 arg1         [V01,T07] (  3,  4   )     ref  ->  rbx         class-hnd single-def <System.Object>
 ;* V02 arg2         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.Runtime.Serialization.StreamingContext>
 ;* V03 loc0         [V03    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[Newtonsoft.Json.Serialization.SerializationCallback]>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T11] (  2,  2   )     ref  ->  r13         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V05 tmp1         [V05,T12] (  2,  2   )     ref  ->  r13         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V06 tmp2         [V06    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[Newtonsoft.Json.Serialization.SerializationCallback]>
 ;* V07 tmp3         [V07,T05] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V08 tmp4         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V09 tmp5         [V09,T08] (  2,  3   )     ref  ->  r15         single-def "field V02._additionalContext (fldOffset=0x0)" P-INDEP
-;  V10 tmp6         [V10,T09] (  2,  3   )     int  ->  r14         single-def "field V02._state (fldOffset=0x8)" P-INDEP
+;  V09 tmp5         [V09,T09] (  2,  3   )     ref  ->  r15         single-def "field V02._additionalContext (fldOffset=0x0)" P-INDEP
+;  V10 tmp6         [V10,T10] (  2,  3   )     int  ->  r14         single-def "field V02._state (fldOffset=0x8)" P-INDEP
 ;  V11 tmp7         [V11,T02] (  4, 12.50)     ref  ->  r13         single-def "field V03._list (fldOffset=0x0)" P-INDEP
 ;  V12 tmp8         [V12,T03] (  3,  8   )     ref  ->  rax         "field V03._current (fldOffset=0x8)" P-INDEP
 ;  V13 tmp9         [V13,T00] (  6, 20.50)     int  ->  [rbp-0x2C]  "field V03._index (fldOffset=0x10)" P-INDEP
-;  V14 tmp10        [V14,T10] (  2,  4.50)     int  ->  r12         single-def "field V03._version (fldOffset=0x14)" P-INDEP
-;  V15 tmp11        [V15,T12] (  3,  1.50)     ref  ->  r13         single-def "field V06._list (fldOffset=0x0)" P-INDEP
+;  V14 tmp10        [V14,T11] (  2,  4.50)     int  ->  r12         single-def "field V03._version (fldOffset=0x14)" P-INDEP
+;  V15 tmp11        [V15,T13] (  3,  1.50)     ref  ->  r13         single-def "field V06._list (fldOffset=0x0)" P-INDEP
 ;* V16 tmp12        [V16    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V06._current (fldOffset=0x8)" P-INDEP
-;* V17 tmp13        [V17,T14] (  0,  0   )     int  ->  zero-ref    single-def "field V06._index (fldOffset=0x10)" P-INDEP
-;  V18 tmp14        [V18,T13] (  2,  1   )     int  ->  r12         single-def "field V06._version (fldOffset=0x14)" P-INDEP
+;* V17 tmp13        [V17,T15] (  0,  0   )     int  ->  zero-ref    single-def "field V06._index (fldOffset=0x10)" P-INDEP
+;  V18 tmp14        [V18,T14] (  2,  1   )     int  ->  r12         single-def "field V06._version (fldOffset=0x14)" P-INDEP
 ;  V19 tmp15        [V19,T01] (  3, 24   )     ref  ->  rcx         "arr expr"
-;  V20 cse0         [V20,T04] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V20 cse0         [V20,T06] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V21 cse1         [V21,T04] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 8
 
@@ -73,7 +74,8 @@ G_M62978_IG04:        ; bbWeight=2, gcrefRegs=A009 {rax rbx r13 r15}, byrefRegs=
        mov      edx, dword ptr [rbp-0x2C]
                        ;; size=19 bbWeight=2 PerfScore 13.50
 G_M62978_IG05:        ; bbWeight=4, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000 {}, byref, isz
-       cmp      r12d, dword ptr [r13+0x14]
+       mov      ecx, dword ptr [r13+0x14]
+       cmp      r12d, ecx
        jne      SHORT G_M62978_IG08
        mov      ecx, dword ptr [r13+0x10]
        cmp      edx, ecx
@@ -88,7 +90,7 @@ G_M62978_IG05:        ; bbWeight=4, gcrefRegs=A008 {rbx r13 r15}, byrefRegs=0000
        inc      edx
        mov      dword ptr [rbp-0x2C], edx
        jmp      SHORT G_M62978_IG04
-                      ;; size=37 bbWeight=4 PerfScore 75.00
+                     ;; size=40 bbWeight=4 PerfScore 72.00
 G_M62978_IG06:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rax rcx rbx r13 r15]
        add      rsp, 8
@@ -108,7 +110,7 @@ G_M62978_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 127, prolog size 16, PerfScore 120.88, instruction count 47, allocated bytes for code 127 (MethodHash=063809fd) for method Newtonsoft.Json.Serialization.JsonContract:InvokeOnSerializing(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
+; Total bytes of code 130, prolog size 16, PerfScore 117.88, instruction count 48, allocated bytes for code 130 (MethodHash=063809fd) for method Newtonsoft.Json.Serialization.JsonContract:InvokeOnSerializing(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+3 (+2.52%) : 9637.dasm - System.Diagnostics.Tracing.TraceLoggingMetadataCollector+Impl:Encode(ubyte[]):int:this (FullOpts)
@@ -8,26 +8,27 @@
 ; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T08] (  3,  3   )     ref  ->  rdi         this class-hnd single-def <System.Diagnostics.Tracing.TraceLoggingMetadataCollector+Impl>
-;  V01 arg1         [V01,T07] (  3,  4   )     ref  ->  rbx         class-hnd single-def <ubyte[]>
+;  V00 this         [V00,T09] (  3,  3   )     ref  ->  rdi         this class-hnd single-def <System.Diagnostics.Tracing.TraceLoggingMetadataCollector+Impl>
+;  V01 arg1         [V01,T08] (  3,  4   )     ref  ->  rbx         class-hnd single-def <ubyte[]>
 ;  V02 loc0         [V02    ] (  3,  7   )     int  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V03 loc1         [V03    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Diagnostics.Tracing.FieldMetadata]>
 ;* V04 loc2         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Diagnostics.Tracing.FieldMetadata>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V06 tmp1         [V06,T09] (  2,  4   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V06 tmp1         [V06,T10] (  2,  4   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V07 tmp2         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Diagnostics.Tracing.FieldMetadata]>
-;* V08 tmp3         [V08,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V08 tmp3         [V08,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V09 tmp4         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V10 tmp5         [V10,T02] (  4, 17   )     ref  ->  r15         single-def "field V03._list (fldOffset=0x0)" P-INDEP
-;  V11 tmp6         [V11,T04] (  2,  6   )     ref  ->  rdi         "field V03._current (fldOffset=0x8)" P-INDEP
+;  V11 tmp6         [V11,T05] (  2,  6   )     ref  ->  rdi         "field V03._current (fldOffset=0x8)" P-INDEP
 ;  V12 tmp7         [V12,T00] (  6, 21   )     int  ->  r13         "field V03._index (fldOffset=0x10)" P-INDEP
-;  V13 tmp8         [V13,T05] (  2,  9   )     int  ->  r14         "field V03._version (fldOffset=0x14)" P-INDEP
-;  V14 tmp9         [V14,T10] (  3,  3   )     ref  ->  r15         single-def "field V07._list (fldOffset=0x0)" P-INDEP
+;  V13 tmp8         [V13,T06] (  2,  9   )     int  ->  r14         "field V03._version (fldOffset=0x14)" P-INDEP
+;  V14 tmp9         [V14,T11] (  3,  3   )     ref  ->  r15         single-def "field V07._list (fldOffset=0x0)" P-INDEP
 ;* V15 tmp10        [V15    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V07._current (fldOffset=0x8)" P-INDEP
-;* V16 tmp11        [V16,T12] (  0,  0   )     int  ->  zero-ref    "field V07._index (fldOffset=0x10)" P-INDEP
-;  V17 tmp12        [V17,T11] (  2,  2   )     int  ->  r14         "field V07._version (fldOffset=0x14)" P-INDEP
+;* V16 tmp11        [V16,T13] (  0,  0   )     int  ->  zero-ref    "field V07._index (fldOffset=0x10)" P-INDEP
+;  V17 tmp12        [V17,T12] (  2,  2   )     int  ->  r14         "field V07._version (fldOffset=0x14)" P-INDEP
 ;  V18 tmp13        [V18,T01] (  3, 24   )     ref  ->  rsi         "arr expr"
-;  V19 cse0         [V19,T03] (  2,  8   )     int  ->  rsi         "CSE - aggressive"
+;  V19 cse0         [V19,T04] (  2,  8   )     int  ->  rsi         "CSE - aggressive"
+;  V20 cse1         [V20,T03] (  2, 16   )     int  ->  rsi         "CSE - aggressive"
 ;
 ; Lcl frame size = 16
 
@@ -65,9 +66,10 @@ G_M38703_IG04:        ; bbWeight=2, gcrefRegs=8088 {rbx rdi r15}, byrefRegs=0000
        ; gcrRegs -[rdx rdi]
                        ;; size=15 bbWeight=2 PerfScore 13.50
 G_M38703_IG05:        ; bbWeight=8, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
-       cmp      r14d, dword ptr [r15+0x14]
+       mov      esi, dword ptr [r15+0x14]
+       cmp      r14d, esi
        jne      SHORT G_M38703_IG10
-                     ;; size=6 bbWeight=8 PerfScore 32.00
+                      ;; size=9 bbWeight=8 PerfScore 26.00
 G_M38703_IG06:        ; bbWeight=4, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
        mov      esi, dword ptr [r15+0x10]
        cmp      r13d, esi
@@ -103,7 +105,7 @@ G_M38703_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 119, prolog size 17, PerfScore 133.00, instruction count 41, allocated bytes for code 119 (MethodHash=726d68d0) for method System.Diagnostics.Tracing.TraceLoggingMetadataCollector+Impl:Encode(ubyte[]):int:this (FullOpts)
+; Total bytes of code 122, prolog size 17, PerfScore 127.00, instruction count 42, allocated bytes for code 122 (MethodHash=726d68d0) for method System.Diagnostics.Tracing.TraceLoggingMetadataCollector+Impl:Encode(ubyte[]):int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+3 (+2.94%) : 5814.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:EmitWriteBack(System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack]):this (FullOpts)
@@ -8,8 +8,8 @@
 ; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T06] (  3,  4   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Expressions.Compiler.LambdaCompiler>
-;  V01 arg1         [V01,T07] (  4,  3.50)     ref  ->  rsi         class-hnd single-def <System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack]>
+;  V00 this         [V00,T07] (  3,  4   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Expressions.Compiler.LambdaCompiler>
+;  V01 arg1         [V01,T08] (  4,  3.50)     ref  ->  rsi         class-hnd single-def <System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack]>
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack]>
 ;* V03 loc1         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -19,13 +19,14 @@
 ;  V08 tmp4         [V08,T02] (  4, 12.50)     ref  ->  r15         single-def "field V02._list (fldOffset=0x0)" P-INDEP
 ;  V09 tmp5         [V09,T03] (  3,  8   )     ref  ->  rax         "field V02._current (fldOffset=0x8)" P-INDEP
 ;  V10 tmp6         [V10,T00] (  6, 20.50)     int  ->  r13         "field V02._index (fldOffset=0x10)" P-INDEP
-;  V11 tmp7         [V11,T08] (  2,  4.50)     int  ->  r14         "field V02._version (fldOffset=0x14)" P-INDEP
-;  V12 tmp8         [V12,T09] (  3,  1.50)     ref  ->  r15         single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V11 tmp7         [V11,T09] (  2,  4.50)     int  ->  r14         "field V02._version (fldOffset=0x14)" P-INDEP
+;  V12 tmp8         [V12,T10] (  3,  1.50)     ref  ->  r15         single-def "field V05._list (fldOffset=0x0)" P-INDEP
 ;* V13 tmp9         [V13    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V05._current (fldOffset=0x8)" P-INDEP
-;* V14 tmp10        [V14,T11] (  0,  0   )     int  ->  zero-ref    "field V05._index (fldOffset=0x10)" P-INDEP
-;  V15 tmp11        [V15,T10] (  2,  1   )     int  ->  r14         "field V05._version (fldOffset=0x14)" P-INDEP
+;* V14 tmp10        [V14,T12] (  0,  0   )     int  ->  zero-ref    "field V05._index (fldOffset=0x10)" P-INDEP
+;  V15 tmp11        [V15,T11] (  2,  1   )     int  ->  r14         "field V05._version (fldOffset=0x14)" P-INDEP
 ;  V16 tmp12        [V16,T01] (  3, 24   )     ref  ->  rsi         "arr expr"
-;  V17 cse0         [V17,T04] (  2,  8   )     int  ->  rsi         "CSE - aggressive"
+;  V17 cse0         [V17,T06] (  2,  8   )     int  ->  rsi         "CSE - aggressive"
+;  V18 cse1         [V18,T04] (  2,  8   )     int  ->  rsi         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -61,7 +62,8 @@ G_M37225_IG04:        ; bbWeight=2, gcrefRegs=8009 {rax rbx r15}, byrefRegs=0000
        ; gcrRegs -[rax rsi rdi]
                        ;; size=10 bbWeight=2 PerfScore 10.50
 G_M37225_IG05:        ; bbWeight=4, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
-       cmp      r14d, dword ptr [r15+0x14]
+       mov      esi, dword ptr [r15+0x14]
+       cmp      r14d, esi
        jne      SHORT G_M37225_IG08
        mov      esi, dword ptr [r15+0x10]
        cmp      r13d, esi
@@ -75,7 +77,7 @@ G_M37225_IG05:        ; bbWeight=4, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {},
        ; gcrRegs +[rax]
        inc      r13d
        jmp      SHORT G_M37225_IG04
-                      ;; size=38 bbWeight=4 PerfScore 71.00
+                     ;; size=41 bbWeight=4 PerfScore 68.00
 G_M37225_IG06:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rax rbx rsi r15]
        pop      rbx
@@ -93,7 +95,7 @@ G_M37225_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 102, prolog size 13, PerfScore 104.75, instruction count 37, allocated bytes for code 102 (MethodHash=abe96e96) for method System.Linq.Expressions.Compiler.LambdaCompiler:EmitWriteBack(System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack]):this (FullOpts)
+; Total bytes of code 105, prolog size 13, PerfScore 101.75, instruction count 38, allocated bytes for code 105 (MethodHash=abe96e96) for method System.Linq.Expressions.Compiler.LambdaCompiler:EmitWriteBack(System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack]):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
benchmarks.run_pgo.linux.x64.checked.mch
-17 (-3.18%) : 103078.dasm - System.Linq.Enumerable:CountSystem.__Canon:int (Tier1)
@@ -25,7 +25,7 @@
 ;  V13 tmp7         [V13,T09] (  2, 156.11)     int  ->  rax         "guarded devirt return temp"
 ;* V14 tmp8         [V14    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Collections.Generic.List`1+Enumerator[Product]>
 ;* V15 tmp9         [V15    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Collections.Generic.List`1+Enumerator[Product]>
-;  V16 tmp10        [V16,T00] ( 12,1096.74)   byref  ->  r14         "Inlining Arg"
+;  V16 tmp10        [V16,T00] ( 10,1092.77)   byref  ->  r14         "Inlining Arg"
 ;  V17 tmp11        [V17,T07] (  4, 311.23)     ref  ->  rdi         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;* V18 tmp12        [V18    ] (  0,   0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V19 tmp13        [V19,T01] (  3, 462.38)     ref  ->  rdi         "arr expr"
@@ -56,14 +56,14 @@ G_M54795_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=34 bbWeight=1 PerfScore 8.50
 G_M54795_IG02:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
        test     r14, r14
-       je       G_M54795_IG24
+       je       G_M54795_IG23
        test     rbx, rbx
-       je       G_M54795_IG25
+       je       G_M54795_IG24
        xor      r13d, r13d
        mov      rdi, qword ptr [r15+0x38]
        mov      r11, qword ptr [rdi+0x10]
        test     r11, r11
-       je       G_M54795_IG20
+       je       G_M54795_IG19
                      ;; size=38 bbWeight=1 PerfScore 8.00
 G_M54795_IG03:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
        mov      rdi, r14
@@ -135,10 +135,10 @@ G_M54795_IG10:        ; bbWeight=78.06, gcrefRegs=0009 {rax rbx}, byrefRegs=0000
        ; gcrRegs +[rdi]
        mov      esi, dword ptr [r14+0x14]
        cmp      esi, dword ptr [rdi+0x14]
-       jne      SHORT G_M54795_IG18
+       jne      SHORT G_M54795_IG17
        mov      esi, dword ptr [r14+0x10]
        cmp      esi, dword ptr [rdi+0x10]
-       jae      SHORT G_M54795_IG19
+       jae      SHORT G_M54795_IG18
                         ;; size=40 bbWeight=78.06 PerfScore 1463.53
 G_M54795_IG11:        ; bbWeight=77.06, gcrefRegs=0088 {rbx rdi}, byrefRegs=4000 {r14}, byref, isz
        ; gcrRegs -[rax]
@@ -173,7 +173,7 @@ G_M54795_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ; gcrRegs -[rbx]
        mov      rax, gword ptr [rbp-0x30]
        ; gcrRegs +[rax]
-       jmp      SHORT G_M54795_IG21
+       jmp      SHORT G_M54795_IG20
                       ;; size=6 bbWeight=1 PerfScore 3.00
 G_M54795_IG14:        ; bbWeight=4.94, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rbx]
@@ -199,16 +199,6 @@ G_M54795_IG18:        ; bbWeight=0.99, gcrefRegs=0000 {}, byrefRegs=4000 {r14},
        ; byrRegs +[r14]
        mov      rax, gword ptr [rbp-0x30]
        ; gcrRegs +[rax]
-       mov      edi, dword ptr [r14+0x14]
-       mov      r11, gword ptr [r14]
-       ; gcrRegs +[r11]
-       cmp      edi, dword ptr [r11+0x14]
-       jne      SHORT G_M54795_IG17
-                       ;; size=17 bbWeight=0.99 PerfScore 8.93
-G_M54795_IG19:        ; bbWeight=0.99, gcrefRegs=0000 {}, byrefRegs=4000 {r14}, byref, isz
-       ; gcrRegs -[rax r11]
-       mov      rax, gword ptr [rbp-0x30]
-       ; gcrRegs +[rax]
        mov      rdi, gword ptr [r14]
        ; gcrRegs +[rdi]
        mov      edi, dword ptr [rdi+0x10]
@@ -218,9 +208,9 @@ G_M54795_IG19:        ; bbWeight=0.99, gcrefRegs=0000 {}, byrefRegs=4000 {r14},
        xor      rdi, rdi
        ; gcrRegs +[rdi]
        mov      gword ptr [r14+0x08], rdi
-       jmp      SHORT G_M54795_IG21
+       jmp      SHORT G_M54795_IG20
                         ;; size=24 bbWeight=0.99 PerfScore 9.42
-G_M54795_IG20:        ; bbWeight=0.20, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, gcvars, byref
+G_M54795_IG19:        ; bbWeight=0.20, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax rdi] +[rbx r14]
        ; byrRegs -[r14]
        ; GC ptr vars -{V04}
@@ -231,19 +221,19 @@ G_M54795_IG20:        ; bbWeight=0.20, gcVars=0000000000000000 {}, gcrefRegs=400
        mov      r11, rax
        jmp      G_M54795_IG03
                        ;; size=26 bbWeight=0.20 PerfScore 0.75
-G_M54795_IG21:        ; bbWeight=1, gcVars=0000000000000040 {V04}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M54795_IG20:        ; bbWeight=1, gcVars=0000000000000040 {V04}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rbx r14] +[rax]
        ; GC ptr vars +{V04}
        mov      rdi, 0xD1FFAB1E      ; System.Collections.Generic.List`1+Enumerator[Product]
        cmp      qword ptr [rax], rdi
-       jne      SHORT G_M54795_IG26
+       jne      SHORT G_M54795_IG25
                      ;; size=15 bbWeight=1 PerfScore 4.25
-G_M54795_IG22:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M54795_IG21:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
        ; GC ptr vars -{V04}
        mov      eax, r13d
                        ;; size=3 bbWeight=1 PerfScore 0.25
-G_M54795_IG23:        ; bbWeight=1, epilog, nogc, extend
+G_M54795_IG22:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 32
        pop      rbx
        pop      r13
@@ -252,19 +242,19 @@ G_M54795_IG23:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=13 bbWeight=1 PerfScore 3.75
-G_M54795_IG24:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M54795_IG23:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        mov      edi, 17
        call     [System.Linq.ThrowHelper:ThrowArgumentNullException(int)]
        ; gcr arg pop 0
        int3     
                        ;; size=12 bbWeight=0 PerfScore 0.00
-G_M54795_IG25:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M54795_IG24:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      edi, 12
        call     [System.Linq.ThrowHelper:ThrowArgumentNullException(int)]
        ; gcr arg pop 0
        int3     
                        ;; size=12 bbWeight=0 PerfScore 0.00
-G_M54795_IG26:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M54795_IG25:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        ; GC ptr vars +{V04}
        mov      rax, gword ptr [rbp-0x30]
        ; gcrRegs +[rax]
@@ -275,9 +265,9 @@ G_M54795_IG26:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=000
        call     [r11]<unknown method>
        ; gcrRegs -[rax rdi]
        ; gcr arg pop 0
-       jmp      SHORT G_M54795_IG22
+       jmp      SHORT G_M54795_IG21
                        ;; size=22 bbWeight=0 PerfScore 0.00
-G_M54795_IG27:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+G_M54795_IG26:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
        ; GC ptr vars +{V04}
        push     rbp
        push     r15
@@ -289,14 +279,14 @@ G_M54795_IG27:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=000
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x40]
                        ;; size=23 bbWeight=0 PerfScore 0.00
-G_M54795_IG28:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M54795_IG27:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        cmp      gword ptr [rbp-0x30], 0
-       je       SHORT G_M54795_IG29
+       je       SHORT G_M54795_IG28
        mov      rdi, 0xD1FFAB1E      ; System.Collections.Generic.List`1+Enumerator[Product]
        mov      rax, gword ptr [rbp-0x30]
        ; gcrRegs +[rax]
        cmp      qword ptr [rax], rdi
-       je       SHORT G_M54795_IG29
+       je       SHORT G_M54795_IG28
        mov      rdi, rax
        ; gcrRegs +[rdi]
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
@@ -305,10 +295,10 @@ G_M54795_IG28:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=000
        ; gcrRegs -[rax rdi]
        ; gcr arg pop 0
                        ;; size=42 bbWeight=0 PerfScore 0.00
-G_M54795_IG29:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M54795_IG28:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=0 PerfScore 0.00
-G_M54795_IG30:        ; bbWeight=0, funclet epilog, nogc, extend
+G_M54795_IG29:        ; bbWeight=0, funclet epilog, nogc, extend
        add      rsp, 16
        pop      rbx
        pop      r13
@@ -318,7 +308,7 @@ G_M54795_IG30:        ; bbWeight=0, funclet epilog, nogc, extend
        ret      
                        ;; size=13 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 535, prolog size 34, PerfScore 5559.81, instruction count 151, allocated bytes for code 535 (MethodHash=aec129f4) for method System.Linq.Enumerable:Count[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (Tier1)
+; Total bytes of code 518, prolog size 34, PerfScore 5550.89, instruction count 146, allocated bytes for code 518 (MethodHash=aec129f4) for method System.Linq.Enumerable:Count[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -355,4 +345,4 @@ Unwind Info:
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 *************** EH table for System.Linq.Enumerable:Count[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M54795_IG04..G_M54795_IG20) handled by [G_M54795_IG27..END) (fault)
+EH#0: try [G_M54795_IG04..G_M54795_IG19) handled by [G_M54795_IG26..END) (fault)
  
-10 (-1.72%) : 26433.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
@@ -9,7 +9,7 @@
 ; 3 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 21,  5.50)     ref  ->  [rbp-0x40]  this class-hnd EH-live single-def <System.Buffers.SharedArrayPoolPartitions+Partition>
+;  V00 this         [V00,T00] ( 20,  5.50)     ref  ->  [rbp-0x40]  this class-hnd EH-live single-def <System.Buffers.SharedArrayPoolPartitions+Partition>
 ;  V01 arg1         [V01,T02] (  4,  2.50)     int  ->  r15         single-def
 ;  V02 arg2         [V02,T03] (  3,  2   )     int  ->  r14         single-def
 ;  V03 arg3         [V03,T01] (  5,  2.50)     int  ->  rbx         single-def
@@ -99,13 +99,13 @@ G_M62513_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        mov      rdi, gword ptr [rbp-0x40]
        ; gcrRegs +[rdi]
        cmp      dword ptr [rdi+0x14], 0
-       je       G_M62513_IG22
+       je       G_M62513_IG21
        cmp      dword ptr [rdi+0x18], 0
        jne      SHORT G_M62513_IG10
                        ;; size=20 bbWeight=0.50 PerfScore 4.50
 G_M62513_IG07:        ; bbWeight=0.25, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        mov      dword ptr [rdi+0x18], r15d
-       jmp      G_M62513_IG22
+       jmp      G_M62513_IG21
                        ;; size=9 bbWeight=0.25 PerfScore 0.75
 G_M62513_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdi]
@@ -128,7 +128,7 @@ G_M62513_IG10:        ; bbWeight=0.25, gcrefRegs=0080 {rdi}, byrefRegs=0000 {},
        sub      r15d, dword ptr [rdi+0x18]
        cmp      r15d, r12d
        jg       SHORT G_M62513_IG14
-       jmp      G_M62513_IG22
+       jmp      G_M62513_IG21
                       ;; size=14 bbWeight=0.25 PerfScore 1.56
 G_M62513_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
@@ -141,11 +141,9 @@ G_M62513_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
                        ;; size=5 bbWeight=0 PerfScore 0.00
 G_M62513_IG13:        ; bbWeight=0, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rdi]
-       cmp      dword ptr [rdi+0x14], 0
-       jg       G_M62513_IG20
        xor      eax, eax
-       jmp      G_M62513_IG21
-                       ;; size=17 bbWeight=0 PerfScore 0.00
+       jmp      G_M62513_IG20
+                       ;; size=7 bbWeight=0 PerfScore 0.00
 G_M62513_IG14:        ; bbWeight=0, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        mov      rsi, 0xD1FFAB1E      ; const ptr
        mov      r15, gword ptr [rsi]
@@ -241,20 +239,18 @@ G_M62513_IG19:        ; bbWeight=0, gcrefRegs=8080 {rdi r15}, byrefRegs=0000 {},
        mov      dword ptr [rbp-0x34], esi
        test     eax, eax
        jg       G_M62513_IG17
-                        ;; size=26 bbWeight=0 PerfScore 0.00
-G_M62513_IG20:        ; bbWeight=0, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[r15]
        mov      eax, r12d
        sar      eax, 31
        and      eax, 3
        add      eax, r12d
        sar      eax, 2
        add      eax, dword ptr [rdi+0x18]
-                        ;; size=18 bbWeight=0 PerfScore 0.00
-G_M62513_IG21:        ; bbWeight=0, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+                       ;; size=44 bbWeight=0 PerfScore 0.00
+G_M62513_IG20:        ; bbWeight=0, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[r15]
        mov      dword ptr [rdi+0x18], eax
                        ;; size=3 bbWeight=0 PerfScore 0.00
-G_M62513_IG22:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+G_M62513_IG21:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        cmp      byte  ptr [rbp-0x30], 0
        je       G_M62513_IG03
        ; GC ptr vars -{V00}
@@ -263,7 +259,7 @@ G_M62513_IG22:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {},
        ; gcr arg pop 0
        jmp      G_M62513_IG03
                        ;; size=20 bbWeight=0.50 PerfScore 3.00
-G_M62513_IG23:        ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+G_M62513_IG22:        ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
        ; GC ptr vars +{V00}
        push     rbp
        push     r15
@@ -276,9 +272,9 @@ G_M62513_IG23:        ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=000
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x50]
                        ;; size=22 bbWeight=0 PerfScore 0.00
-G_M62513_IG24:        ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M62513_IG23:        ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        cmp      byte  ptr [rbp-0x30], 0
-       je       SHORT G_M62513_IG25
+       je       SHORT G_M62513_IG24
        mov      rdi, gword ptr [rbp-0x40]
        ; gcrRegs +[rdi]
        ; GC ptr vars -{V00}
@@ -286,10 +282,10 @@ G_M62513_IG24:        ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=000
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
                        ;; size=15 bbWeight=0 PerfScore 0.00
-G_M62513_IG25:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M62513_IG24:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=0 PerfScore 0.00
-G_M62513_IG26:        ; bbWeight=0, funclet epilog, nogc, extend
+G_M62513_IG25:        ; bbWeight=0, funclet epilog, nogc, extend
        add      rsp, 8
        pop      rbx
        pop      r12
@@ -300,7 +296,7 @@ G_M62513_IG26:        ; bbWeight=0, funclet epilog, nogc, extend
        ret      
                        ;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 580, prolog size 38, PerfScore 30.19, instruction count 160, allocated bytes for code 580 (MethodHash=d51a0bce) for method System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
+; Total bytes of code 570, prolog size 38, PerfScore 30.19, instruction count 158, allocated bytes for code 570 (MethodHash=d51a0bce) for method System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -339,4 +335,4 @@ Unwind Info:
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 *************** EH table for System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M62513_IG05..G_M62513_IG22) handled by [G_M62513_IG23..END) (fault)
+EH#0: try [G_M62513_IG05..G_M62513_IG21) handled by [G_M62513_IG22..END) (fault)
  
-36 (-1.70%) : 92497.dasm - LinqBenchmarks:Where01LinqQueryX():ubyte:this (Tier1-OSR)
@@ -64,7 +64,7 @@
 ;  V51 tmp44        [V51,T05] (  6, 297563.13)     int  ->   r9         "Inline stloc first use temp"
 ;  V52 tmp45        [V52,T03] (  4, 396750.84)    long  ->  rdi         "impAppendStmt"
 ;* V53 tmp46        [V53,T22] (  0,      0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V54 tmp47        [V54,T15] ( 25,  31294.89)   byref  ->  r12         "Inlining Arg"
+;  V54 tmp47        [V54,T15] ( 21,  31214.10)   byref  ->  r12         "Inlining Arg"
 ;  V55 tmp48        [V55,T20] (  8,   6259.22)     ref  ->  rax         class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[Product]>
 ;  V56 tmp49        [V56,T37] (  6,    300   )     ref  ->  rsi         "field V40._list (fldOffset=0x0)" P-INDEP
 ;* V57 tmp50        [V57,T44] (  0,      0   )     ref  ->  zero-ref    "field V40._current (fldOffset=0x8)" P-INDEP
@@ -120,11 +120,11 @@ G_M11746_IG03:        ; bbWeight=20.00, gcVars=0000000000000000 {}, gcrefRegs=00
                        ;; size=18 bbWeight=20.00 PerfScore 70.02
 G_M11746_IG04:        ; bbWeight=20.00, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, byref
        test     rbx, rbx
-       je       G_M11746_IG73
+       je       G_M11746_IG71
                      ;; size=9 bbWeight=20.00 PerfScore 25.01
 G_M11746_IG05:        ; bbWeight=80.02, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, byref, isz
        test     r13, r13
-       je       G_M11746_IG74
+       je       G_M11746_IG72
        mov      rsi, rbx
        ; gcrRegs +[rsi]
        mov      rdi, 0xD1FFAB1E      ; <unknown class>
@@ -300,7 +300,7 @@ G_M11746_IG10:        ; bbWeight=80.02, gcVars=0000000000000000 {}, gcrefRegs=20
 G_M11746_IG11:        ; bbWeight=20.00, gcrefRegs=1008 {rbx r12}, byrefRegs=0000 {}, byref
        mov      rax, 0xD1FFAB1E      ; System.Linq.Enumerable+WhereListIterator`1[Product]
        cmp      qword ptr [r12], rax
-       jne      G_M11746_IG75
+       jne      G_M11746_IG73
                      ;; size=20 bbWeight=20.00 PerfScore 85.02
 G_M11746_IG12:        ; bbWeight=20.00, gcrefRegs=1008 {rbx r12}, byrefRegs=0000 {}, byref, isz
        cmp      dword ptr [r12+0x14], 0
@@ -361,12 +361,12 @@ G_M11746_IG17:        ; bbWeight=20.00, gcrefRegs=2008 {rbx r13}, byrefRegs=0000
 G_M11746_IG18:        ; bbWeight=21.14, gcVars=0000000001000000 {V05}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[r13]
        cmp      gword ptr [rbp+0x90], 0
-       je       G_M11746_IG44
+       je       G_M11746_IG43
        mov      rdi, gword ptr [rbp+0x90]
        ; gcrRegs +[rdi]
        mov      rsi, 0xD1FFAB1E      ; System.Linq.Enumerable+WhereListIterator`1[Product]
        cmp      qword ptr [rdi], rsi
-       jne      G_M11746_IG44
+       jne      G_M11746_IG43
        jmp      SHORT G_M11746_IG20
                        ;; size=42 bbWeight=21.14 PerfScore 216.65
 G_M11746_IG19:        ; bbWeight=79.20, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
@@ -385,7 +385,7 @@ G_M11746_IG20:        ; bbWeight=99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, by
 G_M11746_IG21:        ; bbWeight=79.19, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
        cmp      r12d, 2
-       jne      G_M11746_IG40
+       jne      G_M11746_IG39
                       ;; size=10 bbWeight=79.19 PerfScore 98.99
 G_M11746_IG22:        ; bbWeight=1554.11, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, byref
        lea      r12, bword ptr [r13+0x28]
@@ -394,18 +394,18 @@ G_M11746_IG22:        ; bbWeight=1554.11, gcrefRegs=2008 {rbx r13}, byrefRegs=00
        ; gcrRegs +[rax]
        mov      edi, dword ptr [r12+0x14]
        cmp      edi, dword ptr [rax+0x14]
-       jne      G_M11746_IG34
+       jne      G_M11746_IG52
                         ;; size=22 bbWeight=1554.11 PerfScore 13209.89
 G_M11746_IG23:        ; bbWeight=1554.11, gcrefRegs=2009 {rax rbx r13}, byrefRegs=1000 {r12}, byref
        mov      ecx, dword ptr [r12+0x10]
        cmp      ecx, dword ptr [rax+0x10]
-       jae      G_M11746_IG35
+       jae      G_M11746_IG34
                         ;; size=14 bbWeight=1554.11 PerfScore 9324.63
 G_M11746_IG24:        ; bbWeight=1534.31, gcrefRegs=2009 {rax rbx r13}, byrefRegs=1000 {r12}, byref
        mov      rdx, gword ptr [rax+0x08]
        ; gcrRegs +[rdx]
        cmp      ecx, dword ptr [rdx+0x08]
-       jae      G_M11746_IG51
+       jae      G_M11746_IG50
        mov      edi, ecx
        mov      rsi, gword ptr [rdx+8*rdi+0x10]
        ; gcrRegs +[rsi]
@@ -422,7 +422,7 @@ G_M11746_IG24:        ; bbWeight=1534.31, gcrefRegs=2009 {rax rbx r13}, byrefReg
        ; gcrRegs +[rax]
        mov      rdi, 0xD1FFAB1E      ; code for LinqBenchmarks+<>c:<Where01LinqQueryX>b__10_0(Product):ubyte:this
        cmp      qword ptr [rax+0x18], rdi
-       jne      G_M11746_IG37
+       jne      G_M11746_IG36
                         ;; size=63 bbWeight=1534.31 PerfScore 32220.51
 G_M11746_IG25:        ; bbWeight=1534.31, gcrefRegs=3008 {rbx r12 r13}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
@@ -517,19 +517,11 @@ G_M11746_IG32:        ; bbWeight=98195.83, gcrefRegs=3008 {rbx r12 r13}, byrefRe
        jle      G_M11746_IG22
                        ;; size=9 bbWeight=98195.83 PerfScore 122744.79
 G_M11746_IG33:        ; bbWeight=1534.31, gcrefRegs=3008 {rbx r12 r13}, byrefRegs=0000 {}, byref, isz
-       jmp      SHORT G_M11746_IG38
+       jmp      SHORT G_M11746_IG37
                         ;; size=2 bbWeight=1534.31 PerfScore 3068.62
-G_M11746_IG34:        ; bbWeight=20.00, gcrefRegs=2008 {rbx r13}, byrefRegs=1000 {r12}, byref
+G_M11746_IG34:        ; bbWeight=1554.11, gcrefRegs=2008 {rbx r13}, byrefRegs=1000 {r12}, byref
        ; gcrRegs -[r12]
        ; byrRegs +[r12]
-       mov      edi, dword ptr [r12+0x14]
-       mov      rsi, gword ptr [r12]
-       ; gcrRegs +[rsi]
-       cmp      edi, dword ptr [rsi+0x14]
-       jne      G_M11746_IG53
-                       ;; size=18 bbWeight=20.00 PerfScore 159.97
-G_M11746_IG35:        ; bbWeight=1554.11, gcrefRegs=2008 {rbx r13}, byrefRegs=1000 {r12}, byref
-       ; gcrRegs -[rsi]
        mov      rdi, gword ptr [r12]
        ; gcrRegs +[rdi]
        mov      edi, dword ptr [rdi+0x10]
@@ -540,14 +532,14 @@ G_M11746_IG35:        ; bbWeight=1554.11, gcrefRegs=2008 {rbx r13}, byrefRegs=10
        ; gcrRegs +[rdi]
        mov      gword ptr [r12+0x08], rdi
                        ;; size=21 bbWeight=1554.11 PerfScore 10101.68
-G_M11746_IG36:        ; bbWeight=1554.11, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, byref, isz
+G_M11746_IG35:        ; bbWeight=1554.11, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdi]
        ; byrRegs -[r12]
        mov      gword ptr [r13+0x08], rdi
        mov      dword ptr [r13+0x14], -1
-       jmp      SHORT G_M11746_IG40
+       jmp      SHORT G_M11746_IG39
                      ;; size=14 bbWeight=1554.11 PerfScore 6216.42
-G_M11746_IG37:        ; bbWeight=1534.31, gcrefRegs=3009 {rax rbx r12 r13}, byrefRegs=0000 {}, byref
+G_M11746_IG36:        ; bbWeight=1534.31, gcrefRegs=3009 {rax rbx r12 r13}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rax r12]
        mov      rsi, r12
        ; gcrRegs +[rsi]
@@ -559,7 +551,7 @@ G_M11746_IG37:        ; bbWeight=1534.31, gcrefRegs=3009 {rax rbx r12 r13}, byre
        test     eax, eax
        je       G_M11746_IG22
                        ;; size=18 bbWeight=1534.31 PerfScore 9973.01
-G_M11746_IG38:        ; bbWeight=1534.31, gcrefRegs=3008 {rbx r12 r13}, byrefRegs=0000 {}, byref
+G_M11746_IG37:        ; bbWeight=1534.31, gcrefRegs=3008 {rbx r12 r13}, byrefRegs=0000 {}, byref
        lea      rdi, bword ptr [r13+0x08]
        ; byrRegs +[rdi]
        mov      rsi, r12
@@ -569,7 +561,7 @@ G_M11746_IG38:        ; bbWeight=1534.31, gcrefRegs=3008 {rbx r12 r13}, byrefReg
        ; byrRegs -[rdi]
        jmp      G_M11746_IG19
                        ;; size=17 bbWeight=1534.31 PerfScore 5753.66
-G_M11746_IG39:        ; bbWeight=15.50, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, byref
+G_M11746_IG38:        ; bbWeight=15.50, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, byref
        ; gcrRegs +[r13]
        mov      r12, gword ptr [r13+0x30]
        ; gcrRegs +[r12]
@@ -577,66 +569,66 @@ G_M11746_IG39:        ; bbWeight=15.50, gcrefRegs=2008 {rbx r13}, byrefRegs=0000
        ; gcrRegs +[rax]
        mov      rsi, 0xD1FFAB1E      ; function address
        cmp      qword ptr [rax+0x18], rsi
-       jne      G_M11746_IG62
-       jmp      G_M11746_IG49
+       jne      G_M11746_IG61
+       jmp      G_M11746_IG48
                       ;; size=33 bbWeight=15.50 PerfScore 158.86
-G_M11746_IG40:        ; bbWeight=99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M11746_IG39:        ; bbWeight=99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax r12-r13]
        xor      r12d, r12d
        jne      G_M11746_IG19
                        ;; size=9 bbWeight=99 PerfScore 123.75
-G_M11746_IG41:        ; bbWeight=19.99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       jmp      G_M11746_IG69
+G_M11746_IG40:        ; bbWeight=19.99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       jmp      G_M11746_IG67
                       ;; size=5 bbWeight=19.99 PerfScore 39.99
-G_M11746_IG42:        ; bbWeight=0.80, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M11746_IG41:        ; bbWeight=0.80, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdi, gword ptr [rbp+0x90]
        ; gcrRegs +[rdi]
        mov      rax, 0xD1FFAB1E      ; System.Linq.Enumerable+WhereListIterator`1[Product]
        cmp      qword ptr [rdi], rax
-       jne      G_M11746_IG52
+       jne      G_M11746_IG51
                      ;; size=26 bbWeight=0.80 PerfScore 4.20
-G_M11746_IG43:        ; bbWeight=0.80, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M11746_IG42:        ; bbWeight=0.80, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
        inc      r15d
                        ;; size=3 bbWeight=0.80 PerfScore 0.20
-G_M11746_IG44:        ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M11746_IG43:        ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdi, gword ptr [rbp+0x90]
        ; gcrRegs +[rdi]
        mov      rsi, 0xD1FFAB1E      ; System.Linq.Enumerable+WhereListIterator`1[Product]
        cmp      qword ptr [rdi], rsi
-       jne      G_M11746_IG54
+       jne      G_M11746_IG53
        mov      r13, gword ptr [rbp+0x90]
        ; gcrRegs +[r13]
        mov      rdi, gword ptr [rbp+0x90]
        mov      r12d, dword ptr [rdi+0x14]
        cmp      r12d, 1
-       je       G_M11746_IG55
+       je       G_M11746_IG54
                       ;; size=54 bbWeight=1.00 PerfScore 10.50
-G_M11746_IG45:        ; bbWeight=0.80, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, byref
+G_M11746_IG44:        ; bbWeight=0.80, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
        cmp      r12d, 2
-       jne      G_M11746_IG67
+       jne      G_M11746_IG65
                       ;; size=10 bbWeight=0.80 PerfScore 1.00
-G_M11746_IG46:        ; bbWeight=15.70, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, byref
+G_M11746_IG45:        ; bbWeight=15.70, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, byref
        lea      r12, bword ptr [r13+0x28]
        ; byrRegs +[r12]
        mov      rax, gword ptr [r12]
        ; gcrRegs +[rax]
        mov      edi, dword ptr [r12+0x14]
        cmp      edi, dword ptr [rax+0x14]
-       jne      G_M11746_IG63
+       jne      G_M11746_IG52
                         ;; size=22 bbWeight=15.70 PerfScore 133.43
-G_M11746_IG47:        ; bbWeight=15.70, gcrefRegs=2009 {rax rbx r13}, byrefRegs=1000 {r12}, byref
+G_M11746_IG46:        ; bbWeight=15.70, gcrefRegs=2009 {rax rbx r13}, byrefRegs=1000 {r12}, byref
        mov      edi, dword ptr [r12+0x10]
        cmp      edi, dword ptr [rax+0x10]
-       jae      G_M11746_IG64
+       jae      G_M11746_IG62
                         ;; size=14 bbWeight=15.70 PerfScore 94.19
-G_M11746_IG48:        ; bbWeight=15.50, gcrefRegs=2009 {rax rbx r13}, byrefRegs=1000 {r12}, byref
+G_M11746_IG47:        ; bbWeight=15.50, gcrefRegs=2009 {rax rbx r13}, byrefRegs=1000 {r12}, byref
        mov      rdx, gword ptr [rax+0x08]
        ; gcrRegs +[rdx]
        mov      ecx, dword ptr [r12+0x10]
        cmp      ecx, dword ptr [rdx+0x08]
-       jae      G_M11746_IG51
+       jae      G_M11746_IG50
        mov      edi, ecx
        mov      rsi, gword ptr [rdx+8*rdi+0x10]
        ; gcrRegs +[rsi]
@@ -646,15 +638,15 @@ G_M11746_IG48:        ; bbWeight=15.50, gcrefRegs=2009 {rax rbx r13}, byrefRegs=
        ; gcrRegs -[rax rdx rsi]
        ; byrRegs -[rdi]
        inc      dword ptr [r12+0x10]
-       jmp      G_M11746_IG39
+       jmp      G_M11746_IG38
                      ;; size=45 bbWeight=15.50 PerfScore 259.56
-G_M11746_IG49:        ; bbWeight=15.50, gcrefRegs=3008 {rbx r12 r13}, byrefRegs=0000 {}, byref, isz
+G_M11746_IG48:        ; bbWeight=15.50, gcrefRegs=3008 {rbx r12 r13}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[r12]
        ; byrRegs -[r12]
        cmp      dword ptr [r12+0x1C], 0
-       jle      SHORT G_M11746_IG46
+       jle      SHORT G_M11746_IG45
                       ;; size=8 bbWeight=15.50 PerfScore 61.99
-G_M11746_IG50:        ; bbWeight=991.88, gcrefRegs=3008 {rbx r12 r13}, byrefRegs=0000 {}, byref
+G_M11746_IG49:        ; bbWeight=991.88, gcrefRegs=3008 {rbx r12 r13}, byrefRegs=0000 {}, byref
        mov      ecx, dword ptr [r12+0x20]
        mov      edx, dword ptr [r12+0x24]
...
  
+31 (+1.62%) : 32006.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
@@ -13,7 +13,7 @@
 ;  V00 loc0         [V00,T14] ( 11, 374.94)     ref  ->  r15         class-hnd exact <System.Threading.ThreadPoolWorkQueue>
 ;  V01 loc1         [V01,T29] (  8, 238.97)     ref  ->  r13         class-hnd exact <System.Threading.ThreadPoolWorkQueueThreadLocals>
 ;  V02 loc2         [V02    ] (  7, 473.57)     ref  ->  [rbp+0x60]  do-not-enreg[X] addr-exposed ld-addr-op class-hnd tier0-frame <System.Object>
-;  V03 loc3         [V03,T17] (  5, 366.22)     ref  ->  r14         class-hnd <System.Object>
+;  V03 loc3         [V03,T17] (  6, 366.22)     ref  ->  r14         class-hnd <System.Object>
 ;  V04 loc4         [V04,T01] ( 13, 735.91)     ref  ->  rbx         class-hnd exact <System.Threading.Thread>
 ;  V05 loc5         [V05,T43] (  2,  91.56)     int  ->  [rbp+0x4C]  tier0-frame
 ;* V06 loc6         [V06    ] (  0,   0   )   ubyte  ->  zero-ref   
@@ -116,7 +116,7 @@
 ;  V103 tmp92       [V103,T00] (  8,1098.67)     ref  ->  [rbp-0x80]  class-hnd exact spill-single-def "Inlining Arg" <System.Threading.PortableThreadPool>
 ;* V104 tmp93       [V104    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V105 tmp94       [V105    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V106 tmp95       [V106,T10] (  3, 457.77)     ref  ->  rdi         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
+;  V106 tmp95       [V106,T10] (  5, 457.77)     ref  ->  rcx         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V107 tmp96       [V107    ] (  0,   0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V108 tmp97       [V108    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V109 tmp98       [V109    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -213,7 +213,7 @@ G_M63069_IG09:        ; bbWeight=91.55, gcrefRegs=E008 {rbx r13 r14 r15}, byrefR
        cmp      byte  ptr [rbx+0x38], 0
        jne      G_M63069_IG69
                        ;; size=10 bbWeight=91.55 PerfScore 366.22
-G_M63069_IG10:        ; bbWeight=91.55, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
+G_M63069_IG10:        ; bbWeight=91.55, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        call     <unknown method>
        ; gcr arg pop 0
        mov      r12d, eax
@@ -224,37 +224,32 @@ G_M63069_IG10:        ; bbWeight=91.55, gcrefRegs=E008 {rbx r13 r14 r15}, byrefR
        ; GC ptr vars +{V103}
        test     r14, r14
        je       G_M63069_IG70
-                        ;; size=34 bbWeight=91.55 PerfScore 526.44
-G_M63069_IG11:        ; bbWeight=91.55, gcVars=0000000000000001 {V103}, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; gcrRegs -[rax]
-       mov      rdi, r14
-       ; gcrRegs +[rdi]
-       test     rdi, rdi
-       je       SHORT G_M63069_IG13
-                       ;; size=8 bbWeight=91.55 PerfScore 137.33
-G_M63069_IG12:        ; bbWeight=45.78, gcrefRegs=E088 {rbx rdi r13 r14 r15}, byrefRegs=0000 {}, byref, isz
-       mov      rsi, 0xD1FFAB1E      ; System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode
-       cmp      qword ptr [rdi], rsi
+       mov      rcx, r14
+       ; gcrRegs +[rcx]
+       test     rcx, rcx
        je       SHORT G_M63069_IG14
+                      ;; size=42 bbWeight=91.55 PerfScore 663.77
+G_M63069_IG11:        ; bbWeight=45.78, gcVars=0000000000000001 {V103}, gcrefRegs=E00B {rax rcx rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+       mov      rdi, 0xD1FFAB1E      ; System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode
+       cmp      qword ptr [rcx], rdi
+       jne      SHORT G_M63069_IG13
                         ;; size=15 bbWeight=45.78 PerfScore 194.55
-G_M63069_IG13:        ; bbWeight=91.55, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rdi]
-       mov      rdi, 0xD1FFAB1E
-       ; gcrRegs +[rdi]
-       mov      rsi, 0xD1FFAB1E
-       ; gcrRegs +[rsi]
-       call     [<unknown method>]
-       ; gcrRegs -[rsi rdi]
-       ; gcr arg pop 0
-                       ;; size=26 bbWeight=91.55 PerfScore 320.44
-G_M63069_IG14:        ; bbWeight=91.55, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
+G_M63069_IG12:        ; bbWeight=91.55, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rcx]
        mov      edi, dword ptr [r14+0x20]
        inc      edi
-       je       G_M63069_IG82
+       je       G_M63069_IG84
        mov      dword ptr [r14+0x20], edi
        jmp      G_M63069_IG53
                        ;; size=21 bbWeight=91.55 PerfScore 572.22
+G_M63069_IG13:        ; bbWeight=22.89, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, byref
+       jmp      G_M63069_IG71
+                       ;; size=5 bbWeight=22.89 PerfScore 45.78
+G_M63069_IG14:        ; bbWeight=45.78, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, byref
+       jmp      G_M63069_IG71
+                       ;; size=5 bbWeight=45.78 PerfScore 91.55
 G_M63069_IG15:        ; bbWeight=100, gcVars=0000000000000000 {}, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+       ; gcrRegs -[rax]
        ; GC ptr vars -{V103}
        cmp      gword ptr [rbp+0x60], 0
        jne      G_M63069_IG46
@@ -266,12 +261,12 @@ G_M63069_IG16:        ; bbWeight=94.03, gcrefRegs=E008 {rbx r13 r14 r15}, byrefR
        ; gcrRegs +[rdi]
        mov      esi, dword ptr [rdi+0x14]
        cmp      esi, dword ptr [rdi+0x18]
-       jl       G_M63069_IG71
+       jl       G_M63069_IG73
        xor      r12, r12
        ; gcrRegs +[r12]
        mov      gword ptr [rbp-0x30], r12
        cmp      gword ptr [rbp-0x30], 0
-       jne      G_M63069_IG72
+       jne      G_M63069_IG74
                       ;; size=41 bbWeight=94.03 PerfScore 1528.05
 G_M63069_IG17:        ; bbWeight=94.03, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdi r12]
@@ -280,7 +275,7 @@ G_M63069_IG17:        ; bbWeight=94.03, gcrefRegs=E008 {rbx r13 r14 r15}, byrefR
                        ;; size=7 bbWeight=94.03 PerfScore 376.13
 G_M63069_IG18:        ; bbWeight=94.43, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
        cmp      dword ptr [r15+0x30], 0
-       jne      G_M63069_IG73
+       jne      G_M63069_IG75
                       ;; size=11 bbWeight=94.43 PerfScore 377.73
 G_M63069_IG19:        ; bbWeight=94.03, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
        mov      r12, gword ptr [r15+0x08]
@@ -350,7 +345,7 @@ G_M63069_IG23:        ; bbWeight=0.09, gcVars=0000000000000000 {}, gcrefRegs=E00
        ; gcrRegs -[rax rdi]
        ; gcr arg pop 0
        test     eax, eax
-       jne      G_M63069_IG72
+       jne      G_M63069_IG74
                      ;; size=36 bbWeight=0.09 PerfScore 1.22
 G_M63069_IG24:        ; bbWeight=0.02, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      rsi, gword ptr [rbp-0x68]
@@ -371,7 +366,7 @@ G_M63069_IG25:        ; bbWeight=0.09, gcVars=0000000000000000 {}, gcrefRegs=F00
        ; gcrRegs -[rdi r12]
        ; gcr arg pop 0
        test     eax, eax
-       jne      G_M63069_IG72
+       jne      G_M63069_IG74
                      ;; size=21 bbWeight=0.09 PerfScore 0.47
 G_M63069_IG26:        ; bbWeight=0.09, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
        mov      byte  ptr [r13+0x3C], 0
@@ -404,7 +399,7 @@ G_M63069_IG29:        ; bbWeight=25.39, gcrefRegs=F00E {rcx rdx rbx r12 r13 r14
 G_M63069_IG30:        ; bbWeight=0.00, gcrefRegs=F00C {rdx rbx r12 r13 r14 r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
        test     edi, edi
-       jne      G_M63069_IG74
+       jne      G_M63069_IG76
                      ;; size=8 bbWeight=0.00 PerfScore 0.00
 G_M63069_IG31:        ; bbWeight=0.00, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdx]
@@ -428,7 +423,7 @@ G_M63069_IG32:        ; bbWeight=94.03, gcVars=0000000000000000 {}, gcrefRegs=F0
        ; gcrRegs -[rdi r12]
        ; gcr arg pop 0
        test     eax, eax
-       jne      G_M63069_IG72
+       jne      G_M63069_IG74
                      ;; size=21 bbWeight=94.03 PerfScore 470.17
 G_M63069_IG33:        ; bbWeight=25.40, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        jmp      SHORT G_M63069_IG37
@@ -441,7 +436,7 @@ G_M63069_IG34:        ; bbWeight=71.30, gcVars=0000000000001010 {V73 V75}, gcref
        ; gcrRegs +[rdi]
        mov      gword ptr [rbp-0x30], rdi
        cmp      byte  ptr [rcx+0x1C], 0
-       jne      G_M63069_IG72
+       jne      G_M63069_IG74
                       ;; size=19 bbWeight=71.30 PerfScore 499.07
 G_M63069_IG35:        ; bbWeight=72.08, gcVars=0000000000001000 {V75}, gcrefRegs=E00C {rdx rbx r13 r14 r15}, byrefRegs=0400 {r10}, gcvars, byref
        ; gcrRegs -[rcx rdi]
@@ -451,7 +446,7 @@ G_M63069_IG35:        ; bbWeight=72.08, gcVars=0000000000001000 {V75}, gcrefRegs
        mov      gword ptr [rdx+r9+0x10], rcx
        add      eax, r8d
        mov      dword ptr [r10+0x08], eax
-       jmp      G_M63069_IG72
+       jmp      G_M63069_IG74
                         ;; size=19 bbWeight=72.08 PerfScore 324.35
 G_M63069_IG36:        ; bbWeight=21.96, gcVars=0000000000000010 {V73}, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rcx rdx] +[r12]
@@ -498,7 +493,7 @@ G_M63069_IG37:        ; bbWeight=25.40, gcVars=0000000000000000 {}, gcrefRegs=E0
        ; gcrRegs +[r8]
        mov      esi, dword ptr [r8+0x08]
        test     esi, esi
-       jle      G_M63069_IG75
+       jle      G_M63069_IG77
                      ;; size=107 bbWeight=25.40 PerfScore 660.51
 G_M63069_IG38:        ; bbWeight=25.40, gcrefRegs=E10A {rcx rbx r8 r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        lea      r9d, [rsi-0x01]
@@ -521,7 +516,7 @@ G_M63069_IG39:        ; bbWeight=75.59, gcrefRegs=E10A {rcx rbx r8 r13 r14 r15},
 G_M63069_IG40:        ; bbWeight=50.76, gcrefRegs=E18A {rcx rbx rdi r8 r13 r14 r15}, byrefRegs=0000 {}, byref
        mov      eax, dword ptr [rdi+0x14]
        cmp      eax, dword ptr [rdi+0x18]
-       jl       G_M63069_IG76
+       jl       G_M63069_IG78
                         ;; size=12 bbWeight=50.76 PerfScore 304.58
 G_M63069_IG41:        ; bbWeight=75.59, gcrefRegs=E10A {rcx rbx r8 r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdi]
@@ -553,7 +548,7 @@ G_M63069_IG45:        ; bbWeight=94.03, gcrefRegs=F008 {rbx r12 r13 r14 r15}, by
 G_M63069_IG46:        ; bbWeight=92.34, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rsi r12]
        cmp      byte  ptr [r15+0x34], 0
-       jne      G_M63069_IG77
+       jne      G_M63069_IG79
                       ;; size=11 bbWeight=92.34 PerfScore 369.36
 G_M63069_IG47:        ; bbWeight=92.25, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      r12, gword ptr [rbp+0x60]
@@ -565,7 +560,7 @@ G_M63069_IG47:        ; bbWeight=92.25, gcrefRegs=E008 {rbx r13 r14 r15}, byrefR
        ; gcrRegs -[rsi] +[rax]
        ; gcr arg pop 0
        test     rax, rax
-       je       G_M63069_IG78
+       je       G_M63069_IG80
        mov      rdi, 0xD1FFAB1E      ; System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[System.Threading.Tasks.VoidTaskResult,System.Buffers.Tests.RentReturnArrayPoolTests`1+<SingleSerial>d__21[ubyte]]
        cmp      qword ptr [rax], rdi
        jne      SHORT G_M63069_IG49
@@ -609,7 +604,7 @@ G_M63069_IG51:        ; bbWeight=92.25, gcrefRegs=E088 {rbx rdi r13 r14 r15}, by
        ; gcrRegs -[rax]
        mov      gword ptr [rbx+0x08], rax
        test     rdi, rdi
-       jne      G_M63069_IG79
+       jne      G_M63069_IG81
                      ;; size=13 bbWeight=92.25 PerfScore 207.56
 G_M63069_IG52:        ; bbWeight=91.55, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
@@ -618,17 +613,16 @@ G_M63069_IG52:        ; bbWeight=91.55, gcrefRegs=E008 {rbx r13 r14 r15}, byrefR
        call     rax
        ; gcr arg pop 0
        cmp      dword ptr [rax+0x10], 4
-       jl       G_M63069_IG81
+       jl       G_M63069_IG83
        mov      rax, qword ptr [rax+0x18]
        mov      rax, qword ptr [rax+0x20]
        test     rax, rax
-       je       G_M63069_IG81
+       je       G_M63069_IG83
        jmp      G_M63069_IG05
                        ;; size=54 bbWeight=91.55 PerfScore 1350.43
-G_M63069_IG53:        ; bbWeight=91.55, gcVars=0000000000000001 {V103}, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; GC ptr vars +{V00 V103}
-       mov      rax, gword ptr [rbp-0x80]
+G_M63069_IG53:        ; bbWeight=91.55, gcVars=0000000000000001 {V103}, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[rax]
+       ; GC ptr vars +{V00 V103}
        mov      dword ptr [rax+0xE0], r12d
        mov      edi, dword ptr [rax+0x124]
        mov      ecx, r12d
@@ -637,7 +631,7 @@ G_M63069_IG53:        ; bbWeight=91.55, gcVars=0000000000000001 {V103}, gcrefReg
        sub      edx, edi
        cmp      ecx, edx
        jb       SHORT G_M63069_IG56
-                      ;; size=34 bbWeight=91.55 PerfScore 732.44
+                        ;; size=30 bbWeight=91.55 PerfScore 640.88
 G_M63069_IG54:        ; bbWeight=0.00, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      rdi, qword ptr [rax+0xA0]
        mov      qword ptr [rbp-0x50], rdi
@@ -699,7 +693,7 @@ G_M63069_IG60:        ; bbWeight=7.66, gcVars=0000000000000000 {}, gcrefRegs=800
        ; gcrRegs -[rax rbx r13-r14]
        ; GC ptr vars -{V00 V103}
        cmp      byte  ptr [rbp+0x28], 0
-       jne      G_M63069_IG83
+       jne      G_M63069_IG85
        jmp      G_M63069_IG03
                        ;; size=15 bbWeight=7.66 PerfScore 38.29
 G_M63069_IG61:        ; bbWeight=0.00, gcVars=0000000000000001 {V103}, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
@@ -795,19 +789,42 @@ G_M63069_IG69:        ; bbWeight=0, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=
        ; gcr arg pop 0
        jmp      G_M63069_IG10
                        ;; size=14 bbWeight=0 PerfScore 0.00
...
  
+31 (+1.80%) : 41251.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
@@ -13,7 +13,7 @@
 ;  V00 loc0         [V00,T11] ( 11, 375.85)     ref  ->  r15         class-hnd exact <System.Threading.ThreadPoolWorkQueue>
 ;  V01 loc1         [V01,T21] (  8, 231.61)     ref  ->  r13         class-hnd exact <System.Threading.ThreadPoolWorkQueueThreadLocals>
 ;  V02 loc2         [V02    ] (  7, 476.18)     ref  ->  [rbp+0x60]  do-not-enreg[X] addr-exposed ld-addr-op class-hnd tier0-frame <System.Object>
-;  V03 loc3         [V03,T13] (  5, 369.84)     ref  ->  r14         class-hnd <System.Object>
+;  V03 loc3         [V03,T13] (  6, 369.84)     ref  ->  r14         class-hnd <System.Object>
 ;  V04 loc4         [V04,T01] ( 13, 748.78)     ref  ->  rbx         class-hnd exact <System.Threading.Thread>
 ;  V05 loc5         [V05,T34] (  2,  92.46)     int  ->  [rbp+0x4C]  tier0-frame
 ;* V06 loc6         [V06    ] (  0,   0   )   ubyte  ->  zero-ref   
@@ -98,7 +98,7 @@
 ;  V85 tmp74        [V85,T00] (  8,1109.54)     ref  ->  [rbp-0x70]  class-hnd exact spill-single-def "Inlining Arg" <System.Threading.PortableThreadPool>
 ;* V86 tmp75        [V86    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V87 tmp76        [V87    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V88 tmp77        [V88,T08] (  3, 462.30)     ref  ->  rdi         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
+;  V88 tmp77        [V88,T08] (  5, 462.30)     ref  ->  rcx         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V89 tmp78        [V89    ] (  0,   0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V90 tmp79        [V90    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V91 tmp80        [V91    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -191,7 +191,7 @@ G_M63069_IG09:        ; bbWeight=92.46, gcrefRegs=E008 {rbx r13 r14 r15}, byrefR
        cmp      byte  ptr [rbx+0x38], 0
        jne      G_M63069_IG60
                        ;; size=10 bbWeight=92.46 PerfScore 369.84
-G_M63069_IG10:        ; bbWeight=92.46, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
+G_M63069_IG10:        ; bbWeight=92.46, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        call     <unknown method>
        ; gcr arg pop 0
        mov      r12d, eax
@@ -202,37 +202,32 @@ G_M63069_IG10:        ; bbWeight=92.46, gcrefRegs=E008 {rbx r13 r14 r15}, byrefR
        ; GC ptr vars +{V85}
        test     r14, r14
        je       G_M63069_IG61
-                        ;; size=34 bbWeight=92.46 PerfScore 531.64
-G_M63069_IG11:        ; bbWeight=92.46, gcVars=0000000000000001 {V85}, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; gcrRegs -[rax]
-       mov      rdi, r14
-       ; gcrRegs +[rdi]
-       test     rdi, rdi
-       je       SHORT G_M63069_IG13
-                       ;; size=8 bbWeight=92.46 PerfScore 138.69
-G_M63069_IG12:        ; bbWeight=46.23, gcrefRegs=E088 {rbx rdi r13 r14 r15}, byrefRegs=0000 {}, byref, isz
-       mov      rsi, 0xD1FFAB1E      ; System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode
-       cmp      qword ptr [rdi], rsi
+       mov      rcx, r14
+       ; gcrRegs +[rcx]
+       test     rcx, rcx
        je       SHORT G_M63069_IG14
+                      ;; size=42 bbWeight=92.46 PerfScore 670.33
+G_M63069_IG11:        ; bbWeight=46.23, gcVars=0000000000000001 {V85}, gcrefRegs=E00B {rax rcx rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+       mov      rdi, 0xD1FFAB1E      ; System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode
+       cmp      qword ptr [rcx], rdi
+       jne      SHORT G_M63069_IG13
                         ;; size=15 bbWeight=46.23 PerfScore 196.48
-G_M63069_IG13:        ; bbWeight=92.46, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rdi]
-       mov      rdi, 0xD1FFAB1E
-       ; gcrRegs +[rdi]
-       mov      rsi, 0xD1FFAB1E
-       ; gcrRegs +[rsi]
-       call     [<unknown method>]
-       ; gcrRegs -[rsi rdi]
-       ; gcr arg pop 0
-                       ;; size=26 bbWeight=92.46 PerfScore 323.61
-G_M63069_IG14:        ; bbWeight=92.46, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
+G_M63069_IG12:        ; bbWeight=92.46, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rcx]
        mov      edi, dword ptr [r14+0x20]
        inc      edi
-       je       G_M63069_IG72
+       je       G_M63069_IG74
        mov      dword ptr [r14+0x20], edi
        jmp      G_M63069_IG44
                        ;; size=21 bbWeight=92.46 PerfScore 577.87
+G_M63069_IG13:        ; bbWeight=23.11, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, byref
+       jmp      G_M63069_IG62
+                       ;; size=5 bbWeight=23.11 PerfScore 46.23
+G_M63069_IG14:        ; bbWeight=46.23, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, byref
+       jmp      G_M63069_IG62
+                       ;; size=5 bbWeight=46.23 PerfScore 92.46
 G_M63069_IG15:        ; bbWeight=100, gcVars=0000000000000000 {}, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+       ; gcrRegs -[rax]
        ; GC ptr vars -{V85}
        cmp      gword ptr [rbp+0x60], 0
        jne      G_M63069_IG38
@@ -244,12 +239,12 @@ G_M63069_IG16:        ; bbWeight=93.31, gcrefRegs=E008 {rbx r13 r14 r15}, byrefR
        ; gcrRegs +[rdi]
        mov      esi, dword ptr [rdi+0x14]
        cmp      esi, dword ptr [rdi+0x18]
-       jl       G_M63069_IG62
+       jl       G_M63069_IG64
        xor      r12, r12
        ; gcrRegs +[r12]
        mov      gword ptr [rbp-0x30], r12
        cmp      gword ptr [rbp-0x30], 0
-       jne      G_M63069_IG63
+       jne      G_M63069_IG65
                       ;; size=41 bbWeight=93.31 PerfScore 1516.26
 G_M63069_IG17:        ; bbWeight=93.31, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdi r12]
@@ -258,7 +253,7 @@ G_M63069_IG17:        ; bbWeight=93.31, gcrefRegs=E008 {rbx r13 r14 r15}, byrefR
                        ;; size=7 bbWeight=93.31 PerfScore 373.23
 G_M63069_IG18:        ; bbWeight=94.76, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
        cmp      dword ptr [r15+0x30], 0
-       jne      G_M63069_IG64
+       jne      G_M63069_IG66
                       ;; size=11 bbWeight=94.76 PerfScore 379.03
 G_M63069_IG19:        ; bbWeight=93.31, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
        mov      r12, gword ptr [r15+0x08]
@@ -275,7 +270,7 @@ G_M63069_IG19:        ; bbWeight=93.31, gcrefRegs=E008 {rbx r13 r14 r15}, byrefR
        ; gcrRegs -[rax rdi]
        ; gcr arg pop 0
        test     eax, eax
-       jne      G_M63069_IG63
+       jne      G_M63069_IG65
                      ;; size=36 bbWeight=93.31 PerfScore 1213.01
 G_M63069_IG20:        ; bbWeight=17.29, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      rsi, gword ptr [rbp-0x68]
@@ -301,7 +296,7 @@ G_M63069_IG21:        ; bbWeight=0.09, gcVars=0000000000000000 {}, gcrefRegs=E00
        ; gcrRegs -[rax rdi]
        ; gcr arg pop 0
        test     eax, eax
-       jne      G_M63069_IG63
+       jne      G_M63069_IG65
                      ;; size=36 bbWeight=0.09 PerfScore 1.21
 G_M63069_IG22:        ; bbWeight=0.02, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      rsi, gword ptr [rbp-0x60]
@@ -322,7 +317,7 @@ G_M63069_IG23:        ; bbWeight=0.09, gcVars=0000000000000000 {}, gcrefRegs=F00
        ; gcrRegs -[rdi r12]
        ; gcr arg pop 0
        test     eax, eax
-       jne      G_M63069_IG63
+       jne      G_M63069_IG65
                      ;; size=21 bbWeight=0.09 PerfScore 0.47
 G_M63069_IG24:        ; bbWeight=0.09, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
        mov      byte  ptr [r13+0x3C], 0
@@ -357,7 +352,7 @@ G_M63069_IG29:        ; bbWeight=93.31, gcrefRegs=F008 {rbx r12 r13 r14 r15}, by
        ; gcrRegs -[rdi r12]
        ; gcr arg pop 0
        test     eax, eax
-       jne      G_M63069_IG63
+       jne      G_M63069_IG65
                      ;; size=21 bbWeight=93.31 PerfScore 466.54
 G_M63069_IG30:        ; bbWeight=22.45, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
        mov      rax, gword ptr [r13+0x30]
@@ -391,7 +386,7 @@ G_M63069_IG30:        ; bbWeight=22.45, gcrefRegs=E008 {rbx r13 r14 r15}, byrefR
        mov      r9d, dword ptr [r8+0x08]
        mov      esi, r9d
        test     esi, esi
-       jle      G_M63069_IG65
+       jle      G_M63069_IG67
                      ;; size=110 bbWeight=22.45 PerfScore 589.21
 G_M63069_IG31:        ; bbWeight=22.45, gcrefRegs=E10A {rcx rbx r8 r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        lea      r10d, [rsi-0x01]
@@ -414,7 +409,7 @@ G_M63069_IG32:        ; bbWeight=68.59, gcrefRegs=E10A {rcx rbx r8 r13 r14 r15},
 G_M63069_IG33:        ; bbWeight=44.92, gcrefRegs=E18A {rcx rbx rdi r8 r13 r14 r15}, byrefRegs=0000 {}, byref
        mov      eax, dword ptr [rdi+0x14]
        cmp      eax, dword ptr [rdi+0x18]
-       jl       G_M63069_IG66
+       jl       G_M63069_IG68
                         ;; size=12 bbWeight=44.92 PerfScore 269.53
 G_M63069_IG34:        ; bbWeight=68.59, gcrefRegs=E10A {rcx rbx r8 r13 r14 r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
@@ -441,7 +436,7 @@ G_M63069_IG37:        ; bbWeight=93.31, gcrefRegs=F008 {rbx r12 r13 r14 r15}, by
 G_M63069_IG38:        ; bbWeight=94.37, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rsi r12]
        cmp      byte  ptr [r15+0x34], 0
-       jne      G_M63069_IG67
+       jne      G_M63069_IG69
                       ;; size=11 bbWeight=94.37 PerfScore 377.49
 G_M63069_IG39:        ; bbWeight=94.28, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      r12, gword ptr [rbp+0x60]
@@ -453,7 +448,7 @@ G_M63069_IG39:        ; bbWeight=94.28, gcrefRegs=E008 {rbx r13 r14 r15}, byrefR
        ; gcrRegs -[rsi] +[rax]
        ; gcr arg pop 0
        test     rax, rax
-       je       G_M63069_IG68
+       je       G_M63069_IG70
        mov      rdi, 0xD1FFAB1E      ; System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[System.Threading.Tasks.VoidTaskResult,System.Buffers.Tests.RentReturnArrayPoolTests`1+<SingleSerial>d__21[System.Object]]
        cmp      qword ptr [rax], rdi
        jne      SHORT G_M63069_IG40
@@ -492,7 +487,7 @@ G_M63069_IG42:        ; bbWeight=94.28, gcrefRegs=E088 {rbx rdi r13 r14 r15}, by
        ; gcrRegs -[rax]
        mov      gword ptr [rbx+0x08], rax
        test     rdi, rdi
-       jne      G_M63069_IG69
+       jne      G_M63069_IG71
                      ;; size=13 bbWeight=94.28 PerfScore 212.13
 G_M63069_IG43:        ; bbWeight=92.46, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
@@ -501,17 +496,16 @@ G_M63069_IG43:        ; bbWeight=92.46, gcrefRegs=E008 {rbx r13 r14 r15}, byrefR
        call     rax
        ; gcr arg pop 0
        cmp      dword ptr [rax+0x10], 4
-       jl       G_M63069_IG71
+       jl       G_M63069_IG73
        mov      rax, qword ptr [rax+0x18]
        mov      rax, qword ptr [rax+0x20]
        test     rax, rax
-       je       G_M63069_IG71
+       je       G_M63069_IG73
        jmp      G_M63069_IG05
                        ;; size=54 bbWeight=92.46 PerfScore 1363.78
-G_M63069_IG44:        ; bbWeight=92.46, gcVars=0000000000000001 {V85}, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; GC ptr vars +{V00 V85}
-       mov      rax, gword ptr [rbp-0x70]
+G_M63069_IG44:        ; bbWeight=92.46, gcVars=0000000000000001 {V85}, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[rax]
+       ; GC ptr vars +{V00 V85}
        mov      dword ptr [rax+0xE0], r12d
        mov      edi, dword ptr [rax+0x124]
        mov      ecx, r12d
@@ -520,7 +514,7 @@ G_M63069_IG44:        ; bbWeight=92.46, gcVars=0000000000000001 {V85}, gcrefRegs
        sub      edx, edi
        cmp      ecx, edx
        jb       SHORT G_M63069_IG47
-                      ;; size=34 bbWeight=92.46 PerfScore 739.68
+                        ;; size=30 bbWeight=92.46 PerfScore 647.22
 G_M63069_IG45:        ; bbWeight=0.01, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      rdi, qword ptr [rax+0xA0]
        mov      qword ptr [rbp-0x40], rdi
@@ -582,7 +576,7 @@ G_M63069_IG51:        ; bbWeight=5.63, gcVars=0000000000000000 {}, gcrefRegs=800
        ; gcrRegs -[rax rbx r13-r14]
        ; GC ptr vars -{V00 V85}
        cmp      byte  ptr [rbp+0x28], 0
-       jne      G_M63069_IG73
+       jne      G_M63069_IG75
        jmp      G_M63069_IG03
                        ;; size=15 bbWeight=5.63 PerfScore 28.13
 G_M63069_IG52:        ; bbWeight=0.01, gcVars=0000000000000001 {V85}, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
@@ -678,19 +672,42 @@ G_M63069_IG60:        ; bbWeight=0, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=
        ; gcr arg pop 0
        jmp      G_M63069_IG10
                        ;; size=14 bbWeight=0 PerfScore 0.00
-G_M63069_IG61:        ; bbWeight=0, gcVars=0000000000000001 {V85}, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M63069_IG61:        ; bbWeight=0, gcVars=0000000000000001 {V85}, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+       ; gcrRegs +[rax]
        ; GC ptr vars +{V00 V85}
        mov      rdi, 0xD1FFAB1E
        ; gcrRegs +[rdi]
        mov      rsi, 0xD1FFAB1E
        ; gcrRegs +[rsi]
        call     [<unknown method>]
+       ; gcrRegs -[rax rsi rdi]
+       ; gcr arg pop 0
+       mov      rcx, r14
+       ; gcrRegs +[rcx]
+       test     rcx, rcx
+       jne      SHORT G_M63069_IG63
+                       ;; size=34 bbWeight=0 PerfScore 0.00
+G_M63069_IG62:        ; bbWeight=0, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rcx]
...
  
+31 (+1.80%) : 85891.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
@@ -13,7 +13,7 @@
 ;  V00 loc0         [V00,T10] ( 11, 384.30)     ref  ->  r15         class-hnd exact <System.Threading.ThreadPoolWorkQueue>
 ;  V01 loc1         [V01,T22] (  8, 242.53)     ref  ->  r13         class-hnd exact <System.Threading.ThreadPoolWorkQueueThreadLocals>
 ;  V02 loc2         [V02    ] (  7, 482.75)     ref  ->  [rbp+0x60]  do-not-enreg[X] addr-exposed ld-addr-op class-hnd tier0-frame <System.Object>
-;  V03 loc3         [V03,T11] (  5, 381.48)     ref  ->  r14         class-hnd <System.Object>
+;  V03 loc3         [V03,T11] (  6, 381.48)     ref  ->  r14         class-hnd <System.Object>
 ;  V04 loc4         [V04,T01] ( 13, 761.38)     ref  ->  rbx         class-hnd exact <System.Threading.Thread>
 ;  V05 loc5         [V05,T36] (  2,  95.37)     int  ->  [rbp+0x4C]  tier0-frame
 ;* V06 loc6         [V06    ] (  0,   0   )   ubyte  ->  zero-ref   
@@ -95,7 +95,7 @@
 ;  V82 tmp71        [V82,T00] (  8,1144.50)     ref  ->  [rbp-0x70]  class-hnd exact spill-single-def "Inlining Arg" <System.Threading.PortableThreadPool>
 ;* V83 tmp72        [V83    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V84 tmp73        [V84    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V85 tmp74        [V85,T08] (  3, 476.86)     ref  ->  rdi         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
+;  V85 tmp74        [V85,T08] (  5, 476.86)     ref  ->  rcx         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V86 tmp75        [V86    ] (  0,   0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V87 tmp76        [V87    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V88 tmp77        [V88    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -191,7 +191,7 @@ G_M63069_IG10:        ; bbWeight=95.37, gcrefRegs=E008 {rbx r13 r14 r15}, byrefR
        cmp      byte  ptr [rbx+0x38], 0
        jne      G_M63069_IG61
                        ;; size=10 bbWeight=95.37 PerfScore 381.48
-G_M63069_IG11:        ; bbWeight=95.37, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
+G_M63069_IG11:        ; bbWeight=95.37, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        call     <unknown method>
        ; gcr arg pop 0
        mov      r12d, eax
@@ -202,37 +202,32 @@ G_M63069_IG11:        ; bbWeight=95.37, gcrefRegs=E008 {rbx r13 r14 r15}, byrefR
        ; GC ptr vars +{V82}
        test     r14, r14
        je       G_M63069_IG62
-                        ;; size=34 bbWeight=95.37 PerfScore 548.38
-G_M63069_IG12:        ; bbWeight=95.37, gcVars=0000000000000001 {V82}, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; gcrRegs -[rax]
-       mov      rdi, r14
-       ; gcrRegs +[rdi]
-       test     rdi, rdi
-       je       SHORT G_M63069_IG14
-                       ;; size=8 bbWeight=95.37 PerfScore 143.06
-G_M63069_IG13:        ; bbWeight=47.69, gcrefRegs=E088 {rbx rdi r13 r14 r15}, byrefRegs=0000 {}, byref, isz
-       mov      rsi, 0xD1FFAB1E      ; System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode
-       cmp      qword ptr [rdi], rsi
+       mov      rcx, r14
+       ; gcrRegs +[rcx]
+       test     rcx, rcx
        je       SHORT G_M63069_IG15
+                      ;; size=42 bbWeight=95.37 PerfScore 691.44
+G_M63069_IG12:        ; bbWeight=47.69, gcVars=0000000000000001 {V82}, gcrefRegs=E00B {rax rcx rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+       mov      rdi, 0xD1FFAB1E      ; System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode
+       cmp      qword ptr [rcx], rdi
+       jne      SHORT G_M63069_IG14
                         ;; size=15 bbWeight=47.69 PerfScore 202.66
-G_M63069_IG14:        ; bbWeight=95.37, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rdi]
-       mov      rdi, 0xD1FFAB1E
-       ; gcrRegs +[rdi]
-       mov      rsi, 0xD1FFAB1E
-       ; gcrRegs +[rsi]
-       call     [<unknown method>]
-       ; gcrRegs -[rsi rdi]
-       ; gcr arg pop 0
-                       ;; size=26 bbWeight=95.37 PerfScore 333.80
-G_M63069_IG15:        ; bbWeight=95.37, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
+G_M63069_IG13:        ; bbWeight=95.37, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rcx]
        mov      edi, dword ptr [r14+0x20]
        inc      edi
-       je       G_M63069_IG73
+       je       G_M63069_IG75
        mov      dword ptr [r14+0x20], edi
        jmp      G_M63069_IG45
                        ;; size=21 bbWeight=95.37 PerfScore 596.07
+G_M63069_IG14:        ; bbWeight=23.84, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, byref
+       jmp      G_M63069_IG63
+                       ;; size=5 bbWeight=23.84 PerfScore 47.69
+G_M63069_IG15:        ; bbWeight=47.69, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, byref
+       jmp      G_M63069_IG63
+                       ;; size=5 bbWeight=47.69 PerfScore 95.37
 G_M63069_IG16:        ; bbWeight=100.00, gcVars=0000000000000000 {}, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+       ; gcrRegs -[rax]
        ; GC ptr vars -{V82}
        cmp      gword ptr [rbp+0x60], 0
        jne      G_M63069_IG39
@@ -244,12 +239,12 @@ G_M63069_IG17:        ; bbWeight=95.90, gcrefRegs=E008 {rbx r13 r14 r15}, byrefR
        ; gcrRegs +[rdi]
        mov      esi, dword ptr [rdi+0x14]
        cmp      esi, dword ptr [rdi+0x18]
-       jl       G_M63069_IG63
+       jl       G_M63069_IG65
        xor      r12, r12
        ; gcrRegs +[r12]
        mov      gword ptr [rbp-0x30], r12
        cmp      gword ptr [rbp-0x30], 0
-       jne      G_M63069_IG64
+       jne      G_M63069_IG66
                       ;; size=41 bbWeight=95.90 PerfScore 1558.36
 G_M63069_IG18:        ; bbWeight=95.90, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdi r12]
@@ -258,7 +253,7 @@ G_M63069_IG18:        ; bbWeight=95.90, gcrefRegs=E008 {rbx r13 r14 r15}, byrefR
                        ;; size=7 bbWeight=95.90 PerfScore 383.60
 G_M63069_IG19:        ; bbWeight=97.03, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
        cmp      dword ptr [r15+0x30], 0
-       jne      G_M63069_IG65
+       jne      G_M63069_IG67
                       ;; size=11 bbWeight=97.03 PerfScore 388.12
 G_M63069_IG20:        ; bbWeight=95.90, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
        mov      r12, gword ptr [r15+0x08]
@@ -275,7 +270,7 @@ G_M63069_IG20:        ; bbWeight=95.90, gcrefRegs=E008 {rbx r13 r14 r15}, byrefR
        ; gcrRegs -[rax rdi]
        ; gcr arg pop 0
        test     eax, eax
-       jne      G_M63069_IG64
+       jne      G_M63069_IG66
                      ;; size=36 bbWeight=95.90 PerfScore 1246.69
 G_M63069_IG21:        ; bbWeight=18.91, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      rsi, gword ptr [rbp-0x68]
@@ -301,7 +296,7 @@ G_M63069_IG22:        ; bbWeight=0.10, gcVars=0000000000000000 {}, gcrefRegs=E00
        ; gcrRegs -[rax rdi]
        ; gcr arg pop 0
        test     eax, eax
-       jne      G_M63069_IG64
+       jne      G_M63069_IG66
                      ;; size=36 bbWeight=0.10 PerfScore 1.25
 G_M63069_IG23:        ; bbWeight=0.02, gcrefRegs=F008 {rbx r12 r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      rsi, gword ptr [rbp-0x60]
@@ -322,7 +317,7 @@ G_M63069_IG24:        ; bbWeight=0.10, gcVars=0000000000000000 {}, gcrefRegs=F00
        ; gcrRegs -[rdi r12]
        ; gcr arg pop 0
        test     eax, eax
-       jne      G_M63069_IG64
+       jne      G_M63069_IG66
                      ;; size=21 bbWeight=0.10 PerfScore 0.48
 G_M63069_IG25:        ; bbWeight=0.10, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
        mov      byte  ptr [r13+0x3C], 0
@@ -357,7 +352,7 @@ G_M63069_IG30:        ; bbWeight=95.90, gcrefRegs=F008 {rbx r12 r13 r14 r15}, by
        ; gcrRegs -[rdi r12]
        ; gcr arg pop 0
        test     eax, eax
-       jne      G_M63069_IG64
+       jne      G_M63069_IG66
                      ;; size=21 bbWeight=95.90 PerfScore 479.50
 G_M63069_IG31:        ; bbWeight=25.32, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
        mov      rax, gword ptr [r13+0x30]
@@ -391,7 +386,7 @@ G_M63069_IG31:        ; bbWeight=25.32, gcrefRegs=E008 {rbx r13 r14 r15}, byrefR
        mov      r9d, dword ptr [r8+0x08]
        mov      esi, r9d
        test     esi, esi
-       jle      G_M63069_IG66
+       jle      G_M63069_IG68
                      ;; size=110 bbWeight=25.32 PerfScore 664.54
 G_M63069_IG32:        ; bbWeight=25.32, gcrefRegs=E10A {rcx rbx r8 r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        lea      r10d, [rsi-0x01]
@@ -414,7 +409,7 @@ G_M63069_IG33:        ; bbWeight=74.73, gcrefRegs=E10A {rcx rbx r8 r13 r14 r15},
 G_M63069_IG34:        ; bbWeight=50.45, gcrefRegs=E18A {rcx rbx rdi r8 r13 r14 r15}, byrefRegs=0000 {}, byref
        mov      eax, dword ptr [rdi+0x14]
        cmp      eax, dword ptr [rdi+0x18]
-       jl       G_M63069_IG67
+       jl       G_M63069_IG69
                         ;; size=12 bbWeight=50.45 PerfScore 302.69
 G_M63069_IG35:        ; bbWeight=74.73, gcrefRegs=E10A {rcx rbx r8 r13 r14 r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
@@ -441,7 +436,7 @@ G_M63069_IG38:        ; bbWeight=95.90, gcrefRegs=F008 {rbx r12 r13 r14 r15}, by
 G_M63069_IG39:        ; bbWeight=95.37, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rsi r12]
        cmp      byte  ptr [r15+0x34], 0
-       jne      G_M63069_IG68
+       jne      G_M63069_IG70
                       ;; size=11 bbWeight=95.37 PerfScore 381.48
 G_M63069_IG40:        ; bbWeight=94.58, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      r12, gword ptr [rbp+0x60]
@@ -453,7 +448,7 @@ G_M63069_IG40:        ; bbWeight=94.58, gcrefRegs=E008 {rbx r13 r14 r15}, byrefR
        ; gcrRegs -[rsi] +[rax]
        ; gcr arg pop 0
        test     rax, rax
-       je       G_M63069_IG69
+       je       G_M63069_IG71
        mov      rdi, 0xD1FFAB1E      ; System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[System.Threading.Tasks.VoidTaskResult,System.Threading.Tasks.Tests.Perf_AsyncMethods+<Yield>d__2]
        cmp      qword ptr [rax], rdi
        jne      SHORT G_M63069_IG41
@@ -492,7 +487,7 @@ G_M63069_IG43:        ; bbWeight=95.37, gcrefRegs=E088 {rbx rdi r13 r14 r15}, by
        ; gcrRegs -[rax]
        mov      gword ptr [rbx+0x08], rax
        test     rdi, rdi
-       jne      G_M63069_IG70
+       jne      G_M63069_IG72
                      ;; size=13 bbWeight=95.37 PerfScore 214.59
 G_M63069_IG44:        ; bbWeight=95.37, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
@@ -501,17 +496,16 @@ G_M63069_IG44:        ; bbWeight=95.37, gcrefRegs=E008 {rbx r13 r14 r15}, byrefR
        call     rax
        ; gcr arg pop 0
        cmp      dword ptr [rax+0x10], 4
-       jl       G_M63069_IG72
+       jl       G_M63069_IG74
        mov      rax, qword ptr [rax+0x18]
        mov      rax, qword ptr [rax+0x20]
        test     rax, rax
-       je       G_M63069_IG72
+       je       G_M63069_IG74
        jmp      G_M63069_IG05
                        ;; size=54 bbWeight=95.37 PerfScore 1406.72
-G_M63069_IG45:        ; bbWeight=95.37, gcVars=0000000000000001 {V82}, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; GC ptr vars +{V00 V82}
-       mov      rax, gword ptr [rbp-0x70]
+G_M63069_IG45:        ; bbWeight=95.37, gcVars=0000000000000001 {V82}, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[rax]
+       ; GC ptr vars +{V00 V82}
        mov      dword ptr [rax+0xE0], r12d
        mov      edi, dword ptr [rax+0x124]
        mov      ecx, r12d
@@ -520,7 +514,7 @@ G_M63069_IG45:        ; bbWeight=95.37, gcVars=0000000000000001 {V82}, gcrefRegs
        sub      edx, edi
        cmp      ecx, edx
        jb       SHORT G_M63069_IG48
-                      ;; size=34 bbWeight=95.37 PerfScore 762.97
+                        ;; size=30 bbWeight=95.37 PerfScore 667.60
 G_M63069_IG46:        ; bbWeight=0.01, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      rdi, qword ptr [rax+0xA0]
        mov      qword ptr [rbp-0x40], rdi
@@ -582,7 +576,7 @@ G_M63069_IG52:        ; bbWeight=4.63, gcVars=0000000000000000 {}, gcrefRegs=800
        ; gcrRegs -[rax rbx r13-r14]
        ; GC ptr vars -{V00 V82}
        cmp      byte  ptr [rbp+0x28], 0
-       jne      G_M63069_IG74
+       jne      G_M63069_IG76
        jmp      G_M63069_IG03
                        ;; size=15 bbWeight=4.63 PerfScore 23.14
 G_M63069_IG53:        ; bbWeight=0.01, gcVars=0000000000000001 {V82}, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
@@ -678,19 +672,42 @@ G_M63069_IG61:        ; bbWeight=0, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=
        ; gcr arg pop 0
        jmp      G_M63069_IG11
                        ;; size=14 bbWeight=0 PerfScore 0.00
-G_M63069_IG62:        ; bbWeight=0, gcVars=0000000000000001 {V82}, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M63069_IG62:        ; bbWeight=0, gcVars=0000000000000001 {V82}, gcrefRegs=E009 {rax rbx r13 r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+       ; gcrRegs +[rax]
        ; GC ptr vars +{V00 V82}
        mov      rdi, 0xD1FFAB1E
        ; gcrRegs +[rdi]
        mov      rsi, 0xD1FFAB1E
        ; gcrRegs +[rsi]
        call     [<unknown method>]
+       ; gcrRegs -[rax rsi rdi]
+       ; gcr arg pop 0
+       mov      rcx, r14
+       ; gcrRegs +[rcx]
+       test     rcx, rcx
+       jne      SHORT G_M63069_IG64
+                       ;; size=34 bbWeight=0 PerfScore 0.00
+G_M63069_IG63:        ; bbWeight=0, gcrefRegs=E008 {rbx r13 r14 r15}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rcx]
...
  
  
benchmarks.run_tiered.linux.x64.checked.mch
-9 (-2.66%) : 16857.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
@@ -8,10 +8,10 @@
 ; 0 inlinees with PGO data; 12 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] (  3,  3   )    long  ->  rbx         single-def
-;  V01 arg1         [V01,T19] (  3,  3   )    long  ->  r15         single-def
-;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [rbp-0x38]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T20] (  4, 11   )    long  ->  r15        
+;  V00 arg0         [V00,T19] (  3,  3   )    long  ->  rbx         single-def
+;  V01 arg1         [V01,T20] (  3,  3   )    long  ->  r15         single-def
+;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [rbp-0x30]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
+;  V03 loc1         [V03,T21] (  4, 11   )    long  ->  r15        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
@@ -19,14 +19,14 @@
 ;  V08 tmp1         [V08,T10] (  7, 84   )     ref  ->  rbx         class-hnd single-def "non-inline candidate call" <<unknown class>>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V11 tmp4         [V11,T28] (  3,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V12 tmp5         [V12,T22] (  2,  4   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp4         [V11,T29] (  3,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp5         [V12,T23] (  2,  4   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp10        [V17,T08] (  2, 16   )     int  ->  rcx         "Inlining Arg"
-;  V18 tmp11        [V18,T07] (  2, 16   )   byref  ->  rax         "Inlining Arg"
+;  V17 tmp10        [V17,T07] (  2, 16   )     int  ->  rcx         "Inlining Arg"
+;  V18 tmp11        [V18,T06] (  2, 16   )   byref  ->  rax         "Inlining Arg"
 ;* V19 tmp12        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V21 tmp14        [V21,T12] (  2,  8   )   ubyte  ->  rax         "Inline return value spill temp"
@@ -40,30 +40,30 @@
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V30 tmp23        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V32 tmp25        [V32,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V32 tmp25        [V32,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V33 tmp26        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V34 tmp27        [V34,T23] (  3, 17   )     ref  ->  rdi         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
-;  V35 tmp28        [V35,T21] (  4, 18   )     int  ->  rsi         "Inline stloc first use temp"
-;  V36 tmp29        [V36,T17] (  3, 20   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [rbp-0x48]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
-;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
-;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
-;  V40 tmp33        [V40,T02] (  4, 25   )     ref  ->  rbx         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V41 tmp34        [V41,T03] (  4, 20   )     ref  ->  rdx         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V34 tmp27        [V34,T24] (  3, 17   )     ref  ->  rdi         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
+;  V35 tmp28        [V35,T22] (  4, 18   )     int  ->  rsi         "Inline stloc first use temp"
+;  V36 tmp29        [V36,T18] (  3, 20   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [rbp-0x40]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
+;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
+;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
+;  V40 tmp33        [V40,T03] (  4, 25   )     ref  ->  rbx         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V41 tmp34        [V41,T02] (  4, 20   )     ref  ->  rdx         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V42 tmp35        [V42,T00] (  6, 41   )     int  ->  r13         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V43 tmp36        [V43,T05] (  3, 17   )     int  ->  r14         "field V04._version (fldOffset=0x14)" P-INDEP
-;  V44 tmp37        [V44,T13] (  2,  8   )   byref  ->  rdi         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp38        [V45,T15] (  2,  8   )     int  ->  rsi         "field V09._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp36        [V43,T13] (  2,  9   )     int  ->  r14         "field V04._version (fldOffset=0x14)" P-INDEP
+;  V44 tmp37        [V44,T14] (  2,  8   )   byref  ->  rdi         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp38        [V45,T16] (  2,  8   )     int  ->  rsi         "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V46 tmp39        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V47 tmp40        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V48 tmp41        [V48,T24] (  3,  3   )     ref  ->  rbx         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;  V48 tmp41        [V48,T25] (  3,  3   )     ref  ->  rbx         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V49 tmp42        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V50 tmp43        [V50,T26] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
-;  V51 tmp44        [V51,T25] (  2,  2   )     int  ->  r14         "field V13._version (fldOffset=0x14)" P-INDEP
+;* V50 tmp43        [V50,T27] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
+;  V51 tmp44        [V51,T26] (  2,  2   )     int  ->  r14         "field V13._version (fldOffset=0x14)" P-INDEP
 ;  V52 tmp45        [V52,T11] (  3, 12   )   byref  ->  rax         "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V53 tmp46        [V53,T06] (  4, 16   )     int  ->  rcx         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V54 tmp47        [V54,T14] (  2,  8   )   byref  ->  rax         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V55 tmp48        [V55,T16] (  2,  8   )     int  ->  rcx         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V53 tmp46        [V53,T05] (  4, 16   )     int  ->  rcx         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V54 tmp47        [V54,T15] (  2,  8   )   byref  ->  rax         "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V55 tmp48        [V55,T17] (  2,  8   )     int  ->  rcx         "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp50        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V58 tmp51        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
@@ -79,28 +79,28 @@
 ;* V68 tmp61        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V69 tmp62        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;  V70 tmp63        [V70,T01] (  3, 48   )     ref  ->  rdx         "arr expr"
-;  V71 PSPSym       [V71,T27] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
-;  V72 cse0         [V72,T04] (  3, 24   )     int  ->  r12         "CSE - moderate"
+;  V71 PSPSym       [V71,T28] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
+;  V72 cse0         [V72,T09] (  2, 16   )     int  ->  rdx         "CSE - moderate"
+;  V73 cse1         [V73,T04] (  2, 16   )     int  ->  rdx         "CSE - moderate"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 48
 
 G_M19804_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
        push     r13
-       push     r12
        push     rbx
-       sub      rsp, 40
+       sub      rsp, 48
        lea      rbp, [rsp+0x50]
        xor      eax, eax
-       mov      qword ptr [rbp-0x38], rax
+       mov      qword ptr [rbp-0x30], rax
        mov      qword ptr [rbp-0x50], rsp
        mov      rbx, rdi
        mov      r15, rsi
-                     ;; size=35 bbWeight=1 PerfScore 9.50
+                      ;; size=33 bbWeight=1 PerfScore 8.50
 G_M19804_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       lea      rdi, [rbp-0x48]
+       lea      rdi, [rbp-0x40]
        call     CORINFO_HELP_JIT_REVERSE_PINVOKE_ENTER
        ; gcr arg pop 0
        nop      
@@ -110,10 +110,10 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        call     [System.Runtime.InteropServices.MemoryMarshal:CreateReadOnlySpanFromNullTerminated(ulong):System.ReadOnlySpan`1[ushort]]
        ; byrRegs +[rax]
        ; gcr arg pop 0
-       mov      bword ptr [rbp-0x38], rax
-       mov      qword ptr [rbp-0x30], rdx
+       mov      bword ptr [rbp-0x30], rax
+       mov      qword ptr [rbp-0x28], rdx
        cmp      byte  ptr [r15+0x08], 0
-       je       SHORT G_M19804_IG11
+       je       SHORT G_M19804_IG10
        mov      rbx, gword ptr [r15]
        ; gcrRegs +[rbx]
        mov      r14d, dword ptr [rbx+0x14]
@@ -123,9 +123,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M19804_IG04:        ; bbWeight=4, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rdx]
        ; byrRegs -[rax]
-       mov      rdi, bword ptr [rbp-0x38]
+       mov      rdi, bword ptr [rbp-0x30]
        ; byrRegs +[rdi]
-       mov      esi, dword ptr [rbp-0x30]
+       mov      esi, dword ptr [rbp-0x28]
        test     rdx, rdx
        jne      SHORT G_M19804_IG05
        xor      rax, rax
@@ -151,14 +151,15 @@ G_M19804_IG06:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0081 {rax rd
        ; byrRegs -[rax rsi rdi]
        ; gcr arg pop 0
        test     eax, eax
-       jne      SHORT G_M19804_IG14
+       jne      SHORT G_M19804_IG13
                      ;; size=22 bbWeight=4 PerfScore 25.00
 G_M19804_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       mov      r12d, dword ptr [rbx+0x14]
-       cmp      r14d, r12d
-       jne      SHORT G_M19804_IG10
-       cmp      r13d, dword ptr [rbx+0x10]
-       jae      SHORT G_M19804_IG11
+       mov      edx, dword ptr [rbx+0x14]
+       cmp      r14d, edx
+       jne      SHORT G_M19804_IG09
+       mov      edx, dword ptr [rbx+0x10]
+       cmp      r13d, edx
+       jae      SHORT G_M19804_IG10
        mov      rdx, gword ptr [rbx+0x08]
        ; gcrRegs +[rdx]
        cmp      r13d, dword ptr [rdx+0x08]
@@ -167,7 +168,7 @@ G_M19804_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      rdx, gword ptr [rdx+8*rdi+0x10]
        inc      r13d
        jmp      SHORT G_M19804_IG04
-                      ;; size=38 bbWeight=8 PerfScore 142.00
+                        ;; size=39 bbWeight=8 PerfScore 136.00
 G_M19804_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdx rbx]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -179,13 +180,9 @@ G_M19804_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 G_M19804_IG10:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       cmp      r14d, r12d
-       jne      SHORT G_M19804_IG09
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        mov      rbx, gword ptr [r15]
        ; gcrRegs +[rbx]
-       lea      rdi, [rbp-0x38]
+       lea      rdi, [rbp-0x30]
        call     [<unknown method>]
        ; gcrRegs +[rax]
        ; gcr arg pop 0
@@ -194,9 +191,9 @@ G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ; gcrRegs +[rdi]
        mov      esi, dword ptr [rbx+0x10]
        cmp      dword ptr [rdi+0x08], esi
-       jbe      SHORT G_M19804_IG13
+       jbe      SHORT G_M19804_IG12
                         ;; size=28 bbWeight=8 PerfScore 132.00
-G_M19804_IG12:        ; bbWeight=1, gcrefRegs=0089 {rax rbx rdi}, byrefRegs=0000 {}, byref, isz
+G_M19804_IG11:        ; bbWeight=1, gcrefRegs=0089 {rax rbx rdi}, byrefRegs=0000 {}, byref, isz
        lea      ecx, [rsi+0x01]
        mov      dword ptr [rbx+0x10], ecx
        mov      esi, esi
@@ -208,9 +205,9 @@ G_M19804_IG12:        ; bbWeight=1, gcrefRegs=0089 {rax rbx rdi}, byrefRegs=0000
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rax rbx rsi]
        ; byrRegs -[rdi]
-       jmp      SHORT G_M19804_IG14
+       jmp      SHORT G_M19804_IG13
                       ;; size=23 bbWeight=1 PerfScore 6.00
-G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
+G_M19804_IG12:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rax rbx]
        mov      rdi, rbx
        ; gcrRegs +[rdi]
@@ -221,36 +218,34 @@ G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {},
        ; gcr arg pop 0
        nop      
                        ;; size=13 bbWeight=1 PerfScore 3.75
-G_M19804_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       lea      rdi, [rbp-0x48]
+G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       lea      rdi, [rbp-0x40]
        call     CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT
        ; gcr arg pop 0
        nop      
                        ;; size=10 bbWeight=1 PerfScore 1.75
-G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 40
+G_M19804_IG14:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 48
        pop      rbx
-       pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=15 bbWeight=1 PerfScore 4.25
-G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                     ;; size=13 bbWeight=1 PerfScore 3.75
+G_M19804_IG15:        ; bbWeight=0, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        ; gcrRegs +[rsi]
        push     rbp
        push     r15
        push     r14
        push     r13
-       push     r12
        push     rbx
...
  
-9 (-1.57%) : 21062.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
@@ -19,15 +19,15 @@
 ;  V08 loc3         [V08    ] (  6,  2.50)   ubyte  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed ld-addr-op
 ;  V09 loc4         [V09,T14] (  3,  4.50)     ref  ->  r14         class-hnd exact single-def <System.Buffers.ArrayPoolEventSource>
 ;  V10 loc5         [V10,T02] ( 12, 14.25)     int  ->  [rbp-0x34] 
-;  V11 loc6         [V11,T07] (  5, 10   )     ref  ->  r15         class-hnd <System.Array>
-;  V12 loc7         [V12,T08] (  4,  8   )     int  ->  r15        
+;  V11 loc6         [V11,T06] (  5, 10   )     ref  ->  r15         class-hnd <System.Array>
+;  V12 loc7         [V12,T08] (  4,  8   )     int  ->  rax        
 ;# V13 OutArgs      [V13    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V14 tmp1         [V14,T21] (  2,  1   )     int  ->  r12        
 ;* V15 tmp2         [V15    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V16 tmp3         [V16    ] (  0,  0   )     ref  ->  zero-ref   
-;  V17 tmp4         [V17,T18] (  3,  1.50)     int  ->  rax        
-;  V18 tmp5         [V18,T00] (  3, 24   )     int  ->  rax         "impSpillLclRefs"
-;  V19 tmp6         [V19,T03] (  3, 12   )     ref  ->  rax         class-hnd "impSpillLclRefs" <<unknown class>>
+;  V17 tmp4         [V17,T18] (  3,  1.50)     int  ->  rbx        
+;  V18 tmp5         [V18,T00] (  3, 24   )     int  ->  rcx         "impSpillLclRefs"
+;  V19 tmp6         [V19,T03] (  3, 12   )     ref  ->  rcx         class-hnd "impSpillLclRefs" <<unknown class>>
 ;  V20 tmp7         [V20,T09] (  2,  8   )     int  ->  rdx         "impAppendStmt"
 ;  V21 tmp8         [V21,T17] (  2,  2   )   ubyte  ->  rdi         "Inlining Arg"
 ;* V22 tmp9         [V22    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -36,7 +36,7 @@
 ;  V25 tmp12        [V25,T04] (  3, 12   )     ref  ->  rax         "arr expr"
 ;  V26 tmp13        [V26,T05] (  3, 12   )     int  ->  rcx         "index expr"
 ;  V27 PSPSym       [V27,T22] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
-;  V28 cse0         [V28,T06] (  4, 10.50)     int  ->  r15         "CSE - aggressive"
+;  V28 cse0         [V28,T07] (  3, 10   )     int  ->  rax         "CSE - aggressive"
 ;  V29 cse1         [V29,T19] (  3,  1.50)     int  ->  rsi         "CSE - moderate"
 ;  V30 cse2         [V30,T20] (  3,  1.50)     int  ->  rax         "CSE - moderate"
 ;
@@ -160,14 +160,13 @@ G_M62513_IG11:        ; bbWeight=1.75, gcrefRegs=4080 {rdi r14}, byrefRegs=0000
        jmp      G_M62513_IG14
                        ;; size=10 bbWeight=1.75 PerfScore 3.94
 G_M62513_IG12:        ; bbWeight=2, gcrefRegs=4080 {rdi r14}, byrefRegs=0000 {}, byref, isz
-       mov      rax, gword ptr [rdi+0x08]
-       ; gcrRegs +[rax]
-       dec      r15d
-       mov      dword ptr [rdi+0x14], r15d
-       cmp      r15d, dword ptr [rax+0x08]
+       mov      rcx, gword ptr [rdi+0x08]
+       ; gcrRegs +[rcx]
+       dec      eax
+       mov      dword ptr [rdi+0x14], eax
+       cmp      eax, dword ptr [rcx+0x08]
        jae      G_M62513_IG08
-       mov      ecx, r15d
-       mov      r15, gword ptr [rax+8*rcx+0x10]
+       mov      r15, gword ptr [rcx+8*rax+0x10]
        ; gcrRegs +[r15]
        test     r15, r15
        jne      SHORT G_M62513_IG13
@@ -175,9 +174,9 @@ G_M62513_IG12:        ; bbWeight=2, gcrefRegs=4080 {rdi r14}, byrefRegs=0000 {},
        mov      rsi, 0xD1FFAB1E
        ; gcrRegs +[rsi]
        call     [<unknown method>]
-       ; gcrRegs -[rax rsi rdi]
+       ; gcrRegs -[rcx rsi rdi]
        ; gcr arg pop 0
-                     ;; size=60 bbWeight=2 PerfScore 28.50
+                     ;; size=54 bbWeight=2 PerfScore 28.00
 G_M62513_IG13:        ; bbWeight=2, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      rdi, gword ptr [rbp-0x40]
        ; gcrRegs +[rdi]
@@ -215,15 +214,15 @@ G_M62513_IG13:        ; bbWeight=2, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {},
        ; gcrRegs +[rdi]
                        ;; size=90 bbWeight=2 PerfScore 62.00
 G_M62513_IG14:        ; bbWeight=4, gcrefRegs=4080 {rdi r14}, byrefRegs=0000 {}, byref, isz
-       mov      r15d, dword ptr [rdi+0x14]
-       test     r15d, r15d
-       jle      SHORT G_M62513_IG17
-       mov      eax, esi
-       lea      esi, [rax-0x01]
-       mov      dword ptr [rbp-0x34], esi
+       mov      eax, dword ptr [rdi+0x14]
        test     eax, eax
+       jle      SHORT G_M62513_IG17
+       mov      ecx, esi
+       lea      esi, [rcx-0x01]
+       mov      dword ptr [rbp-0x34], esi
+       test     ecx, ecx
        jg       G_M62513_IG12
-                        ;; size=25 bbWeight=4 PerfScore 25.00
+                     ;; size=23 bbWeight=4 PerfScore 25.00
 G_M62513_IG15:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[r14]
        jmp      SHORT G_M62513_IG18
@@ -237,21 +236,20 @@ G_M62513_IG16:        ; bbWeight=1, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byr
                        ;; size=9 bbWeight=1 PerfScore 4.00
 G_M62513_IG17:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[r14]
-       test     r15d, r15d
-       jg       SHORT G_M62513_IG18
-       xor      eax, eax
+       xor      ebx, ebx
        jmp      SHORT G_M62513_IG19
-                        ;; size=9 bbWeight=0.50 PerfScore 1.75
+                        ;; size=4 bbWeight=0.50 PerfScore 1.12
 G_M62513_IG18:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
-       mov      eax, r12d
-       sar      eax, 31
-       and      eax, 3
-       add      eax, r12d
-       sar      eax, 2
-       add      eax, dword ptr [rdi+0x18]
-                       ;; size=18 bbWeight=0.50 PerfScore 2.38
+       mov      ebx, r12d
+       sar      ebx, 31
+       and      ebx, 3
+       add      ebx, r12d
+       sar      ebx, 2
+       add      ebx, dword ptr [rdi+0x18]
+       mov      rdi, gword ptr [rbp-0x40]
+                       ;; size=22 bbWeight=0.50 PerfScore 2.88
 G_M62513_IG19:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
-       mov      dword ptr [rdi+0x18], eax
+       mov      dword ptr [rdi+0x18], ebx
                       ;; size=3 bbWeight=0.50 PerfScore 0.50
 G_M62513_IG20:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        cmp      byte  ptr [rbp-0x30], 0
@@ -299,7 +297,7 @@ G_M62513_IG24:        ; bbWeight=0, funclet epilog, nogc, extend
        ret      
                        ;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 573, prolog size 38, PerfScore 168.94, instruction count 162, allocated bytes for code 573 (MethodHash=d51a0bce) for method System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
+; Total bytes of code 564, prolog size 38, PerfScore 168.31, instruction count 160, allocated bytes for code 564 (MethodHash=d51a0bce) for method System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
-15 (-0.80%) : 34707.dasm - System.Net.Security.SslStream+d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (Tier1)
@@ -232,7 +232,7 @@ G_M55896_IG03:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi},
        mov      rdi, bword ptr [rbp-0x80]
        ; byrRegs +[rdi]
        mov      r15d, dword ptr [rdi+0x10]
-       jmp      G_M55896_IG49
+       jmp      G_M55896_IG50
                        ;; size=47 bbWeight=1 PerfScore 12.50
 G_M55896_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; byrRegs -[rdi]
@@ -363,7 +363,7 @@ G_M55896_IG10:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     [<unknown method>]
        ; gcrRegs -[rax rsi]
        ; gcr arg pop 0
-       jmp      G_M55896_IG51
+       jmp      G_M55896_IG52
                        ;; size=56 bbWeight=1 PerfScore 14.75
 G_M55896_IG11:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi}, byref, nogc
        ; gcrRegs +[rbx]
@@ -487,12 +487,12 @@ G_M55896_IG20:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=8080 {rdi r1
        ; gcrRegs -[rcx]
        sub      ecx, dword ptr [rax+0x0C]
        cmp      ecx, esi
-       jge      G_M55896_IG45
+       jge      G_M55896_IG48
        mov      rdi, rax
        call     [<unknown method>]
        ; byrRegs -[rax rdi r14-r15]
        ; gcr arg pop 0
-       jmp      G_M55896_IG45
+       jmp      G_M55896_IG48
                        ;; size=43 bbWeight=1 PerfScore 15.25
 G_M55896_IG21:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi}, byref, isz
        ; byrRegs +[rdi]
@@ -507,7 +507,7 @@ G_M55896_IG21:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi},
        test     rdx, rdx
        jne      SHORT G_M55896_IG24
        test     esi, esi
-       jne      G_M55896_IG47
+       jne      G_M55896_IG44
        xor      rdx, rdx
        mov      gword ptr [rbp-0x78], rdx
                        ;; size=36 bbWeight=4 PerfScore 41.00
@@ -522,7 +522,7 @@ G_M55896_IG23:        ; bbWeight=4, gcrefRegs=0009 {rax rbx}, byrefRegs=0080 {rd
 G_M55896_IG24:        ; bbWeight=4, gcrefRegs=000D {rax rdx rbx}, byrefRegs=0080 {rdi}, byref
        ; gcrRegs +[rdx]
        cmp      dword ptr [rdx+0x08], esi
-       jb       G_M55896_IG47
+       jb       G_M55896_IG44
        mov      gword ptr [rbp-0x78], rdx
        mov      dword ptr [rbp-0x70], esi
        mov      edx, dword ptr [rdx+0x08]
@@ -646,7 +646,7 @@ G_M55896_IG30:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     [<unknown method>]
        ; gcrRegs -[rax rsi]
        ; gcr arg pop 0
-       jmp      G_M55896_IG51
+       jmp      G_M55896_IG52
                        ;; size=58 bbWeight=1 PerfScore 14.50
 G_M55896_IG31:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi}, byref, nogc
        ; gcrRegs +[rbx]
@@ -773,11 +773,11 @@ G_M55896_IG40:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        sub      eax, dword ptr [rsi+0x08]
        sub      eax, dword ptr [rbx+0x04]
        sub      eax, dword ptr [rbx]
-       jne      G_M55896_IG48
+       jne      G_M55896_IG45
        xor      r15d, r15d
        mov      rdi, bword ptr [rbp-0x80]
        ; byrRegs +[rdi]
-       jmp      G_M55896_IG49
+       jmp      G_M55896_IG50
                       ;; size=43 bbWeight=1 PerfScore 16.25
 G_M55896_IG41:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rbx]
@@ -788,7 +788,7 @@ G_M55896_IG41:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      rdi, bword ptr [rbp-0x80]
        ; byrRegs +[rdi]
        cmp      dword ptr [rdi+0x10], 0xD1FFAB1E
-       jne      G_M55896_IG45
+       jne      G_M55896_IG48
        lea      rsi, bword ptr [rbx+0x88]
        lea      r14, bword ptr [rsi+0x10]
        ; byrRegs +[r14]
@@ -803,7 +803,7 @@ G_M55896_IG41:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        sub      r8d, edx
        sub      r8d, dword ptr [rsi]
        cmp      r8d, 5
-       jle      G_M55896_IG45
+       jle      G_M55896_IG48
        lea      rsi, bword ptr [rbx+0x88]
        mov      r8, r14
        ; byrRegs +[r8]
@@ -813,37 +813,69 @@ G_M55896_IG41:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        test     r8, r8
        jne      SHORT G_M55896_IG42
        or       eax, ecx
-       jne      G_M55896_IG47
+       jne      SHORT G_M55896_IG44
        xor      r15, r15
        ; byrRegs +[r15]
        xor      r13d, r13d
        jmp      SHORT G_M55896_IG43
-                      ;; size=106 bbWeight=4 PerfScore 114.00
-G_M55896_IG42:        ; bbWeight=4, gcrefRegs=0108 {rbx r8}, byrefRegs=4040 {rsi r14}, byref
+                     ;; size=102 bbWeight=4 PerfScore 114.00
+G_M55896_IG42:        ; bbWeight=4, gcrefRegs=0108 {rbx r8}, byrefRegs=4040 {rsi r14}, byref, isz
        ; byrRegs -[rdi r15]
        mov      r9d, eax
        mov      r10d, ecx
        add      r9, r10
        mov      r10d, dword ptr [r8+0x08]
        cmp      r9, r10
-       ja       G_M55896_IG47
+       ja       SHORT G_M55896_IG44
        mov      eax, eax
        lea      r15, bword ptr [r8+rax+0x10]
        ; byrRegs +[r15]
        mov      r13d, ecx
-                        ;; size=32 bbWeight=4 PerfScore 22.00
+                     ;; size=28 bbWeight=4 PerfScore 22.00
 G_M55896_IG43:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=C040 {rsi r14 r15}, byref, isz
        ; gcrRegs -[r8]
        add      edx, dword ptr [rsi]
        cmp      edx, r13d
-       ja       G_M55896_IG47
+       jbe      SHORT G_M55896_IG46
+                       ;; size=7 bbWeight=4 PerfScore 17.00
+G_M55896_IG44:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rbx]
+       ; byrRegs -[rsi r14-r15]
+       call     [System.ThrowHelper:ThrowArgumentOutOfRangeException()]
+       ; gcr arg pop 0
+       int3     
+                       ;; size=7 bbWeight=0 PerfScore 0.00
+G_M55896_IG45:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       mov      rdi, 0xD1FFAB1E      ; <unknown class>
+       call     CORINFO_HELP_NEWSFAST
+       ; gcrRegs +[rax]
+       ; gcr arg pop 0
+       mov      rbx, rax
+       ; gcrRegs +[rbx]
+       call     [<unknown method>]
+       ; gcr arg pop 0
+       mov      rsi, rax
+       ; gcrRegs +[rsi]
+       mov      rdi, rbx
+       ; gcrRegs +[rdi]
+       call     [<unknown method>]
+       ; gcrRegs -[rax rsi rdi]
+       ; gcr arg pop 0
+       mov      rdi, rbx
+       ; gcrRegs +[rdi]
+       call     CORINFO_HELP_THROW
+       ; gcrRegs -[rbx rdi]
+       ; gcr arg pop 0
+                       ;; size=44 bbWeight=0 PerfScore 0.00
+G_M55896_IG46:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=C000 {r14 r15}, byref, isz
+       ; gcrRegs +[rbx]
+       ; byrRegs +[r14-r15]
        mov      r12d, edx
        add      r15, r12
        sub      r13d, edx
-       jns      SHORT G_M55896_IG44
+       jns      SHORT G_M55896_IG47
        mov      rsi, 0xD1FFAB1E
        ; gcrRegs +[rsi]
-       ; byrRegs -[rsi]
        mov      r12, rsi
        ; gcrRegs +[r12]
        mov      rdi, r12
@@ -859,8 +891,8 @@ G_M55896_IG43:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=C040 {rsi r1
        call     [<unknown method>]
        ; gcrRegs -[rsi rdi r12]
        ; gcr arg pop 0
-                       ;; size=59 bbWeight=4 PerfScore 54.00
-G_M55896_IG44:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=C000 {r14 r15}, byref, isz
+                       ;; size=48 bbWeight=4 PerfScore 37.00
+G_M55896_IG47:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=C000 {r14 r15}, byref, isz
        mov      rsi, r15
        ; byrRegs +[rsi]
        mov      edx, r13d
@@ -892,12 +924,12 @@ G_M55896_IG44:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=C000 {r14 r1
        ; gcrRegs -[rax]
        sub      eax, dword ptr [rdi+0x0C]
        cmp      eax, esi
-       jge      SHORT G_M55896_IG45
+       jge      SHORT G_M55896_IG48
        call     [<unknown method>]
        ; byrRegs -[rdi r14]
        ; gcr arg pop 0
                        ;; size=76 bbWeight=4 PerfScore 129.00
-G_M55896_IG45:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M55896_IG48:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; byrRegs -[r15]
        lea      rsi, bword ptr [rbx+0x88]
        ; byrRegs +[rsi]
@@ -914,47 +946,16 @@ G_M55896_IG45:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        cmp      ecx, dword ptr [rdi+0x10]
        jl       G_M55896_IG21
                        ;; size=38 bbWeight=8 PerfScore 138.00
-G_M55896_IG46:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
+G_M55896_IG49:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref
        ; gcrRegs -[rbx]
        ; byrRegs -[rdx rsi r14]
        mov      r15d, dword ptr [rdi+0x10]
-       jmp      SHORT G_M55896_IG49
-                       ;; size=6 bbWeight=1 PerfScore 4.00
-G_M55896_IG47:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       ; byrRegs -[rdi]
-       call     [System.ThrowHelper:ThrowArgumentOutOfRangeException()]
-       ; gcr arg pop 0
-       int3     
-                       ;; size=7 bbWeight=0 PerfScore 0.00
-G_M55896_IG48:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       mov      rdi, 0xD1FFAB1E      ; <unknown class>
-       call     CORINFO_HELP_NEWSFAST
-       ; gcrRegs +[rax]
-       ; gcr arg pop 0
-       mov      rbx, rax
-       ; gcrRegs +[rbx]
-       call     [<unknown method>]
-       ; gcr arg pop 0
-       mov      rsi, rax
-       ; gcrRegs +[rsi]
-       mov      rdi, rbx
-       ; gcrRegs +[rdi]
-       call     [<unknown method>]
-       ; gcrRegs -[rax rsi rdi]
-       ; gcr arg pop 0
-       mov      rdi, rbx
-       ; gcrRegs +[rdi]
-       call     CORINFO_HELP_THROW
-       ; gcrRegs -[rbx rdi]
-       ; gcr arg pop 0
-       int3     
-                       ;; size=45 bbWeight=0 PerfScore 0.00
-G_M55896_IG49:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
-       ; byrRegs +[rdi]
+                      ;; size=4 bbWeight=1 PerfScore 2.00
+G_M55896_IG50:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref, isz
        mov      dword ptr [rdi+0x08], -2
        add      rdi, 24
        cmp      gword ptr [rdi], 0
-       jne      SHORT G_M55896_IG50
+       jne      SHORT G_M55896_IG51
        mov      dword ptr [rdi+0x08], r15d
        mov      rsi, 0xD1FFAB1E      ; const ptr
        mov      rsi, gword ptr [rsi]
@@ -963,9 +964,9 @@ G_M55896_IG49:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byr
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
...
  
+2 (+0.23%) : 45453.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
@@ -8,30 +8,30 @@
 ; 0 inlinees with PGO data; 12 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T18] (  4,  7   )     ref  ->  [rbp-0x88]  this class-hnd EH-live single-def <Microsoft.CodeAnalysis.PEModule>
+;  V00 this         [V00,T19] (  4,  7   )     ref  ->  [rbp-0x88]  this class-hnd EH-live single-def <Microsoft.CodeAnalysis.PEModule>
 ;* V01 arg1         [V01    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Reflection.Metadata.EntityHandle>
 ;  V02 arg2         [V02,T06] (  3, 34   )     ref  ->  [rbp-0x90]  class-hnd EH-live single-def <Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder>
-;  V03 arg3         [V03,T19] (  3,  6   )     int  ->  [rbp-0x14]  EH-live single-def
-;  V04 loc0         [V04,T22] (  4,  4   )     ref  ->  rax         class-hnd single-def <System.Collections.Generic.List`1[Microsoft.CodeAnalysis.PEModule+AttributeInfo]>
+;  V03 arg3         [V03,T20] (  3,  6   )     int  ->  [rbp-0x14]  EH-live single-def
+;  V04 loc0         [V04,T23] (  4,  4   )     ref  ->  rax         class-hnd single-def <System.Collections.Generic.List`1[Microsoft.CodeAnalysis.PEModule+AttributeInfo]>
 ;* V05 loc1         [V05    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] ld-addr-op <System.Collections.Generic.List`1+Enumerator[Microsoft.CodeAnalysis.PEModule+AttributeInfo]>
 ;* V06 loc2         [V06    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <Microsoft.CodeAnalysis.PEModule+AttributeInfo>
 ;  V07 loc3         [V07    ] (  6, 52   )  struct (32) [rbp-0x38]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Reflection.Metadata.BlobReader>
 ;  V08 loc4         [V08    ] (  3,  9   )     ref  ->  [rbp-0x40]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.String>
-;  V09 loc5         [V09,T14] (  3, 12   )   ubyte  ->  [rbp-0x44]  do-not-enreg[Z] EH-live
+;  V09 loc5         [V09,T15] (  3, 12   )   ubyte  ->  [rbp-0x44]  do-not-enreg[Z] EH-live
 ;  V10 loc6         [V10,T05] (  3, 40   )  ushort  ->  rbx        
 ;  V11 loc7         [V11,T01] (  4,100   )     int  ->  r15        
 ;  V12 loc8         [V12    ] (  6,104   )  struct (40) [rbp-0x70]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.ValueTuple`4[System.Collections.Generic.KeyValuePair`2[System.String,Microsoft.CodeAnalysis.TypedConstant],ubyte,ubyte,ubyte]>
 ;* V13 loc9         [V13    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.String,Microsoft.CodeAnalysis.TypedConstant]>
 ;* V14 loc10        [V14    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <Microsoft.CodeAnalysis.TypedConstant>
 ;* V15 loc11        [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
-;  V16 loc12        [V16,T30] (  3,  0   )   ubyte  ->  rax        
-;  V17 loc13        [V17,T24] (  2,  2   )     ref  ->  rax         class-hnd exact <System.String>
+;  V16 loc12        [V16,T31] (  3,  0   )   ubyte  ->  rax        
+;  V17 loc13        [V17,T25] (  2,  2   )     ref  ->  rax         class-hnd exact <System.String>
 ;  V18 OutArgs      [V18    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V19 tmp1         [V19    ] (  0,  0   )     ref  ->  zero-ref    "inline UNBOX clone1"
-;  V20 tmp2         [V20,T32] (  2,  0   )     ref  ->  rsi         class-hnd "impSpillSpecialSideEff" <System.Object>
-;  V21 tmp3         [V21,T28] (  4,  0   )     ref  ->  rbx         class-hnd "dup spill" <<unknown class>>
+;  V20 tmp2         [V20,T33] (  2,  0   )     ref  ->  rsi         class-hnd "impSpillSpecialSideEff" <System.Object>
+;  V21 tmp3         [V21,T29] (  4,  0   )     ref  ->  rbx         class-hnd "dup spill" <<unknown class>>
 ;* V22 tmp4         [V22    ] (  0,  0   )     ref  ->  zero-ref   
-;  V23 tmp5         [V23,T31] (  3,  0   )     int  ->  rax        
+;  V23 tmp5         [V23,T32] (  3,  0   )     int  ->  rax        
 ;* V24 tmp6         [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.Object>
 ;* V25 tmp7         [V25    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[Microsoft.CodeAnalysis.PEModule+AttributeInfo]>
 ;* V26 tmp8         [V26    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
@@ -39,34 +39,35 @@
 ;* V28 tmp10        [V28    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon>
 ;  V29 tmp11        [V29,T00] (  5,208   )     ref  ->  rsi         "spilling varStr"
 ;  V30 tmp12        [V30,T02] (  2, 64   )     int  ->  rsi         "spilling unroll qmark"
-;  V31 tmp13        [V31,T29] (  3,  0   )     ref  ->  rbx         class-hnd exact "NewObj constructor temp" <<unknown class>>
+;  V31 tmp13        [V31,T30] (  3,  0   )     ref  ->  rbx         class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V32 tmp14        [V32,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V33 tmp15        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[Microsoft.CodeAnalysis.PEModule+AttributeInfo]>
-;  V34 tmp16        [V34,T23] (  2,  2   )     int  ->  [rbp-0x74]  single-def "field V01._vToken (fldOffset=0x0)" P-INDEP
-;  V35 tmp17        [V35,T15] (  3, 12   )     int  ->  rsi         "field V06.Handle (fldOffset=0x0)" P-INDEP
+;  V34 tmp16        [V34,T24] (  2,  2   )     int  ->  [rbp-0x74]  single-def "field V01._vToken (fldOffset=0x0)" P-INDEP
+;  V35 tmp17        [V35,T16] (  3, 12   )     int  ->  rsi         "field V06.Handle (fldOffset=0x0)" P-INDEP
 ;* V36 tmp18        [V36    ] (  0,  0   )   ubyte  ->  zero-ref    "field V06.SignatureIndex (fldOffset=0x4)" P-INDEP
 ;* V37 tmp19        [V37    ] (  0,  0   )     ref  ->  zero-ref    "field V14._type (fldOffset=0x0)" P-INDEP
-;  V38 tmp20        [V38,T13] (  4, 14   )     ref  ->  rbx         "field V14._value (fldOffset=0x8)" P-INDEP
-;  V39 tmp21        [V39,T20] (  2,  8   )     int  ->  rsi         "field V14._kind (fldOffset=0x10)" P-INDEP
+;  V38 tmp20        [V38,T14] (  4, 14   )     ref  ->  rbx         "field V14._value (fldOffset=0x8)" P-INDEP
+;  V39 tmp21        [V39,T21] (  2,  8   )     int  ->  rsi         "field V14._kind (fldOffset=0x10)" P-INDEP
 ;  V40 tmp22        [V40,T08] (  4, 24   )     ref  ->  [rbp-0x98]  EH-live spill-single-def "V05.[000..008)"
 ;  V41 tmp23        [V41,T03] (  6, 41   )     int  ->  [rbp-0x78]  do-not-enreg[Z] EH-live "V05.[008..012)"
-;  V42 tmp24        [V42,T21] (  2,  8   )     int  ->  [rbp-0x7C]  EH-live spill-single-def "V05.[012..016)"
+;  V42 tmp24        [V42,T22] (  2,  8   )     int  ->  [rbp-0x7C]  EH-live spill-single-def "V05.[012..016)"
 ;  V43 tmp25        [V43,T10] (  2, 12   )     int  ->  rsi         "V05.[016..020)"
 ;* V44 tmp26        [V44    ] (  0,  0   )   ubyte  ->  zero-ref    "V05.[020..021)"
 ;* V45 tmp27        [V45    ] (  0,  0   )     ref  ->  zero-ref    "V13.[000..008)"
 ;* V46 tmp28        [V46    ] (  0,  0   )     ref  ->  zero-ref    single-def "V25.[000..008)"
 ;* V47 tmp29        [V47    ] (  0,  0   )     int  ->  zero-ref    single-def "V25.[008..012)"
-;  V48 tmp30        [V48,T25] (  2,  2   )     int  ->  rdx         single-def "V25.[012..016)"
+;  V48 tmp30        [V48,T26] (  2,  2   )     int  ->  rdx         single-def "V25.[012..016)"
 ;* V49 tmp31        [V49    ] (  0,  0   )     int  ->  zero-ref    single-def "V25.[016..020)"
 ;* V50 tmp32        [V50    ] (  0,  0   )   ubyte  ->  zero-ref    single-def "V25.[020..021)"
 ;  V51 tmp33        [V51,T07] (  2, 32   )   byref  ->  rdi         "Spilling address for field-by-field copy"
 ;  V52 tmp34        [V52,T04] (  3, 48   )     ref  ->  rdi         "arr expr"
-;  V53 tmp35        [V53,T33] (  2,  0   )     ref  ->  rsi         "argument with side effect"
-;  V54 PSPSym       [V54,T26] (  1,  1   )    long  ->  [rbp-0xA0]  do-not-enreg[V] "PSPSym"
-;  V55 cse0         [V55,T16] (  3, 12   )    long  ->  rsi         "CSE - moderate"
-;  V56 cse1         [V56,T09] (  2, 16   )     int  ->  rdi         "CSE - moderate"
-;  V57 cse2         [V57,T17] (  3, 12   )    long  ->  rdi         "CSE - moderate"
-;  V58 rat0         [V58,T27] (  3, 96   )  simd16  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
+;  V53 tmp35        [V53,T34] (  2,  0   )     ref  ->  rsi         "argument with side effect"
+;  V54 PSPSym       [V54,T27] (  1,  1   )    long  ->  [rbp-0xA0]  do-not-enreg[V] "PSPSym"
+;  V55 cse0         [V55,T17] (  3, 12   )    long  ->  rsi         "CSE - moderate"
+;  V56 cse1         [V56,T13] (  2, 16   )     int  ->  rdi         "CSE - moderate"
+;  V57 cse2         [V57,T09] (  2, 16   )     int  ->  rdi         "CSE - moderate"
+;  V58 cse3         [V58,T18] (  3, 12   )    long  ->  rdi         "CSE - moderate"
+;  V59 rat0         [V59,T28] (  3, 96   )  simd16  ->  mm0         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 176
 
@@ -91,7 +92,7 @@ G_M52237_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        ; GC ptr vars +{V02}
        mov      dword ptr [rbp-0x14], ecx
                        ;; size=75 bbWeight=1 PerfScore 17.33
-G_M52237_IG02:        ; bbWeight=1, gcVars=0000000000040040 {V00 V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M52237_IG02:        ; bbWeight=1, gcVars=0000000000080040 {V00 V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        mov      rdx, 0xD1FFAB1E      ; box for <unknown class>:<unknown field>
        mov      rdx, gword ptr [rdx]
        ; gcrRegs +[rdx]
@@ -142,7 +143,7 @@ G_M52237_IG04:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=12 bbWeight=1 PerfScore 2.75
-G_M52237_IG05:        ; bbWeight=1, gcVars=0000000000040040 {V00 V02}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref
+G_M52237_IG05:        ; bbWeight=1, gcVars=0000000000080040 {V00 V02}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars +{V00 V02}
        mov      edx, dword ptr [rax+0x14]
        mov      gword ptr [rbp-0x98], rax
@@ -152,7 +153,7 @@ G_M52237_IG05:        ; bbWeight=1, gcVars=0000000000040040 {V00 V02}, gcrefRegs
        mov      dword ptr [rbp-0x7C], edx
        jmp      G_M52237_IG22
                        ;; size=23 bbWeight=1 PerfScore 7.25
-G_M52237_IG06:        ; bbWeight=4, gcVars=0000000000040140 {V00 V02 V40}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M52237_IG06:        ; bbWeight=4, gcVars=0000000000080140 {V00 V02 V40}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
        test     esi, esi
        je       G_M52237_IG22
@@ -318,13 +319,14 @@ G_M52237_IG21:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        ; gcrRegs +[rax]
        jmp      SHORT G_M52237_IG23
                        ;; size=6 bbWeight=1 PerfScore 3.00
-G_M52237_IG22:        ; bbWeight=8, gcVars=0000000000040140 {V00 V02 V40}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M52237_IG22:        ; bbWeight=8, gcVars=0000000000080140 {V00 V02 V40}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rax]
        ; GC ptr vars +{V00 V02 V40}
        mov      rax, gword ptr [rbp-0x98]
        ; gcrRegs +[rax]
        mov      edx, dword ptr [rbp-0x7C]
-       cmp      edx, dword ptr [rax+0x14]
+       mov      edi, dword ptr [rax+0x14]
+       cmp      edx, edi
        jne      SHORT G_M52237_IG25
        mov      edi, dword ptr [rax+0x10]
        cmp      dword ptr [rbp-0x78], edi
@@ -345,7 +347,7 @@ G_M52237_IG22:        ; bbWeight=8, gcVars=0000000000040140 {V00 V02 V40}, gcref
        inc      edi
        mov      dword ptr [rbp-0x78], edi
        jmp      G_M52237_IG06
-                        ;; size=69 bbWeight=8 PerfScore 218.00
+                        ;; size=71 bbWeight=8 PerfScore 212.00
 G_M52237_IG23:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref, epilog, nogc
        ; GC ptr vars -{V00 V02 V40}
        add      rsp, 176
@@ -364,7 +366,7 @@ G_M52237_IG25:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M52237_IG26:        ; bbWeight=0, gcVars=0000000000040140 {V00 V02 V40}, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+G_M52237_IG26:        ; bbWeight=0, gcVars=0000000000080140 {V00 V02 V40}, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
        ; gcrRegs +[rsi]
        ; GC ptr vars +{V00 V02 V40}
        push     rbp
@@ -376,7 +378,7 @@ G_M52237_IG26:        ; bbWeight=0, gcVars=0000000000040140 {V00 V02 V40}, gcref
        mov      qword ptr [rsp+0x20], rbp
        lea      rbp, [rbp+0xC0]
                        ;; size=27 bbWeight=0 PerfScore 0.00
-G_M52237_IG27:        ; bbWeight=0, gcVars=0000000000040140 {V00 V02 V40}, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M52237_IG27:        ; bbWeight=0, gcVars=0000000000080140 {V00 V02 V40}, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, gcvars, byref, isz
        mov      rdi, 0xD1FFAB1E      ; <unknown class>
        call     CORINFO_HELP_ISINSTANCEOFCLASS
        ; gcrRegs -[rsi] +[rax]
@@ -437,7 +439,7 @@ G_M52237_IG33:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      qword ptr [rsp+0x20], rbp
        lea      rbp, [rbp+0xC0]
                        ;; size=27 bbWeight=0 PerfScore 0.00
-G_M52237_IG34:        ; bbWeight=0, gcVars=0000000000040140 {V00 V02 V40}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M52237_IG34:        ; bbWeight=0, gcVars=0000000000080140 {V00 V02 V40}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        lea      rax, G_M52237_IG19
                        ;; size=7 bbWeight=0 PerfScore 0.00
 G_M52237_IG35:        ; bbWeight=0, funclet epilog, nogc, extend
@@ -451,7 +453,7 @@ RWD00   dq  0070004F00730049h, 006E006F00690074h
 RWD16      dq  006900740070004Fh, 006C0061006E006Fh
 
 
-; Total bytes of code 871, prolog size 75, PerfScore 1179.33, instruction count 225, allocated bytes for code 871 (MethodHash=9e6933f2) for method Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
+; Total bytes of code 873, prolog size 75, PerfScore 1173.33, instruction count 226, allocated bytes for code 873 (MethodHash=9e6933f2) for method Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+3 (+1.00%) : 25014.dasm - (dynamicClass):WriteArrayOfintToJson(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
@@ -8,36 +8,37 @@
 ; 0 inlinees with PGO data; 13 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T03] (  9, 13   )     ref  ->  rbx         class-hnd single-def <System.Runtime.Serialization.XmlWriterDelegator>
-;  V01 arg1         [V01,T14] (  4,  3.12)     ref  ->  rsi         class-hnd single-def <System.Object>
-;  V02 arg2         [V02,T10] (  4,  4   )     ref  ->  r15         class-hnd single-def <System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson>
+;  V00 arg0         [V00,T04] (  9, 13   )     ref  ->  rbx         class-hnd single-def <System.Runtime.Serialization.XmlWriterDelegator>
+;  V01 arg1         [V01,T15] (  4,  3.12)     ref  ->  rsi         class-hnd single-def <System.Object>
+;  V02 arg2         [V02,T11] (  4,  4   )     ref  ->  r15         class-hnd single-def <System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson>
 ;* V03 arg3         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.Runtime.Serialization.DataContracts.CollectionDataContract>
 ;* V04 loc0         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.Collections.Generic.List`1[int]>
-;  V05 loc1         [V05,T17] (  2,  3   )     ref  ->  r13         class-hnd exact single-def <System.Xml.XmlDictionaryString>
+;  V05 loc1         [V05,T18] (  2,  3   )     ref  ->  r13         class-hnd exact single-def <System.Xml.XmlDictionaryString>
 ;* V06 loc2         [V06    ] (  0,  0   )     int  ->  zero-ref   
 ;* V07 loc3         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[int]>
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V09 tmp1         [V09,T19] (  3,  1.25)    long  ->  rdi         "fgMakeTemp is creating a new local variable"
-;  V10 tmp2         [V10,T08] (  6,  8.75)     ref  ->  r14         class-hnd "spilling QMark2" <System.Collections.Generic.List`1[int]>
+;  V09 tmp1         [V09,T20] (  3,  1.25)    long  ->  rdi         "fgMakeTemp is creating a new local variable"
+;  V10 tmp2         [V10,T09] (  6,  8.75)     ref  ->  r14         class-hnd "spilling QMark2" <System.Collections.Generic.List`1[int]>
 ;* V11 tmp3         [V11    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V12 tmp4         [V12    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[int]>
-;* V13 tmp5         [V13,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V13 tmp5         [V13,T10] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V14 tmp6         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[int]>
 ;  V15 tmp7         [V15,T02] (  4, 17   )     ref  ->  r14         single-def "field V07._list (fldOffset=0x0)" P-INDEP
 ;  V16 tmp8         [V16,T00] (  6, 21   )     int  ->  r12         "field V07._index (fldOffset=0x8)" P-INDEP
-;  V17 tmp9         [V17,T07] (  2,  9   )     int  ->  r15         single-def "field V07._version (fldOffset=0xc)" P-INDEP
-;  V18 tmp10        [V18,T06] (  2,  6   )     int  ->  [rbp-0x2C]  spill-single-def "field V07._current (fldOffset=0x10)" P-INDEP
-;  V19 tmp11        [V19,T16] (  3,  3   )     ref  ->  r14         single-def "field V12._list (fldOffset=0x0)" P-INDEP
-;* V20 tmp12        [V20,T20] (  0,  0   )     int  ->  zero-ref    single-def "field V12._index (fldOffset=0x8)" P-INDEP
-;  V21 tmp13        [V21,T18] (  2,  2   )     int  ->  r15         single-def "field V12._version (fldOffset=0xc)" P-INDEP
+;  V17 tmp9         [V17,T08] (  2,  9   )     int  ->  r15         single-def "field V07._version (fldOffset=0xc)" P-INDEP
+;  V18 tmp10        [V18,T07] (  2,  6   )     int  ->  [rbp-0x2C]  spill-single-def "field V07._current (fldOffset=0x10)" P-INDEP
+;  V19 tmp11        [V19,T17] (  3,  3   )     ref  ->  r14         single-def "field V12._list (fldOffset=0x0)" P-INDEP
+;* V20 tmp12        [V20,T21] (  0,  0   )     int  ->  zero-ref    single-def "field V12._index (fldOffset=0x8)" P-INDEP
+;  V21 tmp13        [V21,T19] (  2,  2   )     int  ->  r15         single-def "field V12._version (fldOffset=0xc)" P-INDEP
 ;* V22 tmp14        [V22    ] (  0,  0   )     int  ->  zero-ref    single-def "field V12._current (fldOffset=0x10)" P-INDEP
-;  V23 tmp15        [V23,T15] (  2,  4   )     int  ->  rsi         "argument with side effect"
-;  V24 tmp16        [V24,T11] (  3,  6   )     ref  ->  rdi         single-def "argument with side effect"
-;  V25 tmp17        [V25,T12] (  3,  6   )     ref  ->  rdi         single-def "argument with side effect"
-;  V26 tmp18        [V26,T13] (  3,  6   )     ref  ->  rdi         single-def "argument with side effect"
+;  V23 tmp15        [V23,T16] (  2,  4   )     int  ->  rsi         "argument with side effect"
+;  V24 tmp16        [V24,T12] (  3,  6   )     ref  ->  rdi         single-def "argument with side effect"
+;  V25 tmp17        [V25,T13] (  3,  6   )     ref  ->  rdi         single-def "argument with side effect"
+;  V26 tmp18        [V26,T14] (  3,  6   )     ref  ->  rdi         single-def "argument with side effect"
 ;  V27 tmp19        [V27,T01] (  3, 24   )     ref  ->  rdi         "arr expr"
-;  V28 tmp20        [V28,T04] (  3, 12   )     ref  ->  rdi         "argument with side effect"
-;  V29 cse0         [V29,T05] (  2,  8   )     int  ->  rdi         "CSE - moderate"
+;  V28 tmp20        [V28,T05] (  3, 12   )     ref  ->  rdi         "argument with side effect"
+;  V29 cse0         [V29,T06] (  2,  8   )     int  ->  rdi         "CSE - moderate"
+;  V30 cse1         [V30,T03] (  2, 16   )     int  ->  rdi         "CSE - aggressive"
 ;
 ; Lcl frame size = 8
 
@@ -148,9 +149,10 @@ G_M46963_IG06:        ; bbWeight=2, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000
        ; gcrRegs -[rdi]
                        ;; size=44 bbWeight=2 PerfScore 42.00
 G_M46963_IG07:        ; bbWeight=8, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref, isz
-       cmp      r15d, dword ptr [r14+0x14]
+       mov      edi, dword ptr [r14+0x14]
+       cmp      r15d, edi
        jne      SHORT G_M46963_IG11
-                     ;; size=6 bbWeight=8 PerfScore 32.00
+                      ;; size=9 bbWeight=8 PerfScore 26.00
 G_M46963_IG08:        ; bbWeight=4, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref, isz
        mov      edi, dword ptr [r14+0x10]
        cmp      r12d, edi
@@ -184,7 +186,7 @@ G_M46963_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 299, prolog size 16, PerfScore 211.22, instruction count 86, allocated bytes for code 299 (MethodHash=8d85488c) for method (dynamicClass):WriteArrayOfintToJson(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
+; Total bytes of code 302, prolog size 16, PerfScore 205.22, instruction count 87, allocated bytes for code 302 (MethodHash=8d85488c) for method (dynamicClass):WriteArrayOfintToJson(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+3 (+1.26%) : 32551.dasm - (dynamicClass):WriteArrayOfintToXml(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.XmlObjectSerializerWriteContext,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
@@ -8,33 +8,34 @@
 ; 0 inlinees with PGO data; 9 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T03] (  7, 11   )     ref  ->  rbx         class-hnd single-def <System.Runtime.Serialization.XmlWriterDelegator>
-;  V01 arg1         [V01,T13] (  4,  3.12)     ref  ->  rsi         class-hnd single-def <System.Object>
-;  V02 arg2         [V02,T10] (  5,  5   )     ref  ->  r15         class-hnd single-def <System.Runtime.Serialization.XmlObjectSerializerWriteContext>
-;  V03 arg3         [V03,T11] (  4,  4   )     ref  ->  r14         class-hnd single-def <System.Runtime.Serialization.DataContracts.CollectionDataContract>
+;  V00 arg0         [V00,T04] (  7, 11   )     ref  ->  rbx         class-hnd single-def <System.Runtime.Serialization.XmlWriterDelegator>
+;  V01 arg1         [V01,T14] (  4,  3.12)     ref  ->  rsi         class-hnd single-def <System.Object>
+;  V02 arg2         [V02,T11] (  5,  5   )     ref  ->  r15         class-hnd single-def <System.Runtime.Serialization.XmlObjectSerializerWriteContext>
+;  V03 arg3         [V03,T12] (  4,  4   )     ref  ->  r14         class-hnd single-def <System.Runtime.Serialization.DataContracts.CollectionDataContract>
 ;* V04 loc0         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.Collections.Generic.List`1[int]>
-;  V05 loc1         [V05,T15] (  2,  3   )     ref  ->  r12         class-hnd single-def <System.Xml.XmlDictionaryString>
-;  V06 loc2         [V06,T16] (  2,  3   )     ref  ->  r14         class-hnd single-def <System.Xml.XmlDictionaryString>
+;  V05 loc1         [V05,T16] (  2,  3   )     ref  ->  r12         class-hnd single-def <System.Xml.XmlDictionaryString>
+;  V06 loc2         [V06,T17] (  2,  3   )     ref  ->  r14         class-hnd single-def <System.Xml.XmlDictionaryString>
 ;* V07 loc3         [V07    ] (  0,  0   )     int  ->  zero-ref   
 ;* V08 loc4         [V08    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[int]>
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V10 tmp1         [V10,T18] (  3,  1.25)    long  ->  rdi         "fgMakeTemp is creating a new local variable"
-;  V11 tmp2         [V11,T08] (  6,  8.75)     ref  ->  r13         class-hnd "spilling QMark2" <System.Collections.Generic.List`1[int]>
-;  V12 tmp3         [V12,T12] (  3,  6   )     int  ->  [rbp-0x2C]  spill-single-def "Inlining Arg"
+;  V10 tmp1         [V10,T19] (  3,  1.25)    long  ->  rdi         "fgMakeTemp is creating a new local variable"
+;  V11 tmp2         [V11,T09] (  6,  8.75)     ref  ->  r13         class-hnd "spilling QMark2" <System.Collections.Generic.List`1[int]>
+;  V12 tmp3         [V12,T13] (  3,  6   )     int  ->  [rbp-0x2C]  spill-single-def "Inlining Arg"
 ;* V13 tmp4         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[int]>
-;* V14 tmp5         [V14,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V14 tmp5         [V14,T10] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V15 tmp6         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[int]>
 ;  V16 tmp7         [V16,T02] (  4, 17   )     ref  ->  r13         single-def "field V08._list (fldOffset=0x0)" P-INDEP
 ;  V17 tmp8         [V17,T00] (  6, 21   )     int  ->  [rbp-0x30]  "field V08._index (fldOffset=0x8)" P-INDEP
-;  V18 tmp9         [V18,T07] (  2,  9   )     int  ->  r15         single-def "field V08._version (fldOffset=0xc)" P-INDEP
-;  V19 tmp10        [V19,T06] (  2,  6   )     int  ->  [rbp-0x34]  spill-single-def "field V08._current (fldOffset=0x10)" P-INDEP
-;  V20 tmp11        [V20,T14] (  3,  3   )     ref  ->  r13         single-def "field V13._list (fldOffset=0x0)" P-INDEP
-;* V21 tmp12        [V21,T19] (  0,  0   )     int  ->  zero-ref    single-def "field V13._index (fldOffset=0x8)" P-INDEP
-;  V22 tmp13        [V22,T17] (  2,  2   )     int  ->  r15         single-def "field V13._version (fldOffset=0xc)" P-INDEP
+;  V18 tmp9         [V18,T08] (  2,  9   )     int  ->  r15         single-def "field V08._version (fldOffset=0xc)" P-INDEP
+;  V19 tmp10        [V19,T07] (  2,  6   )     int  ->  [rbp-0x34]  spill-single-def "field V08._current (fldOffset=0x10)" P-INDEP
+;  V20 tmp11        [V20,T15] (  3,  3   )     ref  ->  r13         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;* V21 tmp12        [V21,T20] (  0,  0   )     int  ->  zero-ref    single-def "field V13._index (fldOffset=0x8)" P-INDEP
+;  V22 tmp13        [V22,T18] (  2,  2   )     int  ->  r15         single-def "field V13._version (fldOffset=0xc)" P-INDEP
 ;* V23 tmp14        [V23    ] (  0,  0   )     int  ->  zero-ref    single-def "field V13._current (fldOffset=0x10)" P-INDEP
 ;  V24 tmp15        [V24,T01] (  3, 24   )     ref  ->  rsi         "arr expr"
-;  V25 tmp16        [V25,T04] (  3, 12   )     ref  ->  rdi         "argument with side effect"
-;  V26 cse0         [V26,T05] (  2,  8   )     int  ->  rsi         "CSE - moderate"
+;  V25 tmp16        [V25,T05] (  3, 12   )     ref  ->  rdi         "argument with side effect"
+;  V26 cse0         [V26,T06] (  2,  8   )     int  ->  rsi         "CSE - moderate"
+;  V27 cse1         [V27,T03] (  2, 16   )     int  ->  rsi         "CSE - aggressive"
 ;
 ; Lcl frame size = 24
 
@@ -127,9 +128,10 @@ G_M6012_IG06:        ; bbWeight=2, gcrefRegs=7008 {rbx r12 r13 r14}, byrefRegs=0
        mov      edi, dword ptr [rbp-0x30]
                        ;; size=48 bbWeight=2 PerfScore 44.00
 G_M6012_IG07:        ; bbWeight=8, gcrefRegs=7008 {rbx r12 r13 r14}, byrefRegs=0000 {}, byref, isz
-       cmp      r15d, dword ptr [r13+0x14]
+       mov      esi, dword ptr [r13+0x14]
+       cmp      r15d, esi
        jne      SHORT G_M6012_IG11
-                      ;; size=6 bbWeight=8 PerfScore 32.00
+                      ;; size=9 bbWeight=8 PerfScore 26.00
 G_M6012_IG08:        ; bbWeight=4, gcrefRegs=7008 {rbx r12 r13 r14}, byrefRegs=0000 {}, byref, isz
        mov      esi, dword ptr [r13+0x10]
        cmp      edi, esi
@@ -164,7 +166,7 @@ G_M6012_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 239, prolog size 19, PerfScore 190.97, instruction count 76, allocated bytes for code 239 (MethodHash=c618e883) for method (dynamicClass):WriteArrayOfintToXml(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.XmlObjectSerializerWriteContext,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
+; Total bytes of code 242, prolog size 19, PerfScore 184.97, instruction count 77, allocated bytes for code 242 (MethodHash=c618e883) for method (dynamicClass):WriteArrayOfintToXml(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.XmlObjectSerializerWriteContext,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
coreclr_tests.run.linux.x64.checked.mch
-29 (-16.48%) : 324578.dasm - Program:M49() (FullOpts)
@@ -10,11 +10,12 @@
 ;  V00 loc0         [V00,T01] (  4, 13   )     int  ->  rbx        
 ;* V01 loc1         [V01    ] (  0,  0   )    long  ->  zero-ref   
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T02] (  3, 12   )     ref  ->  rcx         "arr expr"
-;  V04 tmp2         [V04,T00] (  3, 24   )     ref  ->  rax         "arr expr"
-;  V05 PSPSym       [V05,T05] (  1,  1   )    long  ->  [rbp-0x20]  do-not-enreg[V] "PSPSym"
-;  V06 cse0         [V06,T03] (  3, 12   )     int  ->  rax         "CSE - aggressive"
-;  V07 cse1         [V07,T04] (  2,  4.50)    long  ->  r15         hoist "CSE - aggressive"
+;  V03 tmp1         [V03,T00] (  3, 24   )     ref  ->  rax         "arr expr"
+;* V04 tmp2         [V04,T04] (  0,  0   )     ref  ->  zero-ref    "arr expr"
+;  V05 PSPSym       [V05,T06] (  1,  1   )    long  ->  [rbp-0x20]  do-not-enreg[V] "PSPSym"
+;  V06 cse0         [V06,T02] (  3, 12   )   byref  ->  rax         "CSE - aggressive"
+;  V07 cse1         [V07,T03] (  2,  8   )     ref  ->  rax         "CSE - aggressive"
+;  V08 cse2         [V08,T05] (  2,  4.50)    long  ->  r15         hoist "CSE - aggressive"
 ;
 ; Lcl frame size = 16
 
@@ -31,73 +32,60 @@ G_M37813_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        call     [<unknown method>]
        ; gcr arg pop 0
        test     eax, eax
-       jle      SHORT G_M37813_IG08
+       jle      SHORT G_M37813_IG06
                      ;; size=12 bbWeight=1 PerfScore 4.50
 G_M37813_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      r15, 0xD1FFAB1E      ; static handle
                        ;; size=10 bbWeight=0.50 PerfScore 0.12
 G_M37813_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       movzx    rax, byte  ptr [r15]
-       test     eax, eax
-       jne      SHORT G_M37813_IG06
-                       ;; size=8 bbWeight=4 PerfScore 13.00
-G_M37813_IG05:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       mov      rcx, 0xD1FFAB1E      ; data for <unknown class>:<unknown field>
-       mov      rcx, gword ptr [rcx]
-       ; gcrRegs +[rcx]
-       cmp      dword ptr [rcx+0x08], 0
-       jbe      SHORT G_M37813_IG13
-       xor      edx, edx
-       mov      dword ptr [rcx+0x10], edx
-                       ;; size=24 bbWeight=2 PerfScore 15.00
-G_M37813_IG06:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rcx]
-       test     eax, eax
-       je       SHORT G_M37813_IG09
-                       ;; size=4 bbWeight=4 PerfScore 5.00
-G_M37813_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       cmp      byte  ptr [r15], 0
+       jne      SHORT G_M37813_IG05
+       mov      rax, 0xD1FFAB1E      ; data for <unknown class>:<unknown field>
+       mov      rax, gword ptr [rax]
+       ; gcrRegs +[rax]
+       cmp      dword ptr [rax+0x08], 0
+       jbe      SHORT G_M37813_IG10
+       add      rax, 16
+       ; gcrRegs -[rax]
+       ; byrRegs +[rax]
+       xor      ecx, ecx
+       mov      dword ptr [rax], ecx
+       jmp      SHORT G_M37813_IG07
+                       ;; size=35 bbWeight=4 PerfScore 55.00
+G_M37813_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       ; byrRegs -[rax]
        xor      eax, eax
        mov      dword ptr [(reloc)], eax
                        ;; size=8 bbWeight=0.50 PerfScore 0.62
-G_M37813_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M37813_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        add      rsp, 16
        pop      rbx
        pop      r15
        pop      rbp
        ret      
                        ;; size=9 bbWeight=1 PerfScore 2.75
-G_M37813_IG09:        ; bbWeight=4, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-       mov      rax, 0xD1FFAB1E      ; data for <unknown class>:<unknown field>
-       mov      rax, gword ptr [rax]
-       ; gcrRegs +[rax]
-       cmp      dword ptr [rax+0x08], 0
-       jbe      SHORT G_M37813_IG10
+G_M37813_IG07:        ; bbWeight=4, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, gcvars, byref
+       ; byrRegs +[rax]
        mov      ecx, dword ptr [(reloc)]      ; static handle
-       mov      dword ptr [rax+0x10], ecx
-       jmp      SHORT G_M37813_IG11
-                       ;; size=30 bbWeight=4 PerfScore 45.00
-G_M37813_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rax]
-       call     CORINFO_HELP_RNGCHKFAIL
-       ; gcr arg pop 0
-       int3     
-                       ;; size=6 bbWeight=0 PerfScore 0.00
-G_M37813_IG11:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       mov      dword ptr [rax], ecx
+                       ;; size=8 bbWeight=4 PerfScore 12.00
+G_M37813_IG08:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       ; byrRegs -[rax]
        inc      ebx
        call     [<unknown method>]
        ; gcr arg pop 0
        cmp      eax, ebx
        jg       SHORT G_M37813_IG04
                        ;; size=12 bbWeight=4 PerfScore 18.00
-G_M37813_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       jmp      SHORT G_M37813_IG08
+G_M37813_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M37813_IG06
                         ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M37813_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M37813_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
-G_M37813_IG14:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M37813_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        push     rbp
        push     r15
        push     rbx
@@ -106,7 +94,7 @@ G_M37813_IG14:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x20]
                        ;; size=19 bbWeight=0 PerfScore 0.00
-G_M37813_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M37813_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
        add      rsp, 16
        pop      rbx
        pop      r15
@@ -114,7 +102,7 @@ G_M37813_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ret      
                        ;; size=9 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 176, prolog size 17, PerfScore 109.75, instruction count 57, allocated bytes for code 176 (MethodHash=996e6c4a) for method Program:M49() (FullOpts)
+; Total bytes of code 147, prolog size 17, PerfScore 98.75, instruction count 49, allocated bytes for code 147 (MethodHash=996e6c4a) for method Program:M49() (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -147,4 +135,4 @@ Unwind Info:
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 *************** EH table for Program:M49()
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M37813_IG09..G_M37813_IG11) handled by [G_M37813_IG14..END) (fault)
+EH#0: try [G_M37813_IG07..G_M37813_IG08) handled by [G_M37813_IG11..END) (fault)
  
-35 (-6.18%) : 274305.dasm - CloningForIEnumerable:Sum(System.Collections.Generic.IEnumerable`1[int]):int (Tier1)
@@ -5,7 +5,7 @@
 ; optimized using Dynamic PGO
 ; rbp based frame
 ; fully interruptible
-; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 5
+; with Dynamic PGO: edge weights are valid, and fgCalledCount is 5
 ; 3 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
@@ -25,7 +25,7 @@
 ;  V13 tmp9         [V13,T08] (  6, 12   )     ref  ->  r14         class-hnd exact single-def "Single-def Box Helper" <System.Collections.Generic.List`1+Enumerator[int]>
 ;* V14 tmp10        [V14    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[int]>
 ;* V15 tmp11        [V15    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V16 tmp12        [V16,T00] ( 24,158   )   byref  ->  r11         "Inlining Arg"
+;  V16 tmp12        [V16,T00] ( 20,154   )   byref  ->  r11         "Inlining Arg"
 ;  V17 tmp13        [V17,T03] (  8, 43   )     ref  ->  rax         class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[int]>
 ;* V18 tmp14        [V18    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V19 tmp15        [V19,T12] (  3,  3   )     ref  ->  rsi         single-def "field V14._list (fldOffset=0x0)" P-INDEP
@@ -56,9 +56,9 @@ G_M48461_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        xor      r15d, r15d
        mov      rdi, 0xD1FFAB1E      ; System.Collections.Generic.List`1[int]
        cmp      qword ptr [rbx], rdi
-       jne      G_M48461_IG26
+       jne      G_M48461_IG24
        cmp      dword ptr [rbx+0x10], 0
-       je       G_M48461_IG25
+       je       G_M48461_IG23
        mov      r14, 0xD1FFAB1E      ; System.Collections.Generic.List`1+Enumerator[int]
        mov      rdi, r14
        call     CORINFO_HELP_NEWSFAST
@@ -93,12 +93,12 @@ G_M48461_IG05:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byr
                        ;; size=4 bbWeight=1 PerfScore 1.00
 G_M48461_IG06:        ; bbWeight=1, gcVars=0000000000000020 {V02}, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, gcvars, byref, isz
        test     rdi, rdi
-       je       G_M48461_IG17
+       je       G_M48461_IG16
        mov      r14, 0xD1FFAB1E      ; System.Collections.Generic.List`1+Enumerator[int]
        cmp      qword ptr [rdi], r14
-       jne      G_M48461_IG17
+       jne      SHORT G_M48461_IG16
        jmp      SHORT G_M48461_IG08
-                      ;; size=30 bbWeight=1 PerfScore 7.50
+                      ;; size=26 bbWeight=1 PerfScore 7.50
 G_M48461_IG07:        ; bbWeight=9.90, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        mov      ebx, dword ptr [rdi+0x18]
        add      r15d, ebx
@@ -110,10 +110,10 @@ G_M48461_IG08:        ; bbWeight=10.89, gcrefRegs=0080 {rdi}, byrefRegs=0000 {},
        ; gcrRegs +[rax]
        mov      ecx, dword ptr [r11+0x0C]
        cmp      ecx, dword ptr [rax+0x14]
-       jne      SHORT G_M48461_IG13
+       jne      SHORT G_M48461_IG11
        mov      ecx, dword ptr [r11+0x08]
        cmp      ecx, dword ptr [rax+0x10]
-       jae      SHORT G_M48461_IG14
+       jae      SHORT G_M48461_IG13
                         ;; size=25 bbWeight=10.89 PerfScore 157.91
 G_M48461_IG09:        ; bbWeight=9.90, gcrefRegs=0081 {rax rdi}, byrefRegs=0800 {r11}, byref, isz
        mov      rdx, gword ptr [rax+0x08]
@@ -149,83 +149,69 @@ G_M48461_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      ebx, eax
        mov      rdi, gword ptr [rbp-0x20]
        ; gcrRegs +[rdi]
-       jmp      SHORT G_M48461_IG16
+       jmp      SHORT G_M48461_IG15
                       ;; size=25 bbWeight=0 PerfScore 0.00
 G_M48461_IG13:        ; bbWeight=0.99, gcrefRegs=0080 {rdi}, byrefRegs=0800 {r11}, byref, isz
        ; byrRegs +[r11]
-       mov      ecx, dword ptr [r11+0x0C]
-       mov      rax, gword ptr [r11]
-       ; gcrRegs +[rax]
-       cmp      ecx, dword ptr [rax+0x14]
-       jne      SHORT G_M48461_IG11
-                       ;; size=12 bbWeight=0.99 PerfScore 7.92
-G_M48461_IG14:        ; bbWeight=0.99, gcrefRegs=0080 {rdi}, byrefRegs=0800 {r11}, byref
-       ; gcrRegs -[rax]
-       mov      rax, gword ptr [r11]
-       ; gcrRegs +[rax]
-       mov      eax, dword ptr [rax+0x10]
-       ; gcrRegs -[rax]
+       mov      rcx, gword ptr [r11]
+       ; gcrRegs +[rcx]
+       mov      eax, dword ptr [rcx+0x10]
        inc      eax
        mov      dword ptr [r11+0x08], eax
        xor      eax, eax
        mov      dword ptr [r11+0x10], eax
-       jmp      G_M48461_IG22
-                       ;; size=23 bbWeight=0.99 PerfScore 8.41
-G_M48461_IG15:        ; bbWeight=0.10, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M48461_IG20
+                       ;; size=20 bbWeight=0.99 PerfScore 8.41
+G_M48461_IG14:        ; bbWeight=0.10, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rcx]
        ; byrRegs -[r11]
        mov      ebx, dword ptr [rdi+0x18]
                        ;; size=3 bbWeight=0.10 PerfScore 0.20
-G_M48461_IG16:        ; bbWeight=0.10, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+G_M48461_IG15:        ; bbWeight=0.10, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        add      r15d, ebx
                        ;; size=3 bbWeight=0.10 PerfScore 0.03
-G_M48461_IG17:        ; bbWeight=0.11, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+G_M48461_IG16:        ; bbWeight=0.11, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        mov      r14, 0xD1FFAB1E      ; System.Collections.Generic.List`1+Enumerator[int]
        cmp      qword ptr [rdi], r14
-       je       SHORT G_M48461_IG18
-       mov      r11, 0xD1FFAB1E      ; function address
-       call     [r11]<unknown method>
-       ; gcrRegs -[rdi]
-       ; gcr arg pop 0
-       test     eax, eax
-       jne      SHORT G_M48461_IG12
-       mov      rdi, gword ptr [rbp-0x20]
-       ; gcrRegs +[rdi]
-       jmp      SHORT G_M48461_IG22
-                       ;; size=38 bbWeight=0.11 PerfScore 1.29
-G_M48461_IG18:        ; bbWeight=0.11, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       jne      SHORT G_M48461_IG18
        lea      r11, bword ptr [rdi+0x08]
        ; byrRegs +[r11]
        mov      rax, gword ptr [r11]
        ; gcrRegs +[rax]
        mov      ecx, dword ptr [r11+0x0C]
        cmp      ecx, dword ptr [rax+0x14]
-       jne      SHORT G_M48461_IG20
+       jne      SHORT G_M48461_IG11
        mov      ecx, dword ptr [r11+0x08]
        cmp      ecx, dword ptr [rax+0x10]
-       jae      SHORT G_M48461_IG21
-                       ;; size=25 bbWeight=0.11 PerfScore 1.60
-G_M48461_IG19:        ; bbWeight=0.10, gcrefRegs=0081 {rax rdi}, byrefRegs=0800 {r11}, byref, isz
+       jae      SHORT G_M48461_IG19
+                       ;; size=40 bbWeight=0.11 PerfScore 2.06
+G_M48461_IG17:        ; bbWeight=0.10, gcrefRegs=0081 {rax rdi}, byrefRegs=0800 {r11}, byref, isz
        mov      rdx, gword ptr [rax+0x08]
        ; gcrRegs +[rdx]
        cmp      ecx, dword ptr [rdx+0x08]
-       jae      G_M48461_IG10
+       jae      SHORT G_M48461_IG10
        mov      eax, ecx
        ; gcrRegs -[rax]
        mov      eax, dword ptr [rdx+4*rax+0x10]
        mov      dword ptr [r11+0x10], eax
        inc      dword ptr [r11+0x08]
-       jmp      SHORT G_M48461_IG15
-                       ;; size=29 bbWeight=0.10 PerfScore 1.43
-G_M48461_IG20:        ; bbWeight=0.01, gcrefRegs=0080 {rdi}, byrefRegs=0800 {r11}, byref
+       jmp      SHORT G_M48461_IG14
+                       ;; size=25 bbWeight=0.10 PerfScore 1.43
+G_M48461_IG18:        ; bbWeight=0.11, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdx]
-       mov      eax, dword ptr [r11+0x0C]
-       mov      rcx, gword ptr [r11]
-       ; gcrRegs +[rcx]
-       cmp      eax, dword ptr [rcx+0x14]
-       jne      G_M48461_IG11
-                       ;; size=16 bbWeight=0.01 PerfScore 0.08
-G_M48461_IG21:        ; bbWeight=0.01, gcrefRegs=0080 {rdi}, byrefRegs=0800 {r11}, byref
-       ; gcrRegs -[rcx]
+       ; byrRegs -[r11]
+       mov      r11, 0xD1FFAB1E      ; function address
+       call     [r11]<unknown method>
+       ; gcrRegs -[rdi]
+       ; gcr arg pop 0
+       test     eax, eax
+       jne      G_M48461_IG12
+       mov      rdi, gword ptr [rbp-0x20]
+       ; gcrRegs +[rdi]
+       jmp      SHORT G_M48461_IG20
+                       ;; size=27 bbWeight=0.11 PerfScore 0.83
+G_M48461_IG19:        ; bbWeight=0.01, gcrefRegs=0080 {rdi}, byrefRegs=0800 {r11}, byref
+       ; byrRegs +[r11]
        mov      rax, gword ptr [r11]
        ; gcrRegs +[rax]
        mov      eax, dword ptr [rax+0x10]
@@ -235,17 +221,17 @@ G_M48461_IG21:        ; bbWeight=0.01, gcrefRegs=0080 {rdi}, byrefRegs=0800 {r11
        xor      eax, eax
        mov      dword ptr [r11+0x10], eax
                        ;; size=18 bbWeight=0.01 PerfScore 0.07
-G_M48461_IG22:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+G_M48461_IG20:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; byrRegs -[r11]
        cmp      qword ptr [rdi], r14
-       jne      SHORT G_M48461_IG27
+       jne      SHORT G_M48461_IG25
                      ;; size=5 bbWeight=1 PerfScore 4.00
-G_M48461_IG23:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48461_IG21:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rdi]
        ; GC ptr vars -{V02}
        mov      eax, r15d
                        ;; size=3 bbWeight=1 PerfScore 0.25
-G_M48461_IG24:        ; bbWeight=1, epilog, nogc, extend
+G_M48461_IG22:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 24
        pop      rbx
        pop      r14
@@ -253,7 +239,7 @@ G_M48461_IG24:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=11 bbWeight=1 PerfScore 3.25
-G_M48461_IG25:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48461_IG23:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        mov      rdi, 0xD1FFAB1E
        mov      esi, 14
        call     CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
@@ -263,7 +249,7 @@ G_M48461_IG25:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        ; gcrRegs +[r14]
        jmp      G_M48461_IG04
                        ;; size=38 bbWeight=0 PerfScore 0.00
-G_M48461_IG26:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M48461_IG24:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14] +[rbx]
        mov      rdi, rbx
        ; gcrRegs +[rdi]
@@ -275,7 +261,7 @@ G_M48461_IG26:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcrRegs +[rdi]
        jmp      G_M48461_IG05
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M48461_IG27:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M48461_IG25:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rax]
        ; GC ptr vars +{V02 V05}
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
@@ -283,9 +269,9 @@ G_M48461_IG27:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=008
        call     [r11]<unknown method>
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
-       jmp      SHORT G_M48461_IG23
+       jmp      SHORT G_M48461_IG21
                        ;; size=15 bbWeight=0 PerfScore 0.00
-G_M48461_IG28:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+G_M48461_IG26:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
        ; GC ptr vars +{V02 V05}
        push     rbp
        push     r15
@@ -296,24 +282,24 @@ G_M48461_IG28:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=000
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x30]
                        ;; size=18 bbWeight=0 PerfScore 0.00
-G_M48461_IG29:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M48461_IG27:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        cmp      gword ptr [rbp-0x20], 0
-       je       SHORT G_M48461_IG30
+       je       SHORT G_M48461_IG28
        mov      r14, 0xD1FFAB1E      ; System.Collections.Generic.List`1+Enumerator[int]
        mov      rdi, gword ptr [rbp-0x20]
        ; gcrRegs +[rdi]
        cmp      qword ptr [rdi], r14
-       je       SHORT G_M48461_IG30
...
  
-11 (-5.05%) : 330467.dasm - Test.BB:TestEntryPoint() (FullOpts)
@@ -8,133 +8,122 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T07] (  2,  0   )     ref  ->  [rbp-0x18]  class-hnd exact EH-live single-def <<unknown class>>
+;  V00 loc0         [V00,T06] (  2,  0   )     ref  ->  [rbp-0x10]  class-hnd exact EH-live single-def <<unknown class>>
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V02 tmp1         [V02    ] (  0,  0   )   float  ->  zero-ref    "bubbling QMark2"
 ;  V03 tmp2         [V03,T00] (  4, 38   )     ref  ->  rsi         "CASTCLASS eval op1"
-;  V04 tmp3         [V04,T02] (  3, 10   )    long  ->  rdi         "fgMakeTemp is creating a new local variable"
+;  V04 tmp3         [V04,T01] (  3, 10   )    long  ->  rdi         "fgMakeTemp is creating a new local variable"
 ;* V05 tmp4         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <double[]>
 ;* V06 tmp5         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
-;  V07 tmp6         [V07,T08] (  2,  0   )   float  ->  [rbp-0x0C]  spill-single-def "bubbling QMark2"
-;  V08 tmp7         [V08,T05] (  3,  0   )     ref  ->  rbx         single-def "CASTCLASS eval op1"
-;  V09 tmp8         [V09,T06] (  3,  0   )    long  ->  rsi         "fgMakeTemp is creating a new local variable"
-;  V10 tmp9         [V10,T04] (  5,  0   )     ref  ->  rdi         class-hnd "spilling QMark2" <double[]>
-;  V11 PSPSym       [V11,T03] (  1,  1   )    long  ->  [rbp-0x20]  do-not-enreg[V] "PSPSym"
-;  V12 cse0         [V12,T01] (  5, 24   )     ref  ->  rbx         multi-def "CSE - aggressive"
+;  V07 tmp6         [V07,T07] (  2,  0   )   float  ->  [rbp-0x04]  spill-single-def "bubbling QMark2"
+;  V08 tmp7         [V08,T04] (  3,  0   )     ref  ->  rsi         single-def "CASTCLASS eval op1"
+;  V09 tmp8         [V09,T05] (  3,  0   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
+;  V10 tmp9         [V10,T03] (  5,  0   )     ref  ->  rdi         class-hnd "spilling QMark2" <double[]>
+;  V11 PSPSym       [V11,T02] (  1,  1   )    long  ->  [rbp-0x20]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 24
+; Lcl frame size = 32
 
 G_M52695_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
-       push     rbx
-       sub      rsp, 24
+       sub      rsp, 32
        vzeroupper 
        lea      rbp, [rsp+0x20]
        mov      qword ptr [rbp-0x20], rsp
-                        ;; size=18 bbWeight=1 PerfScore 4.75
+                      ;; size=17 bbWeight=1 PerfScore 3.75
 G_M52695_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rdi, 0xD1FFAB1E      ; <unknown class>
        mov      esi, 2
        call     CORINFO_HELP_NEWARR_1_VC
        ; gcrRegs +[rax]
        ; gcr arg pop 0
-       mov      gword ptr [rbp-0x18], rax
+       mov      gword ptr [rbp-0x10], rax
        ; GC ptr vars +{V00}
                        ;; size=24 bbWeight=1 PerfScore 2.50
-G_M52695_IG03:        ; bbWeight=8, gcVars=0000000000000080 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M52695_IG03:        ; bbWeight=8, gcVars=0000000000000040 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rax]
        mov      edi, 2
        cmp      edi, 3
        jbe      SHORT G_M52695_IG06
        mov      rdi, 0xD1FFAB1E      ; data for <unknown class>:<unknown field>
-       mov      rbx, gword ptr [rdi]
-       ; gcrRegs +[rbx]
-       mov      rsi, rbx
+       mov      rsi, gword ptr [rdi]
        ; gcrRegs +[rsi]
        test     rsi, rsi
-       je       SHORT G_M52695_IG07
-                       ;; size=31 bbWeight=8 PerfScore 42.00
-G_M52695_IG04:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M52695_IG03
+                       ;; size=28 bbWeight=8 PerfScore 40.00
+G_M52695_IG04:        ; bbWeight=2, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, isz
        mov      rdi, 0xD1FFAB1E      ; double[]
        cmp      qword ptr [rsi], rdi
        je       SHORT G_M52695_IG07
                        ;; size=15 bbWeight=2 PerfScore 8.50
-G_M52695_IG05:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+G_M52695_IG05:        ; bbWeight=1, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, isz
        call     CORINFO_HELP_CHKCASTARRAY
        ; gcrRegs -[rsi] +[rax]
        ; gcr arg pop 0
        jmp      SHORT G_M52695_IG07
                        ;; size=7 bbWeight=1 PerfScore 3.00
 G_M52695_IG06:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rax rbx]
+       ; gcrRegs -[rax]
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
                        ;; size=5 bbWeight=0 PerfScore 0.00
-G_M52695_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs +[rbx]
-       test     rbx, rbx
-       je       SHORT G_M52695_IG03
-                       ;; size=5 bbWeight=8 PerfScore 10.00
+G_M52695_IG07:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       nop      
+                       ;; size=1 bbWeight=8 PerfScore 2.00
 G_M52695_IG08:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, epilog, nogc
-       ; gcrRegs -[rbx]
        ; GC ptr vars -{V00}
-       add      rsp, 24
-       pop      rbx
+       add      rsp, 32
        pop      rbp
        ret      
-                     ;; size=7 bbWeight=1 PerfScore 2.25
+                       ;; size=6 bbWeight=1 PerfScore 1.75
 G_M52695_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        push     rbp
-       push     rbx
-       push     rax
+       sub      rsp, 16
        vzeroupper 
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x20]
-                      ;; size=17 bbWeight=0 PerfScore 0.00
-G_M52695_IG10:        ; bbWeight=0, gcVars=0000000000000080 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; GC ptr vars +{V00 V07}
-       mov      rax, gword ptr [rbp-0x18]
+                        ;; size=19 bbWeight=0 PerfScore 0.00
+G_M52695_IG10:        ; bbWeight=0, gcVars=0000000000000040 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+       ; GC ptr vars +{V00}
+       mov      rax, gword ptr [rbp-0x10]
        ; gcrRegs +[rax]
        vmovss   xmm0, dword ptr [rax+0x10]
-       vmovss   dword ptr [rbp-0x0C], xmm0
+       vmovss   dword ptr [rbp-0x04], xmm0
        mov      rdi, 0xD1FFAB1E      ; data for <unknown class>:<unknown field>
-       mov      rbx, gword ptr [rdi]
-       ; gcrRegs +[rbx]
-       mov      rdi, rbx
+       mov      rsi, gword ptr [rdi]
+       ; gcrRegs +[rsi]
+       mov      rdi, rsi
        ; gcrRegs +[rdi]
        test     rdi, rdi
        je       SHORT G_M52695_IG11
-       mov      rsi, 0xD1FFAB1E      ; double[]
-       cmp      qword ptr [rdi], rsi
+       mov      rax, 0xD1FFAB1E      ; double[]
+       ; gcrRegs -[rax]
+       cmp      qword ptr [rdi], rax
        je       SHORT G_M52695_IG11
-       mov      rdi, rsi
+       mov      rdi, rax
        ; gcrRegs -[rdi]
-       mov      rsi, rbx
-       ; gcrRegs +[rsi]
-       ; GC ptr vars -{V00 V07}
+       ; GC ptr vars -{V00}
        call     CORINFO_HELP_CHKCASTARRAY
-       ; gcrRegs -[rbx rsi]
+       ; gcrRegs -[rsi] +[rax]
        ; gcr arg pop 0
        mov      rdi, rax
        ; gcrRegs +[rdi]
-                      ;; size=64 bbWeight=0 PerfScore 0.00
+                      ;; size=61 bbWeight=0 PerfScore 0.00
 G_M52695_IG11:        ; bbWeight=0, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax]
-       vmovss   xmm0, dword ptr [rbp-0x0C]
+       vmovss   xmm0, dword ptr [rbp-0x04]
        call     [Test.BB:Method1(float,double[])]
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
        lea      rax, G_M52695_IG08
                        ;; size=18 bbWeight=0 PerfScore 0.00
 G_M52695_IG12:        ; bbWeight=0, funclet epilog, nogc, extend
-       add      rsp, 8
-       pop      rbx
+       add      rsp, 16
        pop      rbp
        ret      
-                     ;; size=7 bbWeight=0 PerfScore 0.00
+                       ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 218, prolog size 18, PerfScore 73.00, instruction count 59, allocated bytes for code 218 (MethodHash=459c3228) for method Test.BB:TestEntryPoint() (FullOpts)
+; Total bytes of code 207, prolog size 17, PerfScore 61.50, instruction count 52, allocated bytes for code 207 (MethodHash=459c3228) for method Test.BB:TestEntryPoint() (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -142,26 +131,24 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x06
-  CountOfUnwindCodes: 3
+  SizeOfProlog      : 0x05
+  CountOfUnwindCodes: 2
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 2 * 8 + 8 = 24 = 0x18
-    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 3 * 8 + 8 = 32 = 0x20
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 Unwind Info:
   >> Start offset   : 0xd1ffab1e (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x03
-  CountOfUnwindCodes: 3
+  SizeOfProlog      : 0x05
+  CountOfUnwindCodes: 2
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x03 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 0 * 8 + 8 = 8 = 0x08
-    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 *************** EH table for Test.BB:TestEntryPoint()
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
  
+3 (+1.18%) : 280276.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeStandAloneSigTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
@@ -8,47 +8,48 @@
 ; 0 inlinees with PGO data; 11 single block inlinees; 7 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T15] (  3,  3   )     ref  ->  rdi         this class-hnd single-def <System.Reflection.Metadata.Ecma335.MetadataBuilder>
+;  V00 this         [V00,T16] (  3,  3   )     ref  ->  rdi         this class-hnd single-def <System.Reflection.Metadata.Ecma335.MetadataBuilder>
 ;  V01 arg1         [V01,T00] ( 13, 24   )     ref  ->  rbx         class-hnd single-def <System.Reflection.Metadata.BlobBuilder>
-;  V02 arg2         [V02,T13] (  3,  4   )     ref  ->  r15         class-hnd single-def <System.Reflection.Metadata.Ecma335.MetadataSizes>
+;  V02 arg2         [V02,T14] (  3,  4   )     ref  ->  r15         class-hnd single-def <System.Reflection.Metadata.Ecma335.MetadataSizes>
 ;* V03 loc0         [V03    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Reflection.Metadata.Ecma335.MetadataBuilder+StandaloneSigRow]>
 ;* V04 loc1         [V04    ] (  0,  0   )  struct ( 8) zero-ref    <System.Reflection.Metadata.Ecma335.MetadataBuilder+StandaloneSigRow>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V06 tmp1         [V06,T14] (  3,  6   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Reflection.Metadata.Ecma335.MetadataBuilder+StandaloneSigRow]>
+;  V06 tmp1         [V06,T15] (  3,  6   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Reflection.Metadata.Ecma335.MetadataBuilder+StandaloneSigRow]>
 ;* V07 tmp2         [V07    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Reflection.Metadata.Ecma335.MetadataBuilder+StandaloneSigRow]>
 ;* V08 tmp3         [V08    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Reflection.Metadata.BlobHandle>
-;  V09 tmp4         [V09,T11] (  2,  8   )   ubyte  ->  rdi         "Inlining Arg"
+;  V09 tmp4         [V09,T12] (  2,  8   )   ubyte  ->  rdi         "Inlining Arg"
 ;* V10 tmp5         [V10    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V11 tmp6         [V11    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V12 tmp7         [V12    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
-;  V13 tmp8         [V13,T04] (  6, 12   )     int  ->  rcx         "Inline stloc first use temp"
+;  V13 tmp8         [V13,T05] (  6, 12   )     int  ->  rcx         "Inline stloc first use temp"
 ;* V14 tmp9         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <ubyte[]>
 ;* V15 tmp10        [V15    ] (  0,  0   )   byref  ->  zero-ref   
 ;* V16 tmp11        [V16    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V17 tmp12        [V17    ] (  0,  0   )   byref  ->  zero-ref   
 ;* V18 tmp13        [V18    ] (  0,  0   )     int  ->  zero-ref   
 ;* V19 tmp14        [V19    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V20 tmp15        [V20,T05] (  6, 12   )     int  ->  rcx         "Inline stloc first use temp"
+;  V20 tmp15        [V20,T06] (  6, 12   )     int  ->  rcx         "Inline stloc first use temp"
 ;* V21 tmp16        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <ubyte[]>
 ;* V22 tmp17        [V22    ] (  0,  0   )   byref  ->  zero-ref   
 ;* V23 tmp18        [V23    ] (  0,  0   )   byref  ->  zero-ref   
 ;* V24 tmp19        [V24    ] (  0,  0   )     int  ->  zero-ref   
-;* V25 tmp20        [V25,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V25 tmp20        [V25,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V26 tmp21        [V26    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Reflection.Metadata.Ecma335.MetadataBuilder+StandaloneSigRow]>
 ;* V27 tmp22        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V04.Signature (fldOffset=0x0)" P-INDEP
 ;* V28 tmp23        [V28    ] (  0,  0   )     int  ->  zero-ref    "field V08._value (fldOffset=0x0)" P-INDEP
 ;  V29 tmp24        [V29,T03] (  4, 17   )     ref  ->  r14         single-def "V03.[000..008)"
 ;  V30 tmp25        [V30,T01] (  6, 21   )     int  ->  r12         "V03.[008..012)"
-;  V31 tmp26        [V31,T10] (  2,  9   )     int  ->  r13         "V03.[012..016)"
-;  V32 tmp27        [V32,T06] (  3,  8   )     int  ->  [rbp-0x2C]  spill-single-def "V03.[016..020)"
+;  V31 tmp26        [V31,T11] (  2,  9   )     int  ->  r13         "V03.[012..016)"
+;  V32 tmp27        [V32,T07] (  3,  8   )     int  ->  [rbp-0x2C]  spill-single-def "V03.[016..020)"
 ;* V33 tmp28        [V33    ] (  0,  0   )     ref  ->  zero-ref    single-def "V07.[000..008)"
 ;* V34 tmp29        [V34    ] (  0,  0   )     int  ->  zero-ref    "V07.[008..012)"
-;  V35 tmp30        [V35,T16] (  2,  2   )     int  ->  r13         "V07.[012..016)"
+;  V35 tmp30        [V35,T17] (  2,  2   )     int  ->  r13         "V07.[012..016)"
 ;* V36 tmp31        [V36    ] (  0,  0   )     int  ->  zero-ref    "V07.[016..020)"
 ;  V37 tmp32        [V37,T02] (  3, 24   )     ref  ->  rdi         "arr expr"
-;  V38 tmp33        [V38,T07] (  3, 12   )     ref  ->  rdx         "arr expr"
-;  V39 tmp34        [V39,T08] (  3, 12   )     ref  ->  rdi         "arr expr"
-;  V40 cse0         [V40,T09] (  2,  8   )     int  ->  rdi         "CSE - moderate"
+;  V38 tmp33        [V38,T08] (  3, 12   )     ref  ->  rdx         "arr expr"
+;  V39 tmp34        [V39,T09] (  3, 12   )     ref  ->  rdi         "arr expr"
+;  V40 cse0         [V40,T10] (  2,  8   )     int  ->  rdi         "CSE - moderate"
+;  V41 cse1         [V41,T04] (  2, 16   )     int  ->  rdi         "CSE - aggressive"
 ;
 ; Lcl frame size = 8
 
@@ -143,9 +144,10 @@ G_M44565_IG06:        ; bbWeight=2, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000
                        ;; size=24 bbWeight=2 PerfScore 19.50
 G_M44565_IG07:        ; bbWeight=8, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdx]
-       cmp      r13d, dword ptr [r14+0x14]
+       mov      edi, dword ptr [r14+0x14]
+       cmp      r13d, edi
        jne      SHORT G_M44565_IG11
-                     ;; size=6 bbWeight=8 PerfScore 32.00
+                      ;; size=9 bbWeight=8 PerfScore 26.00
 G_M44565_IG08:        ; bbWeight=4, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        mov      edi, dword ptr [r14+0x10]
        cmp      r12d, edi
@@ -181,7 +183,7 @@ G_M44565_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 255, prolog size 22, PerfScore 224.75, instruction count 83, allocated bytes for code 255 (MethodHash=c4c051ea) for method System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeStandAloneSigTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
+; Total bytes of code 258, prolog size 22, PerfScore 218.75, instruction count 84, allocated bytes for code 258 (MethodHash=c4c051ea) for method System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeStandAloneSigTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+12 (+1.25%) : 293174.dasm - System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
@@ -8,13 +8,13 @@
 ; 3 inlinees with PGO data; 13 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T20] (  5,  2   )     ref  ->  r14         class-hnd single-def <System.Reflection.MethodInfo>
+;  V00 arg0         [V00,T19] (  5,  2   )     ref  ->  r14         class-hnd single-def <System.Reflection.MethodInfo>
 ;  V01 arg1         [V01,T10] (  7,  8.21)     ref  ->  r15         class-hnd single-def <System.Reflection.ParameterInfo[]>
 ;  V02 arg2         [V02,T04] (  9, 27.26)   byref  ->  rbx         single-def
-;  V03 arg3         [V03,T21] (  4,  2   )     ref  ->  r13         class-hnd single-def <System.String>
+;  V03 arg3         [V03,T20] (  4,  2   )     ref  ->  r13         class-hnd single-def <System.String>
 ;  V04 loc0         [V04,T05] (  8, 29.22)     ref  ->  r13         class-hnd <<unknown class>>
 ;  V05 loc1         [V05,T02] ( 14, 50   )     int  ->  r12        
-;  V06 loc2         [V06,T18] (  3,  4.96)     int  ->  [rbp-0x2C]  spill-single-def
+;  V06 loc2         [V06,T17] (  3,  4.96)     int  ->  [rbp-0x2C]  spill-single-def
 ;  V07 loc3         [V07,T07] ( 11, 25.74)     ref  ->  [rbp-0x48]  ld-addr-op class-hnd <System.Linq.Expressions.Expression>
 ;  V08 loc4         [V08,T09] (  3, 11.88)     ref  ->  [rbp-0x50]  class-hnd spill-single-def <System.Reflection.ParameterInfo>
 ;  V09 loc5         [V09,T03] ( 13, 30.05)     ref  ->  [rbp-0x58]  class-hnd spill-single-def <System.Type>
@@ -22,10 +22,10 @@
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V12 tmp1         [V12    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V13 tmp2         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Linq.Expressions.Expression>
-;  V14 tmp3         [V14,T24] (  3,  3   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V14 tmp3         [V14,T23] (  3,  3   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V15 tmp4         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.ObjectModel.ReadOnlyCollection`1[System.__Canon]>
 ;* V16 tmp5         [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.ObjectModel.ReadOnlyCollection`1[System.__Canon]>
-;  V17 tmp6         [V17,T22] (  2,  3.96)     int  ->  rax         "guarded devirt return temp"
+;  V17 tmp6         [V17,T21] (  2,  3.96)     int  ->  rax         "guarded devirt return temp"
 ;* V18 tmp7         [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.RuntimeType>
 ;* V19 tmp8         [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;  V20 tmp9         [V20,T12] (  2,  3.96)   ubyte  ->  rax         "Inline return value spill temp"
@@ -33,11 +33,11 @@
 ;  V22 tmp11        [V22,T13] (  2,  7.92)   ubyte  ->  rax         "Inline return value spill temp"
 ;* V23 tmp12        [V23,T25] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V24 tmp13        [V24,T26] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V25 tmp14        [V25,T17] (  2,  3.96)   ubyte  ->  rax         "Inline return value spill temp"
-;  V26 tmp15        [V26,T23] (  2,  3.96)   ubyte  ->  rcx         "Inline return value spill temp"
-;  V27 tmp16        [V27,T16] (  4,  5.94)   ubyte  ->  rcx         "Inline return value spill temp"
+;  V25 tmp14        [V25,T16] (  2,  3.96)   ubyte  ->  rax         "Inline return value spill temp"
+;  V26 tmp15        [V26,T22] (  2,  3.96)   ubyte  ->  rcx         "Inline return value spill temp"
+;  V27 tmp16        [V27,T18] (  4,  4.46)   ubyte  ->  rcx         "Inline return value spill temp"
 ;* V28 tmp17        [V28    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.RuntimeType>
-;* V29 tmp18        [V29,T19] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
+;* V29 tmp18        [V29,T24] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
 ;* V30 tmp19        [V30    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.ObjectModel.ReadOnlyCollection`1[System.__Canon]>
 ;* V31 tmp20        [V31    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.ObjectModel.ReadOnlyCollection`1[System.__Canon]>
 ;* V32 tmp21        [V32    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.ObjectModel.ReadOnlyCollection`1[System.__Canon]>
@@ -74,7 +74,7 @@ G_M61964_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=31 bbWeight=1 PerfScore 7.75
 G_M61964_IG02:        ; bbWeight=1, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0008 {rbx}, byref
        cmp      dword ptr [r15+0x08], 0
-       je       G_M61964_IG24
+       je       G_M61964_IG26
                       ;; size=11 bbWeight=1 PerfScore 4.00
 G_M61964_IG03:        ; bbWeight=0.50, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0008 {rbx}, byref
        mov      r12d, dword ptr [r15+0x08]
@@ -85,7 +85,7 @@ G_M61964_IG03:        ; bbWeight=0.50, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0
        call     [r11]<unknown method>
        ; gcrRegs -[rdi]
        cmp      r12d, eax
-       jne      G_M61964_IG26
+       jne      G_M61964_IG28
        xor      r13, r13
        xor      r12d, r12d
        mov      eax, dword ptr [r15+0x08]
@@ -139,7 +139,7 @@ G_M61964_IG06:        ; bbWeight=1.98, gcVars=0000000000000088 {V07 V09}, gcrefR
        call     <unknown method>
        ; gcrRegs -[rax rdi]
        cmp      eax, 16
-       je       G_M61964_IG27
+       je       G_M61964_IG29
                       ;; size=17 bbWeight=1.98 PerfScore 4.95
 G_M61964_IG07:        ; bbWeight=3.96, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0008 {rbx}, byref
        mov      rdi, gword ptr [rbp-0x58]
@@ -246,7 +246,7 @@ G_M61964_IG13:        ; bbWeight=3.96, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0
 G_M61964_IG14:        ; bbWeight=0.50, gcrefRegs=2000 {r13}, byrefRegs=0008 {rbx}, byref
        ; gcrRegs -[r14-r15]
        test     r13, r13
-       je       G_M61964_IG25
+       je       G_M61964_IG27
        mov      rdi, 0xD1FFAB1E      ; <unknown class>
        call     CORINFO_HELP_NEWSFAST
        ; gcrRegs +[rax]
@@ -289,7 +289,7 @@ G_M61964_IG16:        ; bbWeight=1.98, gcVars=0000000000000088 {V07 V09}, gcrefR
        call     [rdx+0x18]<unknown method>
        ; gcrRegs -[rax rdi]
        test     eax, eax
-       jne      G_M61964_IG27
+       jne      G_M61964_IG29
        jmp      G_M61964_IG07
                        ;; size=27 bbWeight=1.98 PerfScore 18.81
 G_M61964_IG17:        ; bbWeight=1.98, gcVars=00000000000000C8 {V07 V09 V21}, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0008 {rbx}, gcvars, byref, isz
@@ -327,53 +327,65 @@ G_M61964_IG18:        ; bbWeight=1.98, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0
        ; gcrRegs +[rdi]
        mov      rsi, 0xD1FFAB1E      ; System.RuntimeType
        cmp      qword ptr [rbp-0x40], rsi
-       je       SHORT G_M61964_IG19
-       xor      ecx, ecx
-       jmp      SHORT G_M61964_IG22
-                       ;; size=30 bbWeight=1.98 PerfScore 11.38
-G_M61964_IG19:        ; bbWeight=1.98, gcrefRegs=E080 {rdi r13 r14 r15}, byrefRegs=0008 {rbx}, byref, isz
+       jne      SHORT G_M61964_IG22
        mov      rdx, gword ptr [rbp-0x58]
        ; gcrRegs +[rdx]
        cmp      rdx, rdi
-       jne      SHORT G_M61964_IG21
-                       ;; size=9 bbWeight=1.98 PerfScore 4.46
-G_M61964_IG20:        ; bbWeight=1.63, gcrefRegs=E004 {rdx r13 r14 r15}, byrefRegs=0008 {rbx}, byref, isz
+       jne      SHORT G_M61964_IG20
+                       ;; size=35 bbWeight=1.98 PerfScore 11.38
+G_M61964_IG19:        ; bbWeight=1.63, gcrefRegs=E004 {rdx r13 r14 r15}, byrefRegs=0008 {rbx}, byref, isz
        ; gcrRegs -[rdi]
        mov      ecx, 1
-       jmp      SHORT G_M61964_IG22
+       jmp      SHORT G_M61964_IG21
                        ;; size=7 bbWeight=1.63 PerfScore 3.67
-G_M61964_IG21:        ; bbWeight=0.35, gcrefRegs=E084 {rdx rdi r13 r14 r15}, byrefRegs=0008 {rbx}, byref
+G_M61964_IG20:        ; bbWeight=0.35, gcrefRegs=E084 {rdx rdi r13 r14 r15}, byrefRegs=0008 {rbx}, byref
        ; gcrRegs +[rdi]
        mov      rsi, rdx
        ; gcrRegs +[rsi]
        call     <unknown method>
        ; gcrRegs -[rdx rsi rdi]
        mov      ecx, eax
-                     ;; size=10 bbWeight=0.35 PerfScore 0.52
-G_M61964_IG22:        ; bbWeight=1.98, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0008 {rbx}, byref, isz
+       mov      rdx, gword ptr [rbp-0x58]
+       ; gcrRegs +[rdx]
+                       ;; size=14 bbWeight=0.35 PerfScore 0.87
+G_M61964_IG21:        ; bbWeight=1.98, gcrefRegs=E004 {rdx r13 r14 r15}, byrefRegs=0008 {rbx}, byref, isz
        test     ecx, ecx
-       jne      SHORT G_M61964_IG23
-       mov      rdi, gword ptr [rbp-0x58]
+       jne      SHORT G_M61964_IG25
+       mov      rdi, rdx
        ; gcrRegs +[rdi]
        mov      rsi, 0xD1FFAB1E
        ; gcrRegs +[rsi]
        mov      rax, qword ptr [rbp-0x40]
        mov      rax, qword ptr [rax+0xB8]
        call     [rax+0x18]<unknown method>
-       ; gcrRegs -[rsi rdi]
+       ; gcrRegs -[rdx rsi rdi]
+       jmp      SHORT G_M61964_IG23
+                       ;; size=33 bbWeight=1.98 PerfScore 19.30
+G_M61964_IG22:        ; bbWeight=0.49, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0008 {rbx}, byref, isz
+       xor      ecx, ecx
+       mov      rdx, gword ptr [rbp-0x58]
+       ; gcrRegs +[rdx]
+       jmp      SHORT G_M61964_IG21
+                       ;; size=8 bbWeight=0.49 PerfScore 1.61
+G_M61964_IG23:        ; bbWeight=1.98, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0008 {rbx}, byref
+       ; gcrRegs -[rdx]
        test     eax, eax
-       je       G_M61964_IG28
-                       ;; size=40 bbWeight=1.98 PerfScore 19.30
-G_M61964_IG23:        ; bbWeight=1.98, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0008 {rbx}, byref, isz
-       mov      rdi, gword ptr [rbp-0x58]
+       je       G_M61964_IG30
+                       ;; size=8 bbWeight=1.98 PerfScore 2.48
+G_M61964_IG24:        ; bbWeight=0.99, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0008 {rbx}, byref
+       mov      rdx, gword ptr [rbp-0x58]
+       ; gcrRegs +[rdx]
+                       ;; size=4 bbWeight=0.99 PerfScore 0.99
+G_M61964_IG25:        ; bbWeight=1.98, gcrefRegs=E004 {rdx r13 r14 r15}, byrefRegs=0008 {rbx}, byref, isz
+       mov      rdi, rdx
        ; gcrRegs +[rdi]
        mov      rsi, gword ptr [rbp-0x48]
        ; gcrRegs +[rsi]
-       mov      rdx, qword ptr [rbp-0x38]
-       call     [rdx+0x08]<unknown method>
-       ; gcrRegs -[rsi rdi]
+       mov      rax, qword ptr [rbp-0x38]
+       call     [rax+0x08]<unknown method>
+       ; gcrRegs -[rdx rsi rdi]
        test     eax, eax
-       je       SHORT G_M61964_IG28
+       je       SHORT G_M61964_IG30
        mov      rdi, gword ptr [rbp-0x48]
        ; gcrRegs +[rdi]
        ; GC ptr vars -{V07 V09}
@@ -382,8 +394,8 @@ G_M61964_IG23:        ; bbWeight=1.98, gcrefRegs=E000 {r13 r14 r15}, byrefRegs=0
        mov      gword ptr [rbp-0x48], rax
        ; GC ptr vars +{V07}
        jmp      G_M61964_IG08
-                        ;; size=38 bbWeight=1.98 PerfScore 28.21
-G_M61964_IG24:        ; bbWeight=0.50, gcrefRegs=6000 {r13 r14}, byrefRegs=0008 {rbx}, byref
+                     ;; size=37 bbWeight=1.98 PerfScore 26.73
+G_M61964_IG26:        ; bbWeight=0.50, gcrefRegs=6000 {r13 r14}, byrefRegs=0008 {rbx}, byref
        ; gcrRegs -[rax r15]
        ; GC ptr vars -{V07}
        mov      rdi, gword ptr [rbx]
@@ -394,9 +406,9 @@ G_M61964_IG24:        ; bbWeight=0.50, gcrefRegs=6000 {r13 r14}, byrefRegs=0008
        ; gcrRegs -[rdi]
        ; byrRegs -[rbx]
        test     eax, eax
-       jg       G_M61964_IG29
+       jg       G_M61964_IG31
                      ;; size=28 bbWeight=0.50 PerfScore 4.25
-G_M61964_IG25:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M61964_IG27:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[r13-r14]
        add      rsp, 56
        pop      rbx
@@ -407,7 +419,7 @@ G_M61964_IG25:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        pop      rbp
        ret      
                        ;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M61964_IG26:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=6000 {r13 r14}, byrefRegs=0000 {}, gcvars, byref
+G_M61964_IG28:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=6000 {r13 r14}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs +[r13-r14]
        mov      rdi, r14
        ; gcrRegs +[rdi]
@@ -420,7 +432,7 @@ G_M61964_IG26:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=6000 {
        call     CORINFO_HELP_THROW
        ; gcrRegs -[rax rdi]
                        ;; size=20 bbWeight=0 PerfScore 0.00
-G_M61964_IG27:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M61964_IG29:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      edi, 0x301B
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
@@ -435,7 +447,7 @@ G_M61964_IG27:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     CORINFO_HELP_THROW
        ; gcrRegs -[rax rdi]
                        ;; size=40 bbWeight=0 PerfScore 0.00
-G_M61964_IG28:        ; bbWeight=0, gcVars=0000000000000088 {V07 V09}, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, gcvars, byref
+G_M61964_IG30:        ; bbWeight=0, gcVars=0000000000000088 {V07 V09}, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs +[r14]
        ; GC ptr vars +{V03 V07 V09}
        mov      rdi, gword ptr [rbp-0x48]
@@ -467,7 +479,7 @@ G_M61964_IG28:        ; bbWeight=0, gcVars=0000000000000088 {V07 V09}, gcrefRegs
        call     CORINFO_HELP_THROW
        ; gcrRegs -[rax rdi]
                        ;; size=67 bbWeight=0 PerfScore 0.00
-G_M61964_IG29:        ; bbWeight=0, gcrefRegs=6000 {r13 r14}, byrefRegs=0000 {}, byref
+G_M61964_IG31:        ; bbWeight=0, gcrefRegs=6000 {r13 r14}, byrefRegs=0000 {}, byref
        ; gcrRegs +[r13-r14]
        mov      rdi, r14
        ; gcrRegs +[rdi]
@@ -482,7 +494,7 @@ G_M61964_IG29:        ; bbWeight=0, gcrefRegs=6000 {r13 r14}, byrefRegs=0000 {},
        int3     
                        ;; size=21 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 962, prolog size 19, PerfScore 697.51, instruction count 245, allocated bytes for code 962 (MethodHash=154b0df3) for method System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
+; Total bytes of code 974, prolog size 19, PerfScore 696.99, instruction count 249, allocated bytes for code 974 (MethodHash=154b0df3) for method System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+3 (+1.26%) : 280069.dasm - Microsoft.Cci.MetadataWriter:PopulateMethodImplTableRows():this (FullOpts)
@@ -13,36 +13,37 @@
 ;* V02 loc1         [V02    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <Microsoft.Cci.MethodImplementation>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.Reflection.Metadata.Ecma335.MetadataBuilder>
-;  V05 tmp2         [V05,T09] (  2,  8   )     ref  ->  [rbp-0x38]  class-hnd exact spill-single-def "impAppendStmt" <System.Reflection.Metadata.Ecma335.MetadataBuilder>
+;  V05 tmp2         [V05,T10] (  2,  8   )     ref  ->  [rbp-0x38]  class-hnd exact spill-single-def "impAppendStmt" <System.Reflection.Metadata.Ecma335.MetadataBuilder>
 ;* V06 tmp3         [V06    ] (  0,  0   )  struct ( 8) zero-ref    multireg-ret "impAppendStmt" <System.Reflection.Metadata.TypeDefinitionHandle>
 ;* V07 tmp4         [V07    ] (  0,  0   )  struct ( 8) zero-ref    "impAppendStmt" <System.Reflection.Metadata.EntityHandle>
 ;* V08 tmp5         [V08    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Reflection.Metadata.EntityHandle>
 ;* V09 tmp6         [V09    ] (  0,  0   )  struct ( 8) zero-ref    "location for address-of(RValue)" <System.Reflection.Metadata.MethodImplementationHandle>
 ;* V10 tmp7         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.Generic.List`1[Microsoft.Cci.MethodImplementation]>
-;  V11 tmp8         [V11,T12] (  3,  6   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[Microsoft.Cci.MethodImplementation]>
+;  V11 tmp8         [V11,T13] (  3,  6   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[Microsoft.Cci.MethodImplementation]>
 ;* V12 tmp9         [V12    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[Microsoft.Cci.MethodImplementation]>
-;* V13 tmp10        [V13,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V13 tmp10        [V13,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V14 tmp11        [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[Microsoft.Cci.MethodImplementation]>
 ;* V15 tmp12        [V15    ] (  0,  0   )     ref  ->  zero-ref    "field V02.ImplementingMethod (fldOffset=0x0)" P-INDEP
 ;* V16 tmp13        [V16    ] (  0,  0   )     ref  ->  zero-ref    "field V02.ImplementedMethod (fldOffset=0x8)" P-INDEP
-;  V17 tmp14        [V17,T13] (  2,  4   )     int  ->  [rbp-0x2C]  spill-single-def "field V06._rowId (fldOffset=0x0)" P-INDEP
-;  V18 tmp15        [V18,T14] (  2,  4   )     int  ->  r12         "field V07._vToken (fldOffset=0x0)" P-INDEP
-;  V19 tmp16        [V19,T15] (  2,  4   )     int  ->  rcx         "field V08._vToken (fldOffset=0x0)" P-INDEP
+;  V17 tmp14        [V17,T14] (  2,  4   )     int  ->  [rbp-0x2C]  spill-single-def "field V06._rowId (fldOffset=0x0)" P-INDEP
+;  V18 tmp15        [V18,T15] (  2,  4   )     int  ->  r12         "field V07._vToken (fldOffset=0x0)" P-INDEP
+;  V19 tmp16        [V19,T16] (  2,  4   )     int  ->  rcx         "field V08._vToken (fldOffset=0x0)" P-INDEP
 ;* V20 tmp17        [V20    ] (  0,  0   )     int  ->  zero-ref    "field V09._rowId (fldOffset=0x0)" P-INDEP
 ;  V21 tmp18        [V21,T04] (  4, 17   )     ref  ->  r15         single-def "V01.[000..008)"
 ;  V22 tmp19        [V22,T00] (  6, 21   )     int  ->  r13         "V01.[008..012)"
-;  V23 tmp20        [V23,T08] (  2,  9   )     int  ->  r14         single-def "V01.[012..016)"
-;  V24 tmp21        [V24,T05] (  3,  8   )     ref  ->  r12         "V01.[016..024)"
-;  V25 tmp22        [V25,T07] (  2,  6   )     ref  ->  [rbp-0x40]  spill-single-def "V01.[024..032)"
+;  V23 tmp20        [V23,T09] (  2,  9   )     int  ->  r14         single-def "V01.[012..016)"
+;  V24 tmp21        [V24,T06] (  3,  8   )     ref  ->  r12         "V01.[016..024)"
+;  V25 tmp22        [V25,T08] (  2,  6   )     ref  ->  [rbp-0x40]  spill-single-def "V01.[024..032)"
 ;* V26 tmp23        [V26    ] (  0,  0   )     ref  ->  zero-ref    single-def "V12.[000..008)"
 ;* V27 tmp24        [V27    ] (  0,  0   )     int  ->  zero-ref    single-def "V12.[008..012)"
-;  V28 tmp25        [V28,T16] (  2,  2   )     int  ->  r14         single-def "V12.[012..016)"
+;  V28 tmp25        [V28,T17] (  2,  2   )     int  ->  r14         single-def "V12.[012..016)"
 ;* V29 tmp26        [V29    ] (  0,  0   )     ref  ->  zero-ref    single-def "V12.[016..024)"
 ;* V30 tmp27        [V30    ] (  0,  0   )     ref  ->  zero-ref    single-def "V12.[024..032)"
 ;  V31 tmp28        [V31,T01] (  3, 24   )   byref  ->  rdi         "Spilling address for field-by-field copy"
 ;  V32 tmp29        [V32,T02] (  3, 24   )     ref  ->  rdi         "arr expr"
-;  V33 tmp30        [V33,T10] (  2,  8   )     ref  ->  rsi         "argument with side effect"
-;  V34 cse0         [V34,T06] (  2,  8   )     int  ->  rdi         "CSE - moderate"
+;  V33 tmp30        [V33,T11] (  2,  8   )     ref  ->  rsi         "argument with side effect"
+;  V34 cse0         [V34,T07] (  2,  8   )     int  ->  rdi         "CSE - moderate"
+;  V35 cse1         [V35,T05] (  2, 16   )     int  ->  rdi         "CSE - aggressive"
 ;
 ; Lcl frame size = 24
 
@@ -75,7 +76,7 @@ G_M16676_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        xor      r13d, r13d
        jmp      SHORT G_M16676_IG04
                        ;; size=43 bbWeight=1 PerfScore 18.50
-G_M16676_IG03:        ; bbWeight=2, gcVars=0000000000000080 {V25}, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, gcvars, byref
+G_M16676_IG03:        ; bbWeight=2, gcVars=0000000000000100 {V25}, gcrefRegs=9008 {rbx r12 r15}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs +[r12]
        ; GC ptr vars +{V25}
        mov      rcx, gword ptr [rbx+0x48]
@@ -122,9 +123,10 @@ G_M16676_IG03:        ; bbWeight=2, gcVars=0000000000000080 {V25}, gcrefRegs=900
        ; gcrRegs -[rdi]
                        ;; size=90 bbWeight=2 PerfScore 63.00
 G_M16676_IG04:        ; bbWeight=8, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
-       cmp      r14d, dword ptr [r15+0x14]
+       mov      edi, dword ptr [r15+0x14]
+       cmp      r14d, edi
        jne      SHORT G_M16676_IG08
-                     ;; size=6 bbWeight=8 PerfScore 32.00
+                      ;; size=9 bbWeight=8 PerfScore 26.00
 G_M16676_IG05:        ; bbWeight=4, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
        mov      edi, dword ptr [r15+0x10]
        cmp      r13d, edi
@@ -168,7 +170,7 @@ G_M16676_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 238, prolog size 19, PerfScore 210.50, instruction count 70, allocated bytes for code 238 (MethodHash=1215bedb) for method Microsoft.Cci.MetadataWriter:PopulateMethodImplTableRows():this (FullOpts)
+; Total bytes of code 241, prolog size 19, PerfScore 204.50, instruction count 71, allocated bytes for code 241 (MethodHash=1215bedb) for method Microsoft.Cci.MetadataWriter:PopulateMethodImplTableRows():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
libraries.crossgen2.linux.x64.checked.mch
-8 (-6.15%) : 243816.dasm - System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
@@ -8,28 +8,27 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  4, 14   )     ref  ->  r15         this class-hnd single-def <System.Net.HttpEndPointListener>
-;  V01 arg1         [V01,T01] (  5, 22   )     ref  ->  rbx         class-hnd single-def <System.Net.Sockets.SocketAsyncEventArgs>
-;  V02 loc0         [V02,T00] (  3, 24   )   ubyte  ->  r14        
+;  V00 this         [V00,T01] (  4, 18   )     ref  ->  r15         this class-hnd single-def <System.Net.HttpEndPointListener>
+;  V01 arg1         [V01,T00] (  5, 26   )     ref  ->  rbx         class-hnd single-def <System.Net.Sockets.SocketAsyncEventArgs>
+;  V02 loc0         [V02,T02] (  2, 16   )   ubyte  ->  rax        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
 ;  V05 PSPSym       [V05,T03] (  1,  1   )    long  ->  [rbp-0x20]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 16
 
 G_M14120_IG01:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
-       push     r14
        push     rbx
-       push     rax
+       sub      rsp, 16
        lea      rbp, [rsp+0x20]
        mov      qword ptr [rbp-0x20], rsp
        mov      r15, rdi
        ; gcrRegs +[r15]
        mov      rbx, rsi
        ; gcrRegs +[rbx]
-                      ;; size=22 bbWeight=8 PerfScore 56.00
+                     ;; size=23 bbWeight=8 PerfScore 42.00
 G_M14120_IG02:        ; bbWeight=8, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
        mov      rdi, rbx
        ; gcrRegs +[rdi]
@@ -49,13 +48,11 @@ G_M14120_IG02:        ; bbWeight=8, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {},
        call     [r11]<unknown method>
        ; gcrRegs -[rsi rdi]
        ; gcr arg pop 0
-       mov      r14d, eax
-                       ;; size=39 bbWeight=8 PerfScore 128.00
+       nop      
+                       ;; size=37 bbWeight=8 PerfScore 128.00
 G_M14120_IG03:        ; bbWeight=8, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
-       test     r14d, r14d
-       jne      SHORT G_M14120_IG05
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M14120_IG04:        ; bbWeight=4, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
+       test     eax, eax
+       jne      SHORT G_M14120_IG04
        mov      rdi, r15
        ; gcrRegs +[rdi]
        mov      rsi, rbx
@@ -63,43 +60,37 @@ G_M14120_IG04:        ; bbWeight=4, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {},
        call     [<unknown method>]
        ; gcrRegs -[rsi rdi]
        ; gcr arg pop 0
-                       ;; size=12 bbWeight=4 PerfScore 14.00
-G_M14120_IG05:        ; bbWeight=8, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
-       test     r14d, r14d
-       je       SHORT G_M14120_IG02
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M14120_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+       jmp      SHORT G_M14120_IG02
+                       ;; size=18 bbWeight=8 PerfScore 54.00
+G_M14120_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rbx r15]
-       add      rsp, 8
+       add      rsp, 16
        pop      rbx
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=11 bbWeight=1 PerfScore 3.25
-G_M14120_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                        ;; size=9 bbWeight=1 PerfScore 2.75
+G_M14120_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        push     rbp
        push     r15
-       push     r14
        push     rbx
-       push     rax
+       sub      rsp, 16
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x20]
-                      ;; size=18 bbWeight=0 PerfScore 0.00
-G_M14120_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-       lea      rax, G_M14120_IG06
+                       ;; size=19 bbWeight=0 PerfScore 0.00
+G_M14120_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+       lea      rax, G_M14120_IG04
                      ;; size=7 bbWeight=0 PerfScore 0.00
-G_M14120_IG09:        ; bbWeight=0, funclet epilog, nogc, extend
-       add      rsp, 8
+G_M14120_IG07:        ; bbWeight=0, funclet epilog, nogc, extend
+       add      rsp, 16
        pop      rbx
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=11 bbWeight=0 PerfScore 0.00
+                      ;; size=9 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 130, prolog size 22, PerfScore 221.25, instruction count 48, allocated bytes for code 130 (MethodHash=c2bdc8d7) for method System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
+; Total bytes of code 122, prolog size 23, PerfScore 226.75, instruction count 43, allocated bytes for code 122 (MethodHash=c2bdc8d7) for method System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -107,14 +98,13 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x07
-  CountOfUnwindCodes: 5
+  SizeOfProlog      : 0x08
+  CountOfUnwindCodes: 4
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 0 * 8 + 8 = 8 = 0x08
-    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
+    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
+    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 Unwind Info:
@@ -122,16 +112,15 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x07
-  CountOfUnwindCodes: 5
+  SizeOfProlog      : 0x08
+  CountOfUnwindCodes: 4
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 0 * 8 + 8 = 8 = 0x08
-    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
+    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
+    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 *************** EH table for System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M14120_IG02..G_M14120_IG03) handled by [G_M14120_IG07..END) (class: 100003E)
+EH#0: try [G_M14120_IG02..G_M14120_IG03) handled by [G_M14120_IG05..END) (class: 100003E)
  
-9 (-2.62%) : 22496.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
@@ -9,10 +9,10 @@
 ; 0 inlinees with PGO data; 12 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] (  3,  3   )    long  ->  rbx         single-def
-;  V01 arg1         [V01,T19] (  3,  3   )    long  ->  r15         single-def
-;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [rbp-0x38]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T20] (  4, 11   )    long  ->  r15        
+;  V00 arg0         [V00,T19] (  3,  3   )    long  ->  rbx         single-def
+;  V01 arg1         [V01,T20] (  3,  3   )    long  ->  r15         single-def
+;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [rbp-0x30]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
+;  V03 loc1         [V03,T21] (  4, 11   )    long  ->  r15        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
@@ -20,14 +20,14 @@
 ;  V08 tmp1         [V08,T10] (  7, 84   )     ref  ->  rbx         class-hnd single-def "non-inline candidate call" <<unknown class>>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V11 tmp4         [V11,T28] (  2,  0   )     ref  ->  rdi         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V12 tmp5         [V12,T22] (  2,  4   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp4         [V11,T29] (  2,  0   )     ref  ->  rdi         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp5         [V12,T23] (  2,  4   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp10        [V17,T08] (  2, 16   )     int  ->  rcx         "Inlining Arg"
-;  V18 tmp11        [V18,T07] (  2, 16   )   byref  ->  rax         "Inlining Arg"
+;  V17 tmp10        [V17,T07] (  2, 16   )     int  ->  rcx         "Inlining Arg"
+;  V18 tmp11        [V18,T06] (  2, 16   )   byref  ->  rax         "Inlining Arg"
 ;* V19 tmp12        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V21 tmp14        [V21,T12] (  2,  8   )   ubyte  ->  rax         "Inline return value spill temp"
@@ -41,30 +41,30 @@
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V30 tmp23        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V32 tmp25        [V32,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V32 tmp25        [V32,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V33 tmp26        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V34 tmp27        [V34,T23] (  3, 17   )     ref  ->  rdi         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V35 tmp28        [V35,T21] (  4, 18   )     int  ->  rsi         "Inline stloc first use temp"
-;  V36 tmp29        [V36,T17] (  3, 20   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [rbp-0x48]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
-;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
-;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
-;  V40 tmp33        [V40,T02] (  4, 25   )     ref  ->  rbx         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V41 tmp34        [V41,T03] (  4, 20   )     ref  ->  rdx         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V34 tmp27        [V34,T24] (  3, 17   )     ref  ->  rdi         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V35 tmp28        [V35,T22] (  4, 18   )     int  ->  rsi         "Inline stloc first use temp"
+;  V36 tmp29        [V36,T18] (  3, 20   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [rbp-0x40]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
+;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
+;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
+;  V40 tmp33        [V40,T03] (  4, 25   )     ref  ->  rbx         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V41 tmp34        [V41,T02] (  4, 20   )     ref  ->  rdx         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V42 tmp35        [V42,T00] (  6, 41   )     int  ->  r13         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V43 tmp36        [V43,T05] (  3, 17   )     int  ->  r14         "field V04._version (fldOffset=0x14)" P-INDEP
-;  V44 tmp37        [V44,T13] (  2,  8   )   byref  ->  rdi         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp38        [V45,T15] (  2,  8   )     int  ->  rsi         "field V09._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp36        [V43,T13] (  2,  9   )     int  ->  r14         "field V04._version (fldOffset=0x14)" P-INDEP
+;  V44 tmp37        [V44,T14] (  2,  8   )   byref  ->  rdi         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp38        [V45,T16] (  2,  8   )     int  ->  rsi         "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V46 tmp39        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V47 tmp40        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V48 tmp41        [V48,T24] (  3,  3   )     ref  ->  rbx         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;  V48 tmp41        [V48,T25] (  3,  3   )     ref  ->  rbx         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V49 tmp42        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V50 tmp43        [V50,T26] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
-;  V51 tmp44        [V51,T25] (  2,  2   )     int  ->  r14         "field V13._version (fldOffset=0x14)" P-INDEP
+;* V50 tmp43        [V50,T27] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
+;  V51 tmp44        [V51,T26] (  2,  2   )     int  ->  r14         "field V13._version (fldOffset=0x14)" P-INDEP
 ;  V52 tmp45        [V52,T11] (  3, 12   )   byref  ->  rax         "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V53 tmp46        [V53,T06] (  4, 16   )     int  ->  rcx         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V54 tmp47        [V54,T14] (  2,  8   )   byref  ->  rax         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V55 tmp48        [V55,T16] (  2,  8   )     int  ->  rcx         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V53 tmp46        [V53,T05] (  4, 16   )     int  ->  rcx         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V54 tmp47        [V54,T15] (  2,  8   )   byref  ->  rax         "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V55 tmp48        [V55,T17] (  2,  8   )     int  ->  rcx         "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp50        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V58 tmp51        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
@@ -80,28 +80,28 @@
 ;* V68 tmp61        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V69 tmp62        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;  V70 tmp63        [V70,T01] (  3, 48   )     ref  ->  rdx         "arr expr"
-;  V71 PSPSym       [V71,T27] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
-;  V72 cse0         [V72,T04] (  3, 24   )     int  ->  r12         "CSE - moderate"
+;  V71 PSPSym       [V71,T28] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
+;  V72 cse0         [V72,T09] (  2, 16   )     int  ->  rdx         "CSE - moderate"
+;  V73 cse1         [V73,T04] (  2, 16   )     int  ->  rdx         "CSE - moderate"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 48
 
 G_M19804_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
        push     r13
-       push     r12
        push     rbx
-       sub      rsp, 40
+       sub      rsp, 48
        lea      rbp, [rsp+0x50]
        xor      eax, eax
-       mov      qword ptr [rbp-0x38], rax
+       mov      qword ptr [rbp-0x30], rax
        mov      qword ptr [rbp-0x50], rsp
        mov      rbx, rdi
        mov      r15, rsi
-                     ;; size=35 bbWeight=1 PerfScore 9.50
+                      ;; size=33 bbWeight=1 PerfScore 8.50
 G_M19804_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       lea      rdi, [rbp-0x48]
+       lea      rdi, [rbp-0x40]
        call     [CORINFO_HELP_JIT_REVERSE_PINVOKE_ENTER]
        ; gcr arg pop 0
        nop      
@@ -111,10 +111,10 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        call     [System.Runtime.InteropServices.MemoryMarshal:CreateReadOnlySpanFromNullTerminated(ulong):System.ReadOnlySpan`1[ushort]]
        ; byrRegs +[rax]
        ; gcr arg pop 0
-       mov      bword ptr [rbp-0x38], rax
-       mov      qword ptr [rbp-0x30], rdx
+       mov      bword ptr [rbp-0x30], rax
+       mov      qword ptr [rbp-0x28], rdx
        cmp      byte  ptr [r15+0x08], 0
-       je       SHORT G_M19804_IG11
+       je       SHORT G_M19804_IG10
        mov      rbx, gword ptr [r15]
        ; gcrRegs +[rbx]
        mov      r14d, dword ptr [rbx+0x14]
@@ -124,9 +124,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M19804_IG04:        ; bbWeight=4, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rdx]
        ; byrRegs -[rax]
-       mov      rdi, bword ptr [rbp-0x38]
+       mov      rdi, bword ptr [rbp-0x30]
        ; byrRegs +[rdi]
-       mov      esi, dword ptr [rbp-0x30]
+       mov      esi, dword ptr [rbp-0x28]
        test     rdx, rdx
        jne      SHORT G_M19804_IG05
        xor      rax, rax
@@ -152,14 +152,15 @@ G_M19804_IG06:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0081 {rax rd
        ; byrRegs -[rax rsi rdi]
        ; gcr arg pop 0
        test     eax, eax
-       jne      SHORT G_M19804_IG14
+       jne      SHORT G_M19804_IG13
                      ;; size=22 bbWeight=4 PerfScore 25.00
 G_M19804_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       mov      r12d, dword ptr [rbx+0x14]
-       cmp      r14d, r12d
-       jne      SHORT G_M19804_IG10
-       cmp      r13d, dword ptr [rbx+0x10]
-       jae      SHORT G_M19804_IG11
+       mov      edx, dword ptr [rbx+0x14]
+       cmp      r14d, edx
+       jne      SHORT G_M19804_IG09
+       mov      edx, dword ptr [rbx+0x10]
+       cmp      r13d, edx
+       jae      SHORT G_M19804_IG10
        mov      rdx, gword ptr [rbx+0x08]
        ; gcrRegs +[rdx]
        cmp      r13d, dword ptr [rdx+0x08]
@@ -168,7 +169,7 @@ G_M19804_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      rdx, gword ptr [rdx+8*rdi+0x10]
        inc      r13d
        jmp      SHORT G_M19804_IG04
-                      ;; size=38 bbWeight=8 PerfScore 142.00
+                        ;; size=39 bbWeight=8 PerfScore 136.00
 G_M19804_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdx rbx]
        call     [CORINFO_HELP_RNGCHKFAIL]
@@ -180,13 +181,9 @@ G_M19804_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 G_M19804_IG10:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       cmp      r14d, r12d
-       jne      SHORT G_M19804_IG09
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        mov      rbx, gword ptr [r15]
        ; gcrRegs +[rbx]
-       lea      rdi, [rbp-0x38]
+       lea      rdi, [rbp-0x30]
        call     [<unknown method>]
        ; gcrRegs +[rax]
        ; gcr arg pop 0
@@ -195,9 +192,9 @@ G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ; gcrRegs +[rdi]
        mov      esi, dword ptr [rbx+0x10]
        cmp      dword ptr [rdi+0x08], esi
-       jbe      SHORT G_M19804_IG13
+       jbe      SHORT G_M19804_IG12
                         ;; size=28 bbWeight=8 PerfScore 132.00
-G_M19804_IG12:        ; bbWeight=1, gcrefRegs=0089 {rax rbx rdi}, byrefRegs=0000 {}, byref, isz
+G_M19804_IG11:        ; bbWeight=1, gcrefRegs=0089 {rax rbx rdi}, byrefRegs=0000 {}, byref, isz
        lea      ecx, [rsi+0x01]
        mov      dword ptr [rbx+0x10], ecx
        mov      esi, esi
@@ -209,9 +206,9 @@ G_M19804_IG12:        ; bbWeight=1, gcrefRegs=0089 {rax rbx rdi}, byrefRegs=0000
        call     [CORINFO_HELP_ASSIGN_REF]
        ; gcrRegs -[rax rbx rsi]
        ; byrRegs -[rdi]
-       jmp      SHORT G_M19804_IG14
+       jmp      SHORT G_M19804_IG13
                       ;; size=24 bbWeight=1 PerfScore 8.00
-G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
+G_M19804_IG12:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rax rbx]
        mov      rdi, rbx
        ; gcrRegs +[rdi]
@@ -222,36 +219,34 @@ G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {},
        ; gcr arg pop 0
        nop      
                        ;; size=13 bbWeight=1 PerfScore 3.75
-G_M19804_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       lea      rdi, [rbp-0x48]
+G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       lea      rdi, [rbp-0x40]
        call     [CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT]
        ; gcr arg pop 0
        nop      
                        ;; size=11 bbWeight=1 PerfScore 3.75
-G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 40
+G_M19804_IG14:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 48
        pop      rbx
-       pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=15 bbWeight=1 PerfScore 4.25
-G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                     ;; size=13 bbWeight=1 PerfScore 3.75
+G_M19804_IG15:        ; bbWeight=0, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        ; gcrRegs +[rsi]
        push     rbp
        push     r15
        push     r14
        push     r13
-       push     r12
        push     rbx
...
  
-6 (-1.86%) : 23057.dasm - System.Diagnostics.Tracing.CounterGroup:ResetCounters():this (FullOpts)
@@ -9,32 +9,33 @@
 ; 0 inlinees with PGO data; 5 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T10] (  3,  3   )     ref  ->  rbx         this class-hnd single-def <System.Diagnostics.Tracing.CounterGroup>
-;  V01 loc0         [V01,T15] (  4,  1.50)     ref  ->  [rbp-0x30]  class-hnd EH-live spill-single-def <System.Object>
+;  V00 this         [V00,T11] (  3,  3   )     ref  ->  rbx         this class-hnd single-def <System.Diagnostics.Tracing.CounterGroup>
+;  V01 loc0         [V01,T16] (  4,  1.50)     ref  ->  [rbp-0x30]  class-hnd EH-live spill-single-def <System.Object>
 ;  V02 loc1         [V02    ] (  6,  5   )   ubyte  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V03 loc2         [V03    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Diagnostics.Tracing.DiagnosticCounter]>
 ;* V04 loc3         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Diagnostics.Tracing.DiagnosticCounter>
 ;  V05 loc4         [V05,T06] (  3, 10   )     ref  ->  rax         class-hnd <<unknown class>>
-;  V06 loc5         [V06,T08] (  3,  6   )     ref  ->  rax         class-hnd <<unknown class>>
-;  V07 loc6         [V07,T09] (  3,  6   )     ref  ->  rax         class-hnd <<unknown class>>
+;  V06 loc5         [V06,T09] (  3,  6   )     ref  ->  rax         class-hnd <<unknown class>>
+;  V07 loc6         [V07,T10] (  3,  6   )     ref  ->  rax         class-hnd <<unknown class>>
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V09 tmp1         [V09,T12] (  2,  4   )   ubyte  ->  rdi         "Inlining Arg"
-;  V10 tmp2         [V10,T11] (  2,  4   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V09 tmp1         [V09,T13] (  2,  4   )   ubyte  ->  rdi         "Inlining Arg"
+;  V10 tmp2         [V10,T12] (  2,  4   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V11 tmp3         [V11    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Diagnostics.Tracing.DiagnosticCounter]>
-;* V12 tmp4         [V12,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V12 tmp4         [V12,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V13 tmp5         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V14 tmp6         [V14,T02] (  4, 17   )     ref  ->  rbx         single-def "field V03._list (fldOffset=0x0)" P-INDEP
-;  V15 tmp7         [V15,T04] (  4, 12   )     ref  ->  r13         "field V03._current (fldOffset=0x8)" P-INDEP
+;  V15 tmp7         [V15,T03] (  4, 12   )     ref  ->  r13         "field V03._current (fldOffset=0x8)" P-INDEP
 ;  V16 tmp8         [V16,T00] (  6, 21   )     int  ->  r14         "field V03._index (fldOffset=0x10)" P-INDEP
-;  V17 tmp9         [V17,T05] (  3, 13   )     int  ->  r15         "field V03._version (fldOffset=0x14)" P-INDEP
-;  V18 tmp10        [V18,T13] (  3,  3   )     ref  ->  rbx         single-def "field V11._list (fldOffset=0x0)" P-INDEP
+;  V17 tmp9         [V17,T07] (  2,  9   )     int  ->  r15         "field V03._version (fldOffset=0x14)" P-INDEP
+;  V18 tmp10        [V18,T14] (  3,  3   )     ref  ->  rbx         single-def "field V11._list (fldOffset=0x0)" P-INDEP
 ;* V19 tmp11        [V19    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V11._current (fldOffset=0x8)" P-INDEP
-;* V20 tmp12        [V20,T17] (  0,  0   )     int  ->  zero-ref    "field V11._index (fldOffset=0x10)" P-INDEP
-;  V21 tmp13        [V21,T14] (  2,  2   )     int  ->  r15         "field V11._version (fldOffset=0x14)" P-INDEP
+;* V20 tmp12        [V20,T18] (  0,  0   )     int  ->  zero-ref    "field V11._index (fldOffset=0x10)" P-INDEP
+;  V21 tmp13        [V21,T15] (  2,  2   )     int  ->  r15         "field V11._version (fldOffset=0x14)" P-INDEP
 ;  V22 tmp14        [V22,T01] (  3, 24   )     ref  ->  rdi         "arr expr"
-;  V23 PSPSym       [V23,T18] (  1,  1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
-;  V24 cse0         [V24,T16] (  3,  1.50)     ref  ->  rsi         "CSE - moderate"
-;  V25 cse1         [V25,T03] (  3, 20   )     int  ->  r13         "CSE - aggressive"
+;  V23 PSPSym       [V23,T19] (  1,  1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
+;  V24 cse0         [V24,T17] (  3,  1.50)     ref  ->  rsi         "CSE - moderate"
+;  V25 cse1         [V25,T05] (  2,  8   )     int  ->  rdi         "CSE - aggressive"
+;  V26 cse2         [V26,T04] (  2, 16   )     int  ->  rdi         "CSE - aggressive"
 ;
 ; Lcl frame size = 32
 
@@ -61,7 +62,7 @@ G_M25759_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        xor      esi, esi
        mov      dword ptr [rbp-0x28], esi
                        ;; size=22 bbWeight=1 PerfScore 7.25
-G_M25759_IG03:        ; bbWeight=1, gcVars=0000000000008000 {V01}, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M25759_IG03:        ; bbWeight=1, gcVars=0000000000010000 {V01}, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, gcvars, byref, isz
        ; byrRegs -[rax]
        cmp      byte  ptr [rbp-0x28], 0
        jne      SHORT G_M25759_IG09
@@ -89,17 +90,18 @@ G_M25759_IG05:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        xor      r14d, r14d
                        ;; size=11 bbWeight=1 PerfScore 4.25
 G_M25759_IG06:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       mov      r13d, dword ptr [rbx+0x14]
-       cmp      r15d, r13d
-       jne      SHORT G_M25759_IG12
-                       ;; size=9 bbWeight=8 PerfScore 26.00
+       mov      edi, dword ptr [rbx+0x14]
+       cmp      r15d, edi
+       jne      SHORT G_M25759_IG13
+                       ;; size=8 bbWeight=8 PerfScore 26.00
 G_M25759_IG07:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       cmp      r14d, dword ptr [rbx+0x10]
-       jae      SHORT G_M25759_IG15
+       mov      edi, dword ptr [rbx+0x10]
+       cmp      r14d, edi
+       jae      SHORT G_M25759_IG14
        mov      rdi, gword ptr [rbx+0x08]
        ; gcrRegs +[rdi]
        cmp      r14d, dword ptr [rdi+0x08]
-       jae      SHORT G_M25759_IG13
+       jae      SHORT G_M25759_IG12
        mov      eax, r14d
        mov      r13, gword ptr [rdi+8*rax+0x10]
        ; gcrRegs +[r13]
@@ -110,7 +112,7 @@ G_M25759_IG07:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcr arg pop 0
        test     rax, rax
        je       SHORT G_M25759_IG10
-                      ;; size=41 bbWeight=4 PerfScore 68.00
+                     ;; size=43 bbWeight=4 PerfScore 65.00
 G_M25759_IG08:        ; bbWeight=2, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[r13]
        mov      rdi, rax
@@ -158,26 +160,21 @@ G_M25759_IG11:        ; bbWeight=2, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {},
        ; gcr arg pop 0
        jmp      SHORT G_M25759_IG06
                        ;; size=25 bbWeight=2 PerfScore 19.50
-G_M25759_IG12:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M25759_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx]
-       cmp      r15d, r13d
-       jne      SHORT G_M25759_IG14
-       jmp      SHORT G_M25759_IG15
-                       ;; size=7 bbWeight=4 PerfScore 13.00
-G_M25759_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     [CORINFO_HELP_RNGCHKFAIL]
        ; gcr arg pop 0
                        ;; size=6 bbWeight=0 PerfScore 0.00
-G_M25759_IG14:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M25759_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()]
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M25759_IG15:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M25759_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        cmp      byte  ptr [rbp-0x28], 0
-       je       SHORT G_M25759_IG17
+       je       SHORT G_M25759_IG16
                         ;; size=6 bbWeight=1 PerfScore 3.00
-G_M25759_IG16:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M25759_IG15:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rdi, gword ptr [rbp-0x30]
        ; gcrRegs +[rdi]
        ; GC ptr vars -{V01}
@@ -185,10 +182,10 @@ G_M25759_IG16:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
                        ;; size=10 bbWeight=0.50 PerfScore 2.00
-G_M25759_IG17:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M25759_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
-G_M25759_IG18:        ; bbWeight=1, epilog, nogc, extend
+G_M25759_IG17:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 32
        pop      rbx
        pop      r13
@@ -197,8 +194,8 @@ G_M25759_IG18:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=13 bbWeight=1 PerfScore 3.75
-G_M25759_IG19:        ; bbWeight=0, gcVars=0000000000008000 {V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-       ; GC ptr vars +{V01 V15}
+G_M25759_IG18:        ; bbWeight=0, gcVars=0000000000010000 {V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+       ; GC ptr vars +{V01 V16}
        push     rbp
        push     r15
        push     r14
@@ -209,20 +206,20 @@ G_M25759_IG19:        ; bbWeight=0, gcVars=0000000000008000 {V01}, gcrefRegs=000
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x40]
                        ;; size=23 bbWeight=0 PerfScore 0.00
-G_M25759_IG20:        ; bbWeight=0, gcVars=0000000000008000 {V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M25759_IG19:        ; bbWeight=0, gcVars=0000000000010000 {V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        cmp      byte  ptr [rbp-0x28], 0
-       je       SHORT G_M25759_IG21
+       je       SHORT G_M25759_IG20
        mov      rdi, gword ptr [rbp-0x30]
        ; gcrRegs +[rdi]
-       ; GC ptr vars -{V01 V15}
+       ; GC ptr vars -{V01 V16}
        call     [<unknown method>]
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M25759_IG21:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M25759_IG20:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=0 PerfScore 0.00
-G_M25759_IG22:        ; bbWeight=0, funclet epilog, nogc, extend
+G_M25759_IG21:        ; bbWeight=0, funclet epilog, nogc, extend
        add      rsp, 16
        pop      rbx
        pop      r13
@@ -232,7 +229,7 @@ G_M25759_IG22:        ; bbWeight=0, funclet epilog, nogc, extend
        ret      
                        ;; size=13 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 322, prolog size 24, PerfScore 196.38, instruction count 101, allocated bytes for code 322 (MethodHash=a2079b60) for method System.Diagnostics.Tracing.CounterGroup:ResetCounters():this (FullOpts)
+; Total bytes of code 316, prolog size 24, PerfScore 180.38, instruction count 99, allocated bytes for code 316 (MethodHash=a2079b60) for method System.Diagnostics.Tracing.CounterGroup:ResetCounters():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -269,4 +266,4 @@ Unwind Info:
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 *************** EH table for System.Diagnostics.Tracing.CounterGroup:ResetCounters():this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M25759_IG03..G_M25759_IG15) handled by [G_M25759_IG19..END) (fault)
+EH#0: try [G_M25759_IG03..G_M25759_IG14) handled by [G_M25759_IG18..END) (fault)
  
+3 (+0.59%) : 16624.dasm - System.Threading.Tasks.Task:GetDelegatesFromContinuationObject(System.Object):System.Delegate[] (FullOpts)
@@ -9,26 +9,26 @@
 ; 0 inlinees with PGO data; 6 single block inlinees; 3 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T14] (  8,  5.50)     ref  ->  rbx         class-hnd single-def <System.Object>
-;  V01 loc0         [V01,T24] (  3,  1.50)     ref  ->  r15         class-hnd single-def <System.Action>
-;  V02 loc1         [V02,T25] (  3,  1.50)     ref  ->  rax         class-hnd single-def <<unknown class>>
-;  V03 loc2         [V03,T26] (  3,  1.50)     ref  ->  rax         class-hnd single-def <System.Threading.Tasks.Task>
-;  V04 loc3         [V04,T21] (  4,  2   )     ref  ->  r14         class-hnd single-def <<unknown class>>
-;  V05 loc4         [V05,T27] (  3,  1.50)     ref  ->  r14         class-hnd single-def <<unknown class>>
-;  V06 loc5         [V06,T28] (  3,  1.50)     ref  ->  r14         class-hnd single-def <System.Delegate[]>
+;  V00 arg0         [V00,T15] (  8,  5.50)     ref  ->  rbx         class-hnd single-def <System.Object>
+;  V01 loc0         [V01,T25] (  3,  1.50)     ref  ->  r15         class-hnd single-def <System.Action>
+;  V02 loc1         [V02,T26] (  3,  1.50)     ref  ->  rax         class-hnd single-def <<unknown class>>
+;  V03 loc2         [V03,T27] (  3,  1.50)     ref  ->  rax         class-hnd single-def <System.Threading.Tasks.Task>
+;  V04 loc3         [V04,T22] (  4,  2   )     ref  ->  r14         class-hnd single-def <<unknown class>>
+;  V05 loc4         [V05,T28] (  3,  1.50)     ref  ->  r14         class-hnd single-def <<unknown class>>
+;  V06 loc5         [V06,T29] (  3,  1.50)     ref  ->  r14         class-hnd single-def <System.Delegate[]>
 ;  V07 loc6         [V07,T01] (  8, 52.50)     ref  ->  rbx         class-hnd exact single-def <<unknown class>>
 ;* V08 loc7         [V08    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Object]>
 ;* V09 loc8         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Object>
-;  V10 loc9         [V10,T15] (  3,  6   )     ref  ->  r12         class-hnd <System.Delegate[]>
+;  V10 loc9         [V10,T16] (  3,  6   )     ref  ->  r12         class-hnd <System.Delegate[]>
 ;  V11 loc10        [V11,T07] (  3, 20   )     ref  ->  r12         class-hnd <System.Delegate[]>
 ;  V12 loc11        [V12,T00] (  5, 66   )     int  ->  [rbp-0x2C] 
 ;  V13 loc12        [V13,T02] (  4, 48   )     ref  ->  rdx         class-hnd <System.Delegate>
 ;# V14 OutArgs      [V14    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V15 tmp1         [V15,T17] (  3,  3   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V16 tmp2         [V16,T18] (  3,  3   )     ref  ->  rbx         class-hnd exact single-def "dup spill" <System.Delegate[]>
-;  V17 tmp3         [V17,T19] (  3,  3   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V18 tmp4         [V18,T20] (  3,  3   )     ref  ->  r14         class-hnd exact single-def "dup spill" <System.Delegate[]>
-;  V19 tmp5         [V19,T22] (  2,  2   )     ref  ->  rax         class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.Action>
+;  V15 tmp1         [V15,T18] (  3,  3   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V16 tmp2         [V16,T19] (  3,  3   )     ref  ->  rbx         class-hnd exact single-def "dup spill" <System.Delegate[]>
+;  V17 tmp3         [V17,T20] (  3,  3   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V18 tmp4         [V18,T21] (  3,  3   )     ref  ->  r14         class-hnd exact single-def "dup spill" <System.Delegate[]>
+;  V19 tmp5         [V19,T23] (  2,  2   )     ref  ->  rax         class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.Action>
 ;* V20 tmp6         [V20    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Object]>
 ;  V21 tmp7         [V21,T05] (  3, 24   )     ref  ->  rdi         class-hnd "Inline stloc first use temp" <System.Delegate[]>
 ;  V22 tmp8         [V22,T03] (  4, 32   )     int  ->  rsi         "Inline stloc first use temp"
@@ -38,15 +38,16 @@
 ;  V26 tmp12        [V26,T10] (  4, 12.50)     ref  ->  r14         single-def "field V08._list (fldOffset=0x0)" P-INDEP
 ;  V27 tmp13        [V27,T12] (  2,  6   )     ref  ->  rdi         "field V08._current (fldOffset=0x8)" P-INDEP
 ;  V28 tmp14        [V28,T04] (  6, 20.50)     int  ->  r13         "field V08._index (fldOffset=0x10)" P-INDEP
-;  V29 tmp15        [V29,T16] (  2,  4.50)     int  ->  r15         "field V08._version (fldOffset=0x14)" P-INDEP
-;  V30 tmp16        [V30,T29] (  3,  1.50)     ref  ->  r14         single-def "field V20._list (fldOffset=0x0)" P-INDEP
+;  V29 tmp15        [V29,T17] (  2,  4.50)     int  ->  r15         "field V08._version (fldOffset=0x14)" P-INDEP
+;  V30 tmp16        [V30,T30] (  3,  1.50)     ref  ->  r14         single-def "field V20._list (fldOffset=0x0)" P-INDEP
 ;* V31 tmp17        [V31    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V20._current (fldOffset=0x8)" P-INDEP
-;* V32 tmp18        [V32,T31] (  0,  0   )     int  ->  zero-ref    "field V20._index (fldOffset=0x10)" P-INDEP
-;  V33 tmp19        [V33,T30] (  2,  1   )     int  ->  r15         "field V20._version (fldOffset=0x14)" P-INDEP
+;* V32 tmp18        [V32,T32] (  0,  0   )     int  ->  zero-ref    "field V20._index (fldOffset=0x10)" P-INDEP
+;  V33 tmp19        [V33,T31] (  2,  1   )     int  ->  r15         "field V20._version (fldOffset=0x14)" P-INDEP
 ;  V34 tmp20        [V34,T06] (  3, 24   )     ref  ->  rdi         "arr expr"
-;  V35 tmp21        [V35,T23] (  2,  2   )    long  ->  rdx         "argument with side effect"
-;  V36 cse0         [V36,T11] (  2,  8   )     int  ->  rdi         "CSE - moderate"
-;  V37 cse1         [V37,T08] (  3, 20   )     int  ->  [rbp-0x30]  spill-single-def "CSE - moderate"
+;  V35 tmp21        [V35,T24] (  2,  2   )    long  ->  rdx         "argument with side effect"
+;  V36 cse0         [V36,T14] (  2,  8   )     int  ->  rdi         "CSE - moderate"
+;  V37 cse1         [V37,T11] (  2,  8   )     int  ->  rdi         "CSE - moderate"
+;  V38 cse2         [V38,T08] (  3, 20   )     int  ->  [rbp-0x30]  spill-single-def "CSE - moderate"
 ;
 ; Lcl frame size = 8
 
@@ -269,7 +270,8 @@ G_M37569_IG12:        ; bbWeight=16, gcrefRegs=5008 {rbx r12 r14}, byrefRegs=000
                        ;; size=12 bbWeight=16 PerfScore 56.00
 G_M37569_IG13:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[r12]
-       cmp      r15d, dword ptr [r14+0x14]
+       mov      edi, dword ptr [r14+0x14]
+       cmp      r15d, edi
        jne      SHORT G_M37569_IG20
        mov      edi, dword ptr [r14+0x10]
        cmp      r13d, edi
@@ -282,7 +284,7 @@ G_M37569_IG13:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {},
        mov      rdi, gword ptr [rdi+8*rax+0x10]
        inc      r13d
        jmp      G_M37569_IG08
-                        ;; size=41 bbWeight=4 PerfScore 71.00
+                     ;; size=44 bbWeight=4 PerfScore 68.00
 G_M37569_IG14:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi r14]
        mov      rdi, rbx
@@ -334,7 +336,7 @@ G_M37569_IG20:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 506, prolog size 19, PerfScore 456.88, instruction count 148, allocated bytes for code 506 (MethodHash=9db16d3e) for method System.Threading.Tasks.Task:GetDelegatesFromContinuationObject(System.Object):System.Delegate[] (FullOpts)
+; Total bytes of code 509, prolog size 19, PerfScore 453.88, instruction count 149, allocated bytes for code 509 (MethodHash=9db16d3e) for method System.Threading.Tasks.Task:GetDelegatesFromContinuationObject(System.Object):System.Delegate[] (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+5 (+0.63%) : 22834.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
@@ -9,54 +9,55 @@
 ; 0 inlinees with PGO data; 13 single block inlinees; 13 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T14] (  8, 260   )     ref  ->  r15         class-hnd exact single-def <<unknown class>>
-;  V01 loc1         [V01,T00] ( 16,1249   )     ref  ->  r14         class-hnd single-def <<unknown class>>
+;  V00 loc0         [V00,T15] (  8, 260   )     ref  ->  r15         class-hnd exact single-def <<unknown class>>
+;  V01 loc1         [V01,T01] ( 15,1121   )     ref  ->  r14         class-hnd single-def <<unknown class>>
 ;  V02 loc2         [V02,T05] (  9, 641   )     ref  ->  rbx         class-hnd single-def <<unknown class>>
 ;  V03 loc3         [V03,T08] (  8, 392   )     int  ->  registers  
-;  V04 loc4         [V04,T38] (  2,   0   )     ref  ->  [rbp-0x50]  class-hnd exact EH-live single-def <<unknown class>>
+;  V04 loc4         [V04,T39] (  2,   0   )     ref  ->  [rbp-0x50]  class-hnd exact EH-live single-def <<unknown class>>
 ;  V05 loc5         [V05    ] (  6,   5   )   ubyte  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed ld-addr-op
-;  V06 loc6         [V06,T25] (  2, 192   )    long  ->  r13        
-;  V07 loc7         [V07,T28] (  3,  80   )     ref  ->  [rbp-0x58]  do-not-enreg[Z] class-hnd exact EH-live <<unknown class>>
+;  V06 loc6         [V06,T26] (  2, 192   )    long  ->  r13        
+;  V07 loc7         [V07,T29] (  3,  80   )     ref  ->  [rbp-0x58]  do-not-enreg[Z] class-hnd exact EH-live <<unknown class>>
 ;  V08 loc8         [V08    ] (  6, 320   )   ubyte  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed ld-addr-op
-;  V09 loc9         [V09,T01] ( 12,1152   )     int  ->  [rbp-0x3C] 
+;  V09 loc9         [V09,T00] ( 12,1152   )     int  ->  [rbp-0x3C] 
 ;  V10 loc10        [V10,T07] (  5, 448   )     ref  ->  rsi         class-hnd exact <System.Threading.TimerQueue>
 ;  V11 loc11        [V11,T10] (  4, 384   )    long  ->  rcx        
 ;  V12 loc12        [V12,T09] (  6, 384   )     int  ->  [rbp-0x40]  spill-single-def
 ;* V13 loc13        [V13    ] (  0,   0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.TimerQueue]>
 ;* V14 loc14        [V14    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact <System.Threading.TimerQueue>
 ;# V15 OutArgs      [V15    ] (  1,   1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V16 tmp1         [V16,T36] (  2,   4   )   ubyte  ->  rdi         "Inlining Arg"
+;  V16 tmp1         [V16,T37] (  2,   4   )   ubyte  ->  rdi         "Inlining Arg"
 ;* V17 tmp2         [V17    ] (  0,   0   )     int  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V18 tmp3         [V18,T30] (  0,   0   )     int  ->  zero-ref    "Inline return value spill temp"
-;  V19 tmp4         [V19,T20] (  2, 256   )   ubyte  ->  rdi         "Inlining Arg"
-;  V20 tmp5         [V20,T22] (  3, 192   )     ref  ->  rdi         class-hnd exact "Inline stloc first use temp" <<unknown class>>
-;  V21 tmp6         [V21,T15] (  4, 256   )     int  ->  rcx         "Inline stloc first use temp"
-;  V22 tmp7         [V22,T17] (  2, 256   )     ref  ->  rdx         class-hnd exact "Inlining Arg" <System.Threading.TimerQueue>
+;* V18 tmp3         [V18,T31] (  0,   0   )     int  ->  zero-ref    "Inline return value spill temp"
+;  V19 tmp4         [V19,T21] (  2, 256   )   ubyte  ->  rdi         "Inlining Arg"
+;  V20 tmp5         [V20,T23] (  3, 192   )     ref  ->  rdi         class-hnd exact "Inline stloc first use temp" <<unknown class>>
+;  V21 tmp6         [V21,T16] (  4, 256   )     int  ->  rcx         "Inline stloc first use temp"
+;  V22 tmp7         [V22,T18] (  2, 256   )     ref  ->  rdx         class-hnd exact "Inlining Arg" <System.Threading.TimerQueue>
 ;* V23 tmp8         [V23    ] (  0,   0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.TimerQueue]>
-;* V24 tmp9         [V24,T21] (  0,   0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V24 tmp9         [V24,T22] (  0,   0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V25 tmp10        [V25    ] (  0,   0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V26 tmp11        [V26,T13] (  3, 272   )     int  ->  rdx         "Inline stloc first use temp"
-;* V27 tmp12        [V27,T33] (  0,   0   )     ref  ->  zero-ref    "field V13._list (fldOffset=0x0)" P-INDEP
-;  V28 tmp13        [V28,T12] (  2, 192   )     ref  ->  [rbp-0x60]  spill-single-def "field V13._current (fldOffset=0x8)" P-INDEP
+;  V26 tmp11        [V26,T14] (  3, 272   )     int  ->  rdx         "Inline stloc first use temp"
+;* V27 tmp12        [V27,T34] (  0,   0   )     ref  ->  zero-ref    "field V13._list (fldOffset=0x0)" P-INDEP
+;  V28 tmp13        [V28,T13] (  2, 192   )     ref  ->  [rbp-0x60]  spill-single-def "field V13._current (fldOffset=0x8)" P-INDEP
 ;  V29 tmp14        [V29,T02] (  6, 656   )     int  ->  [rbp-0x44]  "field V13._index (fldOffset=0x10)" P-INDEP
-;  V30 tmp15        [V30,T26] (  2, 144   )     int  ->  r13         "field V13._version (fldOffset=0x14)" P-INDEP
-;  V31 tmp16        [V31,T31] (  2,  32   )     ref  ->  rax         "field V23._list (fldOffset=0x0)" P-INDEP
+;  V30 tmp15        [V30,T27] (  2, 144   )     int  ->  r13         "field V13._version (fldOffset=0x14)" P-INDEP
+;  V31 tmp16        [V31,T32] (  2,  32   )     ref  ->  rax         "field V23._list (fldOffset=0x0)" P-INDEP
 ;* V32 tmp17        [V32    ] (  0,   0   )     ref  ->  zero-ref    "field V23._current (fldOffset=0x8)" P-INDEP
-;* V33 tmp18        [V33,T34] (  0,   0   )     int  ->  zero-ref    "field V23._index (fldOffset=0x10)" P-INDEP
-;  V34 tmp19        [V34,T32] (  2,  32   )     int  ->  r13         "field V23._version (fldOffset=0x14)" P-INDEP
+;* V33 tmp18        [V33,T35] (  0,   0   )     int  ->  zero-ref    "field V23._index (fldOffset=0x10)" P-INDEP
+;  V34 tmp19        [V34,T33] (  2,  32   )     int  ->  r13         "field V23._version (fldOffset=0x14)" P-INDEP
 ;  V35 tmp20        [V35,T03] (  3, 768   )     ref  ->  rdi         "arr expr"
 ;  V36 tmp21        [V36,T11] (  3, 384   )     ref  ->  rdx         "arr expr"
-;  V37 tmp22        [V37,T18] (  2, 256   )     ref  ->  rsi         "arr expr"
+;  V37 tmp22        [V37,T19] (  2, 256   )     ref  ->  rsi         "arr expr"
 ;  V38 tmp23        [V38,T04] (  3, 768   )     ref  ->  rcx         "arr expr"
-;  V39 tmp24        [V39,T19] (  2, 256   )     ref  ->  rdi         "argument with side effect"
-;  V40 PSPSym       [V40,T37] (  1,   1   )    long  ->  [rbp-0x70]  do-not-enreg[V] "PSPSym"
-;  V41 cse0         [V41,T35] (  4,   4   )   byref  ->  rbx         "CSE - moderate"
-;  V42 cse1         [V42,T29] (  6,  51   )     ref  ->  rsi         multi-def "CSE - moderate"
-;  V43 cse2         [V43,T06] (  3, 384   )     int  ->  rdx         "CSE - moderate"
-;  V44 cse3         [V44,T16] (  4, 256   )     int  ->  rdi         "CSE - moderate"
-;  V45 cse4         [V45,T23] (  3, 192   )     ref  ->  rsi         "CSE - moderate"
-;  V46 cse5         [V46,T27] (  2, 128   )     int  ->  rdx         "CSE - moderate"
-;  V47 cse6         [V47,T24] (  3, 192   )     int  ->   r8         "CSE - moderate"
+;  V39 tmp24        [V39,T20] (  2, 256   )     ref  ->  rdi         "argument with side effect"
+;  V40 PSPSym       [V40,T38] (  1,   1   )    long  ->  [rbp-0x70]  do-not-enreg[V] "PSPSym"
+;  V41 cse0         [V41,T36] (  4,   4   )   byref  ->  rbx         "CSE - moderate"
+;  V42 cse1         [V42,T30] (  6,  51   )     ref  ->  rsi         multi-def "CSE - moderate"
+;  V43 cse2         [V43,T12] (  3, 384   )     int  ->  rcx         "CSE - moderate"
+;  V44 cse3         [V44,T06] (  3, 384   )     int  ->  rdx         "CSE - moderate"
+;  V45 cse4         [V45,T17] (  4, 256   )     int  ->  rdi         "CSE - moderate"
+;  V46 cse5         [V46,T24] (  3, 192   )     ref  ->  rsi         "CSE - moderate"
+;  V47 cse6         [V47,T28] (  2, 128   )     int  ->  rdx         "CSE - moderate"
+;  V48 cse7         [V48,T25] (  3, 192   )     int  ->   r8         "CSE - moderate"
 ;
 ; Lcl frame size = 72
 
@@ -86,7 +87,7 @@ G_M45973_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        xor      esi, esi
        mov      dword ptr [rbp-0x30], esi
                        ;; size=32 bbWeight=1 PerfScore 9.50
-G_M45973_IG03:        ; bbWeight=1, gcVars=0000004000000000 {V04}, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, gcvars, byref, isz
+G_M45973_IG03:        ; bbWeight=1, gcVars=0000008000000000 {V04}, gcrefRegs=C000 {r14 r15}, byrefRegs=0008 {rbx}, gcvars, byref, isz
        ; byrRegs -[rax]
        cmp      byte  ptr [rbp-0x30], 0
        je       SHORT G_M45973_IG05
@@ -160,7 +161,7 @@ G_M45973_IG09:        ; bbWeight=64, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=000
        xor      esi, esi
        mov      dword ptr [rbp-0x38], esi
                        ;; size=56 bbWeight=64 PerfScore 912.00
-G_M45973_IG10:        ; bbWeight=64, gcVars=0000000010000000 {V07}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M45973_IG10:        ; bbWeight=64, gcVars=0000000020000000 {V07}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        cmp      byte  ptr [rbp-0x38], 0
        jne      G_M45973_IG24
        lea      rsi, [rbp-0x38]
@@ -333,8 +334,8 @@ G_M45973_IG28:        ; bbWeight=16, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=000
        ; gcrRegs -[rax]
        jmp      SHORT G_M45973_IG30
                        ;; size=11 bbWeight=16 PerfScore 72.00
-G_M45973_IG29:        ; bbWeight=64, gcVars=0000000000001000 {V28}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref
-       ; GC ptr vars +{V12 V28}
+G_M45973_IG29:        ; bbWeight=64, gcVars=0000000000002000 {V28}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref
+       ; GC ptr vars +{V28}
        call     [CORINFO_HELP_READYTORUN_GCSTATIC_BASE]
        ; byrRegs +[rax]
        ; gcr arg pop 0
@@ -343,7 +344,7 @@ G_M45973_IG29:        ; bbWeight=64, gcVars=0000000000001000 {V28}, gcrefRegs=C0
        mov      rsi, gword ptr [rbp-0x60]
        ; gcrRegs +[rsi]
        cmp      dword ptr [rdi], edi
-       ; GC ptr vars -{V12 V28}
+       ; GC ptr vars -{V28}
        call     [System.Threading.ThreadPoolWorkQueue:EnqueueAtHighPriority(System.Object):this]
        ; gcrRegs -[rsi rdi]
        ; byrRegs -[rax]
@@ -351,7 +352,8 @@ G_M45973_IG29:        ; bbWeight=64, gcVars=0000000000001000 {V28}, gcrefRegs=C0
        mov      eax, dword ptr [rbp-0x44]
                        ;; size=28 bbWeight=64 PerfScore 832.00
 G_M45973_IG30:        ; bbWeight=128, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
-       cmp      r13d, dword ptr [r14+0x14]
+       mov      ecx, dword ptr [r14+0x14]
+       cmp      r13d, ecx
        jne      SHORT G_M45973_IG37
        mov      edx, dword ptr [r14+0x10]
        cmp      eax, edx
@@ -367,16 +369,17 @@ G_M45973_IG30:        ; bbWeight=128, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=00
        inc      eax
        mov      dword ptr [rbp-0x44], eax
        jmp      SHORT G_M45973_IG29
-                      ;; size=41 bbWeight=128 PerfScore 2528.00
+                     ;; size=44 bbWeight=128 PerfScore 2432.00
 G_M45973_IG31:        ; bbWeight=128, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rcx]
        ; GC ptr vars -{V28}
-       inc      dword ptr [r14+0x14]
+       inc      ecx
+       mov      dword ptr [r14+0x14], ecx
        xor      edi, edi
        mov      dword ptr [r14+0x10], edi
        test     edx, edx
        jle      SHORT G_M45973_IG33
-                      ;; size=14 bbWeight=128 PerfScore 704.00
+                      ;; size=16 bbWeight=128 PerfScore 480.00
 G_M45973_IG32:        ; bbWeight=16, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
        mov      rdi, gword ptr [r14+0x08]
        ; gcrRegs +[rdi]
@@ -414,8 +417,8 @@ G_M45973_IG37:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M45973_IG38:        ; bbWeight=0, gcVars=0000004000000000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-       ; GC ptr vars +{V04 V38}
+G_M45973_IG38:        ; bbWeight=0, gcVars=0000008000000000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+       ; GC ptr vars +{V04 V39}
        push     rbp
        push     r15
        push     r14
@@ -427,12 +430,12 @@ G_M45973_IG38:        ; bbWeight=0, gcVars=0000004000000000 {V04}, gcrefRegs=000
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x70]
                        ;; size=22 bbWeight=0 PerfScore 0.00
-G_M45973_IG39:        ; bbWeight=0, gcVars=0000004000000000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M45973_IG39:        ; bbWeight=0, gcVars=0000008000000000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        cmp      byte  ptr [rbp-0x30], 0
        je       SHORT G_M45973_IG40
        mov      rdi, gword ptr [rbp-0x50]
        ; gcrRegs +[rdi]
-       ; GC ptr vars -{V04 V38}
+       ; GC ptr vars -{V04 V39}
        call     [<unknown method>]
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
@@ -450,8 +453,8 @@ G_M45973_IG41:        ; bbWeight=0, funclet epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=15 bbWeight=0 PerfScore 0.00
-G_M45973_IG42:        ; bbWeight=0, gcVars=0000000010000000 {V07}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-       ; GC ptr vars +{V07 V28}
+G_M45973_IG42:        ; bbWeight=0, gcVars=0000000020000000 {V07}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+       ; GC ptr vars +{V07 V29}
        push     rbp
        push     r15
        push     r14
@@ -463,12 +466,12 @@ G_M45973_IG42:        ; bbWeight=0, gcVars=0000000010000000 {V07}, gcrefRegs=000
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x70]
                        ;; size=22 bbWeight=0 PerfScore 0.00
-G_M45973_IG43:        ; bbWeight=0, gcVars=0000000010000000 {V07}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M45973_IG43:        ; bbWeight=0, gcVars=0000000020000000 {V07}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        cmp      byte  ptr [rbp-0x38], 0
        je       SHORT G_M45973_IG44
        mov      rdi, gword ptr [rbp-0x58]
        ; gcrRegs +[rdi]
-       ; GC ptr vars -{V07 V28}
+       ; GC ptr vars -{V07 V29}
        call     [<unknown method>]
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
@@ -487,7 +490,7 @@ G_M45973_IG45:        ; bbWeight=0, funclet epilog, nogc, extend
        ret      
                        ;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 795, prolog size 23, PerfScore 12939.75, instruction count 234, allocated bytes for code 795 (MethodHash=b6f44c6a) for method System.Threading.TimerQueue:TimerThread() (FullOpts)
+; Total bytes of code 800, prolog size 23, PerfScore 12619.75, instruction count 236, allocated bytes for code 800 (MethodHash=b6f44c6a) for method System.Threading.TimerQueue:TimerThread() (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+3 (+2.50%) : 22669.dasm - System.Diagnostics.Tracing.TraceLoggingMetadataCollector+Impl:Encode(ubyte[]):int:this (FullOpts)
@@ -9,26 +9,27 @@
 ; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T08] (  3,  3   )     ref  ->  rdi         this class-hnd single-def <System.Diagnostics.Tracing.TraceLoggingMetadataCollector+Impl>
-;  V01 arg1         [V01,T07] (  3,  4   )     ref  ->  rbx         class-hnd single-def <ubyte[]>
+;  V00 this         [V00,T09] (  3,  3   )     ref  ->  rdi         this class-hnd single-def <System.Diagnostics.Tracing.TraceLoggingMetadataCollector+Impl>
+;  V01 arg1         [V01,T08] (  3,  4   )     ref  ->  rbx         class-hnd single-def <ubyte[]>
 ;  V02 loc0         [V02    ] (  3,  7   )     int  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V03 loc1         [V03    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Diagnostics.Tracing.FieldMetadata]>
 ;* V04 loc2         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Diagnostics.Tracing.FieldMetadata>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V06 tmp1         [V06,T09] (  2,  4   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V06 tmp1         [V06,T10] (  2,  4   )     ref  ->  r15         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V07 tmp2         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Diagnostics.Tracing.FieldMetadata]>
-;* V08 tmp3         [V08,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V08 tmp3         [V08,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V09 tmp4         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V10 tmp5         [V10,T02] (  4, 17   )     ref  ->  r15         single-def "field V03._list (fldOffset=0x0)" P-INDEP
-;  V11 tmp6         [V11,T04] (  2,  6   )     ref  ->  rdi         "field V03._current (fldOffset=0x8)" P-INDEP
+;  V11 tmp6         [V11,T05] (  2,  6   )     ref  ->  rdi         "field V03._current (fldOffset=0x8)" P-INDEP
 ;  V12 tmp7         [V12,T00] (  6, 21   )     int  ->  r13         "field V03._index (fldOffset=0x10)" P-INDEP
-;  V13 tmp8         [V13,T05] (  2,  9   )     int  ->  r14         "field V03._version (fldOffset=0x14)" P-INDEP
-;  V14 tmp9         [V14,T10] (  3,  3   )     ref  ->  r15         single-def "field V07._list (fldOffset=0x0)" P-INDEP
+;  V13 tmp8         [V13,T06] (  2,  9   )     int  ->  r14         "field V03._version (fldOffset=0x14)" P-INDEP
+;  V14 tmp9         [V14,T11] (  3,  3   )     ref  ->  r15         single-def "field V07._list (fldOffset=0x0)" P-INDEP
 ;* V15 tmp10        [V15    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V07._current (fldOffset=0x8)" P-INDEP
-;* V16 tmp11        [V16,T12] (  0,  0   )     int  ->  zero-ref    "field V07._index (fldOffset=0x10)" P-INDEP
-;  V17 tmp12        [V17,T11] (  2,  2   )     int  ->  r14         "field V07._version (fldOffset=0x14)" P-INDEP
+;* V16 tmp11        [V16,T13] (  0,  0   )     int  ->  zero-ref    "field V07._index (fldOffset=0x10)" P-INDEP
+;  V17 tmp12        [V17,T12] (  2,  2   )     int  ->  r14         "field V07._version (fldOffset=0x14)" P-INDEP
 ;  V18 tmp13        [V18,T01] (  3, 24   )     ref  ->  rsi         "arr expr"
-;  V19 cse0         [V19,T03] (  2,  8   )     int  ->  rsi         "CSE - aggressive"
+;  V19 cse0         [V19,T04] (  2,  8   )     int  ->  rsi         "CSE - aggressive"
+;  V20 cse1         [V20,T03] (  2, 16   )     int  ->  rsi         "CSE - aggressive"
 ;
 ; Lcl frame size = 16
 
@@ -66,9 +67,10 @@ G_M38703_IG04:        ; bbWeight=2, gcrefRegs=8088 {rbx rdi r15}, byrefRegs=0000
        ; gcrRegs -[rdx rdi]
                        ;; size=15 bbWeight=2 PerfScore 13.50
 G_M38703_IG05:        ; bbWeight=8, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
-       cmp      r14d, dword ptr [r15+0x14]
+       mov      esi, dword ptr [r15+0x14]
+       cmp      r14d, esi
        jne      SHORT G_M38703_IG10
-                     ;; size=6 bbWeight=8 PerfScore 32.00
+                      ;; size=9 bbWeight=8 PerfScore 26.00
 G_M38703_IG06:        ; bbWeight=4, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
        mov      esi, dword ptr [r15+0x10]
        cmp      r13d, esi
@@ -104,7 +106,7 @@ G_M38703_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 120, prolog size 17, PerfScore 133.00, instruction count 41, allocated bytes for code 120 (MethodHash=726d68d0) for method System.Diagnostics.Tracing.TraceLoggingMetadataCollector+Impl:Encode(ubyte[]):int:this (FullOpts)
+; Total bytes of code 123, prolog size 17, PerfScore 127.00, instruction count 42, allocated bytes for code 123 (MethodHash=726d68d0) for method System.Diagnostics.Tracing.TraceLoggingMetadataCollector+Impl:Encode(ubyte[]):int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
libraries.pmi.linux.x64.checked.mch
-18 (-8.00%) : 292852.dasm - System.Threading.Tasks.Dataflow.Internal.Common:ReleaseAllPostponedMessagesubyte (FullOpts)
@@ -8,76 +8,75 @@
 ; 0 inlinees with PGO data; 7 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T04] (  4, 10   )     ref  ->  [rbp-0x30]  class-hnd EH-live single-def <System.Threading.Tasks.Dataflow.ITargetBlock`1[ubyte]>
-;  V01 arg1         [V01,T01] (  5, 15   )     ref  ->  [rbp-0x38]  class-hnd EH-live single-def <System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
-;  V02 arg2         [V02,T07] (  3,  2   )   byref  ->  [rbp-0x40]  EH-live single-def
+;  V00 arg0         [V00,T04] (  4, 10   )     ref  ->  [rbp-0x28]  class-hnd EH-live single-def <System.Threading.Tasks.Dataflow.ITargetBlock`1[ubyte]>
+;  V01 arg1         [V01,T00] (  5, 19   )     ref  ->  [rbp-0x30]  class-hnd EH-live single-def <System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
+;  V02 arg2         [V02,T07] (  3,  2   )   byref  ->  [rbp-0x38]  EH-live single-def
 ;* V03 loc0         [V03    ] (  0,  0   )     int  ->  zero-ref   
-;  V04 loc1         [V04,T05] (  3,  9   )     int  ->  [rbp-0x14]  do-not-enreg[Z] EH-live
-;  V05 loc2         [V05    ] (  6, 28   )  struct (16) [rbp-0x28]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
+;  V04 loc1         [V04,T05] (  3,  9   )     int  ->  [rbp-0x0C]  do-not-enreg[Z] EH-live
+;  V05 loc2         [V05    ] (  6, 32   )  struct (16) [rbp-0x20]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
 ;* V06 loc3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V08 tmp1         [V08,T02] (  2, 16   )     ref  ->  rdi         class-hnd "impAppendStmt" <System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte]>
+;  V08 tmp1         [V08,T01] (  2, 16   )     ref  ->  rdi         class-hnd "impAppendStmt" <System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte]>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Threading.Tasks.Dataflow.DataflowMessageHeader>
-;  V10 tmp3         [V10,T03] (  2, 16   )     ref  ->  rdi         class-hnd "impAppendStmt" <System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte]>
+;  V10 tmp3         [V10,T02] (  2, 16   )     ref  ->  rdi         class-hnd "impAppendStmt" <System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte]>
 ;* V11 tmp4         [V11    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Threading.Tasks.Dataflow.DataflowMessageHeader>
 ;  V12 tmp5         [V12,T09] (  2,  0   )     ref  ->  rsi         class-hnd "impSpillSpecialSideEff" <<unknown class>>
 ;  V13 tmp6         [V13,T06] (  2,  4   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.__Canon,int]>
-;  V14 tmp7         [V14,T00] (  3, 24   )   ubyte  ->  r15         "Inline stloc first use temp"
+;  V14 tmp7         [V14,T03] (  2, 16   )   ubyte  ->  rax         "Inline stloc first use temp"
 ;* V15 tmp8         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.__Canon,int]>
-;  V16 tmp9         [V16    ] (  4, 20   )     ref  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V05.key (fldOffset=0x0)" P-DEP
-;  V17 tmp10        [V17    ] (  3, 16   )    long  ->  [rbp-0x20]  do-not-enreg[X] addr-exposed "field V05.value (fldOffset=0x8)" P-DEP
+;  V16 tmp9         [V16    ] (  4, 24   )     ref  ->  [rbp-0x20]  do-not-enreg[X] addr-exposed "field V05.key (fldOffset=0x0)" P-DEP
+;  V17 tmp10        [V17    ] (  3, 16   )    long  ->  [rbp-0x18]  do-not-enreg[X] addr-exposed "field V05.value (fldOffset=0x8)" P-DEP
 ;* V18 tmp11        [V18    ] (  0,  0   )    long  ->  zero-ref    "field V09._id (fldOffset=0x0)" P-INDEP
 ;* V19 tmp12        [V19    ] (  0,  0   )    long  ->  zero-ref    "field V11._id (fldOffset=0x0)" P-INDEP
-;  V20 PSPSym       [V20,T08] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
+;  V20 PSPSym       [V20,T08] (  1,  1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 64
+; Lcl frame size = 56
 
 G_M8667_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
-       push     r15
        push     rbx
-       sub      rsp, 64
-       lea      rbp, [rsp+0x50]
+       sub      rsp, 56
+       lea      rbp, [rsp+0x40]
        xor      eax, eax
-       mov      qword ptr [rbp-0x28], rax
-       mov      qword ptr [rbp-0x50], rsp
-       mov      gword ptr [rbp-0x30], rdi
+       mov      qword ptr [rbp-0x20], rax
+       mov      qword ptr [rbp-0x40], rsp
+       mov      gword ptr [rbp-0x28], rdi
        ; GC ptr vars +{V00}
-       mov      gword ptr [rbp-0x38], rsi
+       mov      gword ptr [rbp-0x30], rsi
        ; GC ptr vars +{V01}
-       mov      bword ptr [rbp-0x40], rdx
+       mov      bword ptr [rbp-0x38], rdx
        ; GC ptr vars +{V02}
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=38 bbWeight=1 PerfScore 9.25
-G_M8667_IG02:        ; bbWeight=1, gcVars=0000000000000092 {V00 V01 V02}, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, gcvars, byref, isz
+                        ;; size=36 bbWeight=1 PerfScore 8.25
+G_M8667_IG02:        ; bbWeight=1, gcVars=0000000000000091 {V00 V01 V02}, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[rsi]
        mov      rax, gword ptr [rsi+0x10]
        ; gcrRegs +[rax]
        cmp      byte  ptr [rax], al
        xor      eax, eax
        ; gcrRegs -[rax]
-       mov      dword ptr [rbp-0x14], eax
+       mov      dword ptr [rbp-0x0C], eax
        jmp      SHORT G_M8667_IG05
                        ;; size=13 bbWeight=1 PerfScore 8.25
 G_M8667_IG03:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rsi]
-       mov      rdi, gword ptr [rbp-0x28]
+       mov      rdi, gword ptr [rbp-0x20]
        ; gcrRegs +[rdi]
        mov      rdx, rbx
        ; gcrRegs +[rdx]
-       mov      rsi, qword ptr [rbp-0x20]
+       mov      rsi, qword ptr [rbp-0x18]
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
        call     [r11]<unknown method>
        ; gcrRegs -[rdx rdi]
        ; gcr arg pop 0
        test     eax, eax
        je       SHORT G_M8667_IG04
-       mov      rdi, gword ptr [rbp-0x28]
+       mov      rdi, gword ptr [rbp-0x20]
        ; gcrRegs +[rdi]
        mov      rdx, rbx
        ; gcrRegs +[rdx]
-       mov      rsi, qword ptr [rbp-0x20]
+       mov      rsi, qword ptr [rbp-0x18]
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
        call     [r11]<unknown method>
        ; gcrRegs -[rdx rdi]
@@ -86,64 +85,56 @@ G_M8667_IG03:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byre
                        ;; size=53 bbWeight=4 PerfScore 50.00
 G_M8667_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx]
-       mov      esi, dword ptr [rbp-0x14]
+       mov      esi, dword ptr [rbp-0x0C]
        inc      esi
-       mov      dword ptr [rbp-0x14], esi
-       mov      rbx, gword ptr [rbp-0x30]
+       mov      dword ptr [rbp-0x0C], esi
+       mov      rbx, gword ptr [rbp-0x28]
        ; gcrRegs +[rbx]
-       mov      rsi, gword ptr [rbp-0x38]
+       mov      rsi, gword ptr [rbp-0x30]
        ; gcrRegs +[rsi]
                        ;; size=16 bbWeight=4 PerfScore 17.00
 G_M8667_IG05:        ; bbWeight=8, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        mov      rdi, gword ptr [rsi+0x08]
        ; gcrRegs +[rdi]
-       lea      rsi, [rbp-0x28]
+       lea      rsi, [rbp-0x20]
        ; gcrRegs -[rsi]
        cmp      dword ptr [rdi], edi
        call     [<unknown method>]
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
-       mov      r15d, eax
-       test     r15d, r15d
-       je       SHORT G_M8667_IG07
-                       ;; size=24 bbWeight=8 PerfScore 80.00
-G_M8667_IG06:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       mov      rsi, gword ptr [rbp-0x38]
+       test     eax, eax
+       je       SHORT G_M8667_IG06
+       mov      rsi, gword ptr [rbp-0x30]
        ; gcrRegs +[rsi]
        mov      rdi, gword ptr [rsi+0x10]
        ; gcrRegs +[rdi]
-       mov      rsi, gword ptr [rbp-0x28]
+       mov      rsi, gword ptr [rbp-0x20]
        cmp      dword ptr [rdi], edi
        call     [<unknown method>]
        ; gcrRegs -[rsi rdi]
        ; gcr arg pop 0
-                       ;; size=20 bbWeight=4 PerfScore 40.00
-G_M8667_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       test     r15d, r15d
-       jne      SHORT G_M8667_IG03
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M8667_IG08:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, epilog, nogc
+       jmp      SHORT G_M8667_IG03
+                       ;; size=42 bbWeight=8 PerfScore 174.00
+G_M8667_IG06:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, epilog, nogc
        ; gcrRegs -[rbx]
        ; GC ptr vars -{V00 V01 V02}
-       add      rsp, 64
+       add      rsp, 56
        pop      rbx
-       pop      r15
        pop      rbp
        ret      
-                     ;; size=9 bbWeight=1 PerfScore 2.75
-G_M8667_IG09:        ; bbWeight=0, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                      ;; size=7 bbWeight=1 PerfScore 2.25
+G_M8667_IG07:        ; bbWeight=0, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        ; gcrRegs +[rsi]
        push     rbp
-       push     r15
        push     rbx
-       sub      rsp, 16
+       push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
-       lea      rbp, [rbp+0x50]
-                       ;; size=19 bbWeight=0 PerfScore 0.00
-G_M8667_IG10:        ; bbWeight=0, gcVars=0000000000000092 {V00 V01 V02}, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, gcvars, byref
+       lea      rbp, [rbp+0x40]
+                       ;; size=14 bbWeight=0 PerfScore 0.00
+G_M8667_IG08:        ; bbWeight=0, gcVars=0000000000000091 {V00 V01 V02}, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars +{V00 V01 V02 V04}
-       mov      rdi, bword ptr [rbp-0x40]
+       mov      rdi, bword ptr [rbp-0x38]
        ; byrRegs +[rdi]
        xor      edx, edx
        call     [<unknown method>]
@@ -152,15 +143,14 @@ G_M8667_IG10:        ; bbWeight=0, gcVars=0000000000000092 {V00 V01 V02}, gcrefR
        ; gcr arg pop 0
        lea      rax, G_M8667_IG04
                        ;; size=19 bbWeight=0 PerfScore 0.00
-G_M8667_IG11:        ; bbWeight=0, funclet epilog, nogc, extend
-       add      rsp, 16
+G_M8667_IG09:        ; bbWeight=0, funclet epilog, nogc, extend
+       add      rsp, 8
        pop      rbx
-       pop      r15
        pop      rbp
        ret      
-                     ;; size=9 bbWeight=0 PerfScore 0.00
+                       ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 225, prolog size 38, PerfScore 217.25, instruction count 70, allocated bytes for code 225 (MethodHash=12a5de24) for method System.Threading.Tasks.Dataflow.Internal.Common:ReleaseAllPostponedMessages[ubyte](System.Threading.Tasks.Dataflow.ITargetBlock`1[ubyte],System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte],System.Threading.Tasks.Dataflow.DataflowMessageHeader],byref) (FullOpts)
+; Total bytes of code 207, prolog size 36, PerfScore 259.75, instruction count 64, allocated bytes for code 207 (MethodHash=12a5de24) for method System.Threading.Tasks.Dataflow.Internal.Common:ReleaseAllPostponedMessages[ubyte](System.Threading.Tasks.Dataflow.ITargetBlock`1[ubyte],System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte],System.Threading.Tasks.Dataflow.DataflowMessageHeader],byref) (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -168,29 +158,27 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x08
-  CountOfUnwindCodes: 4
+  SizeOfProlog      : 0x06
+  CountOfUnwindCodes: 3
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 7 * 8 + 8 = 64 = 0x40
-    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
+    CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 6 * 8 + 8 = 56 = 0x38
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 Unwind Info:
   >> Start offset   : 0xd1ffab1e (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x08
-  CountOfUnwindCodes: 4
+  SizeOfProlog      : 0x03
+  CountOfUnwindCodes: 3
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
-    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
+    CodeOffset: 0x03 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 0 * 8 + 8 = 8 = 0x08
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 *************** EH table for System.Threading.Tasks.Dataflow.Internal.Common:ReleaseAllPostponedMessages[ubyte](System.Threading.Tasks.Dataflow.ITargetBlock`1[ubyte],System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte],System.Threading.Tasks.Dataflow.DataflowMessageHeader],byref)
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M8667_IG03..G_M8667_IG04) handled by [G_M8667_IG09..END) (class: 1000022)
+EH#0: try [G_M8667_IG03..G_M8667_IG04) handled by [G_M8667_IG07..END) (class: 1000022)
  
-8 (-6.78%) : 276117.dasm - System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
@@ -8,9 +8,9 @@
 ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] (  4, 14   )     ref  ->  r15         this class-hnd single-def <System.Net.HttpEndPointListener>
-;  V01 arg1         [V01,T02] (  5, 22   )     ref  ->  rbx         class-hnd single-def <System.Net.Sockets.SocketAsyncEventArgs>
-;  V02 loc0         [V02,T01] (  3, 24   )   ubyte  ->  r14        
+;  V00 this         [V00,T02] (  4, 18   )     ref  ->  r15         this class-hnd single-def <System.Net.HttpEndPointListener>
+;  V01 arg1         [V01,T01] (  5, 26   )     ref  ->  rbx         class-hnd single-def <System.Net.Sockets.SocketAsyncEventArgs>
+;  V02 loc0         [V02,T03] (  2, 16   )   ubyte  ->  rax        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
 ;  V05 tmp2         [V05,T00] (  3, 48   )     ref  ->  rdi         class-hnd "Inlining Arg" <System.Net.Sockets.Socket>
@@ -20,21 +20,20 @@
 ;* V09 tmp6         [V09,T04] (  0,  0   )     ref  ->  zero-ref    "field V07._source (fldOffset=0x0)" P-INDEP
 ;  V10 PSPSym       [V10,T05] (  1,  1   )    long  ->  [rbp-0x20]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 16
 
 G_M14120_IG01:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
-       push     r14
        push     rbx
-       push     rax
+       sub      rsp, 16
        lea      rbp, [rsp+0x20]
        mov      qword ptr [rbp-0x20], rsp
        mov      r15, rdi
        ; gcrRegs +[r15]
        mov      rbx, rsi
        ; gcrRegs +[rbx]
-                      ;; size=22 bbWeight=8 PerfScore 56.00
+                     ;; size=23 bbWeight=8 PerfScore 42.00
 G_M14120_IG02:        ; bbWeight=8, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
        xor      rdi, rdi
        ; gcrRegs +[rdi]
@@ -48,13 +47,11 @@ G_M14120_IG02:        ; bbWeight=8, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {},
        call     [<unknown method>]
        ; gcrRegs -[rdx rsi rdi]
        ; gcr arg pop 0
-       mov      r14d, eax
-                       ;; size=27 bbWeight=8 PerfScore 80.00
+       nop      
+                       ;; size=25 bbWeight=8 PerfScore 80.00
 G_M14120_IG03:        ; bbWeight=8, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
-       test     r14d, r14d
-       jne      SHORT G_M14120_IG05
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M14120_IG04:        ; bbWeight=4, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
+       test     eax, eax
+       jne      SHORT G_M14120_IG04
        mov      rdi, r15
        ; gcrRegs +[rdi]
        mov      rsi, rbx
@@ -62,43 +59,37 @@ G_M14120_IG04:        ; bbWeight=4, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {},
        call     [<unknown method>]
        ; gcrRegs -[rsi rdi]
        ; gcr arg pop 0
-                       ;; size=12 bbWeight=4 PerfScore 14.00
-G_M14120_IG05:        ; bbWeight=8, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
-       test     r14d, r14d
-       je       SHORT G_M14120_IG02
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M14120_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+       jmp      SHORT G_M14120_IG02
+                       ;; size=18 bbWeight=8 PerfScore 54.00
+G_M14120_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rbx r15]
-       add      rsp, 8
+       add      rsp, 16
        pop      rbx
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=11 bbWeight=1 PerfScore 3.25
-G_M14120_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                        ;; size=9 bbWeight=1 PerfScore 2.75
+G_M14120_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        push     rbp
        push     r15
-       push     r14
        push     rbx
-       push     rax
+       sub      rsp, 16
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x20]
-                      ;; size=18 bbWeight=0 PerfScore 0.00
-G_M14120_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-       lea      rax, G_M14120_IG06
+                       ;; size=19 bbWeight=0 PerfScore 0.00
+G_M14120_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+       lea      rax, G_M14120_IG04
                      ;; size=7 bbWeight=0 PerfScore 0.00
-G_M14120_IG09:        ; bbWeight=0, funclet epilog, nogc, extend
-       add      rsp, 8
+G_M14120_IG07:        ; bbWeight=0, funclet epilog, nogc, extend
+       add      rsp, 16
        pop      rbx
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=11 bbWeight=0 PerfScore 0.00
+                      ;; size=9 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 118, prolog size 22, PerfScore 173.25, instruction count 45, allocated bytes for code 118 (MethodHash=c2bdc8d7) for method System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
+; Total bytes of code 110, prolog size 23, PerfScore 178.75, instruction count 40, allocated bytes for code 110 (MethodHash=c2bdc8d7) for method System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -106,14 +97,13 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x07
-  CountOfUnwindCodes: 5
+  SizeOfProlog      : 0x08
+  CountOfUnwindCodes: 4
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 0 * 8 + 8 = 8 = 0x08
-    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
+    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
+    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 Unwind Info:
@@ -121,16 +111,15 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x07
-  CountOfUnwindCodes: 5
+  SizeOfProlog      : 0x08
+  CountOfUnwindCodes: 4
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 0 * 8 + 8 = 8 = 0x08
-    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
+    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
+    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 *************** EH table for System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M14120_IG02..G_M14120_IG03) handled by [G_M14120_IG07..END) (class: 100003E)
+EH#0: try [G_M14120_IG02..G_M14120_IG03) handled by [G_M14120_IG05..END) (class: 100003E)
  
-25 (-4.58%) : 292745.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1[ubyte]:ConsumeOnePostponedMessage():ubyte:this (FullOpts)
@@ -9,72 +9,71 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 12, 54   )     ref  ->  rbx         this class-hnd single-def <System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1[ubyte]>
-;  V01 loc0         [V01    ] (  4, 28   )  struct (16) [rbp-0x30]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
+;  V01 loc0         [V01    ] (  4, 32   )  struct (16) [rbp-0x28]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
 ;  V02 loc1         [V02,T11] (  3, 13   )   ubyte  ->  r15        
-;  V03 loc2         [V03    ] (  2, 16   )   ubyte  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V03 loc2         [V03    ] (  2, 16   )   ubyte  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed ld-addr-op
 ;  V04 loc3         [V04,T12] (  2,  9   )   ubyte  ->  r14        
-;  V05 loc4         [V05,T07] (  4, 21   )     ref  ->  [rbp-0x58]  do-not-enreg[Z] class-hnd EH-live <<unknown class>>
-;  V06 loc5         [V06    ] (  6, 41   )   ubyte  ->  [rbp-0x40]  do-not-enreg[X] addr-exposed ld-addr-op
-;  V07 loc6         [V07,T09] (  2, 16   )   ubyte  ->  rsi        
-;  V08 loc7         [V08,T15] (  3,  3   )   ubyte  ->  [rbp-0x44]  do-not-enreg[Z] EH-live
-;  V09 loc8         [V09,T16] (  4,  2   )     ref  ->  [rbp-0x60]  class-hnd EH-live spill-single-def <<unknown class>>
-;  V10 loc9         [V10    ] (  6,  5   )   ubyte  ->  [rbp-0x50]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V05 loc4         [V05,T06] (  4, 21   )     ref  ->  [rbp-0x50]  do-not-enreg[Z] class-hnd EH-live <<unknown class>>
+;  V06 loc5         [V06    ] (  6, 41   )   ubyte  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V07 loc6         [V07,T08] (  2, 16   )   ubyte  ->  rsi        
+;  V08 loc7         [V08,T15] (  3,  3   )   ubyte  ->  [rbp-0x3C]  do-not-enreg[Z] EH-live
+;  V09 loc8         [V09,T16] (  4,  2   )     ref  ->  [rbp-0x58]  class-hnd EH-live spill-single-def <<unknown class>>
+;  V10 loc9         [V10    ] (  6,  5   )   ubyte  ->  [rbp-0x48]  do-not-enreg[X] addr-exposed ld-addr-op
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V12 tmp1         [V12,T08] (  3, 16   )     int  ->  rsi        
+;  V12 tmp1         [V12,T07] (  3, 16   )     int  ->  rsi        
 ;  V13 tmp2         [V13,T03] (  2, 32   )     ref  ->  rdi         class-hnd "impAppendStmt" <System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte]>
 ;* V14 tmp3         [V14    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Threading.Tasks.Dataflow.DataflowMessageHeader>
 ;  V15 tmp4         [V15,T13] (  3,  6   )     ref  ->  rdi         class-hnd single-def "dup spill" <System.Threading.Tasks.Dataflow.Internal.BoundingState>
 ;* V16 tmp5         [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources>
 ;  V17 tmp6         [V17,T04] (  2, 32   )   ubyte  ->  rdi         "Inlining Arg"
 ;  V18 tmp7         [V18,T01] (  3, 48   )     ref  ->  rsi         class-hnd "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.BoundingState>
-;  V19 tmp8         [V19,T02] (  3, 40   )     ref  ->  r14         class-hnd exact "Inlining Arg" <<unknown class>>
-;  V20 tmp9         [V20,T06] (  3, 24   )   ubyte  ->  r13         "Inline stloc first use temp"
+;  V19 tmp8         [V19,T02] (  3, 48   )     ref  ->  r14         class-hnd exact "Inlining Arg" <<unknown class>>
+;  V20 tmp9         [V20,T09] (  2, 16   )   ubyte  ->  rax         "Inline stloc first use temp"
 ;* V21 tmp10        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <<unknown class>>
 ;* V22 tmp11        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources>
 ;  V23 tmp12        [V23,T14] (  2,  4   )   ubyte  ->  rdi         "Inlining Arg"
-;  V24 tmp13        [V24    ] (  3, 20   )     ref  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V01.key (fldOffset=0x0)" P-DEP
-;  V25 tmp14        [V25    ] (  2, 16   )    long  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V01.value (fldOffset=0x8)" P-DEP
+;  V24 tmp13        [V24    ] (  3, 24   )     ref  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V01.key (fldOffset=0x0)" P-DEP
+;  V25 tmp14        [V25    ] (  2, 16   )    long  ->  [rbp-0x20]  do-not-enreg[X] addr-exposed "field V01.value (fldOffset=0x8)" P-DEP
 ;* V26 tmp15        [V26    ] (  0,  0   )    long  ->  zero-ref    "field V14._id (fldOffset=0x0)" P-INDEP
-;  V27 PSPSym       [V27,T17] (  1,  1   )    long  ->  [rbp-0x70]  do-not-enreg[V] "PSPSym"
+;  V27 PSPSym       [V27,T17] (  1,  1   )    long  ->  [rbp-0x60]  do-not-enreg[V] "PSPSym"
 ;  V28 cse0         [V28,T05] (  3, 24   )     ref  ->  rdi         "CSE - aggressive"
 ;  V29 cse1         [V29,T10] (  6, 15   )     ref  ->  rsi         multi-def "CSE - moderate"
 ;
-; Lcl frame size = 80
+; Lcl frame size = 72
 
 G_M36191_IG01:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 80
-       lea      rbp, [rsp+0x70]
+       sub      rsp, 72
+       lea      rbp, [rsp+0x60]
        xor      eax, eax
-       mov      qword ptr [rbp-0x30], rax
-       mov      qword ptr [rbp-0x70], rsp
+       mov      qword ptr [rbp-0x28], rax
+       mov      qword ptr [rbp-0x60], rsp
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=30 bbWeight=8 PerfScore 66.00
+                     ;; size=28 bbWeight=8 PerfScore 58.00
 G_M36191_IG02:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rsi, gword ptr [rbx+0x08]
        ; gcrRegs +[rsi]
        mov      rsi, gword ptr [rsi+0x10]
-       mov      gword ptr [rbp-0x58], rsi
+       mov      gword ptr [rbp-0x50], rsi
        ; GC ptr vars +{V05}
        xor      esi, esi
        ; gcrRegs -[rsi]
-       mov      dword ptr [rbp-0x40], esi
+       mov      dword ptr [rbp-0x38], esi
                       ;; size=17 bbWeight=8 PerfScore 50.00
-G_M36191_IG03:        ; bbWeight=8, gcVars=0000000000000080 {V05}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
-       cmp      byte  ptr [rbp-0x40], 0
-       jne      G_M36191_IG11
-       lea      rsi, [rbp-0x40]
-       mov      rdi, gword ptr [rbp-0x58]
+G_M36191_IG03:        ; bbWeight=8, gcVars=0000000000000040 {V05}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
+       cmp      byte  ptr [rbp-0x38], 0
+       jne      G_M36191_IG10
+       lea      rsi, [rbp-0x38]
+       mov      rdi, gword ptr [rbp-0x50]
        ; gcrRegs +[rdi]
        call     <unknown method>
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
-       movzx    rdi, byte  ptr [rbp-0x40]
+       movzx    rdi, byte  ptr [rbp-0x38]
        test     edi, edi
        jne      SHORT G_M36191_IG05
                        ;; size=32 bbWeight=8 PerfScore 62.00
@@ -100,7 +99,7 @@ G_M36191_IG05:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcrRegs +[rsi]
        mov      eax, dword ptr [rsi+0x0C]
        cmp      eax, dword ptr [rsi+0x08]
-       jl       SHORT G_M36191_IG12
+       jl       SHORT G_M36191_IG08
                         ;; size=28 bbWeight=8 PerfScore 108.00
 G_M36191_IG06:        ; bbWeight=4, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rsi]
@@ -111,72 +110,66 @@ G_M36191_IG06:        ; bbWeight=4, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {},
 G_M36191_IG07:        ; bbWeight=8, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
        movzx    rsi, sil
        cmp      byte  ptr [rbx+0x28], 0
-       jne      SHORT G_M36191_IG10
+       jne      SHORT G_M36191_IG09
        cmp      byte  ptr [rdi+0x48], 0
-       jne      SHORT G_M36191_IG10
+       jne      SHORT G_M36191_IG09
        test     esi, esi
-       je       SHORT G_M36191_IG10
+       je       SHORT G_M36191_IG09
        mov      rdi, gword ptr [rbx+0x20]
        mov      r14, gword ptr [rdi+0x08]
        ; gcrRegs +[r14]
        mov      rdi, gword ptr [r14+0x08]
-       lea      rsi, [rbp-0x30]
+       lea      rsi, [rbp-0x28]
        cmp      dword ptr [rdi], edi
        call     [<unknown method>]
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
-       mov      r13d, eax
-       test     r13d, r13d
+       test     eax, eax
        je       SHORT G_M36191_IG09
-                      ;; size=52 bbWeight=8 PerfScore 188.00
-G_M36191_IG08:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
        mov      rdi, gword ptr [r14+0x10]
        ; gcrRegs +[rdi]
-       mov      rsi, gword ptr [rbp-0x30]
+       mov      rsi, gword ptr [rbp-0x28]
        ; gcrRegs +[rsi]
        cmp      dword ptr [rdi], edi
        call     [<unknown method>]
        ; gcrRegs -[rsi rdi r14]
        ; gcr arg pop 0
-                       ;; size=16 bbWeight=4 PerfScore 36.00
-G_M36191_IG09:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       test     r13d, r13d
-       jne      SHORT G_M36191_IG13
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M36191_IG10:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rbx]
+       jmp      SHORT G_M36191_IG11
+                       ;; size=66 bbWeight=8 PerfScore 274.00
+G_M36191_IG08:        ; bbWeight=4, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[rdi]
+       mov      esi, 1
+       jmp      SHORT G_M36191_IG07
+                       ;; size=7 bbWeight=4 PerfScore 9.00
+G_M36191_IG09:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rbx rdi]
        xor      edi, edi
-       mov      dword ptr [rbp-0x44], edi
-       jmp      SHORT G_M36191_IG17
+       mov      dword ptr [rbp-0x3C], edi
+       jmp      SHORT G_M36191_IG15
                         ;; size=7 bbWeight=1 PerfScore 3.25
-G_M36191_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M36191_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     [System.Threading.Monitor:ThrowLockTakenException()]
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M36191_IG12:        ; bbWeight=4, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs +[rbx rdi]
-       mov      esi, 1
-       jmp      SHORT G_M36191_IG07
-                       ;; size=7 bbWeight=4 PerfScore 9.00
-G_M36191_IG13:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rdi]
-       cmp      byte  ptr [rbp-0x40], 0
-       je       SHORT G_M36191_IG15
+G_M36191_IG11:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[rbx]
+       cmp      byte  ptr [rbp-0x38], 0
+       je       SHORT G_M36191_IG13
                         ;; size=6 bbWeight=8 PerfScore 24.00
-G_M36191_IG14:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       mov      rdi, gword ptr [rbp-0x58]
+G_M36191_IG12:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       mov      rdi, gword ptr [rbp-0x50]
        ; gcrRegs +[rdi]
        ; GC ptr vars -{V05}
        call     <unknown method>
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
                        ;; size=9 bbWeight=4 PerfScore 8.00
-G_M36191_IG15:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       mov      rdi, gword ptr [rbp-0x30]
+G_M36191_IG13:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       mov      rdi, gword ptr [rbp-0x28]
        ; gcrRegs +[rdi]
-       lea      rcx, [rbp-0x38]
-       mov      rsi, qword ptr [rbp-0x28]
+       lea      rcx, [rbp-0x30]
+       mov      rsi, qword ptr [rbp-0x20]
        mov      rdx, rbx
        ; gcrRegs +[rdx]
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
@@ -184,51 +177,51 @@ G_M36191_IG15:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcrRegs -[rdx rdi]
        ; gcr arg pop 0
        mov      r14d, eax
-       cmp      byte  ptr [rbp-0x38], 0
+       cmp      byte  ptr [rbp-0x30], 0
        je       G_M36191_IG02
                        ;; size=41 bbWeight=8 PerfScore 74.00
-G_M36191_IG16:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M36191_IG14:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rsi, gword ptr [rbx+0x08]
        ; gcrRegs +[rsi]
        mov      rdi, gword ptr [rsi+0x10]
        ; gcrRegs +[rdi]
-       mov      gword ptr [rbp-0x60], rdi
+       mov      gword ptr [rbp-0x58], rdi
        ; GC ptr vars +{V09}
        xor      esi, esi
        ; gcrRegs -[rsi]
-       mov      dword ptr [rbp-0x50], esi
-       jmp      SHORT G_M36191_IG19
+       mov      dword ptr [rbp-0x48], esi
+       jmp      SHORT G_M36191_IG17
                         ;; size=19 bbWeight=1 PerfScore 8.25
-G_M36191_IG17:        ; bbWeight=1, gcVars=0000000000000080 {V05}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M36191_IG15:        ; bbWeight=1, gcVars=0000000000000040 {V05}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rbx rdi]
-       ; GC ptr vars -{V09} +{V05 V07}
+       ; GC ptr vars -{V09} +{V05}
        mov      rdi, rsp
-       call     G_M36191_IG27
+       call     G_M36191_IG25
                        ;; size=8 bbWeight=1 PerfScore 1.25
-G_M36191_IG18:        ; bbWeight=1, nogc, isz, extend
-       jmp      SHORT G_M36191_IG25
+G_M36191_IG16:        ; bbWeight=1, nogc, isz, extend
+       jmp      SHORT G_M36191_IG23
                         ;; size=2 bbWeight=1 PerfScore 2.00
-G_M36191_IG19:        ; bbWeight=1, gcVars=0000000000010000 {V09}, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, gcvars, byref, isz
...
  
+6 (+1.97%) : 251718.dasm - System.Collections.ObjectModel.KeyedCollection2[System.__Canon,System.Nullable1[int]]:CreateDictionary():this (FullOpts)
@@ -8,43 +8,44 @@
 ; 0 inlinees with PGO data; 9 single block inlinees; 3 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T05] (  8, 10   )     ref  ->  rbx         this class-hnd single-def <System.Collections.ObjectModel.KeyedCollection`2[System.__Canon,System.Nullable`1[int]]>
+;  V00 this         [V00,T06] (  8, 10   )     ref  ->  rbx         this class-hnd single-def <System.Collections.ObjectModel.KeyedCollection`2[System.__Canon,System.Nullable`1[int]]>
 ;* V01 loc0         [V01    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Nullable`1[int]]>
 ;* V02 loc1         [V02    ] (  0,  0   )  struct ( 8) zero-ref    <System.Nullable`1[int]>
-;  V03 loc2         [V03,T13] (  3,  6   )     ref  ->  rax         class-hnd <System.__Canon>
+;  V03 loc2         [V03,T14] (  3,  6   )     ref  ->  rax         class-hnd <System.__Canon>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T14] (  3,  6   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Dictionary`2[System.__Canon,System.Nullable`1[int]]>
+;  V05 tmp1         [V05,T15] (  3,  6   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Dictionary`2[System.__Canon,System.Nullable`1[int]]>
 ;* V06 tmp2         [V06    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V07 tmp3         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.Generic.IEqualityComparer`1[System.__Canon]>
-;  V08 tmp4         [V08,T19] (  3,  4.25)     ref  ->  rsi         single-def "CASTCLASS eval op1"
-;  V09 tmp5         [V09,T24] (  3,  1.25)    long  ->  rdi         "fgMakeTemp is creating a new local variable"
-;  V10 tmp6         [V10,T11] (  6,  8.75)     ref  ->  r14         class-hnd "spilling QMark2" <System.Collections.Generic.List`1[System.Nullable`1[int]]>
+;  V08 tmp4         [V08,T20] (  3,  4.25)     ref  ->  rsi         single-def "CASTCLASS eval op1"
+;  V09 tmp5         [V09,T25] (  3,  1.25)    long  ->  rdi         "fgMakeTemp is creating a new local variable"
+;  V10 tmp6         [V10,T12] (  6,  8.75)     ref  ->  r14         class-hnd "spilling QMark2" <System.Collections.Generic.List`1[System.Nullable`1[int]]>
 ;* V11 tmp7         [V11    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Nullable`1[int]]>
-;  V12 tmp8         [V12,T06] (  3, 12   )     ref  ->  rdi         class-hnd "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.__Canon,System.Nullable`1[int]]>
+;  V12 tmp8         [V12,T07] (  3, 12   )     ref  ->  rdi         class-hnd "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.__Canon,System.Nullable`1[int]]>
 ;* V13 tmp9         [V13    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;* V14 tmp10        [V14,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V14 tmp10        [V14,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V15 tmp11        [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Nullable`1[int]]>
-;  V16 tmp12        [V16,T16] (  3,  6   )   ubyte  ->  [rbp-0x34]  "field V02.hasValue (fldOffset=0x0)" P-INDEP
-;  V17 tmp13        [V17,T22] (  2,  4   )     int  ->  rsi         "field V02.value (fldOffset=0x4)" P-INDEP
+;  V16 tmp12        [V16,T17] (  3,  6   )   ubyte  ->  [rbp-0x34]  "field V02.hasValue (fldOffset=0x0)" P-INDEP
+;  V17 tmp13        [V17,T23] (  2,  4   )     int  ->  rsi         "field V02.value (fldOffset=0x4)" P-INDEP
 ;  V18 tmp14        [V18,T04] (  4, 17   )     ref  ->  r14         single-def "V01.[000..008)"
 ;  V19 tmp15        [V19,T00] (  6, 21   )     int  ->  r12         "V01.[008..012)"
-;  V20 tmp16        [V20,T10] (  2,  9   )     int  ->  r13         "V01.[012..016)"
-;  V21 tmp17        [V21,T08] (  2,  6   )   ubyte  ->  rax         "V01.[016..017)"
-;  V22 tmp18        [V22,T09] (  2,  6   )     int  ->  rsi         "V01.[020..024)"
+;  V20 tmp16        [V20,T11] (  2,  9   )     int  ->  r13         "V01.[012..016)"
+;  V21 tmp17        [V21,T09] (  2,  6   )   ubyte  ->  rax         "V01.[016..017)"
+;  V22 tmp18        [V22,T10] (  2,  6   )     int  ->  rsi         "V01.[020..024)"
 ;* V23 tmp19        [V23    ] (  0,  0   )     ref  ->  zero-ref    single-def "V11.[000..008)"
 ;* V24 tmp20        [V24    ] (  0,  0   )     int  ->  zero-ref    "V11.[008..012)"
-;  V25 tmp21        [V25,T23] (  2,  2   )     int  ->  r13         "V11.[012..016)"
+;  V25 tmp21        [V25,T24] (  2,  2   )     int  ->  r13         "V11.[012..016)"
 ;* V26 tmp22        [V26    ] (  0,  0   )   ubyte  ->  zero-ref    "V11.[016..017)"
 ;* V27 tmp23        [V27    ] (  0,  0   )     int  ->  zero-ref    "V11.[020..024)"
 ;  V28 tmp24        [V28,T01] (  3, 24   )   byref  ->  rsi         "Spilling address for field-by-field copy"
 ;  V29 tmp25        [V29,T02] (  3, 24   )     ref  ->  rsi         "arr expr"
 ;  V30 tmp26        [V30,T03] (  5, 20   )  struct ( 8) [rbp-0x40]  do-not-enreg[SF] "by-value struct argument" <System.Nullable`1[int]>
-;  V31 cse0         [V31,T07] (  2,  8   )     int  ->  rsi         "CSE - moderate"
-;  V32 cse1         [V32,T20] (  3,  4   )    long  ->  r15         "CSE - moderate"
-;  V33 cse2         [V33,T15] (  3,  6   )     ref  ->  rsi         "CSE - moderate"
-;  V34 rat0         [V34,T18] (  3,  4.40)    long  ->  rdi         "Spilling to split statement for tree"
-;  V35 rat1         [V35,T21] (  3,  4   )    long  ->  rsi         "runtime lookup"
-;  V36 rat2         [V36,T17] (  3,  5.60)    long  ->  rsi         "fgMakeTemp is creating a new local variable"
+;  V31 cse0         [V31,T08] (  2,  8   )     int  ->  rsi         "CSE - moderate"
+;  V32 cse1         [V32,T05] (  2, 16   )     int  ->  rsi         "CSE - aggressive"
+;  V33 cse2         [V33,T21] (  3,  4   )    long  ->  r15         "CSE - moderate"
+;  V34 cse3         [V34,T16] (  3,  6   )     ref  ->  rsi         "CSE - moderate"
+;  V35 rat0         [V35,T19] (  3,  4.40)    long  ->  rdi         "Spilling to split statement for tree"
+;  V36 rat1         [V36,T22] (  3,  4   )    long  ->  rsi         "runtime lookup"
+;  V37 rat2         [V37,T18] (  3,  5.60)    long  ->  rsi         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 24
 
@@ -156,9 +157,10 @@ G_M64917_IG09:        ; bbWeight=2, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {},
        ; gcrRegs -[rsi rdi]
                        ;; size=83 bbWeight=2 PerfScore 53.50
 G_M64917_IG10:        ; bbWeight=8, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
-       cmp      r13d, dword ptr [r14+0x14]
+       mov      esi, dword ptr [r14+0x14]
+       cmp      r13d, esi
        jne      SHORT G_M64917_IG14
-                     ;; size=6 bbWeight=8 PerfScore 32.00
+                      ;; size=9 bbWeight=8 PerfScore 26.00
 G_M64917_IG11:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
        mov      esi, dword ptr [r14+0x10]
        cmp      r12d, esi
@@ -175,8 +177,8 @@ G_M64917_IG11:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {},
        mov      esi, dword ptr [rsi+0x04]
        ; byrRegs -[rsi]
        inc      r12d
-       jmp      SHORT G_M64917_IG09
-                       ;; size=38 bbWeight=4 PerfScore 67.00
+       jmp      G_M64917_IG09
+                       ;; size=41 bbWeight=4 PerfScore 67.00
 G_M64917_IG12:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[r14]
        add      rsp, 24
@@ -196,7 +198,7 @@ G_M64917_IG14:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 305, prolog size 23, PerfScore 206.62, instruction count 90, allocated bytes for code 305 (MethodHash=a0cb026a) for method System.Collections.ObjectModel.KeyedCollection`2[System.__Canon,System.Nullable`1[int]]:CreateDictionary():this (FullOpts)
+; Total bytes of code 311, prolog size 23, PerfScore 200.62, instruction count 91, allocated bytes for code 311 (MethodHash=a0cb026a) for method System.Collections.ObjectModel.KeyedCollection`2[System.__Canon,System.Nullable`1[int]]:CreateDictionary():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+3 (+2.13%) : 279508.dasm - System.IO.Compression.ZipGenericExtraField:WriteAllBlocks(System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField],System.IO.Stream) (FullOpts)
@@ -8,32 +8,33 @@
 ; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T10] (  4,  4   )     ref  ->  rdi         class-hnd single-def <System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField]>
-;  V01 arg1         [V01,T11] (  3,  4   )     ref  ->  rbx         class-hnd single-def <System.IO.Stream>
+;  V00 arg0         [V00,T11] (  4,  4   )     ref  ->  rdi         class-hnd single-def <System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField]>
+;  V01 arg1         [V01,T12] (  3,  4   )     ref  ->  rbx         class-hnd single-def <System.IO.Stream>
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.IO.Compression.ZipGenericExtraField]>
 ;  V03 loc1         [V03    ] (  4,  8   )  struct (16) [rbp-0x30]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.IO.Compression.ZipGenericExtraField>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V05 tmp1         [V05    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.IO.Compression.ZipGenericExtraField]>
-;* V06 tmp2         [V06,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V06 tmp2         [V06,T10] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V07 tmp3         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField]>
 ;  V08 tmp4         [V08    ] (  2,  4   )     ref  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V03._data (fldOffset=0x0)" P-DEP
 ;  V09 tmp5         [V09    ] (  2,  4   )  ushort  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V03._tag (fldOffset=0x8)" P-DEP
 ;  V10 tmp6         [V10    ] (  2,  4   )  ushort  ->  [rbp-0x26]  do-not-enreg[X] addr-exposed "field V03._size (fldOffset=0xa)" P-DEP
 ;  V11 tmp7         [V11,T03] (  4, 17   )     ref  ->  r14         single-def "V02.[000..008)"
 ;  V12 tmp8         [V12,T01] (  6, 21   )     int  ->  r13         "V02.[008..012)"
-;  V13 tmp9         [V13,T08] (  2,  9   )     int  ->  r15         "V02.[012..016)"
-;  V14 tmp10        [V14,T05] (  2,  6   )     ref  ->  rsi         "V02.[016..024)"
-;  V15 tmp11        [V15,T06] (  2,  6   )  ushort  ->  rax         "V02.[024..026)"
-;  V16 tmp12        [V16,T07] (  2,  6   )  ushort  ->  rdi         "V02.[026..028)"
+;  V13 tmp9         [V13,T09] (  2,  9   )     int  ->  r15         "V02.[012..016)"
+;  V14 tmp10        [V14,T06] (  2,  6   )     ref  ->  rsi         "V02.[016..024)"
+;  V15 tmp11        [V15,T07] (  2,  6   )  ushort  ->  rax         "V02.[024..026)"
+;  V16 tmp12        [V16,T08] (  2,  6   )  ushort  ->  rdi         "V02.[026..028)"
 ;* V17 tmp13        [V17    ] (  0,  0   )     ref  ->  zero-ref    single-def "V05.[000..008)"
 ;* V18 tmp14        [V18    ] (  0,  0   )     int  ->  zero-ref    "V05.[008..012)"
-;  V19 tmp15        [V19,T12] (  2,  2   )     int  ->  r15         "V05.[012..016)"
+;  V19 tmp15        [V19,T13] (  2,  2   )     int  ->  r15         "V05.[012..016)"
 ;* V20 tmp16        [V20    ] (  0,  0   )     ref  ->  zero-ref    single-def "V05.[016..024)"
 ;* V21 tmp17        [V21    ] (  0,  0   )  ushort  ->  zero-ref    "V05.[024..026)"
 ;* V22 tmp18        [V22    ] (  0,  0   )  ushort  ->  zero-ref    "V05.[026..028)"
 ;  V23 tmp19        [V23,T00] (  4, 32   )   byref  ->  rdi         "Spilling address for field-by-field copy"
 ;  V24 tmp20        [V24,T02] (  3, 24   )     ref  ->  rdi         "arr expr"
-;  V25 cse0         [V25,T04] (  2,  8   )     int  ->  rdi         "CSE - aggressive"
+;  V25 cse0         [V25,T05] (  2,  8   )     int  ->  rdi         "CSE - aggressive"
+;  V26 cse1         [V26,T04] (  2, 16   )     int  ->  rdi         "CSE - aggressive"
 ;
 ; Lcl frame size = 16
 
@@ -69,9 +70,10 @@ G_M41630_IG03:        ; bbWeight=2, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000
        ; gcrRegs -[rsi]
                        ;; size=25 bbWeight=2 PerfScore 13.50
 G_M41630_IG04:        ; bbWeight=8, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
-       cmp      r15d, dword ptr [r14+0x14]
+       mov      edi, dword ptr [r14+0x14]
+       cmp      r15d, edi
        jne      SHORT G_M41630_IG08
-                     ;; size=6 bbWeight=8 PerfScore 32.00
+                      ;; size=9 bbWeight=8 PerfScore 26.00
 G_M41630_IG05:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
        mov      edi, dword ptr [r14+0x10]
        cmp      r13d, edi
@@ -111,7 +113,7 @@ G_M41630_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 141, prolog size 23, PerfScore 149.25, instruction count 46, allocated bytes for code 141 (MethodHash=bf4e5d61) for method System.IO.Compression.ZipGenericExtraField:WriteAllBlocks(System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField],System.IO.Stream) (FullOpts)
+; Total bytes of code 144, prolog size 23, PerfScore 143.25, instruction count 47, allocated bytes for code 144 (MethodHash=bf4e5d61) for method System.IO.Compression.ZipGenericExtraField:WriteAllBlocks(System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField],System.IO.Stream) (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+24 (+3.61%) : 170020.dasm - System.Security.Cryptography.XmlKeyHelper:WriteCryptoBinary(System.String,System.ReadOnlySpan`1[ubyte],System.Text.StringBuilder) (FullOpts)
@@ -112,7 +112,7 @@ G_M40104_IG02:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r1
        mov      rsi, gword ptr [rbx+0x08]
        ; gcrRegs +[rsi]
        cmp      dword ptr [rsi+0x08], edi
-       jbe      G_M40104_IG17
+       jbe      G_M40104_IG29
                         ;; size=16 bbWeight=1 PerfScore 8.00
 G_M40104_IG03:        ; bbWeight=0.46, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=2000 {r13}, byref
        mov      edi, edi
@@ -139,7 +139,7 @@ G_M40104_IG06:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r1
        mov      rsi, gword ptr [rbx+0x08]
        ; gcrRegs +[rsi]
        cmp      dword ptr [rsi+0x08], edi
-       jbe      G_M40104_IG21
+       jbe      G_M40104_IG30
                         ;; size=16 bbWeight=1 PerfScore 8.00
 G_M40104_IG07:        ; bbWeight=0.46, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=2000 {r13}, byref
        mov      edi, edi
@@ -158,11 +158,11 @@ G_M40104_IG08:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r1
        test     r15d, r15d
        mov      rcx, bword ptr [rbp-0x50]
        ; byrRegs +[rcx]
-       jle      G_M40104_IG22
+       jle      G_M40104_IG16
                       ;; size=37 bbWeight=1 PerfScore 7.50
 G_M40104_IG09:        ; bbWeight=4.00, gcVars=0000000000000100 {V51}, gcrefRegs=4008 {rbx r14}, byrefRegs=2002 {rcx r13}, gcvars, byref
        cmp      eax, 192
-       jl       G_M40104_IG16
+       jl       G_M40104_IG28
                      ;; size=11 bbWeight=4.00 PerfScore 5.00
 G_M40104_IG10:        ; bbWeight=1.48, gcrefRegs=4008 {rbx r14}, byrefRegs=2002 {rcx r13}, byref
        mov      edx, 192
@@ -173,7 +173,7 @@ G_M40104_IG11:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=2002 {rc
        add      rdi, rsi
        mov      esi, r15d
        cmp      rdi, rsi
-       ja       G_M40104_IG37
+       ja       G_M40104_IG35
        mov      r8d, r12d
        add      r8, r13
        ; byrRegs +[r8]
@@ -198,7 +198,7 @@ G_M40104_IG12:        ; bbWeight=2, gcVars=0000000000000140 {V24 V51}, gcrefRegs
        mov      rcx, bword ptr [rbp-0x50]
        ; byrRegs +[rcx]
                        ;; size=26 bbWeight=2 PerfScore 9.50
-G_M40104_IG13:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=2002 {rcx r13}, byref, isz
+G_M40104_IG13:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=2002 {rcx r13}, byref
        mov      rdi, bword ptr [rbp-0x48]
        ; byrRegs +[rdi]
        mov      edx, dword ptr [rbp-0x3C]
@@ -213,15 +213,15 @@ G_M40104_IG13:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=2002 {rc
        call     [<unknown method>]
        ; byrRegs -[rdx rdi]
        test     eax, eax
-       je       G_M40104_IG36
+       je       G_M40104_IG34
        mov      eax, dword ptr [rbp-0x38]
        mov      dword ptr [rbp-0x40], eax
        cmp      eax, 256
-       ja       G_M40104_IG37
+       ja       G_M40104_IG35
        test     eax, eax
-       jge      SHORT G_M40104_IG15
-                       ;; size=59 bbWeight=4 PerfScore 49.00
-G_M40104_IG14:        ; bbWeight=2, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, byref, isz
+       jge      G_M40104_IG27
+                       ;; size=63 bbWeight=4 PerfScore 49.00
+G_M40104_IG14:        ; bbWeight=2, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, byref
        mov      r8, 0xD1FFAB1E
        ; gcrRegs +[r8]
        mov      rcx, r8
@@ -234,32 +234,6 @@ G_M40104_IG14:        ; bbWeight=2, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r1
        ; gcrRegs +[rsi]
        call     [<unknown method>]
        ; gcrRegs -[rcx rsi rdi r8]
-       jmp      SHORT G_M40104_IG18
-                       ;; size=31 bbWeight=2 PerfScore 14.00
-G_M40104_IG15:        ; bbWeight=2, gcVars=0000000000000100 {V51}, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, gcvars, byref, isz
-       ; GC ptr vars -{V76}
-       mov      eax, dword ptr [rbp-0x40]
-       jmp      SHORT G_M40104_IG19
-                       ;; size=5 bbWeight=2 PerfScore 6.00
-G_M40104_IG16:        ; bbWeight=0.52, gcrefRegs=4008 {rbx r14}, byrefRegs=2002 {rcx r13}, byref
-       ; byrRegs +[rcx]
-       mov      dword ptr [rbp-0x2C], eax
-       mov      edx, eax
-       mov      eax, dword ptr [rbp-0x2C]
-       jmp      G_M40104_IG11
-                       ;; size=13 bbWeight=0.52 PerfScore 2.21
-G_M40104_IG17:        ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, gcvars, byref
-       ; byrRegs -[rcx]
-       ; GC ptr vars -{V51}
-       mov      rdi, rbx
-       ; gcrRegs +[rdi]
-       mov      esi, 60
-       call     [<unknown method>]
-       ; gcrRegs -[rdi]
-       jmp      G_M40104_IG04
-                       ;; size=19 bbWeight=0.04 PerfScore 0.19
-G_M40104_IG18:        ; bbWeight=2, gcVars=0000000000000120 {V51 V76}, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, gcvars, byref
-       ; GC ptr vars +{V51 V76}
        mov      rdi, gword ptr [rbp-0x58]
        ; gcrRegs +[rdi]
        mov      rsi, rdi
@@ -268,8 +242,8 @@ G_M40104_IG18:        ; bbWeight=2, gcVars=0000000000000120 {V51 V76}, gcrefRegs
        call     [<unknown method>]
        ; gcrRegs -[rsi rdi]
        mov      eax, dword ptr [rbp-0x40]
-                        ;; size=16 bbWeight=2 PerfScore 10.50
-G_M40104_IG19:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, byref
+                        ;; size=45 bbWeight=2 PerfScore 20.50
+G_M40104_IG15:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, byref
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        mov      rsi, bword ptr [rbp-0x50]
@@ -287,52 +261,39 @@ G_M40104_IG19:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r1
        ; byrRegs +[rcx]
        jg       G_M40104_IG09
                        ;; size=38 bbWeight=4 PerfScore 37.00
-G_M40104_IG20:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M40104_IG16:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, gcvars, byref
        ; byrRegs -[rcx r13]
        ; GC ptr vars -{V51}
-       jmp      SHORT G_M40104_IG22
-                       ;; size=2 bbWeight=1 PerfScore 2.00
-G_M40104_IG21:        ; bbWeight=0.04, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, byref
-       ; byrRegs +[r13]
-       mov      rdi, rbx
-       ; gcrRegs +[rdi]
-       mov      esi, 62
-       call     [<unknown method>]
-       ; gcrRegs -[rdi]
-       jmp      G_M40104_IG08
-                       ;; size=19 bbWeight=0.04 PerfScore 0.19
-G_M40104_IG22:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
-       ; byrRegs -[r13]
        mov      edi, dword ptr [rbx+0x18]
        mov      rsi, gword ptr [rbx+0x08]
        ; gcrRegs +[rsi]
        cmp      dword ptr [rsi+0x08], edi
-       jbe      SHORT G_M40104_IG33
-                       ;; size=12 bbWeight=1 PerfScore 8.00
-G_M40104_IG23:        ; bbWeight=0.46, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref
+       jbe      G_M40104_IG31
+                       ;; size=16 bbWeight=1 PerfScore 8.00
+G_M40104_IG17:        ; bbWeight=0.46, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref
        mov      edi, edi
        mov      word  ptr [rsi+2*rdi+0x10], 60
        inc      dword ptr [rbx+0x18]
                        ;; size=12 bbWeight=0.46 PerfScore 1.98
-G_M40104_IG24:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG18:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rsi]
        mov      edi, dword ptr [rbx+0x18]
        mov      rsi, gword ptr [rbx+0x08]
        ; gcrRegs +[rsi]
        cmp      dword ptr [rsi+0x08], edi
-       jbe      SHORT G_M40104_IG34
-                       ;; size=12 bbWeight=1 PerfScore 8.00
-G_M40104_IG25:        ; bbWeight=0.46, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref
+       jbe      G_M40104_IG32
+                       ;; size=16 bbWeight=1 PerfScore 8.00
+G_M40104_IG19:        ; bbWeight=0.46, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref
        mov      edi, edi
        mov      word  ptr [rsi+2*rdi+0x10], 47
        inc      dword ptr [rbx+0x18]
                        ;; size=12 bbWeight=0.46 PerfScore 1.98
-G_M40104_IG26:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG20:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rsi]
        test     r14, r14
-       je       SHORT G_M40104_IG28
+       je       SHORT G_M40104_IG22
                      ;; size=5 bbWeight=1 PerfScore 1.25
-G_M40104_IG27:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
+G_M40104_IG21:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
        mov      edx, dword ptr [r14+0x08]
        lea      rsi, bword ptr [r14+0x0C]
        ; byrRegs +[rsi]
@@ -342,29 +303,29 @@ G_M40104_IG27:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=0000
        ; gcrRegs -[rdi r14]
        ; byrRegs -[rsi]
                        ;; size=17 bbWeight=0.50 PerfScore 2.86
-G_M40104_IG28:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG22:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      edi, dword ptr [rbx+0x18]
        mov      rsi, gword ptr [rbx+0x08]
        ; gcrRegs +[rsi]
        cmp      dword ptr [rsi+0x08], edi
-       jbe      SHORT G_M40104_IG35
-                       ;; size=12 bbWeight=1 PerfScore 8.00
-G_M40104_IG29:        ; bbWeight=0.46, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+       jbe      G_M40104_IG33
+                       ;; size=16 bbWeight=1 PerfScore 8.00
+G_M40104_IG23:        ; bbWeight=0.46, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
        mov      edi, edi
        mov      word  ptr [rsi+2*rdi+0x10], 62
        inc      dword ptr [rbx+0x18]
                        ;; size=12 bbWeight=0.46 PerfScore 1.98
-G_M40104_IG30:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG24:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rbx rsi]
        mov      rdi, 0xD1FFAB1E
        cmp      qword ptr [rbp-0x60], rdi
-       je       SHORT G_M40104_IG31
+       je       SHORT G_M40104_IG25
        call     CORINFO_HELP_FAIL_FAST
                        ;; size=21 bbWeight=1 PerfScore 4.25
-G_M40104_IG31:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M40104_IG25:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
-G_M40104_IG32:        ; bbWeight=1, epilog, nogc, extend
+G_M40104_IG26:        ; bbWeight=1, epilog, nogc, extend
        lea      rsp, [rbp-0x28]
        pop      rbx
        pop      r12
@@ -374,33 +335,65 @@ G_M40104_IG32:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=15 bbWeight=1 PerfScore 4.50
-G_M40104_IG33:        ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M40104_IG27:        ; bbWeight=2, gcVars=0000000000000100 {V51}, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, gcvars, byref
        ; gcrRegs +[rbx r14]
+       ; byrRegs +[r13]
+       ; GC ptr vars +{V51}
+       mov      eax, dword ptr [rbp-0x40]
+       jmp      G_M40104_IG15
+                       ;; size=8 bbWeight=2 PerfScore 6.00
+G_M40104_IG28:        ; bbWeight=0.52, gcrefRegs=4008 {rbx r14}, byrefRegs=2002 {rcx r13}, byref
+       ; byrRegs +[rcx]
+       mov      dword ptr [rbp-0x2C], eax
+       mov      edx, eax
+       mov      eax, dword ptr [rbp-0x2C]
+       jmp      G_M40104_IG11
+                       ;; size=13 bbWeight=0.52 PerfScore 2.21
+G_M40104_IG29:        ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, gcvars, byref
+       ; byrRegs -[rcx]
+       ; GC ptr vars -{V51}
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        mov      esi, 60
        call     [<unknown method>]
        ; gcrRegs -[rdi]
-       jmp      SHORT G_M40104_IG24
-                       ;; size=16 bbWeight=0.04 PerfScore 0.19
-G_M40104_IG34:        ; bbWeight=0.04, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+       jmp      G_M40104_IG04
+                       ;; size=19 bbWeight=0.04 PerfScore 0.19
+G_M40104_IG30:        ; bbWeight=0.04, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, byref
...
  
  
libraries_tests.run.linux.x64.Release.mch
-17 (-1.87%) : 18769.dasm - System.Collections.Generic.List1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable1[System.__Canon]):this (Tier1)
@@ -32,7 +32,7 @@
 ;  V20 tmp15        [V20,T32] (  3,  0.80)     ref  ->  rdx         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V21 tmp16        [V21,T26] (  4,  1.03)     int  ->  rsi         "Inline stloc first use temp"
 ;  V22 tmp17        [V22,T25] (  3,  1.16)     ref  ->  rax         class-hnd "Inlining Arg" <System.__Canon>
-;  V23 tmp18        [V23,T01] ( 13,  7.42)   byref  ->  r14         "Inlining Arg"
+;  V23 tmp18        [V23,T01] ( 11,  6.99)   byref  ->  r14         "Inlining Arg"
 ;  V24 tmp19        [V24,T20] (  4,  1.69)     ref  ->  rdi         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V25 tmp20        [V25,T08] (  2,  4   )    long  ->  rax         "argument with side effect"
 ;  V26 tmp21        [V26,T13] (  3,  2.06)     ref  ->  rdi         "arr expr"
@@ -70,14 +70,14 @@ G_M57116_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M57116_IG02:        ; bbWeight=1, gcVars=0000000000000001 {V00}, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs +[rdi]
        test     rbx, rbx
-       je       G_M57116_IG40
+       je       G_M57116_IG39
        mov      r15, qword ptr [rdi]
        mov      rsi, r15
        mov      rax, qword ptr [rsi+0x38]
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x68]
        test     rax, rax
-       je       G_M57116_IG27
+       je       G_M57116_IG26
                      ;; size=35 bbWeight=1 PerfScore 10.75
 G_M57116_IG03:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdi]
@@ -98,7 +98,7 @@ G_M57116_IG04:        ; bbWeight=0.69, gcrefRegs=4000 {r14}, byrefRegs=0000 {},
        mov      rdi, qword ptr [rdi]
        mov      r11, qword ptr [rdi+0x80]
        test     r11, r11
-       je       G_M57116_IG28
+       je       G_M57116_IG27
                      ;; size=23 bbWeight=0.69 PerfScore 5.00
 G_M57116_IG05:        ; bbWeight=0.69, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
        mov      rdi, r14
@@ -108,7 +108,7 @@ G_M57116_IG05:        ; bbWeight=0.69, gcrefRegs=4000 {r14}, byrefRegs=0000 {},
        ; gcr arg pop 0
        mov      ebx, eax
        test     ebx, ebx
-       jne      G_M57116_IG30
+       jne      G_M57116_IG29
                      ;; size=16 bbWeight=0.69 PerfScore 3.28
 G_M57116_IG06:        ; bbWeight=0.54, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
@@ -116,7 +116,7 @@ G_M57116_IG06:        ; bbWeight=0.54, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        mov      rdi, qword ptr [rdi]
        mov      rdi, qword ptr [rdi+0x60]
        test     rdi, rdi
-       je       G_M57116_IG29
+       je       G_M57116_IG28
                      ;; size=20 bbWeight=0.54 PerfScore 3.93
 G_M57116_IG07:        ; bbWeight=0.54, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
@@ -148,7 +148,7 @@ G_M57116_IG09:        ; bbWeight=0.31, gcVars=0000000000000001 {V00}, gcrefRegs=
        mov      rsi, qword ptr [rsi]
        mov      rsi, qword ptr [rsi+0x60]
        test     rsi, rsi
-       je       G_M57116_IG36
+       je       G_M57116_IG35
                      ;; size=20 bbWeight=0.31 PerfScore 2.25
 G_M57116_IG10:        ; bbWeight=0.31, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdi, rsi
@@ -169,7 +169,7 @@ G_M57116_IG10:        ; bbWeight=0.31, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      rdi, qword ptr [rdi]
        mov      r11, qword ptr [rdi+0x70]
        test     r11, r11
-       je       G_M57116_IG37
+       je       G_M57116_IG36
                      ;; size=44 bbWeight=0.31 PerfScore 4.03
 G_M57116_IG11:        ; bbWeight=0.31, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdi, rbx
@@ -195,10 +195,10 @@ G_M57116_IG14:        ; bbWeight=0.45, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
        ; gcrRegs +[rdi]
        mov      esi, dword ptr [r14+0x14]
        cmp      esi, dword ptr [rdi+0x14]
-       jne      G_M57116_IG25
+       jne      G_M57116_IG24
        mov      esi, dword ptr [r14+0x10]
        cmp      esi, dword ptr [rdi+0x10]
-       jae      G_M57116_IG26
+       jae      G_M57116_IG25
                         ;; size=33 bbWeight=0.45 PerfScore 6.53
 G_M57116_IG15:        ; bbWeight=0.34, gcrefRegs=0080 {rdi}, byrefRegs=4000 {r14}, byref
        ; gcrRegs -[rax]
@@ -265,7 +265,7 @@ G_M57116_IG19:        ; bbWeight=0.60, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
 G_M57116_IG20:        ; bbWeight=0.31, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rax, gword ptr [rbp-0x30]
        ; gcrRegs +[rax]
-       jmp      G_M57116_IG34
+       jmp      G_M57116_IG33
                       ;; size=9 bbWeight=0.31 PerfScore 0.93
 G_M57116_IG21:        ; bbWeight=0.06, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
@@ -297,20 +297,10 @@ G_M57116_IG24:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M57116_IG25:        ; bbWeight=0.11, gcrefRegs=0000 {}, byrefRegs=4000 {r14}, byref, isz
+G_M57116_IG25:        ; bbWeight=0.11, gcrefRegs=0000 {}, byrefRegs=4000 {r14}, byref
        ; byrRegs +[r14]
        mov      rax, gword ptr [rbp-0x30]
        ; gcrRegs +[rax]
-       mov      edi, dword ptr [r14+0x14]
-       mov      r11, gword ptr [r14]
-       ; gcrRegs +[r11]
-       cmp      edi, dword ptr [r11+0x14]
-       jne      SHORT G_M57116_IG24
-                       ;; size=17 bbWeight=0.11 PerfScore 0.96
-G_M57116_IG26:        ; bbWeight=0.11, gcrefRegs=0000 {}, byrefRegs=4000 {r14}, byref
-       ; gcrRegs -[rax r11]
-       mov      rax, gword ptr [rbp-0x30]
-       ; gcrRegs +[rax]
        mov      rdi, gword ptr [r14]
        ; gcrRegs +[rdi]
        mov      edi, dword ptr [rdi+0x10]
@@ -320,9 +310,9 @@ G_M57116_IG26:        ; bbWeight=0.11, gcrefRegs=0000 {}, byrefRegs=4000 {r14},
        xor      rdi, rdi
        ; gcrRegs +[rdi]
        mov      gword ptr [r14+0x08], rdi
-       jmp      G_M57116_IG34
+       jmp      G_M57116_IG33
                         ;; size=27 bbWeight=0.11 PerfScore 1.02
-G_M57116_IG27:        ; bbWeight=0.20, gcVars=0000000000000001 {V00}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
+G_M57116_IG26:        ; bbWeight=0.20, gcVars=0000000000000001 {V00}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax rdi] +[rbx]
        ; byrRegs -[r14]
        ; GC ptr vars -{V04}
@@ -332,7 +322,7 @@ G_M57116_IG27:        ; bbWeight=0.20, gcVars=0000000000000001 {V00}, gcrefRegs=
        ; gcr arg pop 0
        jmp      G_M57116_IG03
                        ;; size=23 bbWeight=0.20 PerfScore 0.70
-G_M57116_IG28:        ; bbWeight=0.14, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
+G_M57116_IG27:        ; bbWeight=0.14, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx] +[r14]
        mov      rdi, r15
        mov      rsi, 0xD1FFAB1E      ; global ptr
@@ -341,7 +331,7 @@ G_M57116_IG28:        ; bbWeight=0.14, gcrefRegs=4000 {r14}, byrefRegs=0000 {},
        mov      r11, rax
        jmp      G_M57116_IG05
                        ;; size=26 bbWeight=0.14 PerfScore 0.52
-G_M57116_IG29:        ; bbWeight=0.11, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M57116_IG28:        ; bbWeight=0.11, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
        mov      rdi, r15
        mov      rsi, 0xD1FFAB1E      ; global ptr
@@ -350,15 +340,15 @@ G_M57116_IG29:        ; bbWeight=0.11, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        mov      rdi, rax
        jmp      G_M57116_IG07
                        ;; size=26 bbWeight=0.11 PerfScore 0.41
-G_M57116_IG30:        ; bbWeight=0.15, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
+G_M57116_IG29:        ; bbWeight=0.15, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
        ; gcrRegs +[r14]
        mov      rdi, qword ptr [r15+0x38]
        mov      rdi, qword ptr [rdi]
        mov      rdi, qword ptr [rdi+0x58]
        test     rdi, rdi
-       je       G_M57116_IG38
+       je       G_M57116_IG37
                      ;; size=20 bbWeight=0.15 PerfScore 1.07
-G_M57116_IG31:        ; bbWeight=0.15, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
+G_M57116_IG30:        ; bbWeight=0.15, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
        movsxd   rsi, ebx
        call     CORINFO_HELP_NEWARR_1_OBJ
        ; gcrRegs +[rax]
@@ -377,9 +367,9 @@ G_M57116_IG31:        ; bbWeight=0.15, gcrefRegs=4000 {r14}, byrefRegs=0000 {},
        mov      rdi, qword ptr [rdi]
        mov      r11, qword ptr [rdi+0x88]
        test     r11, r11
-       je       G_M57116_IG39
+       je       G_M57116_IG38
                      ;; size=47 bbWeight=0.15 PerfScore 1.67
-G_M57116_IG32:        ; bbWeight=0.15, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
+G_M57116_IG31:        ; bbWeight=0.15, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
        mov      rdi, gword ptr [rbp-0x28]
        ; gcrRegs +[rdi]
        mov      rsi, gword ptr [rdi+0x08]
@@ -393,7 +383,7 @@ G_M57116_IG32:        ; bbWeight=0.15, gcrefRegs=4000 {r14}, byrefRegs=0000 {},
        ; gcrRegs +[rdi]
        mov      dword ptr [rdi+0x10], ebx
                        ;; size=23 bbWeight=0.15 PerfScore 1.26
-G_M57116_IG33:        ; bbWeight=0.15, epilog, nogc, extend
+G_M57116_IG32:        ; bbWeight=0.15, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
        pop      r14
@@ -401,7 +391,7 @@ G_M57116_IG33:        ; bbWeight=0.15, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=11 bbWeight=0.15 PerfScore 0.48
-G_M57116_IG34:        ; bbWeight=0.31, gcVars=0000000000008001 {V00 V04}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref
+G_M57116_IG33:        ; bbWeight=0.31, gcVars=0000000000008001 {V00 V04}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rdi] +[rax]
        ; GC ptr vars +{V04}
        mov      rdi, rax
@@ -413,7 +403,7 @@ G_M57116_IG34:        ; bbWeight=0.31, gcVars=0000000000008001 {V00 V04}, gcrefR
        ; gcr arg pop 0
        nop      
                        ;; size=17 bbWeight=0.31 PerfScore 1.16
-G_M57116_IG35:        ; bbWeight=0.31, epilog, nogc, extend
+G_M57116_IG34:        ; bbWeight=0.31, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
        pop      r14
@@ -421,7 +411,7 @@ G_M57116_IG35:        ; bbWeight=0.31, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=11 bbWeight=0.31 PerfScore 1.01
-G_M57116_IG36:        ; bbWeight=0.06, gcVars=0000000000000001 {V00}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
+G_M57116_IG35:        ; bbWeight=0.06, gcVars=0000000000000001 {V00}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs +[rbx]
        mov      rdi, r15
        mov      rsi, 0xD1FFAB1E      ; global ptr
@@ -430,7 +420,7 @@ G_M57116_IG36:        ; bbWeight=0.06, gcVars=0000000000000001 {V00}, gcrefRegs=
        mov      rsi, rax
        jmp      G_M57116_IG10
                        ;; size=26 bbWeight=0.06 PerfScore 0.23
-G_M57116_IG37:        ; bbWeight=0.06, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M57116_IG36:        ; bbWeight=0.06, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdi, r15
        mov      rsi, 0xD1FFAB1E      ; global ptr
        call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
@@ -438,31 +428,31 @@ G_M57116_IG37:        ; bbWeight=0.06, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      r11, rax
        jmp      G_M57116_IG11
                        ;; size=26 bbWeight=0.06 PerfScore 0.23
-G_M57116_IG38:        ; bbWeight=0.03, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
+G_M57116_IG37:        ; bbWeight=0.03, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx] +[r14]
        mov      rdi, r15
        mov      rsi, 0xD1FFAB1E      ; global ptr
        call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
        ; gcr arg pop 0
        mov      rdi, rax
-       jmp      G_M57116_IG31
+       jmp      G_M57116_IG30
                      ;; size=26 bbWeight=0.03 PerfScore 0.11
-G_M57116_IG39:        ; bbWeight=0.03, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
+G_M57116_IG38:        ; bbWeight=0.03, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
        mov      rdi, r15
        mov      rsi, 0xD1FFAB1E      ; global ptr
        call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
        ; gcr arg pop 0
        mov      r11, rax
-       jmp      G_M57116_IG32
+       jmp      G_M57116_IG31
                      ;; size=26 bbWeight=0.03 PerfScore 0.11
-G_M57116_IG40:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M57116_IG39:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
        mov      edi, 23
...
  
-17 (-1.87%) : 21425.dasm - System.Collections.Generic.List1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable1[System.__Canon]):this (Tier1)
@@ -32,7 +32,7 @@
 ;  V20 tmp15        [V20,T29] (  3,  0.64)     ref  ->  rdx         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V21 tmp16        [V21,T28] (  4,  0.81)     int  ->  rsi         "Inline stloc first use temp"
 ;  V22 tmp17        [V22,T27] (  3,  0.92)     ref  ->  rax         class-hnd "Inlining Arg" <System.__Canon>
-;  V23 tmp18        [V23,T01] ( 13,  7.14)   byref  ->  r14         "Inlining Arg"
+;  V23 tmp18        [V23,T01] ( 11,  6.77)   byref  ->  r14         "Inlining Arg"
 ;  V24 tmp19        [V24,T20] (  4,  1.64)     ref  ->  rdi         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V25 tmp20        [V25,T07] (  2,  4   )    long  ->  rax         "argument with side effect"
 ;  V26 tmp21        [V26,T17] (  3,  2.04)     ref  ->  rdi         "arr expr"
@@ -70,14 +70,14 @@ G_M57116_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M57116_IG02:        ; bbWeight=1, gcVars=0000000000000001 {V00}, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs +[rdi]
        test     rbx, rbx
-       je       G_M57116_IG40
+       je       G_M57116_IG39
        mov      r15, qword ptr [rdi]
        mov      rsi, r15
        mov      rax, qword ptr [rsi+0x38]
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x68]
        test     rax, rax
-       je       G_M57116_IG27
+       je       G_M57116_IG26
                      ;; size=35 bbWeight=1 PerfScore 10.75
 G_M57116_IG03:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdi]
@@ -98,7 +98,7 @@ G_M57116_IG04:        ; bbWeight=0.59, gcrefRegs=4000 {r14}, byrefRegs=0000 {},
        mov      rdi, qword ptr [rdi]
        mov      r11, qword ptr [rdi+0x80]
        test     r11, r11
-       je       G_M57116_IG28
+       je       G_M57116_IG27
                      ;; size=23 bbWeight=0.59 PerfScore 4.27
 G_M57116_IG05:        ; bbWeight=0.59, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
        mov      rdi, r14
@@ -108,7 +108,7 @@ G_M57116_IG05:        ; bbWeight=0.59, gcrefRegs=4000 {r14}, byrefRegs=0000 {},
        ; gcr arg pop 0
        mov      ebx, eax
        test     ebx, ebx
-       jne      G_M57116_IG30
+       jne      G_M57116_IG29
                      ;; size=16 bbWeight=0.59 PerfScore 2.80
 G_M57116_IG06:        ; bbWeight=0.54, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
@@ -116,7 +116,7 @@ G_M57116_IG06:        ; bbWeight=0.54, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        mov      rdi, qword ptr [rdi]
        mov      rdi, qword ptr [rdi+0x60]
        test     rdi, rdi
-       je       G_M57116_IG29
+       je       G_M57116_IG28
                      ;; size=20 bbWeight=0.54 PerfScore 3.92
 G_M57116_IG07:        ; bbWeight=0.54, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
@@ -148,7 +148,7 @@ G_M57116_IG09:        ; bbWeight=0.41, gcVars=0000000000000001 {V00}, gcrefRegs=
        mov      rsi, qword ptr [rsi]
        mov      rsi, qword ptr [rsi+0x60]
        test     rsi, rsi
-       je       G_M57116_IG36
+       je       G_M57116_IG35
                      ;; size=20 bbWeight=0.41 PerfScore 2.98
 G_M57116_IG10:        ; bbWeight=0.41, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdi, rsi
@@ -169,7 +169,7 @@ G_M57116_IG10:        ; bbWeight=0.41, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      rdi, qword ptr [rdi]
        mov      r11, qword ptr [rdi+0x70]
        test     r11, r11
-       je       G_M57116_IG37
+       je       G_M57116_IG36
                      ;; size=44 bbWeight=0.41 PerfScore 5.34
 G_M57116_IG11:        ; bbWeight=0.41, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdi, rbx
@@ -195,10 +195,10 @@ G_M57116_IG14:        ; bbWeight=0.43, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
        ; gcrRegs +[rdi]
        mov      esi, dword ptr [r14+0x14]
        cmp      esi, dword ptr [rdi+0x14]
-       jne      G_M57116_IG25
+       jne      G_M57116_IG24
        mov      esi, dword ptr [r14+0x10]
        cmp      esi, dword ptr [rdi+0x10]
-       jae      G_M57116_IG26
+       jae      G_M57116_IG25
                         ;; size=33 bbWeight=0.43 PerfScore 6.30
 G_M57116_IG15:        ; bbWeight=0.34, gcrefRegs=0080 {rdi}, byrefRegs=4000 {r14}, byref
        ; gcrRegs -[rax]
@@ -265,7 +265,7 @@ G_M57116_IG19:        ; bbWeight=0.64, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
 G_M57116_IG20:        ; bbWeight=0.41, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rax, gword ptr [rbp-0x30]
        ; gcrRegs +[rax]
-       jmp      G_M57116_IG34
+       jmp      G_M57116_IG33
                       ;; size=9 bbWeight=0.41 PerfScore 1.23
 G_M57116_IG21:        ; bbWeight=0.05, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
@@ -297,20 +297,10 @@ G_M57116_IG24:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M57116_IG25:        ; bbWeight=0.09, gcrefRegs=0000 {}, byrefRegs=4000 {r14}, byref, isz
+G_M57116_IG25:        ; bbWeight=0.09, gcrefRegs=0000 {}, byrefRegs=4000 {r14}, byref
        ; byrRegs +[r14]
        mov      rax, gword ptr [rbp-0x30]
        ; gcrRegs +[rax]
-       mov      edi, dword ptr [r14+0x14]
-       mov      r11, gword ptr [r14]
-       ; gcrRegs +[r11]
-       cmp      edi, dword ptr [r11+0x14]
-       jne      SHORT G_M57116_IG24
-                       ;; size=17 bbWeight=0.09 PerfScore 0.85
-G_M57116_IG26:        ; bbWeight=0.09, gcrefRegs=0000 {}, byrefRegs=4000 {r14}, byref
-       ; gcrRegs -[rax r11]
-       mov      rax, gword ptr [rbp-0x30]
-       ; gcrRegs +[rax]
        mov      rdi, gword ptr [r14]
        ; gcrRegs +[rdi]
        mov      edi, dword ptr [rdi+0x10]
@@ -320,9 +310,9 @@ G_M57116_IG26:        ; bbWeight=0.09, gcrefRegs=0000 {}, byrefRegs=4000 {r14},
        xor      rdi, rdi
        ; gcrRegs +[rdi]
        mov      gword ptr [r14+0x08], rdi
-       jmp      G_M57116_IG34
+       jmp      G_M57116_IG33
                         ;; size=27 bbWeight=0.09 PerfScore 0.90
-G_M57116_IG27:        ; bbWeight=0.20, gcVars=0000000000000001 {V00}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
+G_M57116_IG26:        ; bbWeight=0.20, gcVars=0000000000000001 {V00}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax rdi] +[rbx]
        ; byrRegs -[r14]
        ; GC ptr vars -{V04}
@@ -332,7 +322,7 @@ G_M57116_IG27:        ; bbWeight=0.20, gcVars=0000000000000001 {V00}, gcrefRegs=
        ; gcr arg pop 0
        jmp      G_M57116_IG03
                        ;; size=23 bbWeight=0.20 PerfScore 0.70
-G_M57116_IG28:        ; bbWeight=0.12, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
+G_M57116_IG27:        ; bbWeight=0.12, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx] +[r14]
        mov      rdi, r15
        mov      rsi, 0xD1FFAB1E      ; global ptr
@@ -341,7 +331,7 @@ G_M57116_IG28:        ; bbWeight=0.12, gcrefRegs=4000 {r14}, byrefRegs=0000 {},
        mov      r11, rax
        jmp      G_M57116_IG05
                        ;; size=26 bbWeight=0.12 PerfScore 0.44
-G_M57116_IG29:        ; bbWeight=0.11, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M57116_IG28:        ; bbWeight=0.11, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
        mov      rdi, r15
        mov      rsi, 0xD1FFAB1E      ; global ptr
@@ -350,15 +340,15 @@ G_M57116_IG29:        ; bbWeight=0.11, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        mov      rdi, rax
        jmp      G_M57116_IG07
                        ;; size=26 bbWeight=0.11 PerfScore 0.41
-G_M57116_IG30:        ; bbWeight=0.05, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
+G_M57116_IG29:        ; bbWeight=0.05, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
        ; gcrRegs +[r14]
        mov      rdi, qword ptr [r15+0x38]
        mov      rdi, qword ptr [rdi]
        mov      rdi, qword ptr [rdi+0x58]
        test     rdi, rdi
-       je       G_M57116_IG38
+       je       G_M57116_IG37
                      ;; size=20 bbWeight=0.05 PerfScore 0.35
-G_M57116_IG31:        ; bbWeight=0.05, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
+G_M57116_IG30:        ; bbWeight=0.05, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
        movsxd   rsi, ebx
        call     CORINFO_HELP_NEWARR_1_OBJ
        ; gcrRegs +[rax]
@@ -377,9 +367,9 @@ G_M57116_IG31:        ; bbWeight=0.05, gcrefRegs=4000 {r14}, byrefRegs=0000 {},
        mov      rdi, qword ptr [rdi]
        mov      r11, qword ptr [rdi+0x88]
        test     r11, r11
-       je       G_M57116_IG39
+       je       G_M57116_IG38
                      ;; size=47 bbWeight=0.05 PerfScore 0.55
-G_M57116_IG32:        ; bbWeight=0.05, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
+G_M57116_IG31:        ; bbWeight=0.05, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
        mov      rdi, gword ptr [rbp-0x28]
        ; gcrRegs +[rdi]
        mov      rsi, gword ptr [rdi+0x08]
@@ -393,7 +383,7 @@ G_M57116_IG32:        ; bbWeight=0.05, gcrefRegs=4000 {r14}, byrefRegs=0000 {},
        ; gcrRegs +[rdi]
        mov      dword ptr [rdi+0x10], ebx
                        ;; size=23 bbWeight=0.05 PerfScore 0.41
-G_M57116_IG33:        ; bbWeight=0.05, epilog, nogc, extend
+G_M57116_IG32:        ; bbWeight=0.05, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
        pop      r14
@@ -401,7 +391,7 @@ G_M57116_IG33:        ; bbWeight=0.05, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=11 bbWeight=0.05 PerfScore 0.16
-G_M57116_IG34:        ; bbWeight=0.41, gcVars=0000000000010001 {V00 V04}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref
+G_M57116_IG33:        ; bbWeight=0.41, gcVars=0000000000010001 {V00 V04}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rdi] +[rax]
        ; GC ptr vars +{V04 V16}
        mov      rdi, rax
@@ -413,7 +403,7 @@ G_M57116_IG34:        ; bbWeight=0.41, gcVars=0000000000010001 {V00 V04}, gcrefR
        ; gcr arg pop 0
        nop      
                        ;; size=17 bbWeight=0.41 PerfScore 1.54
-G_M57116_IG35:        ; bbWeight=0.41, epilog, nogc, extend
+G_M57116_IG34:        ; bbWeight=0.41, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
        pop      r14
@@ -421,7 +411,7 @@ G_M57116_IG35:        ; bbWeight=0.41, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=11 bbWeight=0.41 PerfScore 1.33
-G_M57116_IG36:        ; bbWeight=0.08, gcVars=0000000000000001 {V00}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
+G_M57116_IG35:        ; bbWeight=0.08, gcVars=0000000000000001 {V00}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs +[rbx]
        mov      rdi, r15
        mov      rsi, 0xD1FFAB1E      ; global ptr
@@ -430,7 +420,7 @@ G_M57116_IG36:        ; bbWeight=0.08, gcVars=0000000000000001 {V00}, gcrefRegs=
        mov      rsi, rax
        jmp      G_M57116_IG10
                        ;; size=26 bbWeight=0.08 PerfScore 0.31
-G_M57116_IG37:        ; bbWeight=0.08, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M57116_IG36:        ; bbWeight=0.08, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdi, r15
        mov      rsi, 0xD1FFAB1E      ; global ptr
        call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
@@ -438,31 +428,31 @@ G_M57116_IG37:        ; bbWeight=0.08, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      r11, rax
        jmp      G_M57116_IG11
                        ;; size=26 bbWeight=0.08 PerfScore 0.31
-G_M57116_IG38:        ; bbWeight=0.01, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
+G_M57116_IG37:        ; bbWeight=0.01, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx] +[r14]
        mov      rdi, r15
        mov      rsi, 0xD1FFAB1E      ; global ptr
        call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
        ; gcr arg pop 0
        mov      rdi, rax
-       jmp      G_M57116_IG31
+       jmp      G_M57116_IG30
                      ;; size=26 bbWeight=0.01 PerfScore 0.04
-G_M57116_IG39:        ; bbWeight=0.01, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
+G_M57116_IG38:        ; bbWeight=0.01, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
        mov      rdi, r15
        mov      rsi, 0xD1FFAB1E      ; global ptr
        call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
        ; gcr arg pop 0
        mov      r11, rax
-       jmp      G_M57116_IG32
+       jmp      G_M57116_IG31
                      ;; size=26 bbWeight=0.01 PerfScore 0.04
-G_M57116_IG40:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M57116_IG39:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
        mov      edi, 23
...
  
-16 (-1.82%) : 8600.dasm - System.Collections.Generic.List1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable1[System.__Canon]):this (Tier1)
@@ -32,7 +32,7 @@
 ;  V20 tmp15        [V20,T24] (  3,  1.53)     ref  ->  rdx         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V21 tmp16        [V21,T22] (  4,  1.96)     int  ->  rsi         "Inline stloc first use temp"
 ;  V22 tmp17        [V22,T21] (  3,  2.21)     ref  ->  rax         class-hnd "Inlining Arg" <System.__Canon>
-;  V23 tmp18        [V23,T00] ( 12, 13.32)   byref  ->  rbx         "Inlining Arg"
+;  V23 tmp18        [V23,T00] ( 10, 12.55)   byref  ->  rbx         "Inlining Arg"
 ;  V24 tmp19        [V24,T15] (  4,  3.39)     ref  ->  rdi         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V25 tmp20        [V25,T13] (  2,  4   )    long  ->  rax         "argument with side effect"
 ;  V26 tmp21        [V26,T08] (  3,  4.22)     ref  ->  rdi         "arr expr"
@@ -70,14 +70,14 @@ G_M57116_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M57116_IG02:        ; bbWeight=1, gcVars=0000000000000002 {V00}, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs +[rdi]
        test     rbx, rbx
-       je       G_M57116_IG41
+       je       G_M57116_IG40
        mov      r15, qword ptr [rdi]
        mov      rsi, r15
        mov      rax, qword ptr [rsi+0x38]
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x68]
        test     rax, rax
-       je       G_M57116_IG26
+       je       G_M57116_IG25
                      ;; size=35 bbWeight=1 PerfScore 10.75
 G_M57116_IG03:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
@@ -90,7 +90,7 @@ G_M57116_IG03:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      r14, rax
        ; gcrRegs +[r14]
        test     r14, r14
-       jne      G_M57116_IG22
+       jne      G_M57116_IG21
                      ;; size=23 bbWeight=1 PerfScore 3.00
 G_M57116_IG04:        ; bbWeight=0.73, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax r14]
@@ -98,7 +98,7 @@ G_M57116_IG04:        ; bbWeight=0.73, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      rsi, qword ptr [rsi]
        mov      rsi, qword ptr [rsi+0x60]
        test     rsi, rsi
-       je       G_M57116_IG33
+       je       G_M57116_IG32
                      ;; size=20 bbWeight=0.73 PerfScore 5.29
 G_M57116_IG05:        ; bbWeight=0.73, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdi, rsi
@@ -119,7 +119,7 @@ G_M57116_IG05:        ; bbWeight=0.73, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      rdi, qword ptr [rdi]
        mov      r11, qword ptr [rdi+0x70]
        test     r11, r11
-       je       G_M57116_IG34
+       je       G_M57116_IG33
                      ;; size=44 bbWeight=0.73 PerfScore 9.48
 G_M57116_IG06:        ; bbWeight=0.73, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdi, rbx
@@ -142,13 +142,13 @@ G_M57116_IG08:        ; bbWeight=0.90, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
        ; gcrRegs +[rdi]
        mov      esi, dword ptr [rbx+0x14]
        cmp      esi, dword ptr [rdi+0x14]
-       jne      G_M57116_IG20
+       jne      G_M57116_IG19
                         ;; size=19 bbWeight=0.90 PerfScore 7.62
 G_M57116_IG09:        ; bbWeight=0.90, gcrefRegs=0080 {rdi}, byrefRegs=0008 {rbx}, byref
        ; gcrRegs -[rax]
        mov      esi, dword ptr [rbx+0x10]
        cmp      esi, dword ptr [rdi+0x10]
-       jae      G_M57116_IG21
+       jae      G_M57116_IG20
                         ;; size=12 bbWeight=0.90 PerfScore 5.38
 G_M57116_IG10:        ; bbWeight=0.70, gcrefRegs=0080 {rdi}, byrefRegs=0008 {rbx}, byref
        mov      rdi, gword ptr [rdi+0x08]
@@ -214,7 +214,7 @@ G_M57116_IG14:        ; bbWeight=1.28, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
 G_M57116_IG15:        ; bbWeight=0.73, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rax, gword ptr [rbp-0x30]
        ; gcrRegs +[rax]
-       jmp      G_M57116_IG31
+       jmp      G_M57116_IG30
                       ;; size=9 bbWeight=0.73 PerfScore 2.19
 G_M57116_IG16:        ; bbWeight=0.11, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
@@ -246,20 +246,10 @@ G_M57116_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M57116_IG20:        ; bbWeight=0.19, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref, isz
+G_M57116_IG20:        ; bbWeight=0.19, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref
        ; byrRegs +[rbx]
        mov      rax, gword ptr [rbp-0x30]
        ; gcrRegs +[rax]
-       mov      edi, dword ptr [rbx+0x14]
-       mov      r11, gword ptr [rbx]
-       ; gcrRegs +[r11]
-       cmp      edi, dword ptr [r11+0x14]
-       jne      SHORT G_M57116_IG19
-                       ;; size=16 bbWeight=0.19 PerfScore 1.73
-G_M57116_IG21:        ; bbWeight=0.19, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref
-       ; gcrRegs -[rax r11]
-       mov      rax, gword ptr [rbp-0x30]
-       ; gcrRegs +[rax]
        mov      rdi, gword ptr [rbx]
        ; gcrRegs +[rdi]
        mov      edi, dword ptr [rdi+0x10]
@@ -269,9 +259,9 @@ G_M57116_IG21:        ; bbWeight=0.19, gcrefRegs=0000 {}, byrefRegs=0008 {rbx},
        xor      rdi, rdi
        ; gcrRegs +[rdi]
        mov      gword ptr [rbx+0x08], rdi
-       jmp      G_M57116_IG31
+       jmp      G_M57116_IG30
                         ;; size=26 bbWeight=0.19 PerfScore 1.83
-G_M57116_IG22:        ; bbWeight=0.27, gcVars=0000000000000002 {V00}, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M57116_IG21:        ; bbWeight=0.27, gcVars=0000000000000002 {V00}, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rax rdi] +[r14]
        ; byrRegs -[rbx]
        ; GC ptr vars -{V04}
@@ -279,9 +269,9 @@ G_M57116_IG22:        ; bbWeight=0.27, gcVars=0000000000000002 {V00}, gcrefRegs=
        mov      rdi, qword ptr [rdi]
        mov      r11, qword ptr [rdi+0x80]
        test     r11, r11
-       je       SHORT G_M57116_IG27
+       je       SHORT G_M57116_IG26
                      ;; size=19 bbWeight=0.27 PerfScore 1.96
-G_M57116_IG23:        ; bbWeight=0.27, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
+G_M57116_IG22:        ; bbWeight=0.27, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref
        mov      rdi, r14
        ; gcrRegs +[rdi]
        call     [r11]
@@ -289,20 +279,20 @@ G_M57116_IG23:        ; bbWeight=0.27, gcrefRegs=4000 {r14}, byrefRegs=0000 {},
        ; gcr arg pop 0
        mov      ebx, eax
        test     ebx, ebx
-       jne      G_M57116_IG35
+       jne      G_M57116_IG34
                      ;; size=16 bbWeight=0.27 PerfScore 1.29
-G_M57116_IG24:        ; bbWeight=0.14, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M57116_IG23:        ; bbWeight=0.14, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[r14]
        mov      rdi, qword ptr [r15+0x38]
        mov      rdi, qword ptr [rdi]
        mov      rdi, qword ptr [rdi+0x60]
        test     rdi, rdi
-       je       SHORT G_M57116_IG28
+       je       SHORT G_M57116_IG27
                      ;; size=16 bbWeight=0.14 PerfScore 1.02
-G_M57116_IG25:        ; bbWeight=0.11, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       jmp      SHORT G_M57116_IG29
+G_M57116_IG24:        ; bbWeight=0.11, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M57116_IG28
                         ;; size=2 bbWeight=0.11 PerfScore 0.22
-G_M57116_IG26:        ; bbWeight=0.20, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M57116_IG25:        ; bbWeight=0.20, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rbx]
        mov      rdi, rsi
        mov      rsi, 0xD1FFAB1E      ; global ptr
@@ -310,16 +300,16 @@ G_M57116_IG26:        ; bbWeight=0.20, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcr arg pop 0
        jmp      G_M57116_IG03
                        ;; size=23 bbWeight=0.20 PerfScore 0.70
-G_M57116_IG27:        ; bbWeight=0.05, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref, isz
+G_M57116_IG26:        ; bbWeight=0.05, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rbx] +[r14]
        mov      rdi, r15
        mov      rsi, 0xD1FFAB1E      ; global ptr
        call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
        ; gcr arg pop 0
        mov      r11, rax
-       jmp      SHORT G_M57116_IG23
+       jmp      SHORT G_M57116_IG22
                      ;; size=23 bbWeight=0.05 PerfScore 0.20
-G_M57116_IG28:        ; bbWeight=0.03, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M57116_IG27:        ; bbWeight=0.03, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
        mov      rdi, r15
        mov      rsi, 0xD1FFAB1E      ; global ptr
@@ -327,7 +317,7 @@ G_M57116_IG28:        ; bbWeight=0.03, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        ; gcr arg pop 0
        mov      rdi, rax
                        ;; size=21 bbWeight=0.03 PerfScore 0.05
-G_M57116_IG29:        ; bbWeight=0.14, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M57116_IG28:        ; bbWeight=0.14, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
        ; byrRegs +[rax]
        ; gcr arg pop 0
@@ -343,7 +333,7 @@ G_M57116_IG29:        ; bbWeight=0.14, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        ; byrRegs -[rax rdi]
        nop      
                        ;; size=22 bbWeight=0.14 PerfScore 0.81
-G_M57116_IG30:        ; bbWeight=0.14, epilog, nogc, extend
+G_M57116_IG29:        ; bbWeight=0.14, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
        pop      r14
@@ -351,7 +341,7 @@ G_M57116_IG30:        ; bbWeight=0.14, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=11 bbWeight=0.14 PerfScore 0.46
-G_M57116_IG31:        ; bbWeight=0.73, gcVars=0000000000000022 {V00 V04}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref
+G_M57116_IG30:        ; bbWeight=0.73, gcVars=0000000000000022 {V00 V04}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs +[rax]
        ; GC ptr vars +{V04}
        mov      rdi, rax
@@ -363,7 +353,7 @@ G_M57116_IG31:        ; bbWeight=0.73, gcVars=0000000000000022 {V00 V04}, gcrefR
        ; gcr arg pop 0
        nop      
                        ;; size=17 bbWeight=0.73 PerfScore 2.73
-G_M57116_IG32:        ; bbWeight=0.73, epilog, nogc, extend
+G_M57116_IG31:        ; bbWeight=0.73, epilog, nogc, extend
        add      rsp, 40
        pop      rbx
        pop      r14
@@ -371,7 +361,7 @@ G_M57116_IG32:        ; bbWeight=0.73, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=11 bbWeight=0.73 PerfScore 2.37
-G_M57116_IG33:        ; bbWeight=0.15, gcVars=0000000000000002 {V00}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
+G_M57116_IG32:        ; bbWeight=0.15, gcVars=0000000000000002 {V00}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs +[rbx]
        mov      rdi, r15
        mov      rsi, 0xD1FFAB1E      ; global ptr
@@ -380,7 +370,7 @@ G_M57116_IG33:        ; bbWeight=0.15, gcVars=0000000000000002 {V00}, gcrefRegs=
        mov      rsi, rax
        jmp      G_M57116_IG05
                        ;; size=26 bbWeight=0.15 PerfScore 0.55
-G_M57116_IG34:        ; bbWeight=0.15, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M57116_IG33:        ; bbWeight=0.15, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdi, r15
        mov      rsi, 0xD1FFAB1E      ; global ptr
        call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
@@ -388,15 +378,15 @@ G_M57116_IG34:        ; bbWeight=0.15, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      r11, rax
        jmp      G_M57116_IG06
                        ;; size=26 bbWeight=0.15 PerfScore 0.55
-G_M57116_IG35:        ; bbWeight=0.13, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref, isz
+G_M57116_IG34:        ; bbWeight=0.13, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rbx] +[r14]
        mov      rdi, qword ptr [r15+0x38]
        mov      rdi, qword ptr [rdi]
        mov      rdi, qword ptr [rdi+0x58]
        test     rdi, rdi
-       je       SHORT G_M57116_IG39
+       je       SHORT G_M57116_IG38
                      ;; size=16 bbWeight=0.13 PerfScore 0.95
-G_M57116_IG36:        ; bbWeight=0.13, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref, isz
+G_M57116_IG35:        ; bbWeight=0.13, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byref, isz
        movsxd   rsi, ebx
        call     CORINFO_HELP_NEWARR_1_OBJ
        ; gcrRegs +[rax]
@@ -415,9 +405,9 @@ G_M57116_IG36:        ; bbWeight=0.13, gcrefRegs=4000 {r14}, byrefRegs=0000 {},
        mov      rdi, qword ptr [rdi]
        mov      r11, qword ptr [rdi+0x88]
        test     r11, r11
-       je       SHORT G_M57116_IG40
+       je       SHORT G_M57116_IG39
...
  
-1 (-0.08%) : 29921.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
@@ -110,7 +110,7 @@ G_M25128_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=8008 {rbx r15},
 G_M25128_IG03:        ; bbWeight=1.21, gcrefRegs=4000 {r14}, byrefRegs=8008 {rbx r15}, byref
        mov      edi, dword ptr [rbx+0x10]
        cmp      edi, dword ptr [rbx+0x08]
-       jge      G_M25128_IG31
+       jge      G_M25128_IG20
                         ;; size=12 bbWeight=1.21 PerfScore 7.29
 G_M25128_IG04:        ; bbWeight=4.86, gcrefRegs=4000 {r14}, byrefRegs=8008 {rbx r15}, byref
        lea      eax, [rdi+0x01]
@@ -132,11 +132,11 @@ G_M25128_IG05:        ; bbWeight=1.21, gcrefRegs=4000 {r14}, byrefRegs=8008 {rbx
                        ;; size=12 bbWeight=1.21 PerfScore 1.82
 G_M25128_IG06:        ; bbWeight=1.14, gcrefRegs=4000 {r14}, byrefRegs=8008 {rbx r15}, byref
        cmp      r12d, 44
-       je       G_M25128_IG32
+       je       G_M25128_IG21
                      ;; size=10 bbWeight=1.14 PerfScore 1.43
 G_M25128_IG07:        ; bbWeight=0.93, gcrefRegs=4000 {r14}, byrefRegs=8008 {rbx r15}, byref
        cmp      r12d, 61
-       je       G_M25128_IG36
+       je       G_M25128_IG38
                      ;; size=10 bbWeight=0.93 PerfScore 1.16
 G_M25128_IG08:        ; bbWeight=0.71, gcrefRegs=4000 {r14}, byrefRegs=8008 {rbx r15}, byref, isz
        mov      edi, r12d
@@ -168,37 +168,113 @@ G_M25128_IG11:        ; bbWeight=0.50, gcrefRegs=4000 {r14}, byrefRegs=8008 {rbx
                        ;; size=22 bbWeight=0.50 PerfScore 1.38
 G_M25128_IG12:        ; bbWeight=6.71, gcrefRegs=4000 {r14}, byrefRegs=8008 {rbx r15}, byref
        test     r12d, r12d
-       je       G_M25128_IG44
+       je       G_M25128_IG25
                        ;; size=9 bbWeight=6.71 PerfScore 8.39
-G_M25128_IG13:        ; bbWeight=6.64, gcrefRegs=4000 {r14}, byrefRegs=8008 {rbx r15}, byref, isz
+G_M25128_IG13:        ; bbWeight=6.64, gcrefRegs=4000 {r14}, byrefRegs=8008 {rbx r15}, byref
        test     ecx, ecx
-       jne      G_M25128_IG50
+       jne      G_M25128_IG49
        cmp      r12d, 44
-       je       SHORT G_M25128_IG15
-                       ;; size=14 bbWeight=6.64 PerfScore 16.61
+       je       G_M25128_IG37
+                       ;; size=18 bbWeight=6.64 PerfScore 16.61
 G_M25128_IG14:        ; bbWeight=6.43, gcrefRegs=4000 {r14}, byrefRegs=8008 {rbx r15}, byref
        cmp      r12d, 61
-       jne      G_M25128_IG39
+       je       G_M25128_IG37
                      ;; size=10 bbWeight=6.43 PerfScore 8.04
-G_M25128_IG15:        ; bbWeight=0.43, gcrefRegs=4000 {r14}, byrefRegs=8008 {rbx r15}, byref
-       dec      dword ptr [rbx+0x10]
-                       ;; size=3 bbWeight=0.43 PerfScore 1.29
-G_M25128_IG16:        ; bbWeight=0.50, gcrefRegs=4000 {r14}, byrefRegs=8000 {r15}, byref, isz
+G_M25128_IG15:        ; bbWeight=6.21, gcrefRegs=4000 {r14}, byrefRegs=8008 {rbx r15}, byref
+       cmp      r12d, 39
+       je       G_M25128_IG65
+       cmp      r12d, 34
+       je       G_M25128_IG65
+                       ;; size=20 bbWeight=6.21 PerfScore 15.54
+G_M25128_IG16:        ; bbWeight=6.21, gcrefRegs=4000 {r14}, byrefRegs=8008 {rbx r15}, byref
+       cmp      r12d, 92
+       je       G_M25128_IG50
+       mov      edi, dword ptr [rbp-0x40]
+       mov      rsi, bword ptr [rbp-0x38]
+       ; byrRegs +[rsi]
+       mov      eax, dword ptr [rbp-0x30]
+       cmp      edi, eax
+       jae      G_M25128_IG64
+       mov      eax, edi
+       mov      word  ptr [rsi+2*rax], r12w
+       inc      edi
+       mov      dword ptr [rbp-0x40], edi
+                       ;; size=40 bbWeight=6.21 PerfScore 49.71
+G_M25128_IG17:        ; bbWeight=6.21, gcrefRegs=4000 {r14}, byrefRegs=8008 {rbx r15}, byref, isz
+       ; byrRegs -[rsi]
+       mov      edi, dword ptr [rbx+0x10]
+       cmp      edi, dword ptr [rbx+0x08]
+       jge      SHORT G_M25128_IG24
+                       ;; size=8 bbWeight=6.21 PerfScore 37.29
+G_M25128_IG18:        ; bbWeight=24.86, gcrefRegs=4000 {r14}, byrefRegs=8008 {rbx r15}, byref
+       lea      esi, [rdi+0x01]
+       mov      dword ptr [rbx+0x10], esi
+       cmp      edi, dword ptr [rbx+0x08]
+       jae      G_M25128_IG45
+       mov      rsi, bword ptr [rbx]
+       ; byrRegs +[rsi]
+       mov      edi, edi
+       movzx    r12, word  ptr [rsi+2*rdi]
+       test     r12d, r12d
+       je       G_M25128_IG65
+                       ;; size=34 bbWeight=24.86 PerfScore 273.43
+G_M25128_IG19:        ; bbWeight=6.21, gcrefRegs=4000 {r14}, byrefRegs=8008 {rbx r15}, byref
+       ; byrRegs -[rsi]
+       jmp      G_M25128_IG12
+                       ;; size=5 bbWeight=6.21 PerfScore 12.43
+G_M25128_IG20:        ; bbWeight=4.86, gcrefRegs=4000 {r14}, byrefRegs=8008 {rbx r15}, byref
+       xor      r13d, r13d
+       jmp      G_M25128_IG05
+                       ;; size=8 bbWeight=4.86 PerfScore 10.93
+G_M25128_IG21:        ; bbWeight=0.21, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[r14]
+       ; byrRegs -[rbx r15]
+       mov      eax, 2
+       mov      rdi, 0xD1FFAB1E
+       cmp      qword ptr [rbp-0x68], rdi
+       je       SHORT G_M25128_IG22
+       call     CORINFO_HELP_FAIL_FAST
+       ; gcr arg pop 0
+                       ;; size=26 bbWeight=0.21 PerfScore 0.96
+G_M25128_IG22:        ; bbWeight=0.21, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       nop      
+                       ;; size=1 bbWeight=0.21 PerfScore 0.05
+G_M25128_IG23:        ; bbWeight=0.21, epilog, nogc, extend
+       lea      rsp, [rbp-0x28]
+       pop      rbx
+       pop      r12
+       pop      r13
+       pop      r14
+       pop      r15
+       pop      rbp
+       ret      
+                       ;; size=15 bbWeight=0.21 PerfScore 0.96
+G_M25128_IG24:        ; bbWeight=24.86, gcVars=0000000000000000 {}, gcrefRegs=4000 {r14}, byrefRegs=8008 {rbx r15}, gcvars, byref, isz
+       ; gcrRegs +[r14]
+       ; byrRegs +[rbx r15]
+       xor      r12d, r12d
+       jmp      SHORT G_M25128_IG19
+                       ;; size=5 bbWeight=24.86 PerfScore 55.93
+G_M25128_IG25:        ; bbWeight=0.07, gcrefRegs=4000 {r14}, byrefRegs=8008 {rbx r15}, byref
+       test     ecx, ecx
+       jne      G_M25128_IG65
+                       ;; size=8 bbWeight=0.07 PerfScore 0.09
+G_M25128_IG26:        ; bbWeight=0.50, gcrefRegs=4000 {r14}, byrefRegs=8000 {r15}, byref, isz
        ; byrRegs -[rbx]
        test     ecx, ecx
-       jne      SHORT G_M25128_IG21
+       jne      SHORT G_M25128_IG31
                      ;; size=4 bbWeight=0.50 PerfScore 0.62
-G_M25128_IG17:        ; bbWeight=0.50, gcrefRegs=4000 {r14}, byrefRegs=8000 {r15}, byref, isz
+G_M25128_IG27:        ; bbWeight=0.50, gcrefRegs=4000 {r14}, byrefRegs=8000 {r15}, byref, isz
        mov      edi, dword ptr [rbp-0x40]
        test     edi, edi
-       jle      SHORT G_M25128_IG21
+       jle      SHORT G_M25128_IG31
                      ;; size=7 bbWeight=0.50 PerfScore 1.12
-G_M25128_IG18:        ; bbWeight=0.50, gcrefRegs=4000 {r14}, byrefRegs=8000 {r15}, byref, isz
+G_M25128_IG28:        ; bbWeight=0.50, gcrefRegs=4000 {r14}, byrefRegs=8000 {r15}, byref, isz
        lea      r13d, [rdi-0x01]
        cmp      r13d, edi
-       jl       SHORT G_M25128_IG20
+       jl       SHORT G_M25128_IG30
                         ;; size=9 bbWeight=0.50 PerfScore 0.88
-G_M25128_IG19:        ; bbWeight=2.00, gcrefRegs=4000 {r14}, byrefRegs=8000 {r15}, byref
+G_M25128_IG29:        ; bbWeight=2.00, gcrefRegs=4000 {r14}, byrefRegs=8000 {r15}, byref
        mov      rdi, r14
        ; gcrRegs +[rdi]
        mov      rsi, r14
@@ -207,7 +283,7 @@ G_M25128_IG19:        ; bbWeight=2.00, gcrefRegs=4000 {r14}, byrefRegs=8000 {r15
        ; gcrRegs -[rsi rdi]
        ; gcr arg pop 0
                        ;; size=12 bbWeight=2.00 PerfScore 7.00
-G_M25128_IG20:        ; bbWeight=0.50, gcrefRegs=4000 {r14}, byrefRegs=8000 {r15}, byref
+G_M25128_IG30:        ; bbWeight=0.50, gcrefRegs=4000 {r14}, byrefRegs=8000 {r15}, byref
        cmp      r13d, dword ptr [rbp-0x30]
        jae      G_M25128_IG45
        mov      rdi, bword ptr [rbp-0x38]
@@ -220,16 +296,16 @@ G_M25128_IG20:        ; bbWeight=0.50, gcrefRegs=4000 {r14}, byrefRegs=8000 {r15
        test     eax, eax
        jne      G_M25128_IG66
                        ;; size=35 bbWeight=0.50 PerfScore 5.25
-G_M25128_IG21:        ; bbWeight=0.50, gcrefRegs=4000 {r14}, byrefRegs=8000 {r15}, byref
+G_M25128_IG31:        ; bbWeight=0.50, gcrefRegs=4000 {r14}, byrefRegs=8000 {r15}, byref
        mov      ebx, dword ptr [rbp-0x40]
        cmp      ebx, dword ptr [rbp-0x30]
        ja       G_M25128_IG67
                        ;; size=12 bbWeight=0.50 PerfScore 2.00
-G_M25128_IG22:        ; bbWeight=0.50, gcrefRegs=4000 {r14}, byrefRegs=8000 {r15}, byref, isz
+G_M25128_IG32:        ; bbWeight=0.50, gcrefRegs=4000 {r14}, byrefRegs=8000 {r15}, byref, isz
        mov      r12, bword ptr [rbp-0x38]
        ; byrRegs +[r12]
        test     ebx, ebx
-       jge      SHORT G_M25128_IG23
+       jge      SHORT G_M25128_IG33
        mov      rdi, r14
        ; gcrRegs +[rdi]
        mov      rsi, r14
@@ -238,7 +314,7 @@ G_M25128_IG22:        ; bbWeight=0.50, gcrefRegs=4000 {r14}, byrefRegs=8000 {r15
        ; gcrRegs -[rsi rdi r14]
        ; gcr arg pop 0
                        ;; size=20 bbWeight=0.50 PerfScore 2.88
-G_M25128_IG23:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=9000 {r12 r15}, byref, isz
+G_M25128_IG33:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=9000 {r12 r15}, byref
        mov      bword ptr [rbp-0x60], r12
        mov      dword ptr [rbp-0x58], ebx
        lea      rdi, [rbp-0x60]
@@ -253,9 +329,9 @@ G_M25128_IG23:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=9000 {r12 r1
        vxorps   ymm0, ymm0, ymm0
        vmovdqu  ymmword ptr [rbp-0x48], ymm0
        test     rbx, rbx
-       jne      SHORT G_M25128_IG30
-                       ;; size=38 bbWeight=0.50 PerfScore 4.67
-G_M25128_IG24:        ; bbWeight=0.50, gcrefRegs=4000 {r14}, byrefRegs=8000 {r15}, byref, isz
+       jne      G_M25128_IG44
+                       ;; size=42 bbWeight=0.50 PerfScore 4.67
+G_M25128_IG34:        ; bbWeight=0.50, gcrefRegs=4000 {r14}, byrefRegs=8000 {r15}, byref, isz
        ; gcrRegs -[rax rbx]
        mov      rdi, r15
        ; byrRegs +[rdi]
@@ -267,14 +343,14 @@ G_M25128_IG24:        ; bbWeight=0.50, gcrefRegs=4000 {r14}, byrefRegs=8000 {r15
        mov      eax, 3
        mov      rdi, 0xD1FFAB1E
        cmp      qword ptr [rbp-0x68], rdi
-       je       SHORT G_M25128_IG25
+       je       SHORT G_M25128_IG35
        call     CORINFO_HELP_FAIL_FAST
        ; gcr arg pop 0
                        ;; size=37 bbWeight=0.50 PerfScore 3.00
-G_M25128_IG25:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M25128_IG35:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=0.50 PerfScore 0.12
-G_M25128_IG26:        ; bbWeight=0.50, epilog, nogc, extend
+G_M25128_IG36:        ; bbWeight=0.50, epilog, nogc, extend
        lea      rsp, [rbp-0x28]
        pop      rbx
        pop      r12
@@ -284,96 +360,26 @@ G_M25128_IG26:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=15 bbWeight=0.50 PerfScore 2.25
-G_M25128_IG27:        ; bbWeight=6.21, gcVars=0000000000000000 {}, gcrefRegs=4000 {r14}, byrefRegs=8008 {rbx r15}, gcvars, byref
+G_M25128_IG37:        ; bbWeight=0.43, gcVars=0000000000000000 {}, gcrefRegs=4000 {r14}, byrefRegs=8008 {rbx r15}, gcvars, byref
        ; gcrRegs +[r14]
        ; byrRegs +[rbx r15]
-       mov      edi, dword ptr [rbx+0x10]
-       cmp      edi, dword ptr [rbx+0x08]
-       jge      G_M25128_IG35
-                       ;; size=12 bbWeight=6.21 PerfScore 37.29
-G_M25128_IG28:        ; bbWeight=24.86, gcrefRegs=4000 {r14}, byrefRegs=8008 {rbx r15}, byref
-       lea      esi, [rdi+0x01]
-       mov      dword ptr [rbx+0x10], esi
-       cmp      edi, dword ptr [rbx+0x08]
-       jae      G_M25128_IG45
-       mov      rsi, bword ptr [rbx]
-       ; byrRegs +[rsi]
-       mov      edi, edi
-       movzx    r12, word  ptr [rsi+2*rdi]
-       test     r12d, r12d
-       je       G_M25128_IG65
-                       ;; size=34 bbWeight=24.86 PerfScore 273.43
-G_M25128_IG29:        ; bbWeight=6.21, gcrefRegs=4000 {r14}, byrefRegs=8008 {rbx r15}, byref
-       ; byrRegs -[rsi]
-       jmp      G_M25128_IG12
-                       ;; size=5 bbWeight=6.21 PerfScore 12.43
...
  
+2 (+0.09%) : 72386.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:g_Compute|50(System.String):System.Text.RegularExpressions.Symbolic.BDD:this (Tier0-FullOpts)
@@ -8,26 +8,26 @@
 ; 17 inlinees with PGO data; 48 single block inlinees; 18 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T56] (  3,  3   )     ref  ->  rdi         this class-hnd single-def <System.Text.RegularExpressions.Symbolic.RegexNodeConverter>
-;  V01 arg1         [V01,T57] (  3,  3   )     ref  ->  rsi         class-hnd single-def <System.String>
+;  V00 this         [V00,T57] (  3,  3   )     ref  ->  rdi         this class-hnd single-def <System.Text.RegularExpressions.Symbolic.RegexNodeConverter>
+;  V01 arg1         [V01,T58] (  3,  3   )     ref  ->  rsi         class-hnd single-def <System.String>
 ;  V02 loc0         [V02    ] ( 12, 14   )  struct ( 8) [rbp-0x58]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Text.RegularExpressions.Symbolic.RegexNodeConverter+<>c__DisplayClass5_0>
 ;  V03 loc1         [V03,T13] ( 24, 35.49)     ref  ->  r14         class-hnd exact single-def <<unknown class>>
 ;  V04 loc2         [V04,T42] (  6,  8   )   ubyte  ->  r12         single-def
-;  V05 loc3         [V05,T66] (  4,  3   )     ref  ->  rax         class-hnd single-def <System.Collections.Generic.List`1[System.ValueTuple`2[ushort,ushort]]>
+;  V05 loc3         [V05,T67] (  4,  3   )     ref  ->  rax         class-hnd single-def <System.Collections.Generic.List`1[System.ValueTuple`2[ushort,ushort]]>
 ;* V06 loc4         [V06    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op <System.Span`1[ubyte]>
-;  V07 loc5         [V07,T87] (  2,  8   )     int  ->  rcx         single-def
-;  V08 loc6         [V08,T52] (  3, 12   )     int  ->  [rbp-0x5C]  spill-single-def ptr
-;  V09 loc7         [V09,T46] (  4, 16   )     int  ->  [rbp-0x60]  spill-single-def ptr
+;  V07 loc5         [V07,T88] (  2,  8   )     int  ->  rcx         single-def
+;  V08 loc6         [V08,T53] (  3, 12   )     int  ->  [rbp-0x5C]  spill-single-def ptr
+;  V09 loc7         [V09,T47] (  4, 16   )     int  ->  [rbp-0x60]  spill-single-def ptr
 ;  V10 loc8         [V10,T08] ( 11, 57.50)     int  ->  [rbp-0x64]  ptr
-;  V11 loc9         [V11,T67] (  4,  3   )     ref  ->  [rbp-0xA8]  class-hnd ptr <System.Text.RegularExpressions.Symbolic.BDD>
-;  V12 loc10        [V12,T70] (  3,  2.50)     ref  ->  registers   class-hnd ptr <System.Text.RegularExpressions.Symbolic.BDD>
+;  V11 loc9         [V11,T68] (  4,  3   )     ref  ->  [rbp-0xA8]  class-hnd ptr <System.Text.RegularExpressions.Symbolic.BDD>
+;  V12 loc10        [V12,T71] (  3,  2.50)     ref  ->  registers   class-hnd ptr <System.Text.RegularExpressions.Symbolic.BDD>
 ;* V13 loc11        [V13    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.ValueTuple`2[ushort,ushort]]>
 ;* V14 loc12        [V14    ] (  0,  0   )  ushort  ->  zero-ref   
 ;* V15 loc13        [V15    ] (  0,  0   )  ushort  ->  zero-ref   
 ;  V16 loc14        [V16,T43] (  5,  8   )     ref  ->  rax         class-hnd <System.Text.RegularExpressions.Symbolic.BDD>
 ;* V17 loc15        [V17    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[ubyte]>
 ;  V18 loc16        [V18,T06] ( 11, 68   )   short  ->  [rbp-0x68]  ptr
-;  V19 loc17        [V19,T61] (  2,  4   )   ubyte  ->  [rbp-0x6C]  spill-single-def ptr
+;  V19 loc17        [V19,T62] (  2,  4   )   ubyte  ->  [rbp-0x6C]  spill-single-def ptr
 ;  V20 loc18        [V20,T44] (  5,  8   )     ref  ->  rax         class-hnd <System.Text.RegularExpressions.Symbolic.BDD>
 ;  V21 loc19        [V21,T41] (  5,  9.49)     ref  ->  rax         class-hnd <System.Text.RegularExpressions.Symbolic.BDD>
 ;  V22 loc20        [V22,T02] (  6, 80   )     int  ->  [rbp-0x70]  spill-single-def ptr
@@ -36,10 +36,10 @@
 ;  V25 loc23        [V25    ] ( 10,120   )  struct (24) [rbp-0x90]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op ptr <System.Diagnostics.Debug+AssertInterpolatedStringHandler>
 ;  V26 loc24        [V26,T16] (  3, 32   )   ubyte  ->  rdi         ld-addr-op
 ;# V27 OutArgs      [V27    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V28 tmp1         [V28,T51] (  3,  6   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V29 tmp2         [V29,T59] (  3,  4   )     ref  ->  rsi         single-def "CASTCLASS eval op1"
-;  V30 tmp3         [V30,T91] (  3,  1   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
-;  V31 tmp4         [V31,T50] (  4,  6.50)     ref  ->  rdi         class-hnd single-def "spilling QMark2" <System.Text.RegularExpressions.Symbolic.CharSetSolver>
+;  V28 tmp1         [V28,T52] (  3,  6   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V29 tmp2         [V29,T60] (  3,  4   )     ref  ->  rsi         single-def "CASTCLASS eval op1"
+;  V30 tmp3         [V30,T92] (  3,  1   )    long  ->  rax         "fgMakeTemp is creating a new local variable"
+;  V31 tmp4         [V31,T51] (  4,  6.50)     ref  ->  rdi         class-hnd single-def "spilling QMark2" <System.Text.RegularExpressions.Symbolic.CharSetSolver>
 ;* V32 tmp5         [V32    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V33 tmp6         [V33    ] (  1,  4   )  struct (32) [rbp-0x50]  do-not-enreg[XS] must-init addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
 ;* V34 tmp7         [V34    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
@@ -48,35 +48,35 @@
 ;  V37 tmp10        [V37,T17] (  3, 32   )     int  ->  rdi        
 ;* V38 tmp11        [V38    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Diagnostics.Debug+AssertInterpolatedStringHandler>
 ;  V39 tmp12        [V39,T00] (  4,128   )     int  ->  rdi         "impSpillLclRefs"
-;  V40 tmp13        [V40,T64] (  6,  3.50)     ref  ->  rbx        
-;  V41 tmp14        [V41,T69] (  3,  3   )     ref  ->  r12         class-hnd exact single-def "non-inline candidate call" <System.Text.RegularExpressions.Symbolic.CharSetSolver>
-;  V42 tmp15        [V42,T76] (  2,  2   )     ref  ->  rbx         class-hnd exact single-def "impAppendStmt" <System.Text.RegularExpressions.Symbolic.CharSetSolver>
+;  V40 tmp13        [V40,T65] (  6,  3.50)     ref  ->  rbx        
+;  V41 tmp14        [V41,T70] (  3,  3   )     ref  ->  r12         class-hnd exact single-def "non-inline candidate call" <System.Text.RegularExpressions.Symbolic.CharSetSolver>
+;  V42 tmp15        [V42,T77] (  2,  2   )     ref  ->  rbx         class-hnd exact single-def "impAppendStmt" <System.Text.RegularExpressions.Symbolic.CharSetSolver>
 ;* V43 tmp16        [V43    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[System.__Canon]>
 ;* V44 tmp17        [V44    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[System.Text.RegularExpressions.Symbolic.BDD]>
-;  V45 tmp18        [V45,T77] (  2,  2   )     ref  ->  r12         class-hnd exact single-def "impAppendStmt" <System.Text.RegularExpressions.Symbolic.CharSetSolver>
+;  V45 tmp18        [V45,T78] (  2,  2   )     ref  ->  r12         class-hnd exact single-def "impAppendStmt" <System.Text.RegularExpressions.Symbolic.CharSetSolver>
 ;* V46 tmp19        [V46    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[System.__Canon]>
 ;* V47 tmp20        [V47    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[System.Text.RegularExpressions.Symbolic.BDD]>
 ;* V48 tmp21        [V48    ] (  0,  0   )  struct ( 8) zero-ref    "dup spill" <System.ValueTuple`2[ushort,ushort]>
 ;* V49 tmp22        [V49    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V50 tmp23        [V50    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V51 tmp24        [V51    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V52 tmp25        [V52,T62] (  2,  4   )     int  ->  rsi         "Inlining Arg"
-;  V53 tmp26        [V53,T60] (  2,  4   )   byref  ->  rdi         single-def "Inlining Arg"
+;  V52 tmp25        [V52,T63] (  2,  4   )     int  ->  rsi         "Inlining Arg"
+;  V53 tmp26        [V53,T61] (  2,  4   )   byref  ->  rdi         single-def "Inlining Arg"
 ;* V54 tmp27        [V54    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V55 tmp28        [V55    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V56 tmp29        [V56    ] (  0,  0   )  struct (24) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.ValueTuple`2[ushort,ushort]]>
-;  V57 tmp30        [V57,T53] (  3,  5.49)     ref  ->  rdi         class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V58 tmp31        [V58,T47] (  4,  6.98)     int  ->  rsi         "Inline stloc first use temp"
+;  V57 tmp30        [V57,T54] (  3,  5.49)     ref  ->  rdi         class-hnd "Inline stloc first use temp" <<unknown class>>
+;  V58 tmp31        [V58,T48] (  4,  6.98)     int  ->  rsi         "Inline stloc first use temp"
 ;* V59 tmp32        [V59,T45] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V60 tmp33        [V60    ] (  0,  0   )     ref  ->  zero-ref    class-hnd ptr "Inline stloc first use temp" <System.Collections.Generic.List`1[System.ValueTuple`2[ushort,ushort]]>
-;  V61 tmp34        [V61,T88] (  2,  8   )   ubyte  ->  rax         single-def "Inline return value spill temp"
-;* V62 tmp35        [V62,T97] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <System.RuntimeType>
+;  V61 tmp34        [V61,T89] (  2,  8   )   ubyte  ->  rax         single-def "Inline return value spill temp"
+;* V62 tmp35        [V62,T98] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <System.RuntimeType>
 ;* V63 tmp36        [V63    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Inline stloc first use temp" <System.RuntimeType>
 ;  V64 tmp37        [V64    ] (  2, 16   )     int  ->  [rbp-0x94]  do-not-enreg[X] addr-exposed ld-addr-op "Inlining Arg"
 ;  V65 tmp38        [V65,T33] (  5, 20   )   short  ->  rdi         "Inlining Arg"
-;  V66 tmp39        [V66,T54] (  3,  5.49)     ref  ->  rdi         class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V67 tmp40        [V67,T48] (  4,  6.98)     int  ->  rsi         "Inline stloc first use temp"
-;* V68 tmp41        [V68,T63] (  0,  0   )    long  ->  zero-ref    ptr "Inlining Arg"
+;  V66 tmp39        [V66,T55] (  3,  5.49)     ref  ->  rdi         class-hnd "Inline stloc first use temp" <<unknown class>>
+;  V67 tmp40        [V67,T49] (  4,  6.98)     int  ->  rsi         "Inline stloc first use temp"
+;* V68 tmp41        [V68,T64] (  0,  0   )    long  ->  zero-ref    ptr "Inlining Arg"
 ;* V69 tmp42        [V69    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V70 tmp43        [V70    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V71 tmp44        [V71,T01] (  6,100.41)     int  ->   r8         "Inlining Arg"
@@ -102,46 +102,46 @@
 ;  V91 tmp64        [V91,T12] (  3, 40   )     ref  ->  rdi         class-hnd exact "Inline stloc first use temp" <System.Text.StringBuilder>
 ;  V92 tmp65        [V92,T25] (  3, 24   )     ref  ->  rdi        
 ;* V93 tmp66        [V93    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.String>
-;  V94 tmp67        [V94,T55] (  3,  5.49)     ref  ->  rdi         class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V95 tmp68        [V95,T49] (  4,  6.98)     int  ->  rsi         "Inline stloc first use temp"
+;  V94 tmp67        [V94,T56] (  3,  5.49)     ref  ->  rdi         class-hnd "Inline stloc first use temp" <<unknown class>>
+;  V95 tmp68        [V95,T50] (  4,  6.98)     int  ->  rsi         "Inline stloc first use temp"
 ;* V96 tmp69        [V96    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[System.Text.RegularExpressions.Symbolic.BDD]>
 ;* V97 tmp70        [V97    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[System.Text.RegularExpressions.Symbolic.BDD]>
-;  V98 tmp71        [V98,T74] (  4,  2   )     int  ->  r15         single-def "Inline stloc first use temp"
-;  V99 tmp72        [V99,T72] (  4,  2   )     ref  ->  r13         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
+;  V98 tmp71        [V98,T75] (  4,  2   )     int  ->  r15         single-def "Inline stloc first use temp"
+;  V99 tmp72        [V99,T73] (  4,  2   )     ref  ->  r13         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
 ;* V100 tmp73       [V100    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[System.Text.RegularExpressions.Symbolic.BDD]>
 ;* V101 tmp74       [V101    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V102 tmp75       [V102    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V103 tmp76       [V103    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V104 tmp77       [V104,T78] (  2,  2   )   byref  ->  r13         single-def "Inlining Arg"
+;  V104 tmp77       [V104,T79] (  2,  2   )   byref  ->  r13         single-def "Inlining Arg"
 ;* V105 tmp78       [V105    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[System.Text.RegularExpressions.Symbolic.BDD]>
 ;* V106 tmp79       [V106    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Text.RegularExpressions.Symbolic.BDD]>
 ;* V107 tmp80       [V107    ] (  0,  0   )     int  ->  zero-ref    ptr "Inlining Arg"
 ;* V108 tmp81       [V108    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "Inlining Arg"
 ;* V109 tmp82       [V109    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[System.Text.RegularExpressions.Symbolic.BDD]>
 ;* V110 tmp83       [V110    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[System.Text.RegularExpressions.Symbolic.BDD]>
-;  V111 tmp84       [V111,T75] (  4,  2   )     int  ->  r15         single-def "Inline stloc first use temp"
-;  V112 tmp85       [V112,T73] (  4,  2   )     ref  ->  r13         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
+;  V111 tmp84       [V111,T76] (  4,  2   )     int  ->  r15         single-def "Inline stloc first use temp"
+;  V112 tmp85       [V112,T74] (  4,  2   )     ref  ->  r13         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
 ;* V113 tmp86       [V113    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[System.Text.RegularExpressions.Symbolic.BDD]>
 ;* V114 tmp87       [V114    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V115 tmp88       [V115    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V116 tmp89       [V116    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V117 tmp90       [V117,T79] (  2,  2   )   byref  ->  r13         single-def "Inlining Arg"
+;  V117 tmp90       [V117,T80] (  2,  2   )   byref  ->  r13         single-def "Inlining Arg"
 ;* V118 tmp91       [V118    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[System.Text.RegularExpressions.Symbolic.BDD]>
 ;* V119 tmp92       [V119    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[System.Text.RegularExpressions.Symbolic.BDD]>
 ;* V120 tmp93       [V120    ] (  0,  0   )     int  ->  zero-ref    ptr "Inlining Arg"
 ;* V121 tmp94       [V121    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "Inlining Arg"
-;  V122 tmp95       [V122,T80] (  2,  2   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.RegularExpressions.Symbolic.CharSetSolver>
-;  V123 tmp96       [V123,T81] (  2,  2   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.RegularExpressions.Symbolic.CharSetSolver>
-;  V124 tmp97       [V124,T82] (  2,  2   )     ref  ->  rcx         class-hnd exact single-def "Inlining Arg" <System.Text.RegularExpressions.Symbolic.BDD>
+;  V122 tmp95       [V122,T81] (  2,  2   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.RegularExpressions.Symbolic.CharSetSolver>
+;  V123 tmp96       [V123,T82] (  2,  2   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Text.RegularExpressions.Symbolic.CharSetSolver>
+;  V124 tmp97       [V124,T83] (  2,  2   )     ref  ->  rcx         class-hnd exact single-def "Inlining Arg" <System.Text.RegularExpressions.Symbolic.BDD>
 ;  V125 tmp98       [V125    ] ( 12, 14   )     ref  ->  [rbp-0x58]  do-not-enreg[X] addr-exposed ptr "field V02.charSetSolver (fldOffset=0x0)" P-DEP
 ;  V126 tmp99       [V126,T32] (  4, 24   )   byref  ->  [rbp-0xB8]  spill-single-def ptr "field V06._reference (fldOffset=0x0)" P-INDEP
-;* V127 tmp100      [V127,T98] (  0,  0   )     int  ->  zero-ref    single-def ptr "field V06._length (fldOffset=0x8)" P-INDEP
+;* V127 tmp100      [V127,T99] (  0,  0   )     int  ->  zero-ref    single-def ptr "field V06._length (fldOffset=0x8)" P-INDEP
 ;* V128 tmp101      [V128    ] (  0,  0   )   byref  ->  zero-ref    "field V17._reference (fldOffset=0x0)" P-INDEP
 ;* V129 tmp102      [V129    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
 ;* V130 tmp103      [V130    ] (  0,  0   )   byref  ->  zero-ref    "field V32._reference (fldOffset=0x0)" P-INDEP
 ;* V131 tmp104      [V131    ] (  0,  0   )     int  ->  zero-ref    "field V32._length (fldOffset=0x8)" P-INDEP
-;  V132 tmp105      [V132,T83] (  2,  8   )   byref  ->  rax         single-def "field V34._reference (fldOffset=0x0)" P-INDEP
-;* V133 tmp106      [V133,T99] (  0,  0   )     int  ->  zero-ref    single-def ptr "field V34._length (fldOffset=0x8)" P-INDEP
+;  V132 tmp105      [V132,T84] (  2,  8   )   byref  ->  rax         single-def "field V34._reference (fldOffset=0x0)" P-INDEP
+;* V133 tmp106      [V133,T100] (  0,  0   )     int  ->  zero-ref    single-def ptr "field V34._length (fldOffset=0x8)" P-INDEP
 ;* V134 tmp107      [V134    ] (  0,  0   )   byref  ->  zero-ref    "field V43._reference (fldOffset=0x0)" P-INDEP
 ;* V135 tmp108      [V135    ] (  0,  0   )     int  ->  zero-ref    "field V43._length (fldOffset=0x8)" P-INDEP
 ;* V136 tmp109      [V136    ] (  0,  0   )   byref  ->  zero-ref    "field V44._reference (fldOffset=0x0)" P-INDEP
@@ -152,10 +152,10 @@
 ;* V141 tmp114      [V141    ] (  0,  0   )     int  ->  zero-ref    "field V47._length (fldOffset=0x8)" P-INDEP
 ;* V142 tmp115      [V142    ] (  0,  0   )  ushort  ->  zero-ref    ptr "field V48.Item1 (fldOffset=0x0)" P-INDEP
 ;* V143 tmp116      [V143    ] (  0,  0   )  ushort  ->  zero-ref    ptr "field V48.Item2 (fldOffset=0x2)" P-INDEP
-;  V144 tmp117      [V144,T84] (  2,  2   )   byref  ->  rdi         single-def "field V49._reference (fldOffset=0x0)" P-INDEP
-;  V145 tmp118      [V145,T89] (  2,  2   )     int  ->  rsi         single-def "field V49._length (fldOffset=0x8)" P-INDEP
-;  V146 tmp119      [V146,T85] (  2,  2   )   byref  ->  rdi         single-def "field V50._reference (fldOffset=0x0)" P-INDEP
-;  V147 tmp120      [V147,T90] (  2,  2   )     int  ->  rsi         single-def "field V50._length (fldOffset=0x8)" P-INDEP
+;  V144 tmp117      [V144,T85] (  2,  2   )   byref  ->  rdi         single-def "field V49._reference (fldOffset=0x0)" P-INDEP
+;  V145 tmp118      [V145,T90] (  2,  2   )     int  ->  rsi         single-def "field V49._length (fldOffset=0x8)" P-INDEP
+;  V146 tmp119      [V146,T86] (  2,  2   )   byref  ->  rdi         single-def "field V50._reference (fldOffset=0x0)" P-INDEP
+;  V147 tmp120      [V147,T91] (  2,  2   )     int  ->  rsi         single-def "field V50._length (fldOffset=0x8)" P-INDEP
 ;* V148 tmp121      [V148    ] (  0,  0   )   byref  ->  zero-ref    "field V51._reference (fldOffset=0x0)" P-INDEP
 ;* V149 tmp122      [V149    ] (  0,  0   )     int  ->  zero-ref    "field V51._length (fldOffset=0x8)" P-INDEP
 ;* V150 tmp123      [V150    ] (  0,  0   )     ref  ->  zero-ref    ptr "field V73._stringBuilder (fldOffset=0x0)" P-INDEP
@@ -169,8 +169,8 @@
 ;* V158 tmp131      [V158    ] (  0,  0   )     int  ->  zero-ref    single-def ptr "field V100._length (fldOffset=0x8)" P-INDEP
 ;* V159 tmp132      [V159    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V105._reference (fldOffset=0x0)" P-INDEP
 ;* V160 tmp133      [V160    ] (  0,  0   )     int  ->  zero-ref    single-def ptr "field V105._length (fldOffset=0x8)" P-INDEP
-;  V161 tmp134      [V161,T92] (  2,  1   )   byref  ->  rsi         single-def "field V106._reference (fldOffset=0x0)" P-INDEP
-;  V162 tmp135      [V162,T94] (  2,  1   )     int  ->  rdx         single-def "field V106._length (fldOffset=0x8)" P-INDEP
+;  V161 tmp134      [V161,T93] (  2,  1   )   byref  ->  rsi         single-def "field V106._reference (fldOffset=0x0)" P-INDEP
+;  V162 tmp135      [V162,T95] (  2,  1   )     int  ->  rdx         single-def "field V106._length (fldOffset=0x8)" P-INDEP
 ;* V163 tmp136      [V163    ] (  0,  0   )   byref  ->  zero-ref    "field V109._reference (fldOffset=0x0)" P-INDEP
 ;* V164 tmp137      [V164    ] (  0,  0   )     int  ->  zero-ref    "field V109._length (fldOffset=0x8)" P-INDEP
 ;* V165 tmp138      [V165    ] (  0,  0   )   byref  ->  zero-ref    ptr "field V110._reference (fldOffset=0x0)" P-INDEP
@@ -179,16 +179,16 @@
 ;* V168 tmp141      [V168    ] (  0,  0   )     int  ->  zero-ref    single-def ptr "field V113._length (fldOffset=0x8)" P-INDEP
 ;* V169 tmp142      [V169    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V118._reference (fldOffset=0x0)" P-INDEP
 ;* V170 tmp143      [V170    ] (  0,  0   )     int  ->  zero-ref    single-def ptr "field V118._length (fldOffset=0x8)" P-INDEP
-;  V171 tmp144      [V171,T93] (  2,  1   )   byref  ->  rsi         single-def "field V119._reference (fldOffset=0x0)" P-INDEP
-;  V172 tmp145      [V172,T95] (  2,  1   )     int  ->  rdx         single-def "field V119._length (fldOffset=0x8)" P-INDEP
+;  V171 tmp144      [V171,T94] (  2,  1   )   byref  ->  rsi         single-def "field V119._reference (fldOffset=0x0)" P-INDEP
+;  V172 tmp145      [V172,T96] (  2,  1   )     int  ->  rdx         single-def "field V119._length (fldOffset=0x8)" P-INDEP
 ;  V173 tmp146      [V173,T37] (  4, 12.50)     ref  ->  [rbp-0xC0]  spill-single-def ptr "V13.[000..008)"
 ;  V174 tmp147      [V174,T24] (  6, 20.50)     int  ->  [rbp-0x98]  ptr "V13.[008..012)"
-;  V175 tmp148      [V175,T58] (  2,  4.50)     int  ->  [rbp-0x9C]  spill-single-def ptr "V13.[012..016)"
+;  V175 tmp148      [V175,T59] (  2,  4.50)     int  ->  [rbp-0x9C]  spill-single-def ptr "V13.[012..016)"
 ;  V176 tmp149      [V176,T39] (  2,  6   )  ushort  ->  rdx         "V13.[016..018)"
 ;  V177 tmp150      [V177,T40] (  2,  6   )  ushort  ->   r8         "V13.[018..020)"
 ;* V178 tmp151      [V178    ] (  0,  0   )     ref  ->  zero-ref    single-def ptr "V56.[000..008)"
 ;* V179 tmp152      [V179    ] (  0,  0   )     int  ->  zero-ref    single-def "V56.[008..012)"
-;  V180 tmp153      [V180,T96] (  2,  1   )     int  ->  rcx         single-def "V56.[012..016)"
+;  V180 tmp153      [V180,T97] (  2,  1   )     int  ->  rcx         single-def "V56.[012..016)"
 ;* V181 tmp154      [V181    ] (  0,  0   )  ushort  ->  zero-ref    single-def "V56.[016..018)"
 ;* V182 tmp155      [V182    ] (  0,  0   )  ushort  ->  zero-ref    single-def "V56.[018..020)"
 ;  V183 tmp156      [V183,T15] (  3, 32   )     ref  ->  r11         "V38.[000..008)"
@@ -196,14 +196,15 @@
 ;* V185 tmp158      [V185    ] (  0,  0   )   ubyte  ->  zero-ref    "V38.[016..017)"
 ;  V186 tmp159      [V186,T26] (  3, 24   )   byref  ->  rsi         "Spilling address for field-by-field copy"
 ;  V187 tmp160      [V187,T27] (  3, 24   )     ref  ->  rsi         "arr expr"
-;  V188 tmp161      [V188,T86] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
+;  V188 tmp161      [V188,T87] (  2,  2   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V189 GsCookie    [V189    ] (  1,  1   )    long  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
-;  V190 tmp163      [V190,T71] (  3,  2.50)     ref  ->  [rbp-0xC8]  spill-single-def ptr "shadowVar"
+;  V190 tmp163      [V190,T72] (  3,  2.50)     ref  ->  [rbp-0xC8]  spill-single-def ptr "shadowVar"
 ;  V191 tmp164      [V191,T22] ( 10, 34.50)     ref  ->  rbx         single-def "shadowVar"
-;  V192 cse0        [V192,T65] (  6,  3   )     int  ->  registers   multi-def "CSE - conservative"
-;  V193 cse1        [V193,T38] (  2,  8   )     int  ->  rsi         "CSE - conservative"
-;  V194 cse2        [V194,T68] (  4,  3   )     int  ->  r15         "CSE - conservative"
-;  V195 cse3        [V195,T23] (  9, 34   )     int  ->  r13         "CSE - moderate"
+;  V192 cse0        [V192,T66] (  6,  3   )     int  ->  registers   multi-def "CSE - conservative"
+;  V193 cse1        [V193,T46] (  2,  8   )     int  ->  rsi         "CSE - conservative"
+;  V194 cse2        [V194,T38] (  2,  8   )     int  ->  rsi         "CSE - conservative"
+;  V195 cse3        [V195,T69] (  4,  3   )     int  ->  r15         "CSE - conservative"
+;  V196 cse4        [V196,T23] (  9, 34   )     int  ->  r13         "CSE - moderate"
 ;
 ; Lcl frame size = 168
 
@@ -294,7 +295,7 @@ G_M33095_IG05:        ; bbWeight=0.50, gcrefRegs=C009 {rax rbx r14 r15}, byrefRe
        mov      dword ptr [rbp-0x9C], ecx
        jmp      G_M33095_IG10
                        ;; size=23 bbWeight=0.50 PerfScore 3.12
-G_M33095_IG06:        ; bbWeight=2, gcVars=00000000000000800000002000000000 {V173 V190}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M33095_IG06:        ; bbWeight=2, gcVars=00000000000001000000002000000000 {V173 V190}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rax]
        mov      rdi, gword ptr [rbp-0x58]
        ; gcrRegs +[rdi]
@@ -355,7 +356,8 @@ G_M33095_IG09:        ; bbWeight=0.51, gcrefRegs=C009 {rax rbx r14 r15}, byrefRe
        mov      edi, dword ptr [rbp-0x98]
                        ;; size=31 bbWeight=0.51 PerfScore 3.32
 G_M33095_IG10:        ; bbWeight=4, gcrefRegs=C009 {rax rbx r14 r15}, byrefRegs=0000 {}, byref, isz
-       cmp      ecx, dword ptr [rax+0x14]
+       mov      esi, dword ptr [rax+0x14]
+       cmp      ecx, esi
        jne      G_M33095_IG68
        mov      esi, dword ptr [rax+0x10]
        cmp      edi, esi
@@ -373,8 +375,8 @@ G_M33095_IG10:        ; bbWeight=4, gcrefRegs=C009 {rax rbx r14 r15}, byrefRegs=
...
  
+24 (+3.61%) : 67991.dasm - System.Security.Cryptography.XmlKeyHelper:WriteCryptoBinary(System.String,System.ReadOnlySpan`1[ubyte],System.Text.StringBuilder) (Tier0-FullOpts)
@@ -112,7 +112,7 @@ G_M40104_IG02:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r1
        mov      rsi, gword ptr [rbx+0x08]
        ; gcrRegs +[rsi]
        cmp      dword ptr [rsi+0x08], edi
-       jbe      G_M40104_IG17
+       jbe      G_M40104_IG29
                         ;; size=16 bbWeight=1 PerfScore 8.00
 G_M40104_IG03:        ; bbWeight=0.49, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=2000 {r13}, byref
        mov      edi, edi
@@ -139,7 +139,7 @@ G_M40104_IG06:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r1
        mov      rsi, gword ptr [rbx+0x08]
        ; gcrRegs +[rsi]
        cmp      dword ptr [rsi+0x08], edi
-       jbe      G_M40104_IG21
+       jbe      G_M40104_IG30
                         ;; size=16 bbWeight=1 PerfScore 8.00
 G_M40104_IG07:        ; bbWeight=0.49, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=2000 {r13}, byref
        mov      edi, edi
@@ -158,11 +158,11 @@ G_M40104_IG08:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r1
        test     r15d, r15d
        mov      rcx, bword ptr [rbp-0x50]
        ; byrRegs +[rcx]
-       jle      G_M40104_IG22
+       jle      G_M40104_IG16
                       ;; size=37 bbWeight=1 PerfScore 7.50
 G_M40104_IG09:        ; bbWeight=4.00, gcVars=0000000000000100 {V51}, gcrefRegs=4008 {rbx r14}, byrefRegs=2002 {rcx r13}, gcvars, byref
        cmp      eax, 192
-       jl       G_M40104_IG16
+       jl       G_M40104_IG28
                      ;; size=11 bbWeight=4.00 PerfScore 5.00
 G_M40104_IG10:        ; bbWeight=1.48, gcrefRegs=4008 {rbx r14}, byrefRegs=2002 {rcx r13}, byref
        mov      edx, 192
@@ -173,7 +173,7 @@ G_M40104_IG11:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=2002 {rc
        add      rdi, rsi
        mov      esi, r15d
        cmp      rdi, rsi
-       ja       G_M40104_IG37
+       ja       G_M40104_IG35
        mov      r8d, r12d
        add      r8, r13
        ; byrRegs +[r8]
@@ -198,7 +198,7 @@ G_M40104_IG12:        ; bbWeight=2, gcVars=0000000000000140 {V24 V51}, gcrefRegs
        mov      rcx, bword ptr [rbp-0x50]
        ; byrRegs +[rcx]
                        ;; size=26 bbWeight=2 PerfScore 9.50
-G_M40104_IG13:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=2002 {rcx r13}, byref, isz
+G_M40104_IG13:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=2002 {rcx r13}, byref
        mov      rdi, bword ptr [rbp-0x48]
        ; byrRegs +[rdi]
        mov      edx, dword ptr [rbp-0x3C]
@@ -213,15 +213,15 @@ G_M40104_IG13:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=2002 {rc
        call     [<unknown method>]
        ; byrRegs -[rdx rdi]
        test     eax, eax
-       je       G_M40104_IG36
+       je       G_M40104_IG34
        mov      eax, dword ptr [rbp-0x38]
        mov      dword ptr [rbp-0x40], eax
        cmp      eax, 256
-       ja       G_M40104_IG37
+       ja       G_M40104_IG35
        test     eax, eax
-       jge      SHORT G_M40104_IG15
-                       ;; size=59 bbWeight=4 PerfScore 49.00
-G_M40104_IG14:        ; bbWeight=2, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, byref, isz
+       jge      G_M40104_IG27
+                       ;; size=63 bbWeight=4 PerfScore 49.00
+G_M40104_IG14:        ; bbWeight=2, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, byref
        mov      r8, 0xD1FFAB1E
        ; gcrRegs +[r8]
        mov      rcx, r8
@@ -234,32 +234,6 @@ G_M40104_IG14:        ; bbWeight=2, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r1
        ; gcrRegs +[rsi]
        call     [<unknown method>]
        ; gcrRegs -[rcx rsi rdi r8]
-       jmp      SHORT G_M40104_IG18
-                       ;; size=31 bbWeight=2 PerfScore 14.00
-G_M40104_IG15:        ; bbWeight=2, gcVars=0000000000000100 {V51}, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, gcvars, byref, isz
-       ; GC ptr vars -{V76}
-       mov      eax, dword ptr [rbp-0x40]
-       jmp      SHORT G_M40104_IG19
-                       ;; size=5 bbWeight=2 PerfScore 6.00
-G_M40104_IG16:        ; bbWeight=0.52, gcrefRegs=4008 {rbx r14}, byrefRegs=2002 {rcx r13}, byref
-       ; byrRegs +[rcx]
-       mov      dword ptr [rbp-0x2C], eax
-       mov      edx, eax
-       mov      eax, dword ptr [rbp-0x2C]
-       jmp      G_M40104_IG11
-                       ;; size=13 bbWeight=0.52 PerfScore 2.21
-G_M40104_IG17:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, gcvars, byref
-       ; byrRegs -[rcx]
-       ; GC ptr vars -{V51}
-       mov      rdi, rbx
-       ; gcrRegs +[rdi]
-       mov      esi, 60
-       call     [<unknown method>]
-       ; gcrRegs -[rdi]
-       jmp      G_M40104_IG04
-                       ;; size=19 bbWeight=0.01 PerfScore 0.04
-G_M40104_IG18:        ; bbWeight=2, gcVars=0000000000000120 {V51 V76}, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, gcvars, byref
-       ; GC ptr vars +{V51 V76}
        mov      rdi, gword ptr [rbp-0x58]
        ; gcrRegs +[rdi]
        mov      rsi, rdi
@@ -268,8 +242,8 @@ G_M40104_IG18:        ; bbWeight=2, gcVars=0000000000000120 {V51 V76}, gcrefRegs
        call     [<unknown method>]
        ; gcrRegs -[rsi rdi]
        mov      eax, dword ptr [rbp-0x40]
-                        ;; size=16 bbWeight=2 PerfScore 10.50
-G_M40104_IG19:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, byref
+                        ;; size=45 bbWeight=2 PerfScore 20.50
+G_M40104_IG15:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, byref
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        mov      rsi, bword ptr [rbp-0x50]
@@ -287,52 +261,39 @@ G_M40104_IG19:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r1
        ; byrRegs +[rcx]
        jg       G_M40104_IG09
                        ;; size=38 bbWeight=4 PerfScore 37.00
-G_M40104_IG20:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M40104_IG16:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, gcvars, byref
        ; byrRegs -[rcx r13]
        ; GC ptr vars -{V51}
-       jmp      SHORT G_M40104_IG22
-                       ;; size=2 bbWeight=1 PerfScore 2.00
-G_M40104_IG21:        ; bbWeight=0.01, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, byref
-       ; byrRegs +[r13]
-       mov      rdi, rbx
-       ; gcrRegs +[rdi]
-       mov      esi, 62
-       call     [<unknown method>]
-       ; gcrRegs -[rdi]
-       jmp      G_M40104_IG08
-                       ;; size=19 bbWeight=0.01 PerfScore 0.04
-G_M40104_IG22:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
-       ; byrRegs -[r13]
        mov      edi, dword ptr [rbx+0x18]
        mov      rsi, gword ptr [rbx+0x08]
        ; gcrRegs +[rsi]
        cmp      dword ptr [rsi+0x08], edi
-       jbe      SHORT G_M40104_IG33
-                       ;; size=12 bbWeight=1 PerfScore 8.00
-G_M40104_IG23:        ; bbWeight=0.49, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref
+       jbe      G_M40104_IG31
+                       ;; size=16 bbWeight=1 PerfScore 8.00
+G_M40104_IG17:        ; bbWeight=0.49, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref
        mov      edi, edi
        mov      word  ptr [rsi+2*rdi+0x10], 60
        inc      dword ptr [rbx+0x18]
                        ;; size=12 bbWeight=0.49 PerfScore 2.10
-G_M40104_IG24:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG18:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rsi]
        mov      edi, dword ptr [rbx+0x18]
        mov      rsi, gword ptr [rbx+0x08]
        ; gcrRegs +[rsi]
        cmp      dword ptr [rsi+0x08], edi
-       jbe      SHORT G_M40104_IG34
-                       ;; size=12 bbWeight=1 PerfScore 8.00
-G_M40104_IG25:        ; bbWeight=0.49, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref
+       jbe      G_M40104_IG32
+                       ;; size=16 bbWeight=1 PerfScore 8.00
+G_M40104_IG19:        ; bbWeight=0.49, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref
        mov      edi, edi
        mov      word  ptr [rsi+2*rdi+0x10], 47
        inc      dword ptr [rbx+0x18]
                        ;; size=12 bbWeight=0.49 PerfScore 2.10
-G_M40104_IG26:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG20:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rsi]
        test     r14, r14
-       je       SHORT G_M40104_IG28
+       je       SHORT G_M40104_IG22
                      ;; size=5 bbWeight=1 PerfScore 1.25
-G_M40104_IG27:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
+G_M40104_IG21:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
        mov      edx, dword ptr [r14+0x08]
        lea      rsi, bword ptr [r14+0x0C]
        ; byrRegs +[rsi]
@@ -342,29 +303,29 @@ G_M40104_IG27:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=0000
        ; gcrRegs -[rdi r14]
        ; byrRegs -[rsi]
                        ;; size=17 bbWeight=0.50 PerfScore 2.86
-G_M40104_IG28:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG22:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      edi, dword ptr [rbx+0x18]
        mov      rsi, gword ptr [rbx+0x08]
        ; gcrRegs +[rsi]
        cmp      dword ptr [rsi+0x08], edi
-       jbe      SHORT G_M40104_IG35
-                       ;; size=12 bbWeight=1 PerfScore 8.00
-G_M40104_IG29:        ; bbWeight=0.49, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+       jbe      G_M40104_IG33
+                       ;; size=16 bbWeight=1 PerfScore 8.00
+G_M40104_IG23:        ; bbWeight=0.49, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
        mov      edi, edi
        mov      word  ptr [rsi+2*rdi+0x10], 62
        inc      dword ptr [rbx+0x18]
                        ;; size=12 bbWeight=0.49 PerfScore 2.10
-G_M40104_IG30:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG24:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rbx rsi]
        mov      rdi, 0xD1FFAB1E
        cmp      qword ptr [rbp-0x60], rdi
-       je       SHORT G_M40104_IG31
+       je       SHORT G_M40104_IG25
        call     CORINFO_HELP_FAIL_FAST
                        ;; size=21 bbWeight=1 PerfScore 4.25
-G_M40104_IG31:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M40104_IG25:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
-G_M40104_IG32:        ; bbWeight=1, epilog, nogc, extend
+G_M40104_IG26:        ; bbWeight=1, epilog, nogc, extend
        lea      rsp, [rbp-0x28]
        pop      rbx
        pop      r12
@@ -374,33 +335,65 @@ G_M40104_IG32:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=15 bbWeight=1 PerfScore 4.50
-G_M40104_IG33:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M40104_IG27:        ; bbWeight=2, gcVars=0000000000000100 {V51}, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, gcvars, byref
        ; gcrRegs +[rbx r14]
+       ; byrRegs +[r13]
+       ; GC ptr vars +{V51}
+       mov      eax, dword ptr [rbp-0x40]
+       jmp      G_M40104_IG15
+                       ;; size=8 bbWeight=2 PerfScore 6.00
+G_M40104_IG28:        ; bbWeight=0.52, gcrefRegs=4008 {rbx r14}, byrefRegs=2002 {rcx r13}, byref
+       ; byrRegs +[rcx]
+       mov      dword ptr [rbp-0x2C], eax
+       mov      edx, eax
+       mov      eax, dword ptr [rbp-0x2C]
+       jmp      G_M40104_IG11
+                       ;; size=13 bbWeight=0.52 PerfScore 2.21
+G_M40104_IG29:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, gcvars, byref
+       ; byrRegs -[rcx]
+       ; GC ptr vars -{V51}
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        mov      esi, 60
        call     [<unknown method>]
        ; gcrRegs -[rdi]
-       jmp      SHORT G_M40104_IG24
-                       ;; size=16 bbWeight=0.01 PerfScore 0.04
-G_M40104_IG34:        ; bbWeight=0.01, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+       jmp      G_M40104_IG04
+                       ;; size=19 bbWeight=0.01 PerfScore 0.04
+G_M40104_IG30:        ; bbWeight=0.01, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, byref
...
  
  
librariestestsnotieredcompilation.run.linux.x64.Release.mch
-18 (-8.00%) : 296639.dasm - System.Threading.Tasks.Dataflow.Internal.Common:ReleaseAllPostponedMessagesint (FullOpts)
@@ -8,76 +8,75 @@
 ; 0 inlinees with PGO data; 7 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T04] (  4, 10   )     ref  ->  [rbp-0x30]  class-hnd EH-live single-def <System.Threading.Tasks.Dataflow.ITargetBlock`1[int]>
-;  V01 arg1         [V01,T01] (  5, 15   )     ref  ->  [rbp-0x38]  class-hnd EH-live single-def <System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[int],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
-;  V02 arg2         [V02,T07] (  3,  2   )   byref  ->  [rbp-0x40]  EH-live single-def
+;  V00 arg0         [V00,T04] (  4, 10   )     ref  ->  [rbp-0x28]  class-hnd EH-live single-def <System.Threading.Tasks.Dataflow.ITargetBlock`1[int]>
+;  V01 arg1         [V01,T00] (  5, 19   )     ref  ->  [rbp-0x30]  class-hnd EH-live single-def <System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[int],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
+;  V02 arg2         [V02,T07] (  3,  2   )   byref  ->  [rbp-0x38]  EH-live single-def
 ;* V03 loc0         [V03    ] (  0,  0   )     int  ->  zero-ref   
-;  V04 loc1         [V04,T05] (  3,  9   )     int  ->  [rbp-0x14]  do-not-enreg[Z] EH-live
-;  V05 loc2         [V05    ] (  6, 28   )  struct (16) [rbp-0x28]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[int],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
+;  V04 loc1         [V04,T05] (  3,  9   )     int  ->  [rbp-0x0C]  do-not-enreg[Z] EH-live
+;  V05 loc2         [V05    ] (  6, 32   )  struct (16) [rbp-0x20]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[int],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
 ;* V06 loc3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V08 tmp1         [V08,T02] (  2, 16   )     ref  ->  rdi         class-hnd "impAppendStmt" <System.Threading.Tasks.Dataflow.ISourceBlock`1[int]>
+;  V08 tmp1         [V08,T01] (  2, 16   )     ref  ->  rdi         class-hnd "impAppendStmt" <System.Threading.Tasks.Dataflow.ISourceBlock`1[int]>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Threading.Tasks.Dataflow.DataflowMessageHeader>
-;  V10 tmp3         [V10,T03] (  2, 16   )     ref  ->  rdi         class-hnd "impAppendStmt" <System.Threading.Tasks.Dataflow.ISourceBlock`1[int]>
+;  V10 tmp3         [V10,T02] (  2, 16   )     ref  ->  rdi         class-hnd "impAppendStmt" <System.Threading.Tasks.Dataflow.ISourceBlock`1[int]>
 ;* V11 tmp4         [V11    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Threading.Tasks.Dataflow.DataflowMessageHeader>
 ;  V12 tmp5         [V12,T09] (  2,  0   )     ref  ->  rsi         class-hnd "impSpillSpecialSideEff" <<unknown class>>
 ;  V13 tmp6         [V13,T06] (  2,  4   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.__Canon,int]>
-;  V14 tmp7         [V14,T00] (  3, 24   )   ubyte  ->  r15         "Inline stloc first use temp"
+;  V14 tmp7         [V14,T03] (  2, 16   )   ubyte  ->  rax         "Inline stloc first use temp"
 ;* V15 tmp8         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.__Canon,int]>
-;  V16 tmp9         [V16    ] (  4, 20   )     ref  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V05.key (fldOffset=0x0)" P-DEP
-;  V17 tmp10        [V17    ] (  3, 16   )    long  ->  [rbp-0x20]  do-not-enreg[X] addr-exposed "field V05.value (fldOffset=0x8)" P-DEP
+;  V16 tmp9         [V16    ] (  4, 24   )     ref  ->  [rbp-0x20]  do-not-enreg[X] addr-exposed "field V05.key (fldOffset=0x0)" P-DEP
+;  V17 tmp10        [V17    ] (  3, 16   )    long  ->  [rbp-0x18]  do-not-enreg[X] addr-exposed "field V05.value (fldOffset=0x8)" P-DEP
 ;* V18 tmp11        [V18    ] (  0,  0   )    long  ->  zero-ref    "field V09._id (fldOffset=0x0)" P-INDEP
 ;* V19 tmp12        [V19    ] (  0,  0   )    long  ->  zero-ref    "field V11._id (fldOffset=0x0)" P-INDEP
-;  V20 PSPSym       [V20,T08] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
+;  V20 PSPSym       [V20,T08] (  1,  1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 64
+; Lcl frame size = 56
 
 G_M25687_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
-       push     r15
        push     rbx
-       sub      rsp, 64
-       lea      rbp, [rsp+0x50]
+       sub      rsp, 56
+       lea      rbp, [rsp+0x40]
        xor      eax, eax
-       mov      qword ptr [rbp-0x28], rax
-       mov      qword ptr [rbp-0x50], rsp
-       mov      gword ptr [rbp-0x30], rdi
+       mov      qword ptr [rbp-0x20], rax
+       mov      qword ptr [rbp-0x40], rsp
+       mov      gword ptr [rbp-0x28], rdi
        ; GC ptr vars +{V00}
-       mov      gword ptr [rbp-0x38], rsi
+       mov      gword ptr [rbp-0x30], rsi
        ; GC ptr vars +{V01}
-       mov      bword ptr [rbp-0x40], rdx
+       mov      bword ptr [rbp-0x38], rdx
        ; GC ptr vars +{V02}
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=38 bbWeight=1 PerfScore 9.25
-G_M25687_IG02:        ; bbWeight=1, gcVars=0000000000000092 {V00 V01 V02}, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, gcvars, byref, isz
+                       ;; size=36 bbWeight=1 PerfScore 8.25
+G_M25687_IG02:        ; bbWeight=1, gcVars=0000000000000091 {V00 V01 V02}, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[rsi]
        mov      rax, gword ptr [rsi+0x10]
        ; gcrRegs +[rax]
        cmp      byte  ptr [rax], al
        xor      eax, eax
        ; gcrRegs -[rax]
-       mov      dword ptr [rbp-0x14], eax
+       mov      dword ptr [rbp-0x0C], eax
        jmp      SHORT G_M25687_IG05
                        ;; size=13 bbWeight=1 PerfScore 8.25
 G_M25687_IG03:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rsi]
-       mov      rdi, gword ptr [rbp-0x28]
+       mov      rdi, gword ptr [rbp-0x20]
        ; gcrRegs +[rdi]
        mov      rdx, rbx
        ; gcrRegs +[rdx]
-       mov      rsi, qword ptr [rbp-0x20]
+       mov      rsi, qword ptr [rbp-0x18]
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
        call     [r11]<unknown method>
        ; gcrRegs -[rdx rdi]
        ; gcr arg pop 0
        test     eax, eax
        je       SHORT G_M25687_IG04
-       mov      rdi, gword ptr [rbp-0x28]
+       mov      rdi, gword ptr [rbp-0x20]
        ; gcrRegs +[rdi]
        mov      rdx, rbx
        ; gcrRegs +[rdx]
-       mov      rsi, qword ptr [rbp-0x20]
+       mov      rsi, qword ptr [rbp-0x18]
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
        call     [r11]<unknown method>
        ; gcrRegs -[rdx rdi]
@@ -86,64 +85,56 @@ G_M25687_IG03:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
                        ;; size=53 bbWeight=4 PerfScore 50.00
 G_M25687_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx]
-       mov      esi, dword ptr [rbp-0x14]
+       mov      esi, dword ptr [rbp-0x0C]
        inc      esi
-       mov      dword ptr [rbp-0x14], esi
-       mov      rbx, gword ptr [rbp-0x30]
+       mov      dword ptr [rbp-0x0C], esi
+       mov      rbx, gword ptr [rbp-0x28]
        ; gcrRegs +[rbx]
-       mov      rsi, gword ptr [rbp-0x38]
+       mov      rsi, gword ptr [rbp-0x30]
        ; gcrRegs +[rsi]
                        ;; size=16 bbWeight=4 PerfScore 17.00
 G_M25687_IG05:        ; bbWeight=8, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        mov      rdi, gword ptr [rsi+0x08]
        ; gcrRegs +[rdi]
-       lea      rsi, [rbp-0x28]
+       lea      rsi, [rbp-0x20]
        ; gcrRegs -[rsi]
        cmp      dword ptr [rdi], edi
        call     [<unknown method>]
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
-       mov      r15d, eax
-       test     r15d, r15d
-       je       SHORT G_M25687_IG07
-                       ;; size=24 bbWeight=8 PerfScore 80.00
-G_M25687_IG06:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       mov      rsi, gword ptr [rbp-0x38]
+       test     eax, eax
+       je       SHORT G_M25687_IG06
+       mov      rsi, gword ptr [rbp-0x30]
        ; gcrRegs +[rsi]
        mov      rdi, gword ptr [rsi+0x10]
        ; gcrRegs +[rdi]
-       mov      rsi, gword ptr [rbp-0x28]
+       mov      rsi, gword ptr [rbp-0x20]
        cmp      dword ptr [rdi], edi
        call     [<unknown method>]
        ; gcrRegs -[rsi rdi]
        ; gcr arg pop 0
-                       ;; size=20 bbWeight=4 PerfScore 40.00
-G_M25687_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       test     r15d, r15d
-       jne      SHORT G_M25687_IG03
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M25687_IG08:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, epilog, nogc
+       jmp      SHORT G_M25687_IG03
+                       ;; size=42 bbWeight=8 PerfScore 174.00
+G_M25687_IG06:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, epilog, nogc
        ; gcrRegs -[rbx]
        ; GC ptr vars -{V00 V01 V02}
-       add      rsp, 64
+       add      rsp, 56
        pop      rbx
-       pop      r15
        pop      rbp
        ret      
-                     ;; size=9 bbWeight=1 PerfScore 2.75
-G_M25687_IG09:        ; bbWeight=0, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                     ;; size=7 bbWeight=1 PerfScore 2.25
+G_M25687_IG07:        ; bbWeight=0, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        ; gcrRegs +[rsi]
        push     rbp
-       push     r15
        push     rbx
-       sub      rsp, 16
+       push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
-       lea      rbp, [rbp+0x50]
-                       ;; size=19 bbWeight=0 PerfScore 0.00
-G_M25687_IG10:        ; bbWeight=0, gcVars=0000000000000092 {V00 V01 V02}, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, gcvars, byref
+       lea      rbp, [rbp+0x40]
+                       ;; size=14 bbWeight=0 PerfScore 0.00
+G_M25687_IG08:        ; bbWeight=0, gcVars=0000000000000091 {V00 V01 V02}, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars +{V00 V01 V02 V04}
-       mov      rdi, bword ptr [rbp-0x40]
+       mov      rdi, bword ptr [rbp-0x38]
        ; byrRegs +[rdi]
        xor      edx, edx
        call     [<unknown method>]
@@ -152,15 +143,14 @@ G_M25687_IG10:        ; bbWeight=0, gcVars=0000000000000092 {V00 V01 V02}, gcref
        ; gcr arg pop 0
        lea      rax, G_M25687_IG04
                        ;; size=19 bbWeight=0 PerfScore 0.00
-G_M25687_IG11:        ; bbWeight=0, funclet epilog, nogc, extend
-       add      rsp, 16
+G_M25687_IG09:        ; bbWeight=0, funclet epilog, nogc, extend
+       add      rsp, 8
        pop      rbx
-       pop      r15
        pop      rbp
        ret      
-                     ;; size=9 bbWeight=0 PerfScore 0.00
+                       ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 225, prolog size 38, PerfScore 217.25, instruction count 70, allocated bytes for code 225 (MethodHash=9b8f9ba8) for method System.Threading.Tasks.Dataflow.Internal.Common:ReleaseAllPostponedMessages[int](System.Threading.Tasks.Dataflow.ITargetBlock`1[int],System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[int],System.Threading.Tasks.Dataflow.DataflowMessageHeader],byref) (FullOpts)
+; Total bytes of code 207, prolog size 36, PerfScore 259.75, instruction count 64, allocated bytes for code 207 (MethodHash=9b8f9ba8) for method System.Threading.Tasks.Dataflow.Internal.Common:ReleaseAllPostponedMessages[int](System.Threading.Tasks.Dataflow.ITargetBlock`1[int],System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[int],System.Threading.Tasks.Dataflow.DataflowMessageHeader],byref) (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -168,29 +158,27 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x08
-  CountOfUnwindCodes: 4
+  SizeOfProlog      : 0x06
+  CountOfUnwindCodes: 3
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 7 * 8 + 8 = 64 = 0x40
-    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
+    CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 6 * 8 + 8 = 56 = 0x38
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 Unwind Info:
   >> Start offset   : 0xd1ffab1e (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x08
-  CountOfUnwindCodes: 4
+  SizeOfProlog      : 0x03
+  CountOfUnwindCodes: 3
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
-    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
+    CodeOffset: 0x03 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 0 * 8 + 8 = 8 = 0x08
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 *************** EH table for System.Threading.Tasks.Dataflow.Internal.Common:ReleaseAllPostponedMessages[int](System.Threading.Tasks.Dataflow.ITargetBlock`1[int],System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[int],System.Threading.Tasks.Dataflow.DataflowMessageHeader],byref)
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M25687_IG03..G_M25687_IG04) handled by [G_M25687_IG09..END) (class: 1000022)
+EH#0: try [G_M25687_IG03..G_M25687_IG04) handled by [G_M25687_IG07..END) (class: 1000022)
  
-8 (-6.78%) : 149330.dasm - System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
@@ -8,9 +8,9 @@
 ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] (  4, 14   )     ref  ->  r15         this class-hnd single-def <System.Net.HttpEndPointListener>
-;  V01 arg1         [V01,T02] (  5, 22   )     ref  ->  rbx         class-hnd single-def <System.Net.Sockets.SocketAsyncEventArgs>
-;  V02 loc0         [V02,T01] (  3, 24   )   ubyte  ->  r14        
+;  V00 this         [V00,T02] (  4, 18   )     ref  ->  r15         this class-hnd single-def <System.Net.HttpEndPointListener>
+;  V01 arg1         [V01,T01] (  5, 26   )     ref  ->  rbx         class-hnd single-def <System.Net.Sockets.SocketAsyncEventArgs>
+;  V02 loc0         [V02,T03] (  2, 16   )   ubyte  ->  rax        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
 ;  V05 tmp2         [V05,T00] (  3, 48   )     ref  ->  rdi         class-hnd "Inlining Arg" <System.Net.Sockets.Socket>
@@ -20,21 +20,20 @@
 ;* V09 tmp6         [V09,T04] (  0,  0   )     ref  ->  zero-ref    "field V07._source (fldOffset=0x0)" P-INDEP
 ;  V10 PSPSym       [V10,T05] (  1,  1   )    long  ->  [rbp-0x20]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 16
 
 G_M14120_IG01:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
-       push     r14
        push     rbx
-       push     rax
+       sub      rsp, 16
        lea      rbp, [rsp+0x20]
        mov      qword ptr [rbp-0x20], rsp
        mov      r15, rdi
        ; gcrRegs +[r15]
        mov      rbx, rsi
        ; gcrRegs +[rbx]
-                      ;; size=22 bbWeight=8 PerfScore 56.00
+                     ;; size=23 bbWeight=8 PerfScore 42.00
 G_M14120_IG02:        ; bbWeight=8, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
        xor      rdi, rdi
        ; gcrRegs +[rdi]
@@ -48,13 +47,11 @@ G_M14120_IG02:        ; bbWeight=8, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {},
        call     [<unknown method>]
        ; gcrRegs -[rdx rsi rdi]
        ; gcr arg pop 0
-       mov      r14d, eax
-                       ;; size=27 bbWeight=8 PerfScore 80.00
+       nop      
+                       ;; size=25 bbWeight=8 PerfScore 80.00
 G_M14120_IG03:        ; bbWeight=8, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
-       test     r14d, r14d
-       jne      SHORT G_M14120_IG05
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M14120_IG04:        ; bbWeight=4, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
+       test     eax, eax
+       jne      SHORT G_M14120_IG04
        mov      rdi, r15
        ; gcrRegs +[rdi]
        mov      rsi, rbx
@@ -62,43 +59,37 @@ G_M14120_IG04:        ; bbWeight=4, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {},
        call     [<unknown method>]
        ; gcrRegs -[rsi rdi]
        ; gcr arg pop 0
-                       ;; size=12 bbWeight=4 PerfScore 14.00
-G_M14120_IG05:        ; bbWeight=8, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
-       test     r14d, r14d
-       je       SHORT G_M14120_IG02
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M14120_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+       jmp      SHORT G_M14120_IG02
+                       ;; size=18 bbWeight=8 PerfScore 54.00
+G_M14120_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rbx r15]
-       add      rsp, 8
+       add      rsp, 16
        pop      rbx
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=11 bbWeight=1 PerfScore 3.25
-G_M14120_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                        ;; size=9 bbWeight=1 PerfScore 2.75
+G_M14120_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        push     rbp
        push     r15
-       push     r14
        push     rbx
-       push     rax
+       sub      rsp, 16
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x20]
-                      ;; size=18 bbWeight=0 PerfScore 0.00
-G_M14120_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-       lea      rax, G_M14120_IG06
+                       ;; size=19 bbWeight=0 PerfScore 0.00
+G_M14120_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+       lea      rax, G_M14120_IG04
                      ;; size=7 bbWeight=0 PerfScore 0.00
-G_M14120_IG09:        ; bbWeight=0, funclet epilog, nogc, extend
-       add      rsp, 8
+G_M14120_IG07:        ; bbWeight=0, funclet epilog, nogc, extend
+       add      rsp, 16
        pop      rbx
-       pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=11 bbWeight=0 PerfScore 0.00
+                      ;; size=9 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 118, prolog size 22, PerfScore 173.25, instruction count 45, allocated bytes for code 118 (MethodHash=c2bdc8d7) for method System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
+; Total bytes of code 110, prolog size 23, PerfScore 178.75, instruction count 40, allocated bytes for code 110 (MethodHash=c2bdc8d7) for method System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -106,14 +97,13 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x07
-  CountOfUnwindCodes: 5
+  SizeOfProlog      : 0x08
+  CountOfUnwindCodes: 4
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 0 * 8 + 8 = 8 = 0x08
-    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
+    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
+    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 Unwind Info:
@@ -121,16 +111,15 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x07
-  CountOfUnwindCodes: 5
+  SizeOfProlog      : 0x08
+  CountOfUnwindCodes: 4
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 0 * 8 + 8 = 8 = 0x08
-    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
+    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 1 * 8 + 8 = 16 = 0x10
+    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 *************** EH table for System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M14120_IG02..G_M14120_IG03) handled by [G_M14120_IG07..END) (class: 100003E)
+EH#0: try [G_M14120_IG02..G_M14120_IG03) handled by [G_M14120_IG05..END) (class: 100003E)
  
-25 (-4.58%) : 297451.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1[int]:ConsumeOnePostponedMessage():ubyte:this (FullOpts)
@@ -9,72 +9,71 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 12, 54   )     ref  ->  rbx         this class-hnd single-def <System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1[int]>
-;  V01 loc0         [V01    ] (  4, 28   )  struct (16) [rbp-0x30]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[int],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
+;  V01 loc0         [V01    ] (  4, 32   )  struct (16) [rbp-0x28]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[int],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
 ;  V02 loc1         [V02,T11] (  3, 13   )   ubyte  ->  r15        
-;  V03 loc2         [V03    ] (  2, 16   )   ubyte  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V03 loc2         [V03    ] (  2, 16   )   ubyte  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed ld-addr-op
 ;  V04 loc3         [V04,T12] (  2,  9   )     int  ->  r14        
-;  V05 loc4         [V05,T07] (  4, 21   )     ref  ->  [rbp-0x58]  do-not-enreg[Z] class-hnd EH-live <<unknown class>>
-;  V06 loc5         [V06    ] (  6, 41   )   ubyte  ->  [rbp-0x40]  do-not-enreg[X] addr-exposed ld-addr-op
-;  V07 loc6         [V07,T09] (  2, 16   )   ubyte  ->  rsi        
-;  V08 loc7         [V08,T15] (  3,  3   )   ubyte  ->  [rbp-0x44]  do-not-enreg[Z] EH-live
-;  V09 loc8         [V09,T16] (  4,  2   )     ref  ->  [rbp-0x60]  class-hnd EH-live spill-single-def <<unknown class>>
-;  V10 loc9         [V10    ] (  6,  5   )   ubyte  ->  [rbp-0x50]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V05 loc4         [V05,T06] (  4, 21   )     ref  ->  [rbp-0x50]  do-not-enreg[Z] class-hnd EH-live <<unknown class>>
+;  V06 loc5         [V06    ] (  6, 41   )   ubyte  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V07 loc6         [V07,T08] (  2, 16   )   ubyte  ->  rsi        
+;  V08 loc7         [V08,T15] (  3,  3   )   ubyte  ->  [rbp-0x3C]  do-not-enreg[Z] EH-live
+;  V09 loc8         [V09,T16] (  4,  2   )     ref  ->  [rbp-0x58]  class-hnd EH-live spill-single-def <<unknown class>>
+;  V10 loc9         [V10    ] (  6,  5   )   ubyte  ->  [rbp-0x48]  do-not-enreg[X] addr-exposed ld-addr-op
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V12 tmp1         [V12,T08] (  3, 16   )     int  ->  rsi        
+;  V12 tmp1         [V12,T07] (  3, 16   )     int  ->  rsi        
 ;  V13 tmp2         [V13,T03] (  2, 32   )     ref  ->  rdi         class-hnd "impAppendStmt" <System.Threading.Tasks.Dataflow.ISourceBlock`1[int]>
 ;* V14 tmp3         [V14    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Threading.Tasks.Dataflow.DataflowMessageHeader>
 ;  V15 tmp4         [V15,T13] (  3,  6   )     ref  ->  rdi         class-hnd single-def "dup spill" <System.Threading.Tasks.Dataflow.Internal.BoundingState>
 ;* V16 tmp5         [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources>
 ;  V17 tmp6         [V17,T04] (  2, 32   )   ubyte  ->  rdi         "Inlining Arg"
 ;  V18 tmp7         [V18,T01] (  3, 48   )     ref  ->  rsi         class-hnd "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.BoundingState>
-;  V19 tmp8         [V19,T02] (  3, 40   )     ref  ->  r14         class-hnd exact "Inlining Arg" <<unknown class>>
-;  V20 tmp9         [V20,T06] (  3, 24   )   ubyte  ->  r13         "Inline stloc first use temp"
+;  V19 tmp8         [V19,T02] (  3, 48   )     ref  ->  r14         class-hnd exact "Inlining Arg" <<unknown class>>
+;  V20 tmp9         [V20,T09] (  2, 16   )   ubyte  ->  rax         "Inline stloc first use temp"
 ;* V21 tmp10        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <<unknown class>>
 ;* V22 tmp11        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources>
 ;  V23 tmp12        [V23,T14] (  2,  4   )   ubyte  ->  rdi         "Inlining Arg"
-;  V24 tmp13        [V24    ] (  3, 20   )     ref  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V01.key (fldOffset=0x0)" P-DEP
-;  V25 tmp14        [V25    ] (  2, 16   )    long  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V01.value (fldOffset=0x8)" P-DEP
+;  V24 tmp13        [V24    ] (  3, 24   )     ref  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V01.key (fldOffset=0x0)" P-DEP
+;  V25 tmp14        [V25    ] (  2, 16   )    long  ->  [rbp-0x20]  do-not-enreg[X] addr-exposed "field V01.value (fldOffset=0x8)" P-DEP
 ;* V26 tmp15        [V26    ] (  0,  0   )    long  ->  zero-ref    "field V14._id (fldOffset=0x0)" P-INDEP
-;  V27 PSPSym       [V27,T17] (  1,  1   )    long  ->  [rbp-0x70]  do-not-enreg[V] "PSPSym"
+;  V27 PSPSym       [V27,T17] (  1,  1   )    long  ->  [rbp-0x60]  do-not-enreg[V] "PSPSym"
 ;  V28 cse0         [V28,T05] (  3, 24   )     ref  ->  rdi         "CSE - aggressive"
 ;  V29 cse1         [V29,T10] (  6, 15   )     ref  ->  rsi         multi-def "CSE - moderate"
 ;
-; Lcl frame size = 80
+; Lcl frame size = 72
 
 G_M55251_IG01:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 80
-       lea      rbp, [rsp+0x70]
+       sub      rsp, 72
+       lea      rbp, [rsp+0x60]
        xor      eax, eax
-       mov      qword ptr [rbp-0x30], rax
-       mov      qword ptr [rbp-0x70], rsp
+       mov      qword ptr [rbp-0x28], rax
+       mov      qword ptr [rbp-0x60], rsp
        mov      rbx, rdi
        ; gcrRegs +[rbx]
-                      ;; size=30 bbWeight=8 PerfScore 66.00
+                     ;; size=28 bbWeight=8 PerfScore 58.00
 G_M55251_IG02:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rsi, gword ptr [rbx+0x08]
        ; gcrRegs +[rsi]
        mov      rsi, gword ptr [rsi+0x10]
-       mov      gword ptr [rbp-0x58], rsi
+       mov      gword ptr [rbp-0x50], rsi
        ; GC ptr vars +{V05}
        xor      esi, esi
        ; gcrRegs -[rsi]
-       mov      dword ptr [rbp-0x40], esi
+       mov      dword ptr [rbp-0x38], esi
                       ;; size=17 bbWeight=8 PerfScore 50.00
-G_M55251_IG03:        ; bbWeight=8, gcVars=0000000000000080 {V05}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
-       cmp      byte  ptr [rbp-0x40], 0
-       jne      G_M55251_IG11
-       lea      rsi, [rbp-0x40]
-       mov      rdi, gword ptr [rbp-0x58]
+G_M55251_IG03:        ; bbWeight=8, gcVars=0000000000000040 {V05}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
+       cmp      byte  ptr [rbp-0x38], 0
+       jne      G_M55251_IG10
+       lea      rsi, [rbp-0x38]
+       mov      rdi, gword ptr [rbp-0x50]
        ; gcrRegs +[rdi]
        call     <unknown method>
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
-       movzx    rdi, byte  ptr [rbp-0x40]
+       movzx    rdi, byte  ptr [rbp-0x38]
        test     edi, edi
        jne      SHORT G_M55251_IG05
                        ;; size=32 bbWeight=8 PerfScore 62.00
@@ -100,7 +99,7 @@ G_M55251_IG05:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcrRegs +[rsi]
        mov      eax, dword ptr [rsi+0x0C]
        cmp      eax, dword ptr [rsi+0x08]
-       jl       SHORT G_M55251_IG12
+       jl       SHORT G_M55251_IG08
                         ;; size=28 bbWeight=8 PerfScore 108.00
 G_M55251_IG06:        ; bbWeight=4, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rsi]
@@ -111,72 +110,66 @@ G_M55251_IG06:        ; bbWeight=4, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {},
 G_M55251_IG07:        ; bbWeight=8, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
        movzx    rsi, sil
        cmp      byte  ptr [rbx+0x28], 0
-       jne      SHORT G_M55251_IG10
+       jne      SHORT G_M55251_IG09
        cmp      byte  ptr [rdi+0x48], 0
-       jne      SHORT G_M55251_IG10
+       jne      SHORT G_M55251_IG09
        test     esi, esi
-       je       SHORT G_M55251_IG10
+       je       SHORT G_M55251_IG09
        mov      rdi, gword ptr [rbx+0x20]
        mov      r14, gword ptr [rdi+0x08]
        ; gcrRegs +[r14]
        mov      rdi, gword ptr [r14+0x08]
-       lea      rsi, [rbp-0x30]
+       lea      rsi, [rbp-0x28]
        cmp      dword ptr [rdi], edi
        call     [<unknown method>]
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
-       mov      r13d, eax
-       test     r13d, r13d
+       test     eax, eax
        je       SHORT G_M55251_IG09
-                      ;; size=52 bbWeight=8 PerfScore 188.00
-G_M55251_IG08:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
        mov      rdi, gword ptr [r14+0x10]
        ; gcrRegs +[rdi]
-       mov      rsi, gword ptr [rbp-0x30]
+       mov      rsi, gword ptr [rbp-0x28]
        ; gcrRegs +[rsi]
        cmp      dword ptr [rdi], edi
        call     [<unknown method>]
        ; gcrRegs -[rsi rdi r14]
        ; gcr arg pop 0
-                       ;; size=16 bbWeight=4 PerfScore 36.00
-G_M55251_IG09:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       test     r13d, r13d
-       jne      SHORT G_M55251_IG13
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M55251_IG10:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rbx]
+       jmp      SHORT G_M55251_IG11
+                       ;; size=66 bbWeight=8 PerfScore 274.00
+G_M55251_IG08:        ; bbWeight=4, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[rdi]
+       mov      esi, 1
+       jmp      SHORT G_M55251_IG07
+                       ;; size=7 bbWeight=4 PerfScore 9.00
+G_M55251_IG09:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rbx rdi]
        xor      edi, edi
-       mov      dword ptr [rbp-0x44], edi
-       jmp      SHORT G_M55251_IG17
+       mov      dword ptr [rbp-0x3C], edi
+       jmp      SHORT G_M55251_IG15
                         ;; size=7 bbWeight=1 PerfScore 3.25
-G_M55251_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M55251_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     [System.Threading.Monitor:ThrowLockTakenException()]
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M55251_IG12:        ; bbWeight=4, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs +[rbx rdi]
-       mov      esi, 1
-       jmp      SHORT G_M55251_IG07
-                       ;; size=7 bbWeight=4 PerfScore 9.00
-G_M55251_IG13:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rdi]
-       cmp      byte  ptr [rbp-0x40], 0
-       je       SHORT G_M55251_IG15
+G_M55251_IG11:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[rbx]
+       cmp      byte  ptr [rbp-0x38], 0
+       je       SHORT G_M55251_IG13
                         ;; size=6 bbWeight=8 PerfScore 24.00
-G_M55251_IG14:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       mov      rdi, gword ptr [rbp-0x58]
+G_M55251_IG12:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       mov      rdi, gword ptr [rbp-0x50]
        ; gcrRegs +[rdi]
        ; GC ptr vars -{V05}
        call     <unknown method>
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
                        ;; size=9 bbWeight=4 PerfScore 8.00
-G_M55251_IG15:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       mov      rdi, gword ptr [rbp-0x30]
+G_M55251_IG13:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       mov      rdi, gword ptr [rbp-0x28]
        ; gcrRegs +[rdi]
-       lea      rcx, [rbp-0x38]
-       mov      rsi, qword ptr [rbp-0x28]
+       lea      rcx, [rbp-0x30]
+       mov      rsi, qword ptr [rbp-0x20]
        mov      rdx, rbx
        ; gcrRegs +[rdx]
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
@@ -184,51 +177,51 @@ G_M55251_IG15:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcrRegs -[rdx rdi]
        ; gcr arg pop 0
        mov      r14d, eax
-       cmp      byte  ptr [rbp-0x38], 0
+       cmp      byte  ptr [rbp-0x30], 0
        je       G_M55251_IG02
                        ;; size=41 bbWeight=8 PerfScore 74.00
-G_M55251_IG16:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M55251_IG14:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rsi, gword ptr [rbx+0x08]
        ; gcrRegs +[rsi]
        mov      rdi, gword ptr [rsi+0x10]
        ; gcrRegs +[rdi]
-       mov      gword ptr [rbp-0x60], rdi
+       mov      gword ptr [rbp-0x58], rdi
        ; GC ptr vars +{V09}
        xor      esi, esi
        ; gcrRegs -[rsi]
-       mov      dword ptr [rbp-0x50], esi
-       jmp      SHORT G_M55251_IG19
+       mov      dword ptr [rbp-0x48], esi
+       jmp      SHORT G_M55251_IG17
                         ;; size=19 bbWeight=1 PerfScore 8.25
-G_M55251_IG17:        ; bbWeight=1, gcVars=0000000000000080 {V05}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M55251_IG15:        ; bbWeight=1, gcVars=0000000000000040 {V05}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rbx rdi]
-       ; GC ptr vars -{V09} +{V05 V07}
+       ; GC ptr vars -{V09} +{V05}
        mov      rdi, rsp
-       call     G_M55251_IG27
+       call     G_M55251_IG25
                        ;; size=8 bbWeight=1 PerfScore 1.25
-G_M55251_IG18:        ; bbWeight=1, nogc, isz, extend
-       jmp      SHORT G_M55251_IG25
+G_M55251_IG16:        ; bbWeight=1, nogc, isz, extend
+       jmp      SHORT G_M55251_IG23
                         ;; size=2 bbWeight=1 PerfScore 2.00
-G_M55251_IG19:        ; bbWeight=1, gcVars=0000000000010000 {V09}, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, gcvars, byref, isz
...
  
+3 (+2.13%) : 122779.dasm - System.IO.Compression.ZipGenericExtraField:WriteAllBlocks(System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField],System.IO.Stream) (FullOpts)
@@ -8,32 +8,33 @@
 ; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T10] (  4,  4   )     ref  ->  rdi         class-hnd single-def <System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField]>
-;  V01 arg1         [V01,T11] (  3,  4   )     ref  ->  rbx         class-hnd single-def <System.IO.Stream>
+;  V00 arg0         [V00,T11] (  4,  4   )     ref  ->  rdi         class-hnd single-def <System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField]>
+;  V01 arg1         [V01,T12] (  3,  4   )     ref  ->  rbx         class-hnd single-def <System.IO.Stream>
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.IO.Compression.ZipGenericExtraField]>
 ;  V03 loc1         [V03    ] (  4,  8   )  struct (16) [rbp-0x30]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.IO.Compression.ZipGenericExtraField>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V05 tmp1         [V05    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.IO.Compression.ZipGenericExtraField]>
-;* V06 tmp2         [V06,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V06 tmp2         [V06,T10] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V07 tmp3         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField]>
 ;  V08 tmp4         [V08    ] (  2,  4   )     ref  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V03._data (fldOffset=0x0)" P-DEP
 ;  V09 tmp5         [V09    ] (  2,  4   )  ushort  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V03._tag (fldOffset=0x8)" P-DEP
 ;  V10 tmp6         [V10    ] (  2,  4   )  ushort  ->  [rbp-0x26]  do-not-enreg[X] addr-exposed "field V03._size (fldOffset=0xa)" P-DEP
 ;  V11 tmp7         [V11,T03] (  4, 17   )     ref  ->  r14         single-def "V02.[000..008)"
 ;  V12 tmp8         [V12,T01] (  6, 21   )     int  ->  r13         "V02.[008..012)"
-;  V13 tmp9         [V13,T08] (  2,  9   )     int  ->  r15         "V02.[012..016)"
-;  V14 tmp10        [V14,T05] (  2,  6   )     ref  ->  rsi         "V02.[016..024)"
-;  V15 tmp11        [V15,T06] (  2,  6   )  ushort  ->  rax         "V02.[024..026)"
-;  V16 tmp12        [V16,T07] (  2,  6   )  ushort  ->  rdi         "V02.[026..028)"
+;  V13 tmp9         [V13,T09] (  2,  9   )     int  ->  r15         "V02.[012..016)"
+;  V14 tmp10        [V14,T06] (  2,  6   )     ref  ->  rsi         "V02.[016..024)"
+;  V15 tmp11        [V15,T07] (  2,  6   )  ushort  ->  rax         "V02.[024..026)"
+;  V16 tmp12        [V16,T08] (  2,  6   )  ushort  ->  rdi         "V02.[026..028)"
 ;* V17 tmp13        [V17    ] (  0,  0   )     ref  ->  zero-ref    single-def "V05.[000..008)"
 ;* V18 tmp14        [V18    ] (  0,  0   )     int  ->  zero-ref    "V05.[008..012)"
-;  V19 tmp15        [V19,T12] (  2,  2   )     int  ->  r15         "V05.[012..016)"
+;  V19 tmp15        [V19,T13] (  2,  2   )     int  ->  r15         "V05.[012..016)"
 ;* V20 tmp16        [V20    ] (  0,  0   )     ref  ->  zero-ref    single-def "V05.[016..024)"
 ;* V21 tmp17        [V21    ] (  0,  0   )  ushort  ->  zero-ref    "V05.[024..026)"
 ;* V22 tmp18        [V22    ] (  0,  0   )  ushort  ->  zero-ref    "V05.[026..028)"
 ;  V23 tmp19        [V23,T00] (  4, 32   )   byref  ->  rdi         "Spilling address for field-by-field copy"
 ;  V24 tmp20        [V24,T02] (  3, 24   )     ref  ->  rdi         "arr expr"
-;  V25 cse0         [V25,T04] (  2,  8   )     int  ->  rdi         "CSE - aggressive"
+;  V25 cse0         [V25,T05] (  2,  8   )     int  ->  rdi         "CSE - aggressive"
+;  V26 cse1         [V26,T04] (  2, 16   )     int  ->  rdi         "CSE - aggressive"
 ;
 ; Lcl frame size = 16
 
@@ -69,9 +70,10 @@ G_M41630_IG03:        ; bbWeight=2, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000
        ; gcrRegs -[rsi]
                        ;; size=25 bbWeight=2 PerfScore 13.50
 G_M41630_IG04:        ; bbWeight=8, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
-       cmp      r15d, dword ptr [r14+0x14]
+       mov      edi, dword ptr [r14+0x14]
+       cmp      r15d, edi
        jne      SHORT G_M41630_IG08
-                     ;; size=6 bbWeight=8 PerfScore 32.00
+                      ;; size=9 bbWeight=8 PerfScore 26.00
 G_M41630_IG05:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
        mov      edi, dword ptr [r14+0x10]
        cmp      r13d, edi
@@ -111,7 +113,7 @@ G_M41630_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 141, prolog size 23, PerfScore 149.25, instruction count 46, allocated bytes for code 141 (MethodHash=bf4e5d61) for method System.IO.Compression.ZipGenericExtraField:WriteAllBlocks(System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField],System.IO.Stream) (FullOpts)
+; Total bytes of code 144, prolog size 23, PerfScore 143.25, instruction count 47, allocated bytes for code 144 (MethodHash=bf4e5d61) for method System.IO.Compression.ZipGenericExtraField:WriteAllBlocks(System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField],System.IO.Stream) (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+32 (+3.26%) : 214055.dasm - System.Tests.DecimalTests+BigIntegerCompare:Test() (FullOpts)
@@ -84,10 +84,10 @@
 ;* V73 tmp64        [V73    ] (  0,  0   )     int  ->  zero-ref    "field V23._sign (fldOffset=0x8)" P-DEP
 ;  V74 tmp65        [V74    ] (  3, 40   )     ref  ->  [rbp-0xA0]  do-not-enreg[X] addr-exposed "field V25._bits (fldOffset=0x0)" P-DEP
 ;  V75 tmp66        [V75    ] (  3, 40   )     int  ->  [rbp-0x98]  do-not-enreg[X] addr-exposed "field V25._sign (fldOffset=0x8)" P-DEP
-;  V76 tmp67        [V76,T28] (  3, 16   )   byref  ->  rdi         "field V27._reference (fldOffset=0x0)" P-INDEP
-;  V77 tmp68        [V77,T32] (  3, 16   )     int  ->  rsi         "field V27._length (fldOffset=0x8)" P-INDEP
-;  V78 tmp69        [V78,T29] (  3, 16   )   byref  ->  rcx         "field V30._reference (fldOffset=0x0)" P-INDEP
-;  V79 tmp70        [V79,T33] (  3, 16   )     int  ->   r8         "field V30._length (fldOffset=0x8)" P-INDEP
+;  V76 tmp67        [V76,T28] (  3, 20.27)   byref  ->  rdi         "field V27._reference (fldOffset=0x0)" P-INDEP
+;  V77 tmp68        [V77,T30] (  3, 20.27)     int  ->  rsi         "field V27._length (fldOffset=0x8)" P-INDEP
+;  V78 tmp69        [V78,T32] (  3, 16   )   byref  ->  rcx         "field V30._reference (fldOffset=0x0)" P-INDEP
+;  V79 tmp70        [V79,T34] (  3, 16   )     int  ->   r8         "field V30._length (fldOffset=0x8)" P-INDEP
 ;  V80 tmp71        [V80,T19] (  3, 24   )     ref  ->  rax         "field V32._bits (fldOffset=0x0)" P-INDEP
 ;  V81 tmp72        [V81,T23] (  3, 24   )     int  ->  r10         "field V32._sign (fldOffset=0x8)" P-INDEP
 ;  V82 tmp73        [V82,T16] (  4, 24.54)     ref  ->  r12         "field V33._bits (fldOffset=0x0)" P-INDEP
@@ -102,9 +102,9 @@
 ;* V91 tmp82        [V91    ] (  0,  0   )     int  ->  zero-ref    "field V37._sign (fldOffset=0x8)" P-DEP
 ;  V92 tmp83        [V92    ] (  3, 40   )     ref  ->  [rbp-0xB0]  do-not-enreg[X] addr-exposed "field V39._bits (fldOffset=0x0)" P-DEP
 ;  V93 tmp84        [V93    ] (  3, 40   )     int  ->  [rbp-0xA8]  do-not-enreg[X] addr-exposed "field V39._sign (fldOffset=0x8)" P-DEP
-;  V94 tmp85        [V94,T30] (  3, 16   )   byref  ->  rdi         "field V41._reference (fldOffset=0x0)" P-INDEP
-;  V95 tmp86        [V95,T34] (  3, 16   )     int  ->  rsi         "field V41._length (fldOffset=0x8)" P-INDEP
-;  V96 tmp87        [V96,T31] (  3, 16   )   byref  ->  rcx         "field V44._reference (fldOffset=0x0)" P-INDEP
+;  V94 tmp85        [V94,T29] (  3, 20.27)   byref  ->  rdi         "field V41._reference (fldOffset=0x0)" P-INDEP
+;  V95 tmp86        [V95,T31] (  3, 20.27)     int  ->  rsi         "field V41._length (fldOffset=0x8)" P-INDEP
+;  V96 tmp87        [V96,T33] (  3, 16   )   byref  ->  rcx         "field V44._reference (fldOffset=0x0)" P-INDEP
 ;  V97 tmp88        [V97,T35] (  3, 16   )     int  ->   r8         "field V44._length (fldOffset=0x8)" P-INDEP
 ;  V98 tmp89        [V98    ] (  4, 56.00)     int  ->  [rbp-0xC0]  do-not-enreg[X] addr-exposed "field V46._flags (fldOffset=0x0)" P-DEP
 ;  V99 tmp90        [V99    ] (  3, 64.00)     int  ->  [rbp-0xBC]  do-not-enreg[X] addr-exposed "field V46._hi32 (fldOffset=0x4)" P-DEP
@@ -152,7 +152,7 @@ G_M48799_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        xor      r15d, r15d
        mov      r14d, dword ptr [rbx+0x08]
        test     r14d, r14d
-       jle      G_M48799_IG31
+       jle      G_M48799_IG37
                        ;; size=31 bbWeight=1 PerfScore 7.50
 G_M48799_IG03:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax]
@@ -163,7 +163,7 @@ G_M48799_IG03:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      rsi, gword ptr [rbp-0x30]
        ; gcrRegs +[rsi]
        cmp      r15d, dword ptr [rsi+0x08]
-       jae      G_M48799_IG35
+       jae      G_M48799_IG38
        mov      rsi, gword ptr [rbp-0x30]
        mov      edi, r15d
        lea      rdi, [rdi+2*rdi]
@@ -186,7 +186,7 @@ G_M48799_IG06:        ; bbWeight=16, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, by
        mov      rsi, gword ptr [rbp-0x30]
        ; gcrRegs +[rsi]
        cmp      r13d, dword ptr [rsi+0x08]
-       jae      G_M48799_IG35
+       jae      G_M48799_IG38
        mov      rsi, gword ptr [rbp-0x30]
        mov      edi, r13d
        lea      rdi, [rdi+2*rdi]
@@ -207,7 +207,7 @@ G_M48799_IG08:        ; bbWeight=16, extend
        movzx    rax, byte  ptr [rbp-0x58]
        sub      eax, edi
        test     eax, eax
-       jle      G_M48799_IG17
+       jle      G_M48799_IG20
                      ;; size=26 bbWeight=16 PerfScore 61.33
 G_M48799_IG09:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; byrRegs -[rsi]
@@ -218,7 +218,7 @@ G_M48799_IG09:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      rsi, gword ptr [rsi]
        ; gcrRegs +[rsi]
        cmp      eax, 60
-       jae      G_M48799_IG35
+       jae      G_M48799_IG38
        mov      edi, eax
        shl      rdi, 4
        lea      rsi, bword ptr [rsi+rdi+0x10]
@@ -228,7 +228,7 @@ G_M48799_IG09:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcrRegs +[rax]
        mov      r9d, dword ptr [rsi+0x08]
        test     r12, r12
-       jne      SHORT G_M48799_IG11
+       jne      SHORT G_M48799_IG13
        test     rax, rax
        jne      SHORT G_M48799_IG10
        vxorps   xmm0, xmm0, xmm0
@@ -244,42 +244,64 @@ G_M48799_IG09:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      rsi, gword ptr [rbp-0xA0]
        ; gcrRegs +[rsi]
        mov      edx, dword ptr [rbp-0x98]
-       jmp      SHORT G_M48799_IG16
+       jmp      SHORT G_M48799_IG19
                         ;; size=107 bbWeight=8 PerfScore 200.67
-G_M48799_IG10:        ; bbWeight=3.73, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref, isz
+G_M48799_IG10:        ; bbWeight=8, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rsi] +[rax]
        xor      rdi, rdi
        ; byrRegs +[rdi]
        xor      esi, esi
-       jmp      SHORT G_M48799_IG12
-                       ;; size=6 bbWeight=3.73 PerfScore 9.33
-G_M48799_IG11:        ; bbWeight=4.27, gcrefRegs=1009 {rax rbx r12}, byrefRegs=0000 {}, byref
-       ; gcrRegs +[r12]
-       ; byrRegs -[rdi]
-       lea      rdi, bword ptr [r12+0x10]
-       ; byrRegs +[rdi]
-       mov      esi, dword ptr [r12+0x08]
-                       ;; size=10 bbWeight=4.27 PerfScore 10.67
-G_M48799_IG12:        ; bbWeight=8, gcrefRegs=0009 {rax rbx}, byrefRegs=0080 {rdi}, byref, isz
-       ; gcrRegs -[r12]
+                      ;; size=4 bbWeight=8 PerfScore 4.00
+G_M48799_IG11:        ; bbWeight=8, gcrefRegs=0009 {rax rbx}, byrefRegs=0080 {rdi}, byref, isz
        test     rax, rax
-       jne      SHORT G_M48799_IG14
+       jne      SHORT G_M48799_IG17
                        ;; size=5 bbWeight=8 PerfScore 10.00
-G_M48799_IG13:        ; bbWeight=3.73, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi}, byref, isz
+G_M48799_IG12:        ; bbWeight=3.73, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi}, byref, isz
        ; gcrRegs -[rax]
        xor      rcx, rcx
        ; byrRegs +[rcx]
        xor      r8d, r8d
-       jmp      SHORT G_M48799_IG15
+       jmp      SHORT G_M48799_IG18
                      ;; size=7 bbWeight=3.73 PerfScore 9.33
-G_M48799_IG14:        ; bbWeight=4.27, gcrefRegs=0009 {rax rbx}, byrefRegs=0080 {rdi}, byref
+G_M48799_IG13:        ; bbWeight=4.27, gcrefRegs=1009 {rax rbx r12}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[rax r12]
+       ; byrRegs -[rcx rdi]
+       lea      rdi, bword ptr [r12+0x10]
+       ; byrRegs +[rdi]
+       mov      esi, dword ptr [r12+0x08]
+       jmp      SHORT G_M48799_IG11
+                       ;; size=12 bbWeight=4.27 PerfScore 19.21
+G_M48799_IG14:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rax r12]
+       ; byrRegs -[rdi]
+       mov      rsi, gword ptr [rbp-0x78]
+       ; gcrRegs +[rsi]
+       mov      rdx, qword ptr [rbp-0x70]
+       lea      rdi, [rbp-0x50]
+       call     [<unknown method>]
+       ; gcrRegs -[rsi]
+       ; gcr arg pop 0
+       mov      r12d, eax
+                       ;; size=21 bbWeight=8 PerfScore 46.00
+G_M48799_IG15:        ; bbWeight=16, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       vmovups  xmm0, xmmword ptr [rbp-0x68]
+       vmovups  xmmword ptr [rbp-0xC0], xmm0
+       mov      rdi, qword ptr [rbp-0xB8]
+       mov      esi, dword ptr [rbp-0xBC]
+       or       rdi, rsi
+       jne      G_M48799_IG35
+                       ;; size=35 bbWeight=16 PerfScore 116.00
+G_M48799_IG16:        ; bbWeight=0.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       jmp      G_M48799_IG32
+                       ;; size=5 bbWeight=0.00 PerfScore 0.00
+G_M48799_IG17:        ; bbWeight=4.27, gcrefRegs=0009 {rax rbx}, byrefRegs=0080 {rdi}, byref
        ; gcrRegs +[rax]
-       ; byrRegs -[rcx]
+       ; byrRegs +[rdi]
        lea      rcx, bword ptr [rax+0x10]
        ; byrRegs +[rcx]
        mov      r8d, dword ptr [rax+0x08]
                        ;; size=8 bbWeight=4.27 PerfScore 10.67
-G_M48799_IG15:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0082 {rcx rdi}, byref
+G_M48799_IG18:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0082 {rcx rdi}, byref
        ; gcrRegs -[rax]
        call     [<unknown method>]
        ; gcrRegs +[rax]
@@ -288,18 +310,18 @@ G_M48799_IG15:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0082 {rcx rd
        mov      rsi, rax
        ; gcrRegs +[rsi]
                        ;; size=9 bbWeight=8 PerfScore 26.00
-G_M48799_IG16:        ; bbWeight=8, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+G_M48799_IG19:        ; bbWeight=8, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
        lea      rdi, [rbp-0x50]
        call     [<unknown method>]
        ; gcrRegs -[rsi]
        ; gcr arg pop 0
        mov      r12d, eax
-       jmp      G_M48799_IG26
-                       ;; size=18 bbWeight=8 PerfScore 46.00
-G_M48799_IG17:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M48799_IG15
+                       ;; size=15 bbWeight=8 PerfScore 46.00
+G_M48799_IG20:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        test     eax, eax
-       jge      G_M48799_IG25
+       jge      SHORT G_M48799_IG14
        mov      r12, gword ptr [rbp-0x50]
        ; gcrRegs +[r12]
        mov      edx, dword ptr [rbp-0x48]
@@ -309,7 +331,7 @@ G_M48799_IG17:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      edi, eax
        neg      edi
        cmp      edi, 60
-       jae      G_M48799_IG35
+       jae      G_M48799_IG38
        mov      edi, eax
        neg      edi
        shl      rdi, 4
@@ -320,9 +342,9 @@ G_M48799_IG17:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcrRegs +[rax]
        mov      r9d, dword ptr [rsi+0x08]
        test     r12, r12
-       jne      SHORT G_M48799_IG19
+       jne      SHORT G_M48799_IG24
        test     rax, rax
-       jne      SHORT G_M48799_IG18
+       jne      SHORT G_M48799_IG21
        vxorps   xmm0, xmm0, xmm0
        vmovdqu  xmmword ptr [rbp-0xB0], xmm0
        movsxd   rsi, edx
@@ -336,41 +358,62 @@ G_M48799_IG17:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      rax, gword ptr [rbp-0xB0]
        ; gcrRegs +[rax]
        mov      r10d, dword ptr [rbp-0xA8]
-       jmp      SHORT G_M48799_IG24
-                       ;; size=122 bbWeight=8 PerfScore 216.67
-G_M48799_IG18:        ; bbWeight=3.73, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M48799_IG31
+                       ;; size=118 bbWeight=8 PerfScore 216.67
+G_M48799_IG21:        ; bbWeight=8, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
        xor      rdi, rdi
        ; byrRegs +[rdi]
        xor      esi, esi
-       jmp      SHORT G_M48799_IG20
-                       ;; size=6 bbWeight=3.73 PerfScore 9.33
-G_M48799_IG19:        ; bbWeight=4.27, gcrefRegs=1009 {rax rbx r12}, byrefRegs=0000 {}, byref
-       ; gcrRegs +[r12]
-       ; byrRegs -[rdi]
-       lea      rdi, bword ptr [r12+0x10]
-       ; byrRegs +[rdi]
-       mov      esi, dword ptr [r12+0x08]
-                       ;; size=10 bbWeight=4.27 PerfScore 10.67
-G_M48799_IG20:        ; bbWeight=8, gcrefRegs=0009 {rax rbx}, byrefRegs=0080 {rdi}, byref, isz
-       ; gcrRegs -[r12]
+                      ;; size=4 bbWeight=8 PerfScore 4.00
+G_M48799_IG22:        ; bbWeight=8, gcrefRegs=0009 {rax rbx}, byrefRegs=0080 {rdi}, byref, isz
        test     rax, rax
-       jne      SHORT G_M48799_IG22
+       jne      SHORT G_M48799_IG29
                        ;; size=5 bbWeight=8 PerfScore 10.00
-G_M48799_IG21:        ; bbWeight=3.73, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi}, byref, isz
+G_M48799_IG23:        ; bbWeight=3.73, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi}, byref, isz
        ; gcrRegs -[rax]
        xor      rcx, rcx
        ; byrRegs +[rcx]
        xor      r8d, r8d
-       jmp      SHORT G_M48799_IG23
+       jmp      SHORT G_M48799_IG30
                      ;; size=7 bbWeight=3.73 PerfScore 9.33
...
  
+24 (+3.61%) : 215074.dasm - System.Security.Cryptography.XmlKeyHelper:WriteCryptoBinary(System.String,System.ReadOnlySpan`1[ubyte],System.Text.StringBuilder) (FullOpts)
@@ -112,7 +112,7 @@ G_M40104_IG02:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r1
        mov      rsi, gword ptr [rbx+0x08]
        ; gcrRegs +[rsi]
        cmp      dword ptr [rsi+0x08], edi
-       jbe      G_M40104_IG17
+       jbe      G_M40104_IG29
                         ;; size=16 bbWeight=1 PerfScore 8.00
 G_M40104_IG03:        ; bbWeight=0.46, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=2000 {r13}, byref
        mov      edi, edi
@@ -139,7 +139,7 @@ G_M40104_IG06:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r1
        mov      rsi, gword ptr [rbx+0x08]
        ; gcrRegs +[rsi]
        cmp      dword ptr [rsi+0x08], edi
-       jbe      G_M40104_IG21
+       jbe      G_M40104_IG30
                         ;; size=16 bbWeight=1 PerfScore 8.00
 G_M40104_IG07:        ; bbWeight=0.46, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=2000 {r13}, byref
        mov      edi, edi
@@ -158,11 +158,11 @@ G_M40104_IG08:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r1
        test     r15d, r15d
        mov      rcx, bword ptr [rbp-0x50]
        ; byrRegs +[rcx]
-       jle      G_M40104_IG22
+       jle      G_M40104_IG16
                       ;; size=37 bbWeight=1 PerfScore 7.50
 G_M40104_IG09:        ; bbWeight=4.00, gcVars=0000000000000100 {V51}, gcrefRegs=4008 {rbx r14}, byrefRegs=2002 {rcx r13}, gcvars, byref
        cmp      eax, 192
-       jl       G_M40104_IG16
+       jl       G_M40104_IG28
                      ;; size=11 bbWeight=4.00 PerfScore 5.00
 G_M40104_IG10:        ; bbWeight=1.48, gcrefRegs=4008 {rbx r14}, byrefRegs=2002 {rcx r13}, byref
        mov      edx, 192
@@ -173,7 +173,7 @@ G_M40104_IG11:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=2002 {rc
        add      rdi, rsi
        mov      esi, r15d
        cmp      rdi, rsi
-       ja       G_M40104_IG37
+       ja       G_M40104_IG35
        mov      r8d, r12d
        add      r8, r13
        ; byrRegs +[r8]
@@ -198,7 +198,7 @@ G_M40104_IG12:        ; bbWeight=2, gcVars=0000000000000140 {V24 V51}, gcrefRegs
        mov      rcx, bword ptr [rbp-0x50]
        ; byrRegs +[rcx]
                        ;; size=26 bbWeight=2 PerfScore 9.50
-G_M40104_IG13:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=2002 {rcx r13}, byref, isz
+G_M40104_IG13:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=2002 {rcx r13}, byref
        mov      rdi, bword ptr [rbp-0x48]
        ; byrRegs +[rdi]
        mov      edx, dword ptr [rbp-0x3C]
@@ -213,15 +213,15 @@ G_M40104_IG13:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=2002 {rc
        call     [<unknown method>]
        ; byrRegs -[rdx rdi]
        test     eax, eax
-       je       G_M40104_IG36
+       je       G_M40104_IG34
        mov      eax, dword ptr [rbp-0x38]
        mov      dword ptr [rbp-0x40], eax
        cmp      eax, 256
-       ja       G_M40104_IG37
+       ja       G_M40104_IG35
        test     eax, eax
-       jge      SHORT G_M40104_IG15
-                       ;; size=59 bbWeight=4 PerfScore 49.00
-G_M40104_IG14:        ; bbWeight=2, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, byref, isz
+       jge      G_M40104_IG27
+                       ;; size=63 bbWeight=4 PerfScore 49.00
+G_M40104_IG14:        ; bbWeight=2, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, byref
        mov      r8, 0xD1FFAB1E
        ; gcrRegs +[r8]
        mov      rcx, r8
@@ -234,32 +234,6 @@ G_M40104_IG14:        ; bbWeight=2, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r1
        ; gcrRegs +[rsi]
        call     [<unknown method>]
        ; gcrRegs -[rcx rsi rdi r8]
-       jmp      SHORT G_M40104_IG18
-                       ;; size=31 bbWeight=2 PerfScore 14.00
-G_M40104_IG15:        ; bbWeight=2, gcVars=0000000000000100 {V51}, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, gcvars, byref, isz
-       ; GC ptr vars -{V76}
-       mov      eax, dword ptr [rbp-0x40]
-       jmp      SHORT G_M40104_IG19
-                       ;; size=5 bbWeight=2 PerfScore 6.00
-G_M40104_IG16:        ; bbWeight=0.52, gcrefRegs=4008 {rbx r14}, byrefRegs=2002 {rcx r13}, byref
-       ; byrRegs +[rcx]
-       mov      dword ptr [rbp-0x2C], eax
-       mov      edx, eax
-       mov      eax, dword ptr [rbp-0x2C]
-       jmp      G_M40104_IG11
-                       ;; size=13 bbWeight=0.52 PerfScore 2.21
-G_M40104_IG17:        ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, gcvars, byref
-       ; byrRegs -[rcx]
-       ; GC ptr vars -{V51}
-       mov      rdi, rbx
-       ; gcrRegs +[rdi]
-       mov      esi, 60
-       call     [<unknown method>]
-       ; gcrRegs -[rdi]
-       jmp      G_M40104_IG04
-                       ;; size=19 bbWeight=0.04 PerfScore 0.19
-G_M40104_IG18:        ; bbWeight=2, gcVars=0000000000000120 {V51 V76}, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, gcvars, byref
-       ; GC ptr vars +{V51 V76}
        mov      rdi, gword ptr [rbp-0x58]
        ; gcrRegs +[rdi]
        mov      rsi, rdi
@@ -268,8 +242,8 @@ G_M40104_IG18:        ; bbWeight=2, gcVars=0000000000000120 {V51 V76}, gcrefRegs
        call     [<unknown method>]
        ; gcrRegs -[rsi rdi]
        mov      eax, dword ptr [rbp-0x40]
-                        ;; size=16 bbWeight=2 PerfScore 10.50
-G_M40104_IG19:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, byref
+                        ;; size=45 bbWeight=2 PerfScore 20.50
+G_M40104_IG15:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, byref
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        mov      rsi, bword ptr [rbp-0x50]
@@ -287,52 +261,39 @@ G_M40104_IG19:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r1
        ; byrRegs +[rcx]
        jg       G_M40104_IG09
                        ;; size=38 bbWeight=4 PerfScore 37.00
-G_M40104_IG20:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M40104_IG16:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, gcvars, byref
        ; byrRegs -[rcx r13]
        ; GC ptr vars -{V51}
-       jmp      SHORT G_M40104_IG22
-                       ;; size=2 bbWeight=1 PerfScore 2.00
-G_M40104_IG21:        ; bbWeight=0.04, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, byref
-       ; byrRegs +[r13]
-       mov      rdi, rbx
-       ; gcrRegs +[rdi]
-       mov      esi, 62
-       call     [<unknown method>]
-       ; gcrRegs -[rdi]
-       jmp      G_M40104_IG08
-                       ;; size=19 bbWeight=0.04 PerfScore 0.19
-G_M40104_IG22:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
-       ; byrRegs -[r13]
        mov      edi, dword ptr [rbx+0x18]
        mov      rsi, gword ptr [rbx+0x08]
        ; gcrRegs +[rsi]
        cmp      dword ptr [rsi+0x08], edi
-       jbe      SHORT G_M40104_IG33
-                       ;; size=12 bbWeight=1 PerfScore 8.00
-G_M40104_IG23:        ; bbWeight=0.46, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref
+       jbe      G_M40104_IG31
+                       ;; size=16 bbWeight=1 PerfScore 8.00
+G_M40104_IG17:        ; bbWeight=0.46, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref
        mov      edi, edi
        mov      word  ptr [rsi+2*rdi+0x10], 60
        inc      dword ptr [rbx+0x18]
                        ;; size=12 bbWeight=0.46 PerfScore 1.98
-G_M40104_IG24:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG18:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rsi]
        mov      edi, dword ptr [rbx+0x18]
        mov      rsi, gword ptr [rbx+0x08]
        ; gcrRegs +[rsi]
        cmp      dword ptr [rsi+0x08], edi
-       jbe      SHORT G_M40104_IG34
-                       ;; size=12 bbWeight=1 PerfScore 8.00
-G_M40104_IG25:        ; bbWeight=0.46, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref
+       jbe      G_M40104_IG32
+                       ;; size=16 bbWeight=1 PerfScore 8.00
+G_M40104_IG19:        ; bbWeight=0.46, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000 {}, byref
        mov      edi, edi
        mov      word  ptr [rsi+2*rdi+0x10], 47
        inc      dword ptr [rbx+0x18]
                        ;; size=12 bbWeight=0.46 PerfScore 1.98
-G_M40104_IG26:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG20:        ; bbWeight=1, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rsi]
        test     r14, r14
-       je       SHORT G_M40104_IG28
+       je       SHORT G_M40104_IG22
                      ;; size=5 bbWeight=1 PerfScore 1.25
-G_M40104_IG27:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
+G_M40104_IG21:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
        mov      edx, dword ptr [r14+0x08]
        lea      rsi, bword ptr [r14+0x0C]
        ; byrRegs +[rsi]
@@ -342,29 +303,29 @@ G_M40104_IG27:        ; bbWeight=0.50, gcrefRegs=4008 {rbx r14}, byrefRegs=0000
        ; gcrRegs -[rdi r14]
        ; byrRegs -[rsi]
                        ;; size=17 bbWeight=0.50 PerfScore 2.86
-G_M40104_IG28:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG22:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      edi, dword ptr [rbx+0x18]
        mov      rsi, gword ptr [rbx+0x08]
        ; gcrRegs +[rsi]
        cmp      dword ptr [rsi+0x08], edi
-       jbe      SHORT G_M40104_IG35
-                       ;; size=12 bbWeight=1 PerfScore 8.00
-G_M40104_IG29:        ; bbWeight=0.46, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+       jbe      G_M40104_IG33
+                       ;; size=16 bbWeight=1 PerfScore 8.00
+G_M40104_IG23:        ; bbWeight=0.46, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
        mov      edi, edi
        mov      word  ptr [rsi+2*rdi+0x10], 62
        inc      dword ptr [rbx+0x18]
                        ;; size=12 bbWeight=0.46 PerfScore 1.98
-G_M40104_IG30:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG24:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rbx rsi]
        mov      rdi, 0xD1FFAB1E
        cmp      qword ptr [rbp-0x60], rdi
-       je       SHORT G_M40104_IG31
+       je       SHORT G_M40104_IG25
        call     CORINFO_HELP_FAIL_FAST
                        ;; size=21 bbWeight=1 PerfScore 4.25
-G_M40104_IG31:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M40104_IG25:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
-G_M40104_IG32:        ; bbWeight=1, epilog, nogc, extend
+G_M40104_IG26:        ; bbWeight=1, epilog, nogc, extend
        lea      rsp, [rbp-0x28]
        pop      rbx
        pop      r12
@@ -374,33 +335,65 @@ G_M40104_IG32:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=15 bbWeight=1 PerfScore 4.50
-G_M40104_IG33:        ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M40104_IG27:        ; bbWeight=2, gcVars=0000000000000100 {V51}, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, gcvars, byref
        ; gcrRegs +[rbx r14]
+       ; byrRegs +[r13]
+       ; GC ptr vars +{V51}
+       mov      eax, dword ptr [rbp-0x40]
+       jmp      G_M40104_IG15
+                       ;; size=8 bbWeight=2 PerfScore 6.00
+G_M40104_IG28:        ; bbWeight=0.52, gcrefRegs=4008 {rbx r14}, byrefRegs=2002 {rcx r13}, byref
+       ; byrRegs +[rcx]
+       mov      dword ptr [rbp-0x2C], eax
+       mov      edx, eax
+       mov      eax, dword ptr [rbp-0x2C]
+       jmp      G_M40104_IG11
+                       ;; size=13 bbWeight=0.52 PerfScore 2.21
+G_M40104_IG29:        ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, gcvars, byref
+       ; byrRegs -[rcx]
+       ; GC ptr vars -{V51}
        mov      rdi, rbx
        ; gcrRegs +[rdi]
        mov      esi, 60
        call     [<unknown method>]
        ; gcrRegs -[rdi]
-       jmp      SHORT G_M40104_IG24
-                       ;; size=16 bbWeight=0.04 PerfScore 0.19
-G_M40104_IG34:        ; bbWeight=0.04, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+       jmp      G_M40104_IG04
+                       ;; size=19 bbWeight=0.04 PerfScore 0.19
+G_M40104_IG30:        ; bbWeight=0.04, gcrefRegs=4008 {rbx r14}, byrefRegs=2000 {r13}, byref
...
  
  
realworld.run.linux.x64.checked.mch
-36 (-5.27%) : 32869.dasm - System.Management.Automation.Internal.PipelineProcessor:SynchronousExecuteEnumerate(System.Object):System.Array:this (FullOpts)
@@ -8,67 +8,67 @@
 ; 0 inlinees with PGO data; 11 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T07] ( 18, 20   )     ref  ->  [rbp-0x28]  this class-hnd EH-live single-def <System.Management.Automation.Internal.PipelineProcessor>
-;  V01 arg1         [V01,T08] (  4,  4   )     ref  ->  rbx         class-hnd single-def <System.Object>
+;  V00 this         [V00,T07] ( 18, 20   )     ref  ->  [rbp-0x20]  this class-hnd EH-live single-def <System.Management.Automation.Internal.PipelineProcessor>
+;  V01 arg1         [V01,T09] (  4,  4   )     ref  ->  rbx         class-hnd single-def <System.Object>
 ;* V02 loc0         [V02    ] (  0,  0   )   ubyte  ->  zero-ref    single-def
-;  V03 loc1         [V03,T26] (  2,  0   )     ref  ->  [rbp-0x30]  do-not-enreg[M] class-hnd EH-live <System.Runtime.ExceptionServices.ExceptionDispatchInfo>
-;  V04 loc2         [V04,T16] (  3,  2   )     ref  ->  [rbp-0x38]  do-not-enreg[M] class-hnd EH-live <System.Management.Automation.CommandProcessorBase>
-;  V05 loc3         [V05,T17] (  2,  2   )     ref  ->  rax         class-hnd single-def <System.Management.Automation.CommandProcessorBase>
-;  V06 loc4         [V06,T22] (  3,  0   )     ref  ->  rax         class-hnd single-def <<unknown class>>
+;  V03 loc1         [V03,T27] (  2,  0   )     ref  ->  [rbp-0x28]  do-not-enreg[M] class-hnd EH-live <System.Runtime.ExceptionServices.ExceptionDispatchInfo>
+;  V04 loc2         [V04,T17] (  3,  2   )     ref  ->  [rbp-0x30]  do-not-enreg[M] class-hnd EH-live <System.Management.Automation.CommandProcessorBase>
+;  V05 loc3         [V05,T18] (  2,  2   )     ref  ->  rax         class-hnd single-def <System.Management.Automation.CommandProcessorBase>
+;  V06 loc4         [V06,T23] (  3,  0   )     ref  ->  rax         class-hnd single-def <<unknown class>>
 ;* V07 loc5         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Management.Automation.Internal.PipelineProcessor]>
-;  V08 loc6         [V08,T19] (  2,  1   )     ref  ->  [rbp-0x40]  must-init class-hnd EH-live single-def <System.Array>
+;  V08 loc6         [V08,T20] (  2,  1   )     ref  ->  [rbp-0x38]  must-init class-hnd EH-live single-def <System.Array>
 ;* V09 loc7         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
 ;# V10 OutArgs      [V10    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V11 tmp1         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Management.Automation.Internal.Pipe>
-;  V12 tmp2         [V12,T27] (  2,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp2         [V12,T28] (  2,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
 ;* V13 tmp3         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
-;  V14 tmp4         [V14,T23] (  3,  0   )     ref  ->  rax         class-hnd exact single-def "dup spill" <System.Runtime.ExceptionServices.ExceptionDispatchInfo>
+;  V14 tmp4         [V14,T24] (  3,  0   )     ref  ->  rax         class-hnd exact single-def "dup spill" <System.Runtime.ExceptionServices.ExceptionDispatchInfo>
 ;* V15 tmp5         [V15    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V16 tmp6         [V16,T24] (  3,  0   )     ref  ->  rsi        
-;  V17 tmp7         [V17,T25] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V18 tmp8         [V18,T15] (  2,  2   )   ubyte  ->  rsi         "Inline return value spill temp"
+;  V16 tmp6         [V16,T25] (  3,  0   )     ref  ->  rsi        
+;  V17 tmp7         [V17,T26] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V18 tmp8         [V18,T16] (  2,  2   )   ubyte  ->  rsi         "Inline return value spill temp"
 ;* V19 tmp9         [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Management.Automation.Runspaces.LocalPipeline>
 ;* V20 tmp10        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Management.Automation.Runspaces.PipelineStopper>
-;  V21 tmp11        [V21,T09] (  3,  6   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V21 tmp11        [V21,T10] (  3,  6   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V22 tmp12        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Management.Automation.Runspaces.PipelineReader`1[System.Object]>
-;  V23 tmp13        [V23,T11] (  2,  4   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V23 tmp13        [V23,T12] (  2,  4   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V24 tmp14        [V24    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Management.Automation.Internal.PipelineProcessor]>
-;* V25 tmp15        [V25,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V25 tmp15        [V25,T05] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V26 tmp16        [V26    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V27 tmp17        [V27,T02] (  4, 25   )     ref  ->  rbx         single-def "field V07._list (fldOffset=0x0)" P-INDEP
 ;  V28 tmp18        [V28,T04] (  2, 12   )     ref  ->  rsi         "field V07._current (fldOffset=0x8)" P-INDEP
 ;  V29 tmp19        [V29,T00] (  6, 41   )     int  ->  r14         "field V07._index (fldOffset=0x10)" P-INDEP
-;  V30 tmp20        [V30,T05] (  3, 17   )     int  ->  r15         single-def "field V07._version (fldOffset=0x14)" P-INDEP
-;  V31 tmp21        [V31,T12] (  3,  3   )     ref  ->  rbx         single-def "field V24._list (fldOffset=0x0)" P-INDEP
+;  V30 tmp20        [V30,T08] (  2,  9   )     int  ->  r15         single-def "field V07._version (fldOffset=0x14)" P-INDEP
+;  V31 tmp21        [V31,T13] (  3,  3   )     ref  ->  rbx         single-def "field V24._list (fldOffset=0x0)" P-INDEP
 ;* V32 tmp22        [V32    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V24._current (fldOffset=0x8)" P-INDEP
-;* V33 tmp23        [V33,T20] (  0,  0   )     int  ->  zero-ref    single-def "field V24._index (fldOffset=0x10)" P-INDEP
-;  V34 tmp24        [V34,T18] (  2,  2   )     int  ->  r15         single-def "field V24._version (fldOffset=0x14)" P-INDEP
-;  V35 tmp25        [V35,T10] (  3,  6   )     ref  ->  rax         single-def "arr expr"
+;* V33 tmp23        [V33,T21] (  0,  0   )     int  ->  zero-ref    single-def "field V24._index (fldOffset=0x10)" P-INDEP
+;  V34 tmp24        [V34,T19] (  2,  2   )     int  ->  r15         single-def "field V24._version (fldOffset=0x14)" P-INDEP
+;  V35 tmp25        [V35,T11] (  3,  6   )     ref  ->  rax         single-def "arr expr"
 ;  V36 tmp26        [V36,T01] (  3, 48   )     ref  ->  rsi         "arr expr"
-;  V37 PSPSym       [V37,T21] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
-;  V38 cse0         [V38,T03] (  3, 24   )     int  ->  r13         "CSE - aggressive"
-;  V39 cse1         [V39,T13] (  3,  3   )     ref  ->  rsi         "CSE - moderate"
-;  V40 cse2         [V40,T14] (  3,  3   )     ref  ->  rbx         "CSE - moderate"
+;  V37 PSPSym       [V37,T22] (  1,  1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
+;  V38 cse0         [V38,T06] (  2, 16   )     int  ->  rsi         "CSE - aggressive"
+;  V39 cse1         [V39,T03] (  2, 16   )     int  ->  rsi         "CSE - aggressive"
+;  V40 cse2         [V40,T14] (  3,  3   )     ref  ->  rsi         "CSE - moderate"
+;  V41 cse3         [V41,T15] (  3,  3   )     ref  ->  rbx         "CSE - moderate"
 ;
-; Lcl frame size = 48
+; Lcl frame size = 40
 
 G_M17519_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rbx
-       sub      rsp, 48
-       lea      rbp, [rsp+0x50]
+       sub      rsp, 40
+       lea      rbp, [rsp+0x40]
        xor      eax, eax
-       mov      qword ptr [rbp-0x40], rax
-       mov      qword ptr [rbp-0x50], rsp
-       mov      gword ptr [rbp-0x28], rdi
+       mov      qword ptr [rbp-0x38], rax
+       mov      qword ptr [rbp-0x40], rsp
+       mov      gword ptr [rbp-0x20], rdi
        ; GC ptr vars +{V00}
        mov      rbx, rsi
        ; gcrRegs +[rbx]
-                      ;; size=34 bbWeight=1 PerfScore 9.25
-G_M17519_IG02:        ; bbWeight=1, gcVars=0000000000080080 {V00 V08}, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, gcvars, byref, isz
+                       ;; size=32 bbWeight=1 PerfScore 8.25
+G_M17519_IG02:        ; bbWeight=1, gcVars=0000000000100080 {V00 V08}, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[rdi]
        ; GC ptr vars +{V08}
        mov      rsi, gword ptr [rdi+0x60]
@@ -79,15 +79,15 @@ G_M17519_IG02:        ; bbWeight=1, gcVars=0000000000080080 {V00 V08}, gcrefRegs
        movzx    rsi, byte  ptr [rsi+0x20]
        ; gcrRegs -[rsi]
        test     esi, esi
-       jne      G_M17519_IG22
+       jne      G_M17519_IG21
                      ;; size=29 bbWeight=1 PerfScore 8.50
 G_M17519_IG03:        ; bbWeight=1, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref
        xor      rsi, rsi
        ; gcrRegs +[rsi]
-       mov      gword ptr [rbp-0x38], rsi
+       mov      gword ptr [rbp-0x30], rsi
        ; GC ptr vars +{V04}
                        ;; size=6 bbWeight=1 PerfScore 1.25
-G_M17519_IG04:        ; bbWeight=1, gcVars=0000000000090080 {V00 V04 V08}, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M17519_IG04:        ; bbWeight=1, gcVars=0000000000120080 {V00 V04 V08}, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rsi]
        mov      rsi, 0xD1FFAB1E      ; const ptr
        cmp      rbx, gword ptr [rsi]
@@ -96,7 +96,7 @@ G_M17519_IG04:        ; bbWeight=1, gcVars=0000000000090080 {V00 V04 V08}, gcref
        call     [<unknown method>]
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
-       mov      rdi, gword ptr [rbp-0x28]
+       mov      rdi, gword ptr [rbp-0x20]
        ; gcrRegs +[rdi]
        mov      rax, gword ptr [rdi+0x08]
        ; gcrRegs +[rax]
@@ -115,7 +115,7 @@ G_M17519_IG04:        ; bbWeight=1, gcVars=0000000000090080 {V00 V04 V08}, gcref
        ; gcr arg pop 0
        lea      rdi, bword ptr [rax+0x20]
        ; byrRegs +[rdi]
-       mov      rax, gword ptr [rbp-0x28]
+       mov      rax, gword ptr [rbp-0x20]
        mov      rsi, gword ptr [rax+0x18]
        ; gcrRegs +[rsi]
        call     CORINFO_HELP_ASSIGN_REF
@@ -123,7 +123,7 @@ G_M17519_IG04:        ; bbWeight=1, gcVars=0000000000090080 {V00 V04 V08}, gcref
        ; byrRegs -[rdi]
                        ;; size=91 bbWeight=1 PerfScore 39.00
 G_M17519_IG05:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       mov      rdi, gword ptr [rbp-0x28]
+       mov      rdi, gword ptr [rbp-0x20]
        ; gcrRegs +[rdi]
        mov      rsi, rbx
        ; gcrRegs +[rsi]
@@ -133,7 +133,7 @@ G_M17519_IG05:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcr arg pop 0
        jmp      SHORT G_M17519_IG08
                        ;; size=20 bbWeight=1 PerfScore 6.50
-G_M17519_IG06:        ; bbWeight=0, gcVars=0000000000080080 {V00 V08}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M17519_IG06:        ; bbWeight=0, gcVars=0000000000100080 {V00 V08}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V04}
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
@@ -143,30 +143,30 @@ G_M17519_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M17519_IG08:        ; bbWeight=1, gcVars=0000000000090080 {V00 V04 V08}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-       ; GC ptr vars +{V04 V16}
-       mov      rdi, gword ptr [rbp-0x28]
+G_M17519_IG08:        ; bbWeight=1, gcVars=0000000000120080 {V00 V04 V08}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+       ; GC ptr vars +{V04 V17}
+       mov      rdi, gword ptr [rbp-0x20]
        ; gcrRegs +[rdi]
-       mov      rsi, gword ptr [rbp-0x38]
+       mov      rsi, gword ptr [rbp-0x30]
        ; gcrRegs +[rsi]
-       ; GC ptr vars -{V04 V16}
+       ; GC ptr vars -{V04 V17}
        call     [<unknown method>]
        ; gcrRegs -[rsi rdi]
        ; gcr arg pop 0
        nop      
                        ;; size=15 bbWeight=1 PerfScore 5.25
 G_M17519_IG09:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       mov      rdi, gword ptr [rbp-0x28]
+       mov      rdi, gword ptr [rbp-0x20]
        ; gcrRegs +[rdi]
        call     [<unknown method>]
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
-       mov      rdi, gword ptr [rbp-0x28]
+       mov      rdi, gword ptr [rbp-0x20]
        ; gcrRegs +[rdi]
        mov      rbx, gword ptr [rdi+0x10]
        ; gcrRegs +[rbx]
        test     rbx, rbx
-       je       SHORT G_M17519_IG15
+       je       SHORT G_M17519_IG14
        mov      r15d, dword ptr [rbx+0x14]
        xor      r14d, r14d
        jmp      SHORT G_M17519_IG11
@@ -182,11 +182,12 @@ G_M17519_IG10:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {},
        ; gcr arg pop 0
                        ;; size=13 bbWeight=4 PerfScore 26.00
 G_M17519_IG11:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       mov      r13d, dword ptr [rbx+0x14]
-       cmp      r15d, r13d
-       jne      SHORT G_M17519_IG14
-       cmp      r14d, dword ptr [rbx+0x10]
-       jae      SHORT G_M17519_IG15
+       mov      esi, dword ptr [rbx+0x14]
+       cmp      r15d, esi
+       jne      SHORT G_M17519_IG13
+       mov      esi, dword ptr [rbx+0x10]
+       cmp      r14d, esi
+       jae      SHORT G_M17519_IG14
        mov      rsi, gword ptr [rbx+0x08]
        ; gcrRegs +[rsi]
        cmp      r14d, dword ptr [rsi+0x08]
@@ -195,7 +196,7 @@ G_M17519_IG11:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      rsi, gword ptr [rsi+8*rax+0x10]
        inc      r14d
        jmp      SHORT G_M17519_IG10
-                      ;; size=38 bbWeight=8 PerfScore 142.00
+                        ;; size=39 bbWeight=8 PerfScore 136.00
 G_M17519_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx rsi]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -207,58 +208,53 @@ G_M17519_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 G_M17519_IG14:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       cmp      r15d, r13d
-       jne      SHORT G_M17519_IG13
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M17519_IG15:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       mov      rdi, gword ptr [rbp-0x28]
+       mov      rdi, gword ptr [rbp-0x20]
        ; gcrRegs +[rdi]
        call     [<unknown method>]
        ; gcrRegs -[rdi] +[rax]
        ; gcr arg pop 0
-       mov      gword ptr [rbp-0x40], rax
-       jmp      SHORT G_M17519_IG18
+       mov      gword ptr [rbp-0x38], rax
+       jmp      SHORT G_M17519_IG17
                         ;; size=16 bbWeight=8 PerfScore 56.00
-G_M17519_IG16:        ; bbWeight=0, gcVars=0000000004080080 {V00 V03 V08}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M17519_IG15:        ; bbWeight=0, gcVars=0000000008100080 {V00 V03 V08}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
-       ; GC ptr vars +{V03}
+       ; GC ptr vars +{V03 V27}
        nop      
                        ;; size=1 bbWeight=0 PerfScore 0.00
-G_M17519_IG17:        ; bbWeight=0, gcVars=0000000004000080 {V00 V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; GC ptr vars -{V08}
...
  
-10 (-2.11%) : 15316.dasm - Microsoft.ML.Data.SimpleFileHandle:Dispose():this (FullOpts)
@@ -8,8 +8,8 @@
 ; 0 inlinees with PGO data; 7 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T04] ( 11, 25   )     ref  ->  [rbp-0x28]  this class-hnd EH-live single-def <Microsoft.ML.Data.SimpleFileHandle>
-;  V01 loc0         [V01,T13] (  4,  2   )     ref  ->  [rbp-0x30]  class-hnd EH-live spill-single-def <System.Object>
+;  V00 this         [V00,T03] ( 11, 25   )     ref  ->  [rbp-0x28]  this class-hnd EH-live single-def <Microsoft.ML.Data.SimpleFileHandle>
+;  V01 loc0         [V01,T14] (  4,  2   )     ref  ->  [rbp-0x30]  class-hnd EH-live spill-single-def <System.Object>
 ;  V02 loc1         [V02    ] (  5,  4   )   ubyte  ->  [rbp-0x18]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;* V03 loc2         [V03    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.IO.Stream]>
 ;* V04 loc3         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.IO.Stream>
@@ -17,25 +17,26 @@
 ;* V06 tmp1         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.Object>
 ;* V07 tmp2         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.Object>
 ;* V08 tmp3         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.Object>
-;  V09 tmp4         [V09,T08] (  3,  6   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <System.IO.Stream>
+;  V09 tmp4         [V09,T09] (  3,  6   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <System.IO.Stream>
 ;* V10 tmp5         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.IO.Stream>
-;  V11 tmp6         [V11,T10] (  2,  4   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp6         [V11,T11] (  2,  4   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V12 tmp7         [V12    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.IO.Stream]>
-;* V13 tmp8         [V13,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V13 tmp8         [V13,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V14 tmp9         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V15 tmp10        [V15,T03] (  4, 24   )     ref  ->  [rbp-0x38]  EH-live single-def "field V03._list (fldOffset=0x0)" P-INDEP
+;  V15 tmp10        [V15,T04] (  4, 24   )     ref  ->  [rbp-0x38]  EH-live single-def "field V03._list (fldOffset=0x0)" P-INDEP
 ;  V16 tmp11        [V16,T02] (  6, 28   )     ref  ->  r15         "field V03._current (fldOffset=0x8)" P-INDEP
 ;  V17 tmp12        [V17,T00] (  6, 41   )     int  ->  [rbp-0x1C]  do-not-enreg[Z] EH-live "field V03._index (fldOffset=0x10)" P-INDEP
-;  V18 tmp13        [V18,T06] (  3, 16   )     int  ->  [rbp-0x20]  EH-live spill-single-def "field V03._version (fldOffset=0x14)" P-INDEP
-;  V19 tmp14        [V19,T11] (  3,  3   )     ref  ->  rbx         single-def "field V12._list (fldOffset=0x0)" P-INDEP
+;  V18 tmp13        [V18,T08] (  2,  8   )     int  ->  [rbp-0x20]  EH-live single-def "field V03._version (fldOffset=0x14)" P-INDEP
+;  V19 tmp14        [V19,T12] (  3,  3   )     ref  ->  rbx         single-def "field V12._list (fldOffset=0x0)" P-INDEP
 ;* V20 tmp15        [V20    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V12._current (fldOffset=0x8)" P-INDEP
-;* V21 tmp16        [V21,T15] (  0,  0   )     int  ->  zero-ref    single-def "field V12._index (fldOffset=0x10)" P-INDEP
-;  V22 tmp17        [V22,T14] (  2,  2   )     int  ->  rax         single-def "field V12._version (fldOffset=0x14)" P-INDEP
-;  V23 tmp18        [V23,T09] (  3,  6   )     ref  ->  rax         single-def "argument with side effect"
+;* V21 tmp16        [V21,T16] (  0,  0   )     int  ->  zero-ref    single-def "field V12._index (fldOffset=0x10)" P-INDEP
+;  V22 tmp17        [V22,T15] (  2,  2   )     int  ->  rax         single-def "field V12._version (fldOffset=0x14)" P-INDEP
+;  V23 tmp18        [V23,T10] (  3,  6   )     ref  ->  rax         single-def "argument with side effect"
 ;  V24 tmp19        [V24,T01] (  3, 48   )     ref  ->  rdi         "arr expr"
-;  V25 PSPSym       [V25,T16] (  1,  1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
-;  V26 cse0         [V26,T05] (  3, 24   )     int  ->  r15         "CSE - aggressive"
-;  V27 cse1         [V27,T12] (  3,  3   )     ref  ->  rax         "CSE - moderate"
+;  V25 PSPSym       [V25,T17] (  1,  1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
+;  V26 cse0         [V26,T07] (  2, 16   )     int  ->  rdi         "CSE - aggressive"
+;  V27 cse1         [V27,T05] (  2, 16   )     int  ->  rdi         "CSE - aggressive"
+;  V28 cse2         [V28,T13] (  3,  3   )     ref  ->  rax         "CSE - moderate"
 ;
 ; Lcl frame size = 48
 
@@ -51,14 +52,14 @@ G_M27267_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      gword ptr [rbp-0x28], rdi
        ; GC ptr vars +{V00}
                        ;; size=27 bbWeight=1 PerfScore 7.00
-G_M27267_IG02:        ; bbWeight=1, gcVars=0000000000000010 {V00}, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, gcvars, byref
+G_M27267_IG02:        ; bbWeight=1, gcVars=0000000000000008 {V00}, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs +[rdi]
        mov      rsi, gword ptr [rdi+0x18]
        ; gcrRegs +[rsi]
        mov      gword ptr [rbp-0x30], rsi
        ; GC ptr vars +{V01}
                        ;; size=8 bbWeight=1 PerfScore 3.00
-G_M27267_IG03:        ; bbWeight=1, gcVars=0000000000002010 {V00 V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M27267_IG03:        ; bbWeight=1, gcVars=0000000000004008 {V00 V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rsi rdi]
        cmp      byte  ptr [rbp-0x18], 0
        jne      G_M27267_IG10
@@ -74,7 +75,7 @@ G_M27267_IG03:        ; bbWeight=1, gcVars=0000000000002010 {V00 V01}, gcrefRegs
        mov      rdi, gword ptr [rbp-0x28]
        ; gcrRegs +[rdi]
        cmp      gword ptr [rdi+0x28], 0
-       je       G_M27267_IG18
+       je       G_M27267_IG16
        mov      rax, gword ptr [rdi+0x20]
        ; gcrRegs +[rax]
        test     rax, rax
@@ -123,93 +124,82 @@ G_M27267_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      dword ptr [rbp-0x1C], ecx
        mov      dword ptr [rbp-0x20], eax
                        ;; size=23 bbWeight=1 PerfScore 8.25
-G_M27267_IG07:        ; bbWeight=8, gcVars=0000000000002018 {V00 V01 V15}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M27267_IG07:        ; bbWeight=8, gcVars=0000000000004018 {V00 V01 V15}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rbx rdi]
        mov      rbx, gword ptr [rbp-0x38]
        ; gcrRegs +[rbx]
-       mov      r15d, dword ptr [rbx+0x14]
-       cmp      dword ptr [rbp-0x20], r15d
+       mov      edi, dword ptr [rbx+0x14]
+       cmp      dword ptr [rbp-0x20], edi
        jne      SHORT G_M27267_IG11
-       mov      edi, dword ptr [rbp-0x1C]
-       cmp      edi, dword ptr [rbx+0x10]
-       jae      SHORT G_M27267_IG12
+       mov      edi, dword ptr [rbx+0x10]
+       cmp      dword ptr [rbp-0x1C], edi
+       jae      SHORT G_M27267_IG14
        mov      rdi, gword ptr [rbx+0x08]
        ; gcrRegs +[rdi]
-       mov      ecx, dword ptr [rdi+0x08]
-       cmp      dword ptr [rbp-0x1C], ecx
-       jae      SHORT G_M27267_IG14
-       mov      ecx, dword ptr [rbp-0x1C]
-       mov      r15, gword ptr [rdi+8*rcx+0x10]
+       mov      eax, dword ptr [rdi+0x08]
+       cmp      dword ptr [rbp-0x1C], eax
+       jae      SHORT G_M27267_IG12
+       mov      eax, dword ptr [rbp-0x1C]
+       mov      r15, gword ptr [rdi+8*rax+0x10]
        ; gcrRegs +[r15]
        mov      edi, dword ptr [rbp-0x1C]
        ; gcrRegs -[rdi]
        inc      edi
        mov      dword ptr [rbp-0x1C], edi
-                        ;; size=50 bbWeight=8 PerfScore 186.00
+                        ;; size=48 bbWeight=8 PerfScore 186.00
 G_M27267_IG08:        ; bbWeight=4, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
        test     r15, r15
        je       SHORT G_M27267_IG09
        mov      rdi, r15
        ; gcrRegs +[rdi]
-       mov      rcx, qword ptr [r15]
-       mov      rcx, qword ptr [rcx+0x58]
-       call     [rcx+0x18]<unknown method>
+       mov      rax, qword ptr [r15]
+       mov      rax, qword ptr [rax+0x58]
+       call     [rax+0x18]<unknown method>
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
                        ;; size=18 bbWeight=4 PerfScore 34.00
 G_M27267_IG09:        ; bbWeight=4, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
        mov      rdi, r15
        ; gcrRegs +[rdi]
-       mov      rcx, qword ptr [r15]
-       mov      rcx, qword ptr [rcx+0x58]
-       call     [rcx+0x18]<unknown method>
+       mov      rax, qword ptr [r15]
+       mov      rax, qword ptr [rax+0x58]
+       call     [rax+0x18]<unknown method>
        ; gcrRegs -[rdi r15]
        ; gcr arg pop 0
        jmp      SHORT G_M27267_IG07
                        ;; size=15 bbWeight=4 PerfScore 37.00
-G_M27267_IG10:        ; bbWeight=0, gcVars=0000000000002000 {V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M27267_IG10:        ; bbWeight=0, gcVars=0000000000004000 {V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rbx]
        ; GC ptr vars -{V00 V15}
        call     [System.Threading.Monitor:ThrowLockTakenException()]
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M27267_IG11:        ; bbWeight=8, gcVars=0000000000002010 {V00 V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M27267_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       call     [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()]
+       ; gcr arg pop 0
+       int3     
+                       ;; size=7 bbWeight=0 PerfScore 0.00
+G_M27267_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       call     CORINFO_HELP_RNGCHKFAIL
+       ; gcr arg pop 0
+                       ;; size=5 bbWeight=0 PerfScore 0.00
+G_M27267_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       nop      
+       jmp      SHORT G_M27267_IG16
+                       ;; size=3 bbWeight=0 PerfScore 0.00
+G_M27267_IG14:        ; bbWeight=8, gcVars=0000000000004008 {V00 V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        ; GC ptr vars +{V00}
-       cmp      dword ptr [rbp-0x20], r15d
-       jne      SHORT G_M27267_IG15
-                       ;; size=6 bbWeight=8 PerfScore 24.00
-G_M27267_IG12:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      rdi, rdi
        ; gcrRegs +[rdi]
        mov      rbx, gword ptr [rbp-0x28]
        ; gcrRegs +[rbx]
        mov      gword ptr [rbx+0x28], rdi
        cmp      byte  ptr [rbx+0x30], 0
-       je       SHORT G_M27267_IG18
+       je       SHORT G_M27267_IG16
                       ;; size=16 bbWeight=8 PerfScore 50.00
-G_M27267_IG13:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M27267_IG15:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
-       jmp      SHORT G_M27267_IG17
-                       ;; size=2 bbWeight=1 PerfScore 2.00
-G_M27267_IG14:        ; bbWeight=0, gcVars=0000000000002000 {V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs -[rbx]
-       ; GC ptr vars -{V00}
-       call     CORINFO_HELP_RNGCHKFAIL
-       ; gcr arg pop 0
-                       ;; size=5 bbWeight=0 PerfScore 0.00
-G_M27267_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       call     [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()]
-       ; gcr arg pop 0
-       int3     
-                       ;; size=7 bbWeight=0 PerfScore 0.00
-G_M27267_IG16:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       nop      
-       jmp      SHORT G_M27267_IG18
-                       ;; size=3 bbWeight=0 PerfScore 0.00
-G_M27267_IG17:        ; bbWeight=1, gcVars=0000000000002010 {V00 V01}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs +[rbx]
-       ; GC ptr vars +{V00}
        mov      rdi, gword ptr [rbx+0x08]
        ; gcrRegs +[rdi]
        ; GC ptr vars -{V00}
@@ -218,9 +208,9 @@ G_M27267_IG17:        ; bbWeight=1, gcVars=0000000000002010 {V00 V01}, gcrefRegs
        ; gcr arg pop 0
        nop      
                        ;; size=11 bbWeight=1 PerfScore 5.25
-G_M27267_IG18:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M27267_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        cmp      byte  ptr [rbp-0x18], 0
-       je       SHORT G_M27267_IG19
+       je       SHORT G_M27267_IG17
        mov      rdi, gword ptr [rbp-0x30]
        ; gcrRegs +[rdi]
        ; GC ptr vars -{V01}
@@ -228,18 +218,18 @@ G_M27267_IG18:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ; gcrRegs -[rdi]
        ; gcr arg pop 0
                        ;; size=15 bbWeight=1 PerfScore 5.00
-G_M27267_IG19:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M27267_IG17:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
-G_M27267_IG20:        ; bbWeight=1, epilog, nogc, extend
+G_M27267_IG18:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 48
        pop      rbx
        pop      r15
        pop      rbp
        ret      
                        ;; size=9 bbWeight=1 PerfScore 2.75
-G_M27267_IG21:        ; bbWeight=0, gcVars=0000000000002010 {V00 V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-       ; GC ptr vars +{V00 V01 V13}
+G_M27267_IG19:        ; bbWeight=0, gcVars=0000000000004008 {V00 V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+       ; GC ptr vars +{V00 V01}
        push     rbp
        push     r15
        push     rbx
@@ -248,18 +238,18 @@ G_M27267_IG21:        ; bbWeight=0, gcVars=0000000000002010 {V00 V01}, gcrefRegs
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x40]
                        ;; size=19 bbWeight=0 PerfScore 0.00
-G_M27267_IG22:        ; bbWeight=0, gcVars=0000000000002010 {V00 V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M27267_IG20:        ; bbWeight=0, gcVars=0000000000004008 {V00 V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        lea      rax, G_M27267_IG05
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M27267_IG23:        ; bbWeight=0, funclet epilog, nogc, extend
+G_M27267_IG21:        ; bbWeight=0, funclet epilog, nogc, extend
...
  
-9 (-1.66%) : 4834.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
@@ -19,21 +19,21 @@
 ;  V08 loc3         [V08    ] (  6,  2.50)   ubyte  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed ld-addr-op
 ;  V09 loc4         [V09,T14] (  3,  4.50)     ref  ->  r14         class-hnd exact single-def <System.Buffers.ArrayPoolEventSource>
 ;  V10 loc5         [V10,T02] ( 12, 14.25)     int  ->  [rbp-0x34] 
-;  V11 loc6         [V11,T07] (  5, 10   )     ref  ->  r15         class-hnd <System.Array>
-;  V12 loc7         [V12,T08] (  4,  8   )     int  ->  r15        
+;  V11 loc6         [V11,T06] (  5, 10   )     ref  ->  r15         class-hnd <System.Array>
+;  V12 loc7         [V12,T08] (  4,  8   )     int  ->  rax        
 ;# V13 OutArgs      [V13    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V14 tmp1         [V14,T20] (  2,  1   )     int  ->  r12        
 ;* V15 tmp2         [V15    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V16 tmp3         [V16    ] (  0,  0   )     ref  ->  zero-ref   
-;  V17 tmp4         [V17,T17] (  3,  1.50)     int  ->  rax        
-;  V18 tmp5         [V18,T00] (  3, 24   )     int  ->  rax         "impSpillLclRefs"
-;  V19 tmp6         [V19,T03] (  3, 12   )     ref  ->  rax         class-hnd "impSpillLclRefs" <<unknown class>>
+;  V17 tmp4         [V17,T17] (  3,  1.50)     int  ->  rbx        
+;  V18 tmp5         [V18,T00] (  3, 24   )     int  ->  rcx         "impSpillLclRefs"
+;  V19 tmp6         [V19,T03] (  3, 12   )     ref  ->  rcx         class-hnd "impSpillLclRefs" <<unknown class>>
 ;  V20 tmp7         [V20,T09] (  2,  8   )     int  ->  rdx         "impAppendStmt"
 ;  V21 tmp8         [V21,T10] (  2,  8   )     int  ->  rcx         "Inlining Arg"
 ;  V22 tmp9         [V22,T04] (  3, 12   )     ref  ->  rax         "arr expr"
 ;  V23 tmp10        [V23,T05] (  3, 12   )     int  ->  rcx         "index expr"
 ;  V24 PSPSym       [V24,T21] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
-;  V25 cse0         [V25,T06] (  4, 10.50)     int  ->  r15         "CSE - aggressive"
+;  V25 cse0         [V25,T07] (  3, 10   )     int  ->  rax         "CSE - aggressive"
 ;  V26 cse1         [V26,T18] (  3,  1.50)     int  ->  rsi         "CSE - moderate"
 ;  V27 cse2         [V27,T19] (  3,  1.50)     int  ->  rax         "CSE - moderate"
 ;
@@ -148,14 +148,13 @@ G_M62513_IG10:        ; bbWeight=1.75, gcrefRegs=4080 {rdi r14}, byrefRegs=0000
        jmp      G_M62513_IG12
                        ;; size=10 bbWeight=1.75 PerfScore 3.94
 G_M62513_IG11:        ; bbWeight=2, gcrefRegs=4080 {rdi r14}, byrefRegs=0000 {}, byref, isz
-       mov      rax, gword ptr [rdi+0x08]
-       ; gcrRegs +[rax]
-       dec      r15d
-       mov      dword ptr [rdi+0x14], r15d
-       cmp      r15d, dword ptr [rax+0x08]
+       mov      rcx, gword ptr [rdi+0x08]
+       ; gcrRegs +[rcx]
+       dec      eax
+       mov      dword ptr [rdi+0x14], eax
+       cmp      eax, dword ptr [rcx+0x08]
        jae      G_M62513_IG07
-       mov      ecx, r15d
-       mov      r15, gword ptr [rax+8*rcx+0x10]
+       mov      r15, gword ptr [rcx+8*rax+0x10]
        ; gcrRegs +[r15]
        xor      edi, edi
        ; gcrRegs -[rdi]
@@ -164,7 +163,7 @@ G_M62513_IG11:        ; bbWeight=2, gcrefRegs=4080 {rdi r14}, byrefRegs=0000 {},
        mov      rsi, 0xD1FFAB1E
        ; gcrRegs +[rsi]
        call     [<unknown method>]
-       ; gcrRegs -[rax rsi]
+       ; gcrRegs -[rcx rsi]
        ; gcr arg pop 0
        mov      rdi, gword ptr [rbp-0x40]
        ; gcrRegs +[rdi]
@@ -200,17 +199,17 @@ G_M62513_IG11:        ; bbWeight=2, gcrefRegs=4080 {rdi r14}, byrefRegs=0000 {},
        mov      esi, dword ptr [rbp-0x34]
        mov      rdi, gword ptr [rbp-0x40]
        ; gcrRegs +[rdi]
-                      ;; size=144 bbWeight=2 PerfScore 90.50
+                        ;; size=138 bbWeight=2 PerfScore 90.00
 G_M62513_IG12:        ; bbWeight=4, gcrefRegs=4080 {rdi r14}, byrefRegs=0000 {}, byref, isz
-       mov      r15d, dword ptr [rdi+0x14]
-       test     r15d, r15d
-       jle      SHORT G_M62513_IG15
-       mov      eax, esi
-       lea      esi, [rax-0x01]
-       mov      dword ptr [rbp-0x34], esi
+       mov      eax, dword ptr [rdi+0x14]
        test     eax, eax
+       jle      SHORT G_M62513_IG15
+       mov      ecx, esi
+       lea      esi, [rcx-0x01]
+       mov      dword ptr [rbp-0x34], esi
+       test     ecx, ecx
        jg       G_M62513_IG11
-                        ;; size=25 bbWeight=4 PerfScore 25.00
+                     ;; size=23 bbWeight=4 PerfScore 25.00
 G_M62513_IG13:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[r14]
        jmp      SHORT G_M62513_IG16
@@ -224,21 +223,20 @@ G_M62513_IG14:        ; bbWeight=1, gcrefRegs=4000 {r14}, byrefRegs=0000 {}, byr
                        ;; size=9 bbWeight=1 PerfScore 4.00
 G_M62513_IG15:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[r14]
-       test     r15d, r15d
-       jg       SHORT G_M62513_IG16
-       xor      eax, eax
+       xor      ebx, ebx
        jmp      SHORT G_M62513_IG17
-                        ;; size=9 bbWeight=0.50 PerfScore 1.75
+                        ;; size=4 bbWeight=0.50 PerfScore 1.12
 G_M62513_IG16:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
-       mov      eax, r12d
-       sar      eax, 31
-       and      eax, 3
-       add      eax, r12d
-       sar      eax, 2
-       add      eax, dword ptr [rdi+0x18]
-                       ;; size=18 bbWeight=0.50 PerfScore 2.38
+       mov      ebx, r12d
+       sar      ebx, 31
+       and      ebx, 3
+       add      ebx, r12d
+       sar      ebx, 2
+       add      ebx, dword ptr [rdi+0x18]
+       mov      rdi, gword ptr [rbp-0x40]
+                       ;; size=22 bbWeight=0.50 PerfScore 2.88
 G_M62513_IG17:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
-       mov      dword ptr [rdi+0x18], eax
+       mov      dword ptr [rdi+0x18], ebx
                       ;; size=3 bbWeight=0.50 PerfScore 0.50
 G_M62513_IG18:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        cmp      byte  ptr [rbp-0x30], 0
@@ -286,7 +284,7 @@ G_M62513_IG22:        ; bbWeight=0, funclet epilog, nogc, extend
        ret      
                        ;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 543, prolog size 38, PerfScore 168.06, instruction count 158, allocated bytes for code 543 (MethodHash=d51a0bce) for method System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
+; Total bytes of code 534, prolog size 38, PerfScore 167.44, instruction count 156, allocated bytes for code 534 (MethodHash=d51a0bce) for method System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+3 (+2.52%) : 12510.dasm - SixLabors.ImageSharp.Metadata.Profiles.Exif.BaseExifReader:ReadSubIfd(System.Collections.Generic.List`1[SixLabors.ImageSharp.Metadata.Profiles.Exif.IExifValue]):this (FullOpts)
@@ -8,25 +8,26 @@
 ; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T06] (  5,  5.50)     ref  ->  rbx         this class-hnd single-def <SixLabors.ImageSharp.Metadata.Profiles.Exif.BaseExifReader>
-;  V01 arg1         [V01,T07] (  3,  4   )     ref  ->  r15         class-hnd single-def <System.Collections.Generic.List`1[SixLabors.ImageSharp.Metadata.Profiles.Exif.IExifValue]>
+;  V00 this         [V00,T07] (  5,  5.50)     ref  ->  rbx         this class-hnd single-def <SixLabors.ImageSharp.Metadata.Profiles.Exif.BaseExifReader>
+;  V01 arg1         [V01,T08] (  3,  4   )     ref  ->  r15         class-hnd single-def <System.Collections.Generic.List`1[SixLabors.ImageSharp.Metadata.Profiles.Exif.IExifValue]>
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[ulong]>
 ;* V03 loc1         [V03    ] (  0,  0   )    long  ->  zero-ref   
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T09] (  2,  2   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[ulong]>
+;  V05 tmp1         [V05,T10] (  2,  2   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[ulong]>
 ;* V06 tmp2         [V06    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[ulong]>
 ;* V07 tmp3         [V07,T05] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V08 tmp4         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[ulong]>
 ;  V09 tmp5         [V09,T02] (  4, 12.50)     ref  ->  r14         single-def "field V02._list (fldOffset=0x0)" P-INDEP
 ;  V10 tmp6         [V10,T04] (  2,  6   )    long  ->  rdx         "field V02._current (fldOffset=0x8)" P-INDEP
 ;  V11 tmp7         [V11,T00] (  6, 20.50)     int  ->  r12         "field V02._index (fldOffset=0x10)" P-INDEP
-;  V12 tmp8         [V12,T08] (  2,  4.50)     int  ->  r13         single-def "field V02._version (fldOffset=0x14)" P-INDEP
-;  V13 tmp9         [V13,T10] (  3,  1.50)     ref  ->  r14         single-def "field V06._list (fldOffset=0x0)" P-INDEP
+;  V12 tmp8         [V12,T09] (  2,  4.50)     int  ->  r13         single-def "field V02._version (fldOffset=0x14)" P-INDEP
+;  V13 tmp9         [V13,T11] (  3,  1.50)     ref  ->  r14         single-def "field V06._list (fldOffset=0x0)" P-INDEP
 ;* V14 tmp10        [V14    ] (  0,  0   )    long  ->  zero-ref    single-def "field V06._current (fldOffset=0x8)" P-INDEP
-;* V15 tmp11        [V15,T12] (  0,  0   )     int  ->  zero-ref    single-def "field V06._index (fldOffset=0x10)" P-INDEP
-;  V16 tmp12        [V16,T11] (  2,  1   )     int  ->  r13         single-def "field V06._version (fldOffset=0x14)" P-INDEP
+;* V15 tmp11        [V15,T13] (  0,  0   )     int  ->  zero-ref    single-def "field V06._index (fldOffset=0x10)" P-INDEP
+;  V16 tmp12        [V16,T12] (  2,  1   )     int  ->  r13         single-def "field V06._version (fldOffset=0x14)" P-INDEP
 ;  V17 tmp13        [V17,T01] (  3, 24   )     ref  ->  rdi         "arr expr"
-;  V18 cse0         [V18,T03] (  2,  8   )     int  ->  rdi         "CSE - aggressive"
+;  V18 cse0         [V18,T06] (  2,  8   )     int  ->  rdi         "CSE - aggressive"
+;  V19 cse1         [V19,T03] (  2,  8   )     int  ->  rdi         "CSE - aggressive"
 ;
 ; Lcl frame size = 8
 
@@ -64,7 +65,8 @@ G_M8600_IG04:        ; bbWeight=2, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000
        ; gcrRegs -[rsi rdi]
                        ;; size=12 bbWeight=2 PerfScore 7.00
 G_M8600_IG05:        ; bbWeight=4, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
-       cmp      r13d, dword ptr [r14+0x14]
+       mov      edi, dword ptr [r14+0x14]
+       cmp      r13d, edi
        jne      SHORT G_M8600_IG08
        mov      edi, dword ptr [r14+0x10]
        cmp      r12d, edi
@@ -77,7 +79,7 @@ G_M8600_IG05:        ; bbWeight=4, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000
        mov      rdx, qword ptr [rdi+8*rsi+0x10]
        inc      r12d
        jmp      SHORT G_M8600_IG04
-                       ;; size=38 bbWeight=4 PerfScore 71.00
+                     ;; size=41 bbWeight=4 PerfScore 68.00
 G_M8600_IG06:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rbx rdi r14-r15]
        add      rsp, 8
@@ -97,7 +99,7 @@ G_M8600_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 119, prolog size 16, PerfScore 110.12, instruction count 42, allocated bytes for code 119 (MethodHash=af1cde67) for method SixLabors.ImageSharp.Metadata.Profiles.Exif.BaseExifReader:ReadSubIfd(System.Collections.Generic.List`1[SixLabors.ImageSharp.Metadata.Profiles.Exif.IExifValue]):this (FullOpts)
+; Total bytes of code 122, prolog size 16, PerfScore 107.12, instruction count 43, allocated bytes for code 122 (MethodHash=af1cde67) for method SixLabors.ImageSharp.Metadata.Profiles.Exif.BaseExifReader:ReadSubIfd(System.Collections.Generic.List`1[SixLabors.ImageSharp.Metadata.Profiles.Exif.IExifValue]):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+3 (+2.94%) : 30348.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:EmitWriteBack(System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack]):this (FullOpts)
@@ -8,8 +8,8 @@
 ; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T06] (  3,  4   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Expressions.Compiler.LambdaCompiler>
-;  V01 arg1         [V01,T07] (  4,  3.50)     ref  ->  rsi         class-hnd single-def <System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack]>
+;  V00 this         [V00,T07] (  3,  4   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Expressions.Compiler.LambdaCompiler>
+;  V01 arg1         [V01,T08] (  4,  3.50)     ref  ->  rsi         class-hnd single-def <System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack]>
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack]>
 ;* V03 loc1         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -19,13 +19,14 @@
 ;  V08 tmp4         [V08,T02] (  4, 12.50)     ref  ->  r15         single-def "field V02._list (fldOffset=0x0)" P-INDEP
 ;  V09 tmp5         [V09,T03] (  3,  8   )     ref  ->  rax         "field V02._current (fldOffset=0x8)" P-INDEP
 ;  V10 tmp6         [V10,T00] (  6, 20.50)     int  ->  r13         "field V02._index (fldOffset=0x10)" P-INDEP
-;  V11 tmp7         [V11,T08] (  2,  4.50)     int  ->  r14         "field V02._version (fldOffset=0x14)" P-INDEP
-;  V12 tmp8         [V12,T09] (  3,  1.50)     ref  ->  r15         single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V11 tmp7         [V11,T09] (  2,  4.50)     int  ->  r14         "field V02._version (fldOffset=0x14)" P-INDEP
+;  V12 tmp8         [V12,T10] (  3,  1.50)     ref  ->  r15         single-def "field V05._list (fldOffset=0x0)" P-INDEP
 ;* V13 tmp9         [V13    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V05._current (fldOffset=0x8)" P-INDEP
-;* V14 tmp10        [V14,T11] (  0,  0   )     int  ->  zero-ref    "field V05._index (fldOffset=0x10)" P-INDEP
-;  V15 tmp11        [V15,T10] (  2,  1   )     int  ->  r14         "field V05._version (fldOffset=0x14)" P-INDEP
+;* V14 tmp10        [V14,T12] (  0,  0   )     int  ->  zero-ref    "field V05._index (fldOffset=0x10)" P-INDEP
+;  V15 tmp11        [V15,T11] (  2,  1   )     int  ->  r14         "field V05._version (fldOffset=0x14)" P-INDEP
 ;  V16 tmp12        [V16,T01] (  3, 24   )     ref  ->  rsi         "arr expr"
-;  V17 cse0         [V17,T04] (  2,  8   )     int  ->  rsi         "CSE - aggressive"
+;  V17 cse0         [V17,T06] (  2,  8   )     int  ->  rsi         "CSE - aggressive"
+;  V18 cse1         [V18,T04] (  2,  8   )     int  ->  rsi         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -61,7 +62,8 @@ G_M37225_IG04:        ; bbWeight=2, gcrefRegs=8009 {rax rbx r15}, byrefRegs=0000
        ; gcrRegs -[rax rsi rdi]
                        ;; size=10 bbWeight=2 PerfScore 10.50
 G_M37225_IG05:        ; bbWeight=4, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
-       cmp      r14d, dword ptr [r15+0x14]
+       mov      esi, dword ptr [r15+0x14]
+       cmp      r14d, esi
        jne      SHORT G_M37225_IG08
        mov      esi, dword ptr [r15+0x10]
        cmp      r13d, esi
@@ -75,7 +77,7 @@ G_M37225_IG05:        ; bbWeight=4, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {},
        ; gcrRegs +[rax]
        inc      r13d
        jmp      SHORT G_M37225_IG04
-                      ;; size=38 bbWeight=4 PerfScore 71.00
+                     ;; size=41 bbWeight=4 PerfScore 68.00
 G_M37225_IG06:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rax rbx rsi r15]
        pop      rbx
@@ -93,7 +95,7 @@ G_M37225_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 102, prolog size 13, PerfScore 104.75, instruction count 37, allocated bytes for code 102 (MethodHash=abe96e96) for method System.Linq.Expressions.Compiler.LambdaCompiler:EmitWriteBack(System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack]):this (FullOpts)
+; Total bytes of code 105, prolog size 13, PerfScore 101.75, instruction count 38, allocated bytes for code 105 (MethodHash=abe96e96) for method System.Linq.Expressions.Compiler.LambdaCompiler:EmitWriteBack(System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack]):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+6 (+3.26%) : 31746.dasm - System.Management.Automation.Language.VariableAnalysis+Block:VisitDepthFirstOrder(System.Management.Automation.Language.VariableAnalysis+Block,System.Collections.Generic.List`1[System.Management.Automation.Language.VariableAnalysis+Block]) (FullOpts)
@@ -8,11 +8,11 @@
 ; 0 inlinees with PGO data; 4 single block inlinees; 3 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T10] (  7,  5   )     ref  ->  r15         class-hnd single-def <System.Management.Automation.Language.VariableAnalysis+Block>
+;  V00 arg0         [V00,T11] (  7,  5   )     ref  ->  r15         class-hnd single-def <System.Management.Automation.Language.VariableAnalysis+Block>
 ;  V01 arg1         [V01,T00] ( 11, 22.50)     ref  ->  rbx         class-hnd single-def <System.Collections.Generic.List`1[System.Management.Automation.Language.VariableAnalysis+Block]>
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Management.Automation.Language.VariableAnalysis+Block]>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V04 tmp1         [V04,T12] (  2,  2   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Management.Automation.Language.VariableAnalysis+Block]>
+;  V04 tmp1         [V04,T13] (  2,  2   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Management.Automation.Language.VariableAnalysis+Block]>
 ;* V05 tmp2         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Management.Automation.Language.VariableAnalysis+Block]>
 ;* V06 tmp3         [V06,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V07 tmp4         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Management.Automation.Language.VariableAnalysis+Block]>
@@ -21,14 +21,15 @@
 ;  V10 tmp7         [V10,T03] (  4, 12.50)     ref  ->  r14         single-def "field V02._list (fldOffset=0x0)" P-INDEP
 ;  V11 tmp8         [V11,T05] (  2,  6   )     ref  ->  rdi         "field V02._current (fldOffset=0x8)" P-INDEP
 ;  V12 tmp9         [V12,T01] (  6, 20.50)     int  ->  r12         "field V02._index (fldOffset=0x10)" P-INDEP
-;  V13 tmp10        [V13,T11] (  2,  4.50)     int  ->  r13         single-def "field V02._version (fldOffset=0x14)" P-INDEP
-;  V14 tmp11        [V14,T13] (  3,  1.50)     ref  ->  r14         single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V13 tmp10        [V13,T12] (  2,  4.50)     int  ->  r13         single-def "field V02._version (fldOffset=0x14)" P-INDEP
+;  V14 tmp11        [V14,T14] (  3,  1.50)     ref  ->  r14         single-def "field V05._list (fldOffset=0x0)" P-INDEP
 ;* V15 tmp12        [V15    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V05._current (fldOffset=0x8)" P-INDEP
-;* V16 tmp13        [V16,T15] (  0,  0   )     int  ->  zero-ref    single-def "field V05._index (fldOffset=0x10)" P-INDEP
-;  V17 tmp14        [V17,T14] (  2,  1   )     int  ->  r13         single-def "field V05._version (fldOffset=0x14)" P-INDEP
+;* V16 tmp13        [V16,T16] (  0,  0   )     int  ->  zero-ref    single-def "field V05._index (fldOffset=0x10)" P-INDEP
+;  V17 tmp14        [V17,T15] (  2,  1   )     int  ->  r13         single-def "field V05._version (fldOffset=0x14)" P-INDEP
 ;  V18 tmp15        [V18,T02] (  3, 24   )     ref  ->  rdi         "arr expr"
 ;  V19 cse0         [V19,T09] (  2,  8   )     int  ->  rax         "CSE - moderate"
-;  V20 cse1         [V20,T04] (  2,  8   )     int  ->  rdi         "CSE - aggressive"
+;  V20 cse1         [V20,T10] (  2,  8   )     int  ->  rdi         "CSE - aggressive"
+;  V21 cse2         [V21,T04] (  2,  8   )     int  ->  rdi         "CSE - aggressive"
 ;
 ; Lcl frame size = 8
 
@@ -84,7 +85,8 @@ G_M62722_IG05:        ; bbWeight=2, gcrefRegs=C088 {rbx rdi r14 r15}, byrefRegs=
        ; gcrRegs -[rsi rdi]
                        ;; size=9 bbWeight=2 PerfScore 6.50
 G_M62722_IG06:        ; bbWeight=4, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
-       cmp      r13d, dword ptr [r14+0x14]
+       mov      edi, dword ptr [r14+0x14]
+       cmp      r13d, edi
        jne      SHORT G_M62722_IG11
        mov      edi, dword ptr [r14+0x10]
        cmp      r12d, edi
@@ -97,7 +99,7 @@ G_M62722_IG06:        ; bbWeight=4, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000
        mov      rdi, gword ptr [rdi+8*rsi+0x10]
        inc      r12d
        jmp      SHORT G_M62722_IG05
-                      ;; size=38 bbWeight=4 PerfScore 71.00
+                     ;; size=41 bbWeight=4 PerfScore 68.00
 G_M62722_IG07:        ; bbWeight=4, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdi r14]
        inc      dword ptr [rbx+0x14]
@@ -108,7 +110,7 @@ G_M62722_IG07:        ; bbWeight=4, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {},
        cmp      eax, esi
        jbe      SHORT G_M62722_IG09
                        ;; size=17 bbWeight=4 PerfScore 41.00
-G_M62722_IG08:        ; bbWeight=0.50, gcrefRegs=8088 {rbx rdi r15}, byrefRegs=0000 {}, byref, isz
+G_M62722_IG08:        ; bbWeight=0.50, gcrefRegs=8088 {rbx rdi r15}, byrefRegs=0000 {}, byref
        lea      eax, [rsi+0x01]
        mov      dword ptr [rbx+0x10], eax
        mov      esi, esi
@@ -120,8 +122,8 @@ G_M62722_IG08:        ; bbWeight=0.50, gcrefRegs=8088 {rbx rdi r15}, byrefRegs=0
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rbx rsi r15]
        ; byrRegs -[rdi]
-       jmp      SHORT G_M62722_IG03
-                       ;; size=23 bbWeight=0.50 PerfScore 3.00
+       jmp      G_M62722_IG03
+                       ;; size=26 bbWeight=0.50 PerfScore 3.00
 G_M62722_IG09:        ; bbWeight=0.50, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rbx r15]
        mov      rdi, rbx
@@ -140,7 +142,7 @@ G_M62722_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 184, prolog size 16, PerfScore 144.50, instruction count 61, allocated bytes for code 184 (MethodHash=49660afd) for method System.Management.Automation.Language.VariableAnalysis+Block:VisitDepthFirstOrder(System.Management.Automation.Language.VariableAnalysis+Block,System.Collections.Generic.List`1[System.Management.Automation.Language.VariableAnalysis+Block]) (FullOpts)
+; Total bytes of code 190, prolog size 16, PerfScore 141.50, instruction count 62, allocated bytes for code 190 (MethodHash=49660afd) for method System.Management.Automation.Language.VariableAnalysis+Block:VisitDepthFirstOrder(System.Management.Automation.Language.VariableAnalysis+Block,System.Collections.Generic.List`1[System.Management.Automation.Language.VariableAnalysis+Block]) (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
smoke_tests.nativeaot.linux.x64.checked.mch
-13 (-4.15%) : 21306.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
@@ -7,10 +7,10 @@
 ; fully interruptible
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] (  3,  3   )    long  ->  rbx         single-def
-;  V01 arg1         [V01,T19] (  3,  3   )    long  ->  r15         single-def
-;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [rbp-0x38]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T20] (  4, 11   )    long  ->  r15        
+;  V00 arg0         [V00,T19] (  3,  3   )    long  ->  rbx         single-def
+;  V01 arg1         [V01,T20] (  3,  3   )    long  ->  r15         single-def
+;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [rbp-0x30]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
+;  V03 loc1         [V03,T21] (  4, 11   )    long  ->  r15        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
@@ -18,14 +18,14 @@
 ;  V08 tmp1         [V08,T10] (  7, 84   )     ref  ->  rbx         class-hnd exact single-def "non-inline candidate call" <<unknown class>>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V11 tmp4         [V11,T27] (  3,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V12 tmp5         [V12,T22] (  2,  4   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp4         [V11,T28] (  3,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp5         [V12,T23] (  2,  4   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <<unknown class>>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp10        [V17,T08] (  2, 16   )     int  ->  rcx         "Inlining Arg"
-;  V18 tmp11        [V18,T07] (  2, 16   )   byref  ->  rax         "Inlining Arg"
+;  V17 tmp10        [V17,T07] (  2, 16   )     int  ->  rcx         "Inlining Arg"
+;  V18 tmp11        [V18,T06] (  2, 16   )   byref  ->  rax         "Inlining Arg"
 ;* V19 tmp12        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V21 tmp14        [V21,T12] (  2,  8   )   ubyte  ->  rax         "Inline return value spill temp"
@@ -39,30 +39,30 @@
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V30 tmp23        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V32 tmp25        [V32,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V32 tmp25        [V32,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V33 tmp26        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <<unknown class>>
-;  V34 tmp27        [V34,T23] (  3, 17   )     ref  ->  rdi         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V35 tmp28        [V35,T21] (  4, 18   )     int  ->  rsi         "Inline stloc first use temp"
-;  V36 tmp29        [V36,T17] (  3, 20   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [rbp-0x48]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
-;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
-;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
-;  V40 tmp33        [V40,T02] (  4, 25   )     ref  ->  rbx         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V41 tmp34        [V41,T03] (  4, 20   )     ref  ->  rdx         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V34 tmp27        [V34,T24] (  3, 17   )     ref  ->  rdi         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V35 tmp28        [V35,T22] (  4, 18   )     int  ->  rsi         "Inline stloc first use temp"
+;  V36 tmp29        [V36,T18] (  3, 20   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [rbp-0x40]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
+;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
+;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
+;  V40 tmp33        [V40,T03] (  4, 25   )     ref  ->  rbx         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V41 tmp34        [V41,T02] (  4, 20   )     ref  ->  rdx         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V42 tmp35        [V42,T00] (  6, 41   )     int  ->  r13         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V43 tmp36        [V43,T05] (  3, 17   )     int  ->  r14         "field V04._version (fldOffset=0x14)" P-INDEP
-;  V44 tmp37        [V44,T13] (  2,  8   )   byref  ->  rdi         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp38        [V45,T15] (  2,  8   )     int  ->  rsi         "field V09._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp36        [V43,T13] (  2,  9   )     int  ->  r14         "field V04._version (fldOffset=0x14)" P-INDEP
+;  V44 tmp37        [V44,T14] (  2,  8   )   byref  ->  rdi         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp38        [V45,T16] (  2,  8   )     int  ->  rsi         "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V46 tmp39        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V47 tmp40        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V48 tmp41        [V48,T24] (  3,  3   )     ref  ->  rbx         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;  V48 tmp41        [V48,T25] (  3,  3   )     ref  ->  rbx         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V49 tmp42        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V50 tmp43        [V50,T26] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
-;  V51 tmp44        [V51,T25] (  2,  2   )     int  ->  r14         "field V13._version (fldOffset=0x14)" P-INDEP
+;* V50 tmp43        [V50,T27] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
+;  V51 tmp44        [V51,T26] (  2,  2   )     int  ->  r14         "field V13._version (fldOffset=0x14)" P-INDEP
 ;  V52 tmp45        [V52,T11] (  3, 12   )   byref  ->  rax         "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V53 tmp46        [V53,T06] (  4, 16   )     int  ->  rcx         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V54 tmp47        [V54,T14] (  2,  8   )   byref  ->  rax         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V55 tmp48        [V55,T16] (  2,  8   )     int  ->  rcx         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V53 tmp46        [V53,T05] (  4, 16   )     int  ->  rcx         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V54 tmp47        [V54,T15] (  2,  8   )   byref  ->  rax         "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V55 tmp48        [V55,T17] (  2,  8   )     int  ->  rcx         "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp50        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V58 tmp51        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
@@ -78,26 +78,26 @@
 ;* V68 tmp61        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V69 tmp62        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;  V70 tmp63        [V70,T01] (  3, 48   )     ref  ->  rdx         "arr expr"
-;  V71 cse0         [V71,T04] (  3, 24   )     int  ->  r12         "CSE - moderate"
+;  V71 cse0         [V71,T09] (  2, 16   )     int  ->  rdx         "CSE - moderate"
+;  V72 cse1         [V72,T04] (  2, 16   )     int  ->  rdx         "CSE - moderate"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 32
 
 G_M19804_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
        push     r13
-       push     r12
        push     rbx
-       sub      rsp, 40
-       lea      rbp, [rsp+0x50]
+       sub      rsp, 32
+       lea      rbp, [rsp+0x40]
        xor      eax, eax
-       mov      qword ptr [rbp-0x38], rax
+       mov      qword ptr [rbp-0x30], rax
        mov      rbx, rdi
        mov      r15, rsi
-                     ;; size=31 bbWeight=1 PerfScore 8.50
+                      ;; size=29 bbWeight=1 PerfScore 7.50
 G_M19804_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       lea      rdi, [rbp-0x48]
+       lea      rdi, [rbp-0x40]
        call     CORINFO_HELP_JIT_REVERSE_PINVOKE_ENTER
        ; gcr arg pop 0
        nop      
@@ -107,10 +107,10 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        call     System.Runtime.InteropServices.MemoryMarshal:CreateReadOnlySpanFromNullTerminated(ulong):System.ReadOnlySpan`1[ushort]
        ; byrRegs +[rax]
        ; gcr arg pop 0
-       mov      bword ptr [rbp-0x38], rax
-       mov      qword ptr [rbp-0x30], rdx
+       mov      bword ptr [rbp-0x30], rax
+       mov      qword ptr [rbp-0x28], rdx
        cmp      byte  ptr [r15+0x08], 0
-       je       SHORT G_M19804_IG11
+       je       SHORT G_M19804_IG10
        mov      rbx, gword ptr [r15]
        ; gcrRegs +[rbx]
        mov      r14d, dword ptr [rbx+0x14]
@@ -120,9 +120,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M19804_IG04:        ; bbWeight=4, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rdx]
        ; byrRegs -[rax]
-       mov      rdi, bword ptr [rbp-0x38]
+       mov      rdi, bword ptr [rbp-0x30]
        ; byrRegs +[rdi]
-       mov      esi, dword ptr [rbp-0x30]
+       mov      esi, dword ptr [rbp-0x28]
        test     rdx, rdx
        jne      SHORT G_M19804_IG05
        xor      rax, rax
@@ -148,14 +148,15 @@ G_M19804_IG06:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0081 {rax rd
        ; byrRegs -[rax rsi rdi]
        ; gcr arg pop 0
        test     eax, eax
-       jne      SHORT G_M19804_IG14
+       jne      SHORT G_M19804_IG13
                      ;; size=21 bbWeight=4 PerfScore 17.00
 G_M19804_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       mov      r12d, dword ptr [rbx+0x14]
-       cmp      r14d, r12d
-       jne      SHORT G_M19804_IG10
-       cmp      r13d, dword ptr [rbx+0x10]
-       jae      SHORT G_M19804_IG11
+       mov      edx, dword ptr [rbx+0x14]
+       cmp      r14d, edx
+       jne      SHORT G_M19804_IG09
+       mov      edx, dword ptr [rbx+0x10]
+       cmp      r13d, edx
+       jae      SHORT G_M19804_IG10
        mov      rdx, gword ptr [rbx+0x08]
        ; gcrRegs +[rdx]
        cmp      r13d, dword ptr [rdx+0x08]
@@ -164,7 +165,7 @@ G_M19804_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      rdx, gword ptr [rdx+8*rdi+0x10]
        inc      r13d
        jmp      SHORT G_M19804_IG04
-                      ;; size=38 bbWeight=8 PerfScore 142.00
+                        ;; size=39 bbWeight=8 PerfScore 136.00
 G_M19804_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdx rbx]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -176,13 +177,9 @@ G_M19804_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 G_M19804_IG10:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       cmp      r14d, r12d
-       jne      SHORT G_M19804_IG09
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        mov      rbx, gword ptr [r15]
        ; gcrRegs +[rbx]
-       lea      rdi, [rbp-0x38]
+       lea      rdi, [rbp-0x30]
        call     <unknown method>
        ; gcrRegs +[rax]
        ; gcr arg pop 0
@@ -191,9 +188,9 @@ G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ; gcrRegs +[rdi]
        mov      esi, dword ptr [rbx+0x10]
        cmp      dword ptr [rdi+0x08], esi
-       jbe      SHORT G_M19804_IG13
+       jbe      SHORT G_M19804_IG12
                         ;; size=27 bbWeight=8 PerfScore 116.00
-G_M19804_IG12:        ; bbWeight=1, gcrefRegs=0089 {rax rbx rdi}, byrefRegs=0000 {}, byref, isz
+G_M19804_IG11:        ; bbWeight=1, gcrefRegs=0089 {rax rbx rdi}, byrefRegs=0000 {}, byref, isz
        lea      ecx, [rsi+0x01]
        mov      dword ptr [rbx+0x10], ecx
        mov      esi, esi
@@ -205,9 +202,9 @@ G_M19804_IG12:        ; bbWeight=1, gcrefRegs=0089 {rax rbx rdi}, byrefRegs=0000
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rax rbx rsi]
        ; byrRegs -[rdi]
-       jmp      SHORT G_M19804_IG14
+       jmp      SHORT G_M19804_IG13
                       ;; size=23 bbWeight=1 PerfScore 6.00
-G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
+G_M19804_IG12:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rax rbx]
        mov      rdi, rbx
        ; gcrRegs +[rdi]
@@ -218,33 +215,30 @@ G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {},
        ; gcr arg pop 0
        nop      
                        ;; size=12 bbWeight=1 PerfScore 1.75
-G_M19804_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       lea      rdi, [rbp-0x48]
+G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       lea      rdi, [rbp-0x40]
        call     CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT
        ; gcr arg pop 0
        nop      
                        ;; size=10 bbWeight=1 PerfScore 1.75
-G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 40
+G_M19804_IG14:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 32
        pop      rbx
-       pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=15 bbWeight=1 PerfScore 4.25
-G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                     ;; size=13 bbWeight=1 PerfScore 3.75
+G_M19804_IG15:        ; bbWeight=0, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        ; gcrRegs +[rsi]
        push     rbp
        push     r15
        push     r14
        push     r13
-       push     r12
        push     rbx
-       push     rax
-                       ;; size=11 bbWeight=0 PerfScore 0.00
...
  
-13 (-4.15%) : 4680.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
@@ -7,10 +7,10 @@
 ; fully interruptible
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] (  3,  3   )    long  ->  rbx         single-def
-;  V01 arg1         [V01,T19] (  3,  3   )    long  ->  r15         single-def
-;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [rbp-0x38]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T20] (  4, 11   )    long  ->  r15        
+;  V00 arg0         [V00,T19] (  3,  3   )    long  ->  rbx         single-def
+;  V01 arg1         [V01,T20] (  3,  3   )    long  ->  r15         single-def
+;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [rbp-0x30]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
+;  V03 loc1         [V03,T21] (  4, 11   )    long  ->  r15        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
@@ -18,14 +18,14 @@
 ;  V08 tmp1         [V08,T10] (  7, 84   )     ref  ->  rbx         class-hnd exact single-def "non-inline candidate call" <<unknown class>>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V11 tmp4         [V11,T27] (  3,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V12 tmp5         [V12,T22] (  2,  4   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp4         [V11,T28] (  3,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp5         [V12,T23] (  2,  4   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <<unknown class>>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp10        [V17,T08] (  2, 16   )     int  ->  rcx         "Inlining Arg"
-;  V18 tmp11        [V18,T07] (  2, 16   )   byref  ->  rax         "Inlining Arg"
+;  V17 tmp10        [V17,T07] (  2, 16   )     int  ->  rcx         "Inlining Arg"
+;  V18 tmp11        [V18,T06] (  2, 16   )   byref  ->  rax         "Inlining Arg"
 ;* V19 tmp12        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V21 tmp14        [V21,T12] (  2,  8   )   ubyte  ->  rax         "Inline return value spill temp"
@@ -39,30 +39,30 @@
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V30 tmp23        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V32 tmp25        [V32,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V32 tmp25        [V32,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V33 tmp26        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <<unknown class>>
-;  V34 tmp27        [V34,T23] (  3, 17   )     ref  ->  rdi         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V35 tmp28        [V35,T21] (  4, 18   )     int  ->  rsi         "Inline stloc first use temp"
-;  V36 tmp29        [V36,T17] (  3, 20   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [rbp-0x48]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
-;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
-;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
-;  V40 tmp33        [V40,T02] (  4, 25   )     ref  ->  rbx         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V41 tmp34        [V41,T03] (  4, 20   )     ref  ->  rdx         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V34 tmp27        [V34,T24] (  3, 17   )     ref  ->  rdi         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V35 tmp28        [V35,T22] (  4, 18   )     int  ->  rsi         "Inline stloc first use temp"
+;  V36 tmp29        [V36,T18] (  3, 20   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [rbp-0x40]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
+;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
+;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
+;  V40 tmp33        [V40,T03] (  4, 25   )     ref  ->  rbx         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V41 tmp34        [V41,T02] (  4, 20   )     ref  ->  rdx         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V42 tmp35        [V42,T00] (  6, 41   )     int  ->  r13         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V43 tmp36        [V43,T05] (  3, 17   )     int  ->  r14         "field V04._version (fldOffset=0x14)" P-INDEP
-;  V44 tmp37        [V44,T13] (  2,  8   )   byref  ->  rdi         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp38        [V45,T15] (  2,  8   )     int  ->  rsi         "field V09._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp36        [V43,T13] (  2,  9   )     int  ->  r14         "field V04._version (fldOffset=0x14)" P-INDEP
+;  V44 tmp37        [V44,T14] (  2,  8   )   byref  ->  rdi         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp38        [V45,T16] (  2,  8   )     int  ->  rsi         "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V46 tmp39        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V47 tmp40        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V48 tmp41        [V48,T24] (  3,  3   )     ref  ->  rbx         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;  V48 tmp41        [V48,T25] (  3,  3   )     ref  ->  rbx         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V49 tmp42        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V50 tmp43        [V50,T26] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
-;  V51 tmp44        [V51,T25] (  2,  2   )     int  ->  r14         "field V13._version (fldOffset=0x14)" P-INDEP
+;* V50 tmp43        [V50,T27] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
+;  V51 tmp44        [V51,T26] (  2,  2   )     int  ->  r14         "field V13._version (fldOffset=0x14)" P-INDEP
 ;  V52 tmp45        [V52,T11] (  3, 12   )   byref  ->  rax         "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V53 tmp46        [V53,T06] (  4, 16   )     int  ->  rcx         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V54 tmp47        [V54,T14] (  2,  8   )   byref  ->  rax         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V55 tmp48        [V55,T16] (  2,  8   )     int  ->  rcx         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V53 tmp46        [V53,T05] (  4, 16   )     int  ->  rcx         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V54 tmp47        [V54,T15] (  2,  8   )   byref  ->  rax         "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V55 tmp48        [V55,T17] (  2,  8   )     int  ->  rcx         "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp50        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V58 tmp51        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
@@ -78,26 +78,26 @@
 ;* V68 tmp61        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V69 tmp62        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;  V70 tmp63        [V70,T01] (  3, 48   )     ref  ->  rdx         "arr expr"
-;  V71 cse0         [V71,T04] (  3, 24   )     int  ->  r12         "CSE - moderate"
+;  V71 cse0         [V71,T09] (  2, 16   )     int  ->  rdx         "CSE - moderate"
+;  V72 cse1         [V72,T04] (  2, 16   )     int  ->  rdx         "CSE - moderate"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 32
 
 G_M19804_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
        push     r13
-       push     r12
        push     rbx
-       sub      rsp, 40
-       lea      rbp, [rsp+0x50]
+       sub      rsp, 32
+       lea      rbp, [rsp+0x40]
        xor      eax, eax
-       mov      qword ptr [rbp-0x38], rax
+       mov      qword ptr [rbp-0x30], rax
        mov      rbx, rdi
        mov      r15, rsi
-                     ;; size=31 bbWeight=1 PerfScore 8.50
+                      ;; size=29 bbWeight=1 PerfScore 7.50
 G_M19804_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       lea      rdi, [rbp-0x48]
+       lea      rdi, [rbp-0x40]
        call     CORINFO_HELP_JIT_REVERSE_PINVOKE_ENTER
        ; gcr arg pop 0
        nop      
@@ -107,10 +107,10 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        call     System.Runtime.InteropServices.MemoryMarshal:CreateReadOnlySpanFromNullTerminated(ulong):System.ReadOnlySpan`1[ushort]
        ; byrRegs +[rax]
        ; gcr arg pop 0
-       mov      bword ptr [rbp-0x38], rax
-       mov      qword ptr [rbp-0x30], rdx
+       mov      bword ptr [rbp-0x30], rax
+       mov      qword ptr [rbp-0x28], rdx
        cmp      byte  ptr [r15+0x08], 0
-       je       SHORT G_M19804_IG11
+       je       SHORT G_M19804_IG10
        mov      rbx, gword ptr [r15]
        ; gcrRegs +[rbx]
        mov      r14d, dword ptr [rbx+0x14]
@@ -120,9 +120,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M19804_IG04:        ; bbWeight=4, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rdx]
        ; byrRegs -[rax]
-       mov      rdi, bword ptr [rbp-0x38]
+       mov      rdi, bword ptr [rbp-0x30]
        ; byrRegs +[rdi]
-       mov      esi, dword ptr [rbp-0x30]
+       mov      esi, dword ptr [rbp-0x28]
        test     rdx, rdx
        jne      SHORT G_M19804_IG05
        xor      rax, rax
@@ -148,14 +148,15 @@ G_M19804_IG06:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0081 {rax rd
        ; byrRegs -[rax rsi rdi]
        ; gcr arg pop 0
        test     eax, eax
-       jne      SHORT G_M19804_IG14
+       jne      SHORT G_M19804_IG13
                      ;; size=21 bbWeight=4 PerfScore 17.00
 G_M19804_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       mov      r12d, dword ptr [rbx+0x14]
-       cmp      r14d, r12d
-       jne      SHORT G_M19804_IG10
-       cmp      r13d, dword ptr [rbx+0x10]
-       jae      SHORT G_M19804_IG11
+       mov      edx, dword ptr [rbx+0x14]
+       cmp      r14d, edx
+       jne      SHORT G_M19804_IG09
+       mov      edx, dword ptr [rbx+0x10]
+       cmp      r13d, edx
+       jae      SHORT G_M19804_IG10
        mov      rdx, gword ptr [rbx+0x08]
        ; gcrRegs +[rdx]
        cmp      r13d, dword ptr [rdx+0x08]
@@ -164,7 +165,7 @@ G_M19804_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      rdx, gword ptr [rdx+8*rdi+0x10]
        inc      r13d
        jmp      SHORT G_M19804_IG04
-                      ;; size=38 bbWeight=8 PerfScore 142.00
+                        ;; size=39 bbWeight=8 PerfScore 136.00
 G_M19804_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdx rbx]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -176,13 +177,9 @@ G_M19804_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 G_M19804_IG10:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       cmp      r14d, r12d
-       jne      SHORT G_M19804_IG09
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        mov      rbx, gword ptr [r15]
        ; gcrRegs +[rbx]
-       lea      rdi, [rbp-0x38]
+       lea      rdi, [rbp-0x30]
        call     <unknown method>
        ; gcrRegs +[rax]
        ; gcr arg pop 0
@@ -191,9 +188,9 @@ G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ; gcrRegs +[rdi]
        mov      esi, dword ptr [rbx+0x10]
        cmp      dword ptr [rdi+0x08], esi
-       jbe      SHORT G_M19804_IG13
+       jbe      SHORT G_M19804_IG12
                         ;; size=27 bbWeight=8 PerfScore 116.00
-G_M19804_IG12:        ; bbWeight=1, gcrefRegs=0089 {rax rbx rdi}, byrefRegs=0000 {}, byref, isz
+G_M19804_IG11:        ; bbWeight=1, gcrefRegs=0089 {rax rbx rdi}, byrefRegs=0000 {}, byref, isz
        lea      ecx, [rsi+0x01]
        mov      dword ptr [rbx+0x10], ecx
        mov      esi, esi
@@ -205,9 +202,9 @@ G_M19804_IG12:        ; bbWeight=1, gcrefRegs=0089 {rax rbx rdi}, byrefRegs=0000
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rax rbx rsi]
        ; byrRegs -[rdi]
-       jmp      SHORT G_M19804_IG14
+       jmp      SHORT G_M19804_IG13
                       ;; size=23 bbWeight=1 PerfScore 6.00
-G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
+G_M19804_IG12:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rax rbx]
        mov      rdi, rbx
        ; gcrRegs +[rdi]
@@ -218,33 +215,30 @@ G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {},
        ; gcr arg pop 0
        nop      
                        ;; size=12 bbWeight=1 PerfScore 1.75
-G_M19804_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       lea      rdi, [rbp-0x48]
+G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       lea      rdi, [rbp-0x40]
        call     CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT
        ; gcr arg pop 0
        nop      
                        ;; size=10 bbWeight=1 PerfScore 1.75
-G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 40
+G_M19804_IG14:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 32
        pop      rbx
-       pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=15 bbWeight=1 PerfScore 4.25
-G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                     ;; size=13 bbWeight=1 PerfScore 3.75
+G_M19804_IG15:        ; bbWeight=0, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        ; gcrRegs +[rsi]
        push     rbp
        push     r15
        push     r14
        push     r13
-       push     r12
        push     rbx
-       push     rax
-                       ;; size=11 bbWeight=0 PerfScore 0.00
...
  
-13 (-4.15%) : 18608.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
@@ -7,10 +7,10 @@
 ; fully interruptible
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] (  3,  3   )    long  ->  rbx         single-def
-;  V01 arg1         [V01,T19] (  3,  3   )    long  ->  r15         single-def
-;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [rbp-0x38]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T20] (  4, 11   )    long  ->  r15        
+;  V00 arg0         [V00,T19] (  3,  3   )    long  ->  rbx         single-def
+;  V01 arg1         [V01,T20] (  3,  3   )    long  ->  r15         single-def
+;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [rbp-0x30]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
+;  V03 loc1         [V03,T21] (  4, 11   )    long  ->  r15        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
@@ -18,14 +18,14 @@
 ;  V08 tmp1         [V08,T10] (  7, 84   )     ref  ->  rbx         class-hnd exact single-def "non-inline candidate call" <<unknown class>>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V11 tmp4         [V11,T27] (  3,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V12 tmp5         [V12,T22] (  2,  4   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp4         [V11,T28] (  3,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp5         [V12,T23] (  2,  4   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <<unknown class>>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp10        [V17,T08] (  2, 16   )     int  ->  rcx         "Inlining Arg"
-;  V18 tmp11        [V18,T07] (  2, 16   )   byref  ->  rax         "Inlining Arg"
+;  V17 tmp10        [V17,T07] (  2, 16   )     int  ->  rcx         "Inlining Arg"
+;  V18 tmp11        [V18,T06] (  2, 16   )   byref  ->  rax         "Inlining Arg"
 ;* V19 tmp12        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V21 tmp14        [V21,T12] (  2,  8   )   ubyte  ->  rax         "Inline return value spill temp"
@@ -39,30 +39,30 @@
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V30 tmp23        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V32 tmp25        [V32,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V32 tmp25        [V32,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V33 tmp26        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <<unknown class>>
-;  V34 tmp27        [V34,T23] (  3, 17   )     ref  ->  rdi         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V35 tmp28        [V35,T21] (  4, 18   )     int  ->  rsi         "Inline stloc first use temp"
-;  V36 tmp29        [V36,T17] (  3, 20   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [rbp-0x48]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
-;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
-;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
-;  V40 tmp33        [V40,T02] (  4, 25   )     ref  ->  rbx         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V41 tmp34        [V41,T03] (  4, 20   )     ref  ->  rdx         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V34 tmp27        [V34,T24] (  3, 17   )     ref  ->  rdi         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V35 tmp28        [V35,T22] (  4, 18   )     int  ->  rsi         "Inline stloc first use temp"
+;  V36 tmp29        [V36,T18] (  3, 20   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [rbp-0x40]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
+;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
+;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
+;  V40 tmp33        [V40,T03] (  4, 25   )     ref  ->  rbx         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V41 tmp34        [V41,T02] (  4, 20   )     ref  ->  rdx         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V42 tmp35        [V42,T00] (  6, 41   )     int  ->  r13         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V43 tmp36        [V43,T05] (  3, 17   )     int  ->  r14         "field V04._version (fldOffset=0x14)" P-INDEP
-;  V44 tmp37        [V44,T13] (  2,  8   )   byref  ->  rdi         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp38        [V45,T15] (  2,  8   )     int  ->  rsi         "field V09._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp36        [V43,T13] (  2,  9   )     int  ->  r14         "field V04._version (fldOffset=0x14)" P-INDEP
+;  V44 tmp37        [V44,T14] (  2,  8   )   byref  ->  rdi         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp38        [V45,T16] (  2,  8   )     int  ->  rsi         "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V46 tmp39        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V47 tmp40        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V48 tmp41        [V48,T24] (  3,  3   )     ref  ->  rbx         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;  V48 tmp41        [V48,T25] (  3,  3   )     ref  ->  rbx         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V49 tmp42        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V50 tmp43        [V50,T26] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
-;  V51 tmp44        [V51,T25] (  2,  2   )     int  ->  r14         "field V13._version (fldOffset=0x14)" P-INDEP
+;* V50 tmp43        [V50,T27] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
+;  V51 tmp44        [V51,T26] (  2,  2   )     int  ->  r14         "field V13._version (fldOffset=0x14)" P-INDEP
 ;  V52 tmp45        [V52,T11] (  3, 12   )   byref  ->  rax         "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V53 tmp46        [V53,T06] (  4, 16   )     int  ->  rcx         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V54 tmp47        [V54,T14] (  2,  8   )   byref  ->  rax         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V55 tmp48        [V55,T16] (  2,  8   )     int  ->  rcx         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V53 tmp46        [V53,T05] (  4, 16   )     int  ->  rcx         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V54 tmp47        [V54,T15] (  2,  8   )   byref  ->  rax         "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V55 tmp48        [V55,T17] (  2,  8   )     int  ->  rcx         "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp50        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V58 tmp51        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
@@ -78,26 +78,26 @@
 ;* V68 tmp61        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V69 tmp62        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;  V70 tmp63        [V70,T01] (  3, 48   )     ref  ->  rdx         "arr expr"
-;  V71 cse0         [V71,T04] (  3, 24   )     int  ->  r12         "CSE - moderate"
+;  V71 cse0         [V71,T09] (  2, 16   )     int  ->  rdx         "CSE - moderate"
+;  V72 cse1         [V72,T04] (  2, 16   )     int  ->  rdx         "CSE - moderate"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 32
 
 G_M19804_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
        push     r13
-       push     r12
        push     rbx
-       sub      rsp, 40
-       lea      rbp, [rsp+0x50]
+       sub      rsp, 32
+       lea      rbp, [rsp+0x40]
        xor      eax, eax
-       mov      qword ptr [rbp-0x38], rax
+       mov      qword ptr [rbp-0x30], rax
        mov      rbx, rdi
        mov      r15, rsi
-                     ;; size=31 bbWeight=1 PerfScore 8.50
+                      ;; size=29 bbWeight=1 PerfScore 7.50
 G_M19804_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       lea      rdi, [rbp-0x48]
+       lea      rdi, [rbp-0x40]
        call     CORINFO_HELP_JIT_REVERSE_PINVOKE_ENTER
        ; gcr arg pop 0
        nop      
@@ -107,10 +107,10 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        call     System.Runtime.InteropServices.MemoryMarshal:CreateReadOnlySpanFromNullTerminated(ulong):System.ReadOnlySpan`1[ushort]
        ; byrRegs +[rax]
        ; gcr arg pop 0
-       mov      bword ptr [rbp-0x38], rax
-       mov      qword ptr [rbp-0x30], rdx
+       mov      bword ptr [rbp-0x30], rax
+       mov      qword ptr [rbp-0x28], rdx
        cmp      byte  ptr [r15+0x08], 0
-       je       SHORT G_M19804_IG11
+       je       SHORT G_M19804_IG10
        mov      rbx, gword ptr [r15]
        ; gcrRegs +[rbx]
        mov      r14d, dword ptr [rbx+0x14]
@@ -120,9 +120,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M19804_IG04:        ; bbWeight=4, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rdx]
        ; byrRegs -[rax]
-       mov      rdi, bword ptr [rbp-0x38]
+       mov      rdi, bword ptr [rbp-0x30]
        ; byrRegs +[rdi]
-       mov      esi, dword ptr [rbp-0x30]
+       mov      esi, dword ptr [rbp-0x28]
        test     rdx, rdx
        jne      SHORT G_M19804_IG05
        xor      rax, rax
@@ -148,14 +148,15 @@ G_M19804_IG06:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0081 {rax rd
        ; byrRegs -[rax rsi rdi]
        ; gcr arg pop 0
        test     eax, eax
-       jne      SHORT G_M19804_IG14
+       jne      SHORT G_M19804_IG13
                      ;; size=21 bbWeight=4 PerfScore 17.00
 G_M19804_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       mov      r12d, dword ptr [rbx+0x14]
-       cmp      r14d, r12d
-       jne      SHORT G_M19804_IG10
-       cmp      r13d, dword ptr [rbx+0x10]
-       jae      SHORT G_M19804_IG11
+       mov      edx, dword ptr [rbx+0x14]
+       cmp      r14d, edx
+       jne      SHORT G_M19804_IG09
+       mov      edx, dword ptr [rbx+0x10]
+       cmp      r13d, edx
+       jae      SHORT G_M19804_IG10
        mov      rdx, gword ptr [rbx+0x08]
        ; gcrRegs +[rdx]
        cmp      r13d, dword ptr [rdx+0x08]
@@ -164,7 +165,7 @@ G_M19804_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      rdx, gword ptr [rdx+8*rdi+0x10]
        inc      r13d
        jmp      SHORT G_M19804_IG04
-                      ;; size=38 bbWeight=8 PerfScore 142.00
+                        ;; size=39 bbWeight=8 PerfScore 136.00
 G_M19804_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdx rbx]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -176,13 +177,9 @@ G_M19804_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 G_M19804_IG10:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       cmp      r14d, r12d
-       jne      SHORT G_M19804_IG09
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        mov      rbx, gword ptr [r15]
        ; gcrRegs +[rbx]
-       lea      rdi, [rbp-0x38]
+       lea      rdi, [rbp-0x30]
        call     <unknown method>
        ; gcrRegs +[rax]
        ; gcr arg pop 0
@@ -191,9 +188,9 @@ G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ; gcrRegs +[rdi]
        mov      esi, dword ptr [rbx+0x10]
        cmp      dword ptr [rdi+0x08], esi
-       jbe      SHORT G_M19804_IG13
+       jbe      SHORT G_M19804_IG12
                         ;; size=27 bbWeight=8 PerfScore 116.00
-G_M19804_IG12:        ; bbWeight=1, gcrefRegs=0089 {rax rbx rdi}, byrefRegs=0000 {}, byref, isz
+G_M19804_IG11:        ; bbWeight=1, gcrefRegs=0089 {rax rbx rdi}, byrefRegs=0000 {}, byref, isz
        lea      ecx, [rsi+0x01]
        mov      dword ptr [rbx+0x10], ecx
        mov      esi, esi
@@ -205,9 +202,9 @@ G_M19804_IG12:        ; bbWeight=1, gcrefRegs=0089 {rax rbx rdi}, byrefRegs=0000
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rax rbx rsi]
        ; byrRegs -[rdi]
-       jmp      SHORT G_M19804_IG14
+       jmp      SHORT G_M19804_IG13
                       ;; size=23 bbWeight=1 PerfScore 6.00
-G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
+G_M19804_IG12:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rax rbx]
        mov      rdi, rbx
        ; gcrRegs +[rdi]
@@ -218,33 +215,30 @@ G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {},
        ; gcr arg pop 0
        nop      
                        ;; size=12 bbWeight=1 PerfScore 1.75
-G_M19804_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       lea      rdi, [rbp-0x48]
+G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       lea      rdi, [rbp-0x40]
        call     CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT
        ; gcr arg pop 0
        nop      
                        ;; size=10 bbWeight=1 PerfScore 1.75
-G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 40
+G_M19804_IG14:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 32
        pop      rbx
-       pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=15 bbWeight=1 PerfScore 4.25
-G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                     ;; size=13 bbWeight=1 PerfScore 3.75
+G_M19804_IG15:        ; bbWeight=0, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        ; gcrRegs +[rsi]
        push     rbp
        push     r15
        push     r14
        push     r13
-       push     r12
        push     rbx
-       push     rax
-                       ;; size=11 bbWeight=0 PerfScore 0.00
...
  
+3 (+1.01%) : 26678.dasm - ThreadTest:ExpectPassed(System.String,int) (FullOpts)
@@ -7,34 +7,35 @@
 ; partially interruptible
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T14] (  3,  3   )     ref  ->  r15         class-hnd exact single-def <System.String>
-;  V01 arg1         [V01,T09] (  4,  4   )     int  ->  rbx         single-def
+;  V00 arg0         [V00,T15] (  3,  3   )     ref  ->  r15         class-hnd exact single-def <System.String>
+;  V01 arg1         [V01,T10] (  4,  4   )     int  ->  rbx         single-def
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Thread]>
 ;* V03 loc1         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Threading.Thread>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T10] (  3,  6   )     ref  ->  r14         class-hnd exact single-def "Single-def Box Helper" <<unknown class>>
-;  V06 tmp2         [V06,T18] (  2,  4   )     int  ->  r12         "impImportAndPushBox"
-;  V07 tmp3         [V07,T11] (  3,  6   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <<unknown class>>
-;  V08 tmp4         [V08,T16] (  2,  4   )     ref  ->  r13         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V05 tmp1         [V05,T11] (  3,  6   )     ref  ->  r14         class-hnd exact single-def "Single-def Box Helper" <<unknown class>>
+;  V06 tmp2         [V06,T19] (  2,  4   )     int  ->  r12         "impImportAndPushBox"
+;  V07 tmp3         [V07,T12] (  3,  6   )     ref  ->  rax         class-hnd exact single-def "Single-def Box Helper" <<unknown class>>
+;  V08 tmp4         [V08,T17] (  2,  4   )     ref  ->  r13         class-hnd exact single-def "Inlining Arg" <<unknown class>>
 ;* V09 tmp5         [V09    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Thread]>
-;* V10 tmp6         [V10,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V10 tmp6         [V10,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V11 tmp7         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <<unknown class>>
 ;  V12 tmp8         [V12,T00] (  6, 41   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <<unknown class>>
-;  V13 tmp9         [V13,T07] (  3,  8.50)     int  ->  rdx         single-def "Inline stloc first use temp"
+;  V13 tmp9         [V13,T08] (  3,  8.50)     int  ->  rdx         single-def "Inline stloc first use temp"
 ;  V14 tmp10        [V14,T03] (  4, 17   )     ref  ->  r13         single-def "field V02._list (fldOffset=0x0)" P-INDEP
-;  V15 tmp11        [V15,T04] (  3,  8   )     ref  ->  rsi         "field V02._current (fldOffset=0x8)" P-INDEP
+;  V15 tmp11        [V15,T05] (  3,  8   )     ref  ->  rsi         "field V02._current (fldOffset=0x8)" P-INDEP
 ;  V16 tmp12        [V16,T01] (  6, 21   )     int  ->  [rbp-0x2C]  "field V02._index (fldOffset=0x10)" P-INDEP
-;  V17 tmp13        [V17,T06] (  2,  9   )     int  ->  r12         single-def "field V02._version (fldOffset=0x14)" P-INDEP
-;  V18 tmp14        [V18,T19] (  3,  3   )     ref  ->  r13         single-def "field V09._list (fldOffset=0x0)" P-INDEP
+;  V17 tmp13        [V17,T07] (  2,  9   )     int  ->  r12         single-def "field V02._version (fldOffset=0x14)" P-INDEP
+;  V18 tmp14        [V18,T20] (  3,  3   )     ref  ->  r13         single-def "field V09._list (fldOffset=0x0)" P-INDEP
 ;* V19 tmp15        [V19    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V09._current (fldOffset=0x8)" P-INDEP
-;* V20 tmp16        [V20,T21] (  0,  0   )     int  ->  zero-ref    single-def "field V09._index (fldOffset=0x10)" P-INDEP
-;  V21 tmp17        [V21,T20] (  2,  2   )     int  ->  r12         single-def "field V09._version (fldOffset=0x14)" P-INDEP
+;* V20 tmp16        [V20,T22] (  0,  0   )     int  ->  zero-ref    single-def "field V09._index (fldOffset=0x10)" P-INDEP
+;  V21 tmp17        [V21,T21] (  2,  2   )     int  ->  r12         single-def "field V09._version (fldOffset=0x14)" P-INDEP
 ;  V22 tmp18        [V22,T02] (  3, 24   )     ref  ->  rsi         "arr expr"
-;  V23 tmp19        [V23,T17] (  2,  4   )     ref  ->  rsi         single-def "argument with side effect"
-;  V24 cse0         [V24,T15] (  4,  4   )   byref  ->  r13         "CSE - moderate"
-;  V25 cse1         [V25,T12] (  3,  6   )   byref  ->  r14         "CSE - moderate"
-;  V26 cse2         [V26,T05] (  2,  8   )     int  ->  rsi         "CSE - aggressive"
-;  V27 rat0         [V27,T13] (  3,  6   )    long  ->  r13         "fgMakeTemp is creating a new local variable"
+;  V23 tmp19        [V23,T18] (  2,  4   )     ref  ->  rsi         single-def "argument with side effect"
+;  V24 cse0         [V24,T16] (  4,  4   )   byref  ->  r13         "CSE - moderate"
+;  V25 cse1         [V25,T13] (  3,  6   )   byref  ->  r14         "CSE - moderate"
+;  V26 cse2         [V26,T06] (  2,  8   )     int  ->  rsi         "CSE - aggressive"
+;  V27 cse3         [V27,T04] (  2, 16   )     int  ->  rsi         "CSE - aggressive"
+;  V28 rat0         [V28,T14] (  3,  6   )    long  ->  r13         "fgMakeTemp is creating a new local variable"
 ;
 ; Lcl frame size = 8
 
@@ -77,9 +78,10 @@ G_M2263_IG04:        ; bbWeight=2, gcrefRegs=A040 {rsi r13 r15}, byrefRegs=4000
        mov      edi, dword ptr [rbp-0x2C]
                        ;; size=19 bbWeight=2 PerfScore 11.00
 G_M2263_IG05:        ; bbWeight=8, gcrefRegs=A000 {r13 r15}, byrefRegs=4000 {r14}, byref
-       cmp      r12d, dword ptr [r13+0x14]
+       mov      esi, dword ptr [r13+0x14]
+       cmp      r12d, esi
        jne      G_M2263_IG14
-                        ;; size=10 bbWeight=8 PerfScore 32.00
+                     ;; size=13 bbWeight=8 PerfScore 26.00
 G_M2263_IG06:        ; bbWeight=4, gcrefRegs=A000 {r13 r15}, byrefRegs=4000 {r14}, byref, isz
        mov      esi, dword ptr [r13+0x10]
        cmp      edi, esi
@@ -185,7 +187,7 @@ G_M2263_IG15:        ; bbWeight=0, gcrefRegs=C000 {r14 r15}, byrefRegs=0000 {},
        jmp      SHORT G_M2263_IG10
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 296, prolog size 16, PerfScore 187.62, instruction count 85, allocated bytes for code 296 (MethodHash=df20f728) for method ThreadTest:ExpectPassed(System.String,int) (FullOpts)
+; Total bytes of code 299, prolog size 16, PerfScore 181.62, instruction count 86, allocated bytes for code 299 (MethodHash=df20f728) for method ThreadTest:ExpectPassed(System.String,int) (FullOpts)
 ; ============================================================
 
 Cfi Info:
  
+3 (+1.19%) : 7371.dasm - System.Linq.Expressions.Interpreter.LabelInfo:Define(System.Linq.Expressions.Interpreter.LabelScopeInfo):this (FullOpts)
@@ -13,12 +13,12 @@
 ;* V03 loc1         [V03    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Linq.Expressions.Interpreter.LabelScopeInfo]>
 ;* V04 loc2         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Linq.Expressions.Interpreter.LabelScopeInfo>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V06 tmp1         [V06,T10] (  2,  4   )   ubyte  ->  rax         "Inline return value spill temp"
+;  V06 tmp1         [V06,T11] (  2,  4   )   ubyte  ->  rax         "Inline return value spill temp"
 ;  V07 tmp2         [V07,T06] (  2, 12   )     ref  ->  rsi         class-hnd exact "Inlining Arg" <System.Linq.Expressions.LabelTarget>
 ;* V08 tmp3         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Linq.Expressions.LabelTarget>
-;  V09 tmp4         [V09,T13] (  2,  2   )     ref  ->  rdi         single-def "CASTCLASS eval op1"
-;  V10 tmp5         [V10,T12] (  2,  2   )     ref  ->  rdi         class-hnd exact "spilling QMark2" <<unknown class>>
-;  V11 tmp6         [V11,T14] (  2,  2   )     ref  ->  r15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V09 tmp4         [V09,T14] (  2,  2   )     ref  ->  rdi         single-def "CASTCLASS eval op1"
+;  V10 tmp5         [V10,T13] (  2,  2   )     ref  ->  rdi         class-hnd exact "spilling QMark2" <<unknown class>>
+;  V11 tmp6         [V11,T15] (  2,  2   )     ref  ->  r15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
 ;* V12 tmp7         [V12    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Linq.Expressions.Interpreter.LabelScopeInfo]>
 ;* V13 tmp8         [V13,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V14 tmp9         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <<unknown class>>
@@ -26,13 +26,14 @@
 ;  V16 tmp11        [V16,T04] (  4, 12.50)     ref  ->  r15         single-def "field V03._list (fldOffset=0x0)" P-INDEP
 ;  V17 tmp12        [V17,T07] (  2,  6   )     ref  ->  rsi         "field V03._current (fldOffset=0x8)" P-INDEP
 ;  V18 tmp13        [V18,T00] (  6, 20.50)     int  ->  r13         "field V03._index (fldOffset=0x10)" P-INDEP
-;  V19 tmp14        [V19,T11] (  2,  4.50)     int  ->  r14         "field V03._version (fldOffset=0x14)" P-INDEP
-;  V20 tmp15        [V20,T15] (  3,  1.50)     ref  ->  r15         single-def "field V12._list (fldOffset=0x0)" P-INDEP
+;  V19 tmp14        [V19,T12] (  2,  4.50)     int  ->  r14         "field V03._version (fldOffset=0x14)" P-INDEP
+;  V20 tmp15        [V20,T16] (  3,  1.50)     ref  ->  r15         single-def "field V12._list (fldOffset=0x0)" P-INDEP
 ;* V21 tmp16        [V21    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V12._current (fldOffset=0x8)" P-INDEP
-;* V22 tmp17        [V22,T17] (  0,  0   )     int  ->  zero-ref    "field V12._index (fldOffset=0x10)" P-INDEP
-;  V23 tmp18        [V23,T16] (  2,  1   )     int  ->  r14         "field V12._version (fldOffset=0x14)" P-INDEP
+;* V22 tmp17        [V22,T18] (  0,  0   )     int  ->  zero-ref    "field V12._index (fldOffset=0x10)" P-INDEP
+;  V23 tmp18        [V23,T17] (  2,  1   )     int  ->  r14         "field V12._version (fldOffset=0x14)" P-INDEP
 ;  V24 tmp19        [V24,T01] (  3, 24   )     ref  ->  rdi         "arr expr"
-;  V25 cse0         [V25,T05] (  2,  8   )     int  ->  rdi         "CSE - aggressive"
+;  V25 cse0         [V25,T10] (  2,  8   )     int  ->  rdi         "CSE - aggressive"
+;  V26 cse1         [V26,T05] (  2,  8   )     int  ->  rdi         "CSE - aggressive"
 ;
 ; Lcl frame size = 0
 
@@ -118,7 +119,8 @@ G_M18802_IG08:        ; bbWeight=2, gcrefRegs=8048 {rbx rsi r15}, byrefRegs=0000
        ; gcr arg pop 0
                        ;; size=8 bbWeight=2 PerfScore 2.50
 G_M18802_IG09:        ; bbWeight=4, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
-       cmp      r14d, dword ptr [r15+0x14]
+       mov      edi, dword ptr [r15+0x14]
+       cmp      r14d, edi
        jne      SHORT G_M18802_IG14
        mov      edi, dword ptr [r15+0x10]
        cmp      r13d, edi
@@ -132,7 +134,7 @@ G_M18802_IG09:        ; bbWeight=4, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {},
        ; gcrRegs +[rsi]
        inc      r13d
        jmp      SHORT G_M18802_IG08
-                      ;; size=38 bbWeight=4 PerfScore 71.00
+                     ;; size=41 bbWeight=4 PerfScore 68.00
 G_M18802_IG10:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rbx rsi rdi r15]
        pop      rbx
@@ -191,7 +193,7 @@ G_M18802_IG15:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        int3     
                        ;; size=22 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 253, prolog size 19, PerfScore 168.50, instruction count 79, allocated bytes for code 253 (MethodHash=9bf9b68d) for method System.Linq.Expressions.Interpreter.LabelInfo:Define(System.Linq.Expressions.Interpreter.LabelScopeInfo):this (FullOpts)
+; Total bytes of code 256, prolog size 19, PerfScore 165.50, instruction count 80, allocated bytes for code 256 (MethodHash=9bf9b68d) for method System.Linq.Expressions.Interpreter.LabelInfo:Define(System.Linq.Expressions.Interpreter.LabelScopeInfo):this (FullOpts)
 ; ============================================================
 
 Cfi Info:
  
+3 (+2.03%) : 7792.dasm - System.Linq.Expressions.Interpreter.BranchLabel:Mark(System.Linq.Expressions.Interpreter.InstructionList):this (FullOpts)
@@ -13,20 +13,21 @@
 ;* V03 loc1         [V03    ] (  0,  0   )     int  ->  zero-ref   
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V05 tmp1         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <<unknown class>>
-;  V06 tmp2         [V06,T09] (  2,  2   )     ref  ->  r14         class-hnd exact single-def "Inlining Arg" <System.Collections.Generic.List`1[int]>
+;  V06 tmp2         [V06,T10] (  2,  2   )     ref  ->  r14         class-hnd exact single-def "Inlining Arg" <System.Collections.Generic.List`1[int]>
 ;* V07 tmp3         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[int]>
 ;* V08 tmp4         [V08,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V09 tmp5         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Collections.Generic.List`1[int]>
 ;  V10 tmp6         [V10,T03] (  4, 12.50)     ref  ->  r14         single-def "field V02._list (fldOffset=0x0)" P-INDEP
 ;  V11 tmp7         [V11,T00] (  6, 20.50)     int  ->  r12         "field V02._index (fldOffset=0x8)" P-INDEP
-;  V12 tmp8         [V12,T08] (  2,  4.50)     int  ->  r13         "field V02._version (fldOffset=0xc)" P-INDEP
+;  V12 tmp8         [V12,T09] (  2,  4.50)     int  ->  r13         "field V02._version (fldOffset=0xc)" P-INDEP
 ;  V13 tmp9         [V13,T04] (  3,  8   )     int  ->  rsi         "field V02._current (fldOffset=0x10)" P-INDEP
-;  V14 tmp10        [V14,T10] (  3,  1.50)     ref  ->  r14         single-def "field V07._list (fldOffset=0x0)" P-INDEP
-;* V15 tmp11        [V15,T12] (  0,  0   )     int  ->  zero-ref    "field V07._index (fldOffset=0x8)" P-INDEP
-;  V16 tmp12        [V16,T11] (  2,  1   )     int  ->  r13         "field V07._version (fldOffset=0xc)" P-INDEP
+;  V14 tmp10        [V14,T11] (  3,  1.50)     ref  ->  r14         single-def "field V07._list (fldOffset=0x0)" P-INDEP
+;* V15 tmp11        [V15,T13] (  0,  0   )     int  ->  zero-ref    "field V07._index (fldOffset=0x8)" P-INDEP
+;  V16 tmp12        [V16,T12] (  2,  1   )     int  ->  r13         "field V07._version (fldOffset=0xc)" P-INDEP
 ;* V17 tmp13        [V17    ] (  0,  0   )     int  ->  zero-ref    "field V07._current (fldOffset=0x10)" P-INDEP
 ;  V18 tmp14        [V18,T01] (  3, 24   )     ref  ->  rdx         "arr expr"
-;  V19 cse0         [V19,T05] (  2,  8   )     int  ->  rdx         "CSE - aggressive"
+;  V19 cse0         [V19,T08] (  2,  8   )     int  ->  rdx         "CSE - aggressive"
+;  V20 cse1         [V20,T05] (  2,  8   )     int  ->  rdx         "CSE - aggressive"
 ;
 ; Lcl frame size = 8
 
@@ -73,7 +74,8 @@ G_M44928_IG04:        ; bbWeight=2, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000
        ; gcrRegs -[rdi]
                        ;; size=13 bbWeight=2 PerfScore 7.00
 G_M44928_IG05:        ; bbWeight=4, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
-       cmp      r13d, dword ptr [r14+0x14]
+       mov      edx, dword ptr [r14+0x14]
+       cmp      r13d, edx
        jne      SHORT G_M44928_IG09
        mov      edx, dword ptr [r14+0x10]
        cmp      r12d, edx
@@ -86,7 +88,7 @@ G_M44928_IG05:        ; bbWeight=4, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000
        mov      esi, dword ptr [rdx+4*rdi+0x10]
        inc      r12d
        jmp      SHORT G_M44928_IG04
-                      ;; size=37 bbWeight=4 PerfScore 71.00
+                     ;; size=40 bbWeight=4 PerfScore 68.00
 G_M44928_IG06:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdx r14-r15]
        xor      rax, rax
@@ -112,7 +114,7 @@ G_M44928_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 148, prolog size 16, PerfScore 113.38, instruction count 52, allocated bytes for code 148 (MethodHash=bf92507f) for method System.Linq.Expressions.Interpreter.BranchLabel:Mark(System.Linq.Expressions.Interpreter.InstructionList):this (FullOpts)
+; Total bytes of code 151, prolog size 16, PerfScore 110.38, instruction count 53, allocated bytes for code 151 (MethodHash=bf92507f) for method System.Linq.Expressions.Interpreter.BranchLabel:Mark(System.Linq.Expressions.Interpreter.InstructionList):this (FullOpts)
 ; ============================================================
 
 Cfi Info:
  
  
  
Details
Improvements/regressions per collection
| Collection | Contexts with diffs | Improvements | Regressions | Same size | Improvements (bytes) | Regressions (bytes) | 
| benchmarks.run.linux.x64.checked.mch | 83 | 18 | 64 | 1 | -98 | +195 | 
| benchmarks.run_pgo.linux.x64.checked.mch | 83 | 26 | 51 | 6 | -373 | +2,142 | 
| benchmarks.run_tiered.linux.x64.checked.mch | 17 | 10 | 6 | 1 | -66 | +18 | 
| coreclr_tests.run.linux.x64.checked.mch | 85 | 44 | 39 | 2 | -417 | +163 | 
| libraries.crossgen2.linux.x64.checked.mch | 34 | 20 | 13 | 1 | -139 | +54 | 
| libraries.pmi.linux.x64.checked.mch | 291 | 139 | 143 | 9 | -1,332 | +484 | 
| libraries_tests.run.linux.x64.Release.mch | 21 | 19 | 2 | 0 | -257 | +26 | 
| librariestestsnotieredcompilation.run.linux.x64.Release.mch | 304 | 168 | 124 | 12 | -1,466 | +505 | 
| realworld.run.linux.x64.checked.mch | 118 | 31 | 84 | 3 | -274 | +250 | 
| smoke_tests.nativeaot.linux.x64.checked.mch | 24 | 15 | 8 | 1 | -183 | +26 | 
|  | 1,060 | 490 | 534 | 36 | -4,605 | +3,863 | 
Context information
| Collection | Diffed contexts | MinOpts | FullOpts | Missed, base | Missed, diff | 
| benchmarks.run.linux.x64.checked.mch | 31,386 | 2,008 | 29,378 | 50 (0.16%) | 50 (0.16%) | 
| benchmarks.run_pgo.linux.x64.checked.mch | 130,177 | 50,713 | 79,464 | 63 (0.05%) | 63 (0.05%) | 
| benchmarks.run_tiered.linux.x64.checked.mch | 60,408 | 46,324 | 14,084 | 46 (0.08%) | 46 (0.08%) | 
| coreclr_tests.run.linux.x64.checked.mch | 391,292 | 185,267 | 206,025 | 109 (0.03%) | 109 (0.03%) | 
| libraries.crossgen2.linux.x64.checked.mch | 264,739 | 15 | 264,724 | 0 (0.00%) | 0 (0.00%) | 
| libraries.pmi.linux.x64.checked.mch | 297,005 | 6 | 296,999 | 64 (0.02%) | 66 (0.02%) | 
| libraries_tests.run.linux.x64.Release.mch | 81,974 | 53,841 | 28,133 | 8 (0.01%) | 8 (0.01%) | 
| librariestestsnotieredcompilation.run.linux.x64.Release.mch | 303,541 | 21,933 | 281,608 | 2,284 (0.75%) | 2,285 (0.75%) | 
| realworld.run.linux.x64.checked.mch | 33,237 | 45 | 33,192 | 11 (0.03%) | 11 (0.03%) | 
| smoke_tests.nativeaot.linux.x64.checked.mch | 27,441 | 10 | 27,431 | 12 (0.04%) | 12 (0.04%) | 
|  | 1,621,200 | 360,162 | 1,261,038 | 2,647 (0.16%) | 2,650 (0.16%) | 
jit-analyze output
benchmarks.run.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 11931736 (overridden on cmd)
Total bytes of diff: 11931833 (overridden on cmd)
Total bytes of delta: 97 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          11 : 4789.dasm (0.57 % of base)
           6 : 21816.dasm (0.23 % of base)
           6 : 14702.dasm (0.07 % of base)
           5 : 3438.dasm (0.21 % of base)
           5 : 4706.dasm (0.08 % of base)
           5 : 3816.dasm (0.64 % of base)
           4 : 4788.dasm (0.12 % of base)
           3 : 11508.dasm (1.00 % of base)
           3 : 1786.dasm (1.04 % of base)
           3 : 1789.dasm (2.04 % of base)
           3 : 18767.dasm (0.24 % of base)
           3 : 18778.dasm (1.26 % of base)
           3 : 18911.dasm (0.36 % of base)
           3 : 18959.dasm (0.46 % of base)
           3 : 18960.dasm (0.28 % of base)
           3 : 21811.dasm (0.48 % of base)
           3 : 5814.dasm (2.94 % of base)
           3 : 7828.dasm (0.22 % of base)
           3 : 9016.dasm (2.36 % of base)
           3 : 9145.dasm (2.36 % of base)
Top file improvements (bytes):
         -15 : 7177.dasm (-0.80 % of base)
          -9 : 14878.dasm (-0.10 % of base)
          -9 : 2729.dasm (-1.64 % of base)
          -8 : 3210.dasm (-0.35 % of base)
          -8 : 472.dasm (-0.47 % of base)
          -8 : 4892.dasm (-0.29 % of base)
          -7 : 14134.dasm (-0.42 % of base)
          -6 : 21729.dasm (-0.54 % of base)
          -5 : 2059.dasm (-0.31 % of base)
          -4 : 5597.dasm (-1.08 % of base)
          -4 : 4299.dasm (-0.92 % of base)
          -4 : 70.dasm (-0.41 % of base)
          -3 : 6710.dasm (-0.07 % of base)
          -2 : 1068.dasm (-0.33 % of base)
          -2 : 22239.dasm (-0.30 % of base)
          -2 : 4061.dasm (-0.60 % of base)
          -1 : 1409.dasm (-0.10 % of base)
          -1 : 2446.dasm (-0.08 % of base)
57 total files with Code Size differences (18 improved, 39 regressed), 1 unchanged.
Top method regressions (bytes):
          11 (0.57 % of base) : 4789.dasm - ProtoBuf.Meta.MetaType:ValidateReservations():this (FullOpts)
           6 (0.23 % of base) : 21816.dasm - JetStream.Hand:score():this (FullOpts)
           6 (0.07 % of base) : 14702.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
           5 (0.08 % of base) : 4706.dasm - ProtoBuf.Meta.MetaType:ApplyDefaultBehaviourImpl(int):this (FullOpts)
           5 (0.21 % of base) : 3438.dasm - System.Threading.Tasks.Task:WaitAllCore(System.Threading.Tasks.Task[],int,System.Threading.CancellationToken):ubyte (FullOpts)
           5 (0.64 % of base) : 3816.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
           4 (0.12 % of base) : 4788.dasm - ProtoBuf.Meta.MetaType:BuildSerializer():ProtoBuf.Internal.Serializers.IProtoTypeSerializer:this (FullOpts)
           3 (1.00 % of base) : 11508.dasm - (dynamicClass):WriteArrayOfintToJson(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
           3 (1.26 % of base) : 14009.dasm - (dynamicClass):WriteArrayOfintToXml(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.XmlObjectSerializerWriteContext,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
           3 (0.48 % of base) : 21811.dasm - JetStream.Hands:playHands(System.Collections.Generic.List`1[JetStream.Player]) (FullOpts)
           3 (1.89 % of base) : 6792.dasm - Jil.Deserialize.NameAutomata`1[int]:DoCharLinearScan[int](Jil.Deserialize.NameAutomata`1+Data`1[int,int],System.Collections.Generic.List`1[System.Tuple`2[ushort,Sigil.Label]]) (FullOpts)
           3 (0.24 % of base) : 18767.dasm - Microsoft.Cci.MetadataWriter:PopulateFileTableRows():this (FullOpts)
           3 (1.26 % of base) : 18778.dasm - Microsoft.Cci.MetadataWriter:PopulateMethodImplTableRows():this (FullOpts)
           3 (1.18 % of base) : 14174.dasm - Microsoft.Extensions.Configuration.ConfigurationBuilder:Build():Microsoft.Extensions.Configuration.IConfigurationRoot:this (FullOpts)
           3 (2.36 % of base) : 9145.dasm - Newtonsoft.Json.Serialization.JsonContract:InvokeOnDeserialized(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
           3 (2.36 % of base) : 9098.dasm - Newtonsoft.Json.Serialization.JsonContract:InvokeOnDeserializing(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
           3 (2.36 % of base) : 9077.dasm - Newtonsoft.Json.Serialization.JsonContract:InvokeOnSerialized(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
           3 (2.36 % of base) : 9016.dasm - Newtonsoft.Json.Serialization.JsonContract:InvokeOnSerializing(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
           3 (0.76 % of base) : 3716.dasm - System.Diagnostics.Metrics.Instrument:Publish():this (FullOpts)
           3 (0.53 % of base) : 7624.dasm - System.Diagnostics.Tracing.EventSource:EnsureDescriptorsInitialized():this (FullOpts)
Top method improvements (bytes):
         -15 (-0.80 % of base) : 7177.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (FullOpts)
          -9 (-1.64 % of base) : 2729.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -9 (-0.10 % of base) : 14878.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (FullOpts)
          -8 (-0.29 % of base) : 4892.dasm - ProtoBuf.Internal.Serializers.TypeSerializer`1[System.__Canon]:ProtoBuf.Internal.Serializers.IRuntimeProtoSerializerNode.EmitRead(ProtoBuf.Compiler.CompilerContext,ProtoBuf.Compiler.Local):this (FullOpts)
          -8 (-0.35 % of base) : 3210.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -8 (-0.47 % of base) : 472.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
          -7 (-0.42 % of base) : 14134.dasm - System.Formats.Tar.TarReader+<DisposeAsync>d__8:MoveNext():this (FullOpts)
          -6 (-0.54 % of base) : 21729.dasm - System.Diagnostics.ProcessWaitState:CheckChildren(ubyte,ubyte) (FullOpts)
          -5 (-0.31 % of base) : 2059.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
          -4 (-0.41 % of base) : 70.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
          -4 (-1.08 % of base) : 5597.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
          -4 (-0.92 % of base) : 4299.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -3 (-0.07 % of base) : 6710.dasm - Jil.Deserialize.InlineDeserializer`1[System.__Canon]:ReadObjectAutomata(System.Type):this (FullOpts)
          -2 (-0.33 % of base) : 1068.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
          -2 (-0.30 % of base) : 22239.dasm - System.IO.BinaryReader:Read():int:this (FullOpts)
          -2 (-0.60 % of base) : 4061.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
          -1 (-0.08 % of base) : 2446.dasm - System.Text.RegularExpressions.RegexNode:<ReduceAlternation>g__ExtractCommonPrefixOneNotoneSet|41_1(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.RegexNode (FullOpts)
          -1 (-0.10 % of base) : 1409.dasm - System.Text.RegularExpressions.RegexNode:EliminateEndingBacktracking():this (FullOpts)
Top method regressions (percentages):
           3 (2.94 % of base) : 5814.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:EmitWriteBack(System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack]):this (FullOpts)
           3 (2.52 % of base) : 9637.dasm - System.Diagnostics.Tracing.TraceLoggingMetadataCollector+Impl:Encode(ubyte[]):int:this (FullOpts)
           3 (2.36 % of base) : 9145.dasm - Newtonsoft.Json.Serialization.JsonContract:InvokeOnDeserialized(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
           3 (2.36 % of base) : 9098.dasm - Newtonsoft.Json.Serialization.JsonContract:InvokeOnDeserializing(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
           3 (2.36 % of base) : 9077.dasm - Newtonsoft.Json.Serialization.JsonContract:InvokeOnSerialized(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
           3 (2.36 % of base) : 9016.dasm - Newtonsoft.Json.Serialization.JsonContract:InvokeOnSerializing(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
           3 (2.10 % of base) : 13433.dasm - System.Formats.Tar.TarReader:Dispose():this (FullOpts)
           3 (2.04 % of base) : 1789.dasm - System.Text.Json.JsonSerializerOptions:GetConverterFromList(System.Type):System.Text.Json.Serialization.JsonConverter:this (FullOpts)
           3 (1.89 % of base) : 6792.dasm - Jil.Deserialize.NameAutomata`1[int]:DoCharLinearScan[int](Jil.Deserialize.NameAutomata`1+Data`1[int,int],System.Collections.Generic.List`1[System.Tuple`2[ushort,Sigil.Label]]) (FullOpts)
           3 (1.26 % of base) : 18778.dasm - Microsoft.Cci.MetadataWriter:PopulateMethodImplTableRows():this (FullOpts)
           3 (1.26 % of base) : 14009.dasm - (dynamicClass):WriteArrayOfintToXml(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.XmlObjectSerializerWriteContext,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
           3 (1.18 % of base) : 14174.dasm - Microsoft.Extensions.Configuration.ConfigurationBuilder:Build():Microsoft.Extensions.Configuration.IConfigurationRoot:this (FullOpts)
           3 (1.18 % of base) : 18972.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeStandAloneSigTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           3 (1.12 % of base) : 1954.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:DetermineIsCompatibleWithCurrentOptions():this (FullOpts)
           3 (1.04 % of base) : 1786.dasm - System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:GetTypeInfo(System.Type,System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonTypeInfo:this (FullOpts)
           3 (1.00 % of base) : 11508.dasm - (dynamicClass):WriteArrayOfintToJson(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
           2 (0.88 % of base) : 13693.dasm - System.Net.NetworkInformation.UnixIPInterfaceProperties:GetUnicastAddresses(System.Net.NetworkInformation.UnixNetworkInterface):System.Net.NetworkInformation.UnicastIPAddressInformationCollection (FullOpts)
           3 (0.80 % of base) : 4047.dasm - System.Net.Http.Headers.HttpHeaders:ContainsParsedValue(System.Net.Http.Headers.HeaderDescriptor,System.Object):ubyte:this (FullOpts)
           3 (0.76 % of base) : 3716.dasm - System.Diagnostics.Metrics.Instrument:Publish():this (FullOpts)
           2 (0.71 % of base) : 13695.dasm - System.Net.NetworkInformation.UnixIPInterfaceProperties:GetMulticastAddresses(System.Net.NetworkInformation.UnixNetworkInterface):System.Net.NetworkInformation.MulticastIPAddressInformationCollection (FullOpts)
Top method improvements (percentages):
          -9 (-1.64 % of base) : 2729.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -4 (-1.08 % of base) : 5597.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
          -4 (-0.92 % of base) : 4299.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
         -15 (-0.80 % of base) : 7177.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (FullOpts)
          -2 (-0.60 % of base) : 4061.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
          -6 (-0.54 % of base) : 21729.dasm - System.Diagnostics.ProcessWaitState:CheckChildren(ubyte,ubyte) (FullOpts)
          -8 (-0.47 % of base) : 472.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
          -7 (-0.42 % of base) : 14134.dasm - System.Formats.Tar.TarReader+<DisposeAsync>d__8:MoveNext():this (FullOpts)
          -4 (-0.41 % of base) : 70.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
          -8 (-0.35 % of base) : 3210.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -2 (-0.33 % of base) : 1068.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
          -5 (-0.31 % of base) : 2059.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
          -2 (-0.30 % of base) : 22239.dasm - System.IO.BinaryReader:Read():int:this (FullOpts)
          -8 (-0.29 % of base) : 4892.dasm - ProtoBuf.Internal.Serializers.TypeSerializer`1[System.__Canon]:ProtoBuf.Internal.Serializers.IRuntimeProtoSerializerNode.EmitRead(ProtoBuf.Compiler.CompilerContext,ProtoBuf.Compiler.Local):this (FullOpts)
          -9 (-0.10 % of base) : 14878.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (FullOpts)
          -1 (-0.10 % of base) : 1409.dasm - System.Text.RegularExpressions.RegexNode:EliminateEndingBacktracking():this (FullOpts)
          -1 (-0.08 % of base) : 2446.dasm - System.Text.RegularExpressions.RegexNode:<ReduceAlternation>g__ExtractCommonPrefixOneNotoneSet|41_1(System.Text.RegularExpressions.RegexNode):System.Text.RegularExpressions.RegexNode (FullOpts)
          -3 (-0.07 % of base) : 6710.dasm - Jil.Deserialize.InlineDeserializer`1[System.__Canon]:ReadObjectAutomata(System.Type):this (FullOpts)
  
benchmarks.run_pgo.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 57208438 (overridden on cmd)
Total bytes of diff: 57210207 (overridden on cmd)
Total bytes of delta: 1769 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         122 : 120375.dasm (4.15 % of base)
          97 : 52207.dasm (3.14 % of base)
          86 : 53313.dasm (2.64 % of base)
          83 : 95487.dasm (2.67 % of base)
          80 : 123811.dasm (2.24 % of base)
          76 : 37250.dasm (2.35 % of base)
          76 : 38267.dasm (2.12 % of base)
          74 : 129337.dasm (2.07 % of base)
          73 : 108854.dasm (2.38 % of base)
          69 : 108290.dasm (2.20 % of base)
          68 : 64075.dasm (1.08 % of base)
          64 : 115957.dasm (1.90 % of base)
          64 : 16691.dasm (2.09 % of base)
          63 : 111283.dasm (1.98 % of base)
          61 : 69549.dasm (2.00 % of base)
          60 : 31023.dasm (1.65 % of base)
          59 : 31997.dasm (1.90 % of base)
          59 : 100886.dasm (1.87 % of base)
          57 : 122409.dasm (1.82 % of base)
          54 : 58062.dasm (1.76 % of base)
Top file improvements (bytes):
         -38 : 121110.dasm (-1.60 % of base)
         -38 : 32733.dasm (-1.60 % of base)
         -36 : 92497.dasm (-1.70 % of base)
         -36 : 97315.dasm (-1.70 % of base)
         -36 : 98185.dasm (-1.57 % of base)
         -28 : 84640.dasm (-1.60 % of base)
         -28 : 86937.dasm (-1.60 % of base)
         -17 : 103078.dasm (-3.18 % of base)
         -10 : 26433.dasm (-1.72 % of base)
          -9 : 63905.dasm (-0.84 % of base)
          -9 : 9276.dasm (-0.84 % of base)
          -9 : 12607.dasm (-0.84 % of base)
          -9 : 16575.dasm (-0.84 % of base)
          -9 : 78354.dasm (-0.84 % of base)
          -9 : 16047.dasm (-0.84 % of base)
          -8 : 91688.dasm (-0.60 % of base)
          -8 : 43712.dasm (-0.63 % of base)
          -7 : 112473.dasm (-0.40 % of base)
          -7 : 118691.dasm (-0.40 % of base)
          -6 : 122538.dasm (-0.37 % of base)
50 total files with Code Size differences (23 improved, 27 regressed), 6 unchanged.
Top method regressions (bytes):
         122 (4.15 % of base) : 120375.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          97 (3.14 % of base) : 52207.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          86 (2.64 % of base) : 53313.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          83 (2.67 % of base) : 95487.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          80 (2.24 % of base) : 123811.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          76 (2.35 % of base) : 37250.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          76 (2.12 % of base) : 38267.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          74 (2.07 % of base) : 129337.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          73 (2.38 % of base) : 108854.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          69 (2.20 % of base) : 108290.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          68 (1.08 % of base) : 64075.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          64 (1.90 % of base) : 115957.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          64 (2.09 % of base) : 16691.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          63 (1.98 % of base) : 111283.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          61 (2.00 % of base) : 69549.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          60 (1.65 % of base) : 31023.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          59 (1.90 % of base) : 31997.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          59 (1.87 % of base) : 100886.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          57 (1.82 % of base) : 122409.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          54 (1.76 % of base) : 58062.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
Top method improvements (bytes):
         -38 (-1.60 % of base) : 121110.dasm - System.Linq.Lookup`2[System.__Canon,System.__Canon]:Create(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Linq.Lookup`2[System.__Canon,System.__Canon] (Tier1)
         -38 (-1.60 % of base) : 32733.dasm - System.Linq.Lookup`2[System.__Canon,System.__Canon]:Create(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Linq.Lookup`2[System.__Canon,System.__Canon] (Tier1)
         -36 (-1.57 % of base) : 98185.dasm - LinqBenchmarks:Where01LinqMethodNestedX():ubyte:this (Tier1-OSR)
         -36 (-1.70 % of base) : 97315.dasm - LinqBenchmarks:Where01LinqMethodX():ubyte:this (Tier1-OSR)
         -36 (-1.70 % of base) : 92497.dasm - LinqBenchmarks:Where01LinqQueryX():ubyte:this (Tier1-OSR)
         -28 (-1.60 % of base) : 86937.dasm - LinqBenchmarks:Where00LinqMethodX():ubyte:this (Tier1-OSR)
         -28 (-1.60 % of base) : 84640.dasm - LinqBenchmarks:Where00LinqQueryX():ubyte:this (Tier1-OSR)
         -17 (-3.18 % of base) : 103078.dasm - System.Linq.Enumerable:Count[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (Tier1)
         -10 (-1.72 % of base) : 26433.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
          -9 (-0.84 % of base) : 63905.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -9 (-0.84 % of base) : 9276.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -9 (-0.84 % of base) : 12607.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -9 (-0.84 % of base) : 16575.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -9 (-0.84 % of base) : 78354.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -9 (-0.84 % of base) : 16047.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -8 (-0.60 % of base) : 91688.dasm - System.IO.File:WriteToFile(System.String,int,System.String,System.Text.Encoding) (Tier0-FullOpts)
          -8 (-0.63 % of base) : 43712.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          -7 (-0.40 % of base) : 112473.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          -7 (-0.40 % of base) : 118691.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          -6 (-0.37 % of base) : 122538.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (Tier1-OSR)
Top method regressions (percentages):
         122 (4.15 % of base) : 120375.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          97 (3.14 % of base) : 52207.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          83 (2.67 % of base) : 95487.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          86 (2.64 % of base) : 53313.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          73 (2.38 % of base) : 108854.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          76 (2.35 % of base) : 37250.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          80 (2.24 % of base) : 123811.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          69 (2.20 % of base) : 108290.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          76 (2.12 % of base) : 38267.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          64 (2.09 % of base) : 16691.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          74 (2.07 % of base) : 129337.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          61 (2.00 % of base) : 69549.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          63 (1.98 % of base) : 111283.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          64 (1.90 % of base) : 115957.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          59 (1.90 % of base) : 31997.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          59 (1.87 % of base) : 100886.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          53 (1.85 % of base) : 118037.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          57 (1.82 % of base) : 122409.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          31 (1.80 % of base) : 41251.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          31 (1.80 % of base) : 85891.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
Top method improvements (percentages):
         -17 (-3.18 % of base) : 103078.dasm - System.Linq.Enumerable:Count[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (Tier1)
         -10 (-1.72 % of base) : 26433.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
         -36 (-1.70 % of base) : 97315.dasm - LinqBenchmarks:Where01LinqMethodX():ubyte:this (Tier1-OSR)
         -36 (-1.70 % of base) : 92497.dasm - LinqBenchmarks:Where01LinqQueryX():ubyte:this (Tier1-OSR)
         -38 (-1.60 % of base) : 121110.dasm - System.Linq.Lookup`2[System.__Canon,System.__Canon]:Create(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Linq.Lookup`2[System.__Canon,System.__Canon] (Tier1)
         -38 (-1.60 % of base) : 32733.dasm - System.Linq.Lookup`2[System.__Canon,System.__Canon]:Create(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Linq.Lookup`2[System.__Canon,System.__Canon] (Tier1)
         -28 (-1.60 % of base) : 86937.dasm - LinqBenchmarks:Where00LinqMethodX():ubyte:this (Tier1-OSR)
         -28 (-1.60 % of base) : 84640.dasm - LinqBenchmarks:Where00LinqQueryX():ubyte:this (Tier1-OSR)
         -36 (-1.57 % of base) : 98185.dasm - LinqBenchmarks:Where01LinqMethodNestedX():ubyte:this (Tier1-OSR)
          -1 (-1.41 % of base) : 111408.dasm - System.Numerics.BigIntegerCalculator:Compare(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint]):int (Tier1)
          -4 (-1.21 % of base) : 6977.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
          -9 (-0.84 % of base) : 63905.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -9 (-0.84 % of base) : 9276.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -9 (-0.84 % of base) : 12607.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -9 (-0.84 % of base) : 16575.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -9 (-0.84 % of base) : 78354.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -9 (-0.84 % of base) : 16047.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -8 (-0.63 % of base) : 43712.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          -8 (-0.60 % of base) : 91688.dasm - System.IO.File:WriteToFile(System.String,int,System.String,System.Text.Encoding) (Tier0-FullOpts)
          -4 (-0.51 % of base) : 12503.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (Tier0-FullOpts)
  
benchmarks.run_tiered.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 18554476 (overridden on cmd)
Total bytes of diff: 18554428 (overridden on cmd)
Total bytes of delta: -48 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
           6 : 34022.dasm (0.07 % of base)
           3 : 32551.dasm (1.26 % of base)
           3 : 25014.dasm (1.00 % of base)
           2 : 26704.dasm (0.14 % of base)
           2 : 45453.dasm (0.23 % of base)
           2 : 23147.dasm (0.06 % of base)
Top file improvements (bytes):
         -15 : 34707.dasm (-0.80 % of base)
          -9 : 16857.dasm (-2.66 % of base)
          -9 : 21062.dasm (-1.57 % of base)
          -8 : 7807.dasm (-0.35 % of base)
          -8 : 2683.dasm (-0.47 % of base)
          -5 : 24297.dasm (-0.31 % of base)
          -5 : 25531.dasm (-0.31 % of base)
          -4 : 1512.dasm (-0.41 % of base)
          -2 : 52222.dasm (-0.30 % of base)
          -1 : 23134.dasm (-0.10 % of base)
16 total files with Code Size differences (10 improved, 6 regressed), 1 unchanged.
Top method regressions (bytes):
           6 (0.07 % of base) : 34022.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
           3 (1.00 % of base) : 25014.dasm - (dynamicClass):WriteArrayOfintToJson(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
           3 (1.26 % of base) : 32551.dasm - (dynamicClass):WriteArrayOfintToXml(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.XmlObjectSerializerWriteContext,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
           2 (0.23 % of base) : 45453.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
           2 (0.06 % of base) : 23147.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:<FindFixedDistanceSets>g__TryFindRawFixedSets|2_0(System.Text.RegularExpressions.RegexNode,System.Collections.Generic.List`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet],byref,ubyte):ubyte (Tier1)
           2 (0.14 % of base) : 26704.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:<CreateBDDFromSetString>g__Compute|5_0(System.String):System.Text.RegularExpressions.Symbolic.BDD:this (Tier0-FullOpts)
Top method improvements (bytes):
         -15 (-0.80 % of base) : 34707.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (Tier1)
          -9 (-1.57 % of base) : 21062.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
          -9 (-2.66 % of base) : 16857.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
          -8 (-0.35 % of base) : 7807.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -8 (-0.47 % of base) : 2683.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (Tier1)
          -5 (-0.31 % of base) : 25531.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (Tier1)
          -5 (-0.31 % of base) : 24297.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (Tier1-OSR)
          -4 (-0.41 % of base) : 1512.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -2 (-0.30 % of base) : 52222.dasm - System.IO.BinaryReader:Read():int:this (Tier0-FullOpts)
          -1 (-0.10 % of base) : 23134.dasm - System.Text.RegularExpressions.RegexNode:EliminateEndingBacktracking():this (Tier1)
Top method regressions (percentages):
           3 (1.26 % of base) : 32551.dasm - (dynamicClass):WriteArrayOfintToXml(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.XmlObjectSerializerWriteContext,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
           3 (1.00 % of base) : 25014.dasm - (dynamicClass):WriteArrayOfintToJson(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
           2 (0.23 % of base) : 45453.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
           2 (0.14 % of base) : 26704.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:<CreateBDDFromSetString>g__Compute|5_0(System.String):System.Text.RegularExpressions.Symbolic.BDD:this (Tier0-FullOpts)
           6 (0.07 % of base) : 34022.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
           2 (0.06 % of base) : 23147.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:<FindFixedDistanceSets>g__TryFindRawFixedSets|2_0(System.Text.RegularExpressions.RegexNode,System.Collections.Generic.List`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet],byref,ubyte):ubyte (Tier1)
Top method improvements (percentages):
          -9 (-2.66 % of base) : 16857.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
          -9 (-1.57 % of base) : 21062.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
         -15 (-0.80 % of base) : 34707.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (Tier1)
          -8 (-0.47 % of base) : 2683.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (Tier1)
          -4 (-0.41 % of base) : 1512.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -8 (-0.35 % of base) : 7807.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -5 (-0.31 % of base) : 25531.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (Tier1)
          -5 (-0.31 % of base) : 24297.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (Tier1-OSR)
          -2 (-0.30 % of base) : 52222.dasm - System.IO.BinaryReader:Read():int:this (Tier0-FullOpts)
          -1 (-0.10 % of base) : 23134.dasm - System.Text.RegularExpressions.RegexNode:EliminateEndingBacktracking():this (Tier1)
16 total methods with Code Size differences (10 improved, 6 regressed).
  
coreclr_tests.run.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 247130491 (overridden on cmd)
Total bytes of diff: 247130237 (overridden on cmd)
Total bytes of delta: -254 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          37 : 302054.dasm (0.86 % of base)
          19 : 327662.dasm (0.78 % of base)
          12 : 293174.dasm (1.25 % of base)
           6 : 386363.dasm (0.37 % of base)
           5 : 387814.dasm (0.78 % of base)
           3 : 280264.dasm (0.28 % of base)
           3 : 280276.dasm (1.18 % of base)
           3 : 320949.dasm (0.55 % of base)
           3 : 369282.dasm (0.39 % of base)
           3 : 280069.dasm (1.26 % of base)
           3 : 277742.dasm (0.45 % of base)
           3 : 280263.dasm (0.46 % of base)
           3 : 280278.dasm (0.25 % of base)
           3 : 327557.dasm (0.77 % of base)
           3 : 368470.dasm (0.58 % of base)
           3 : 387546.dasm (0.28 % of base)
           3 : 387668.dasm (1.06 % of base)
           3 : 388516.dasm (0.18 % of base)
           3 : 280268.dasm (0.48 % of base)
           3 : 369709.dasm (0.87 % of base)
Top file improvements (bytes):
         -35 : 274305.dasm (-6.18 % of base)
         -29 : 324578.dasm (-16.48 % of base)
         -29 : 368216.dasm (-0.35 % of base)
         -25 : 389423.dasm (-0.83 % of base)
         -22 : 50202.dasm (-0.73 % of base)
         -20 : 389196.dasm (-0.44 % of base)
         -18 : 389015.dasm (-0.61 % of base)
         -16 : 388565.dasm (-0.14 % of base)
         -15 : 296862.dasm (-0.37 % of base)
         -13 : 369466.dasm (-0.78 % of base)
         -11 : 99596.dasm (-0.98 % of base)
         -11 : 330467.dasm (-5.05 % of base)
         -10 : 292930.dasm (-1.34 % of base)
         -10 : 389293.dasm (-0.51 % of base)
         -10 : 389337.dasm (-0.90 % of base)
         -10 : 331084.dasm (-0.73 % of base)
          -9 : 95701.dasm (-0.88 % of base)
          -8 : 370105.dasm (-0.47 % of base)
          -8 : 389285.dasm (-0.70 % of base)
          -8 : 369705.dasm (-0.69 % of base)
50 total files with Code Size differences (24 improved, 26 regressed), 2 unchanged.
Top method regressions (bytes):
          37 (0.86 % of base) : 302054.dasm - GetInterfaceMapWithStaticVirtualsAndConstraints.Program:TestEntryPoint() (FullOpts)
          19 (0.78 % of base) : 327662.dasm - System.Xml.Xsl.IlGen.XmlILModule:DefineMethod(System.String,System.Type,System.Type[],System.String[],int):System.Reflection.MethodInfo:this (FullOpts)
          12 (1.25 % of base) : 293174.dasm - System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
           6 (0.37 % of base) : 386363.dasm - Profiler.Tests.GCTests:RunTest(System.String[]):int (FullOpts)
           5 (0.78 % of base) : 387814.dasm - Program:ManipulateListOfInt():ubyte (FullOpts)
           3 (0.87 % of base) : 369709.dasm - ILCompiler.PEWriter.SectionBuilder:FlushRelocationBlock(System.Reflection.Metadata.BlobBuilder,int,System.Collections.Generic.List`1[ushort]) (FullOpts)
           3 (0.55 % of base) : 320949.dasm - InputValidation+InputValidationTest:.ctor(ubyte,ubyte):this (FullOpts)
           3 (0.39 % of base) : 369282.dasm - Internal.JitInterface.CorInfoImpl:CompileMethodCleanup():this (FullOpts)
           3 (0.58 % of base) : 368470.dasm - Internal.TypeSystem.Ecma.MutableModule+Cache:ResetEmitter():this (FullOpts)
           3 (0.28 % of base) : 387546.dasm - Internal.TypeSystem.ExplicitLayoutValidator:AddToFieldLayout(int,Internal.TypeSystem.TypeDesc):this (FullOpts)
           3 (0.18 % of base) : 388516.dasm - Microsoft.Build.Evaluation.Project+ProjectImpl:get_IsDirty():ubyte:this (FullOpts)
           3 (1.26 % of base) : 280069.dasm - Microsoft.Cci.MetadataWriter:PopulateMethodImplTableRows():this (FullOpts)
           3 (0.45 % of base) : 277742.dasm - Microsoft.CodeAnalysis.PEModule:ExtractStringValuesFromAttributes(System.Collections.Generic.List`1[Microsoft.CodeAnalysis.PEModule+AttributeInfo]):Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.String]:this (FullOpts)
           3 (0.25 % of base) : 280278.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeAssemblyRefTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           3 (0.48 % of base) : 280268.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeMemberRefTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           3 (0.73 % of base) : 387714.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeMethodSpecTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           3 (1.06 % of base) : 387668.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeModuleRefTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           3 (1.18 % of base) : 280276.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeStandAloneSigTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           3 (0.28 % of base) : 280264.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeTypeDefTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           3 (0.46 % of base) : 280263.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeTypeRefTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
Top method improvements (bytes):
         -35 (-6.18 % of base) : 274305.dasm - CloningForIEnumerable:Sum(System.Collections.Generic.IEnumerable`1[int]):int (Tier1)
         -29 (-0.35 % of base) : 368216.dasm - ILCompiler.Program:RunSingleCompilation(System.Collections.Generic.Dictionary`2[System.String,System.String],ILCompiler.InstructionSetSupport,System.String,System.Collections.Generic.Dictionary`2[System.String,System.String],System.Collections.Generic.HashSet`1[Internal.TypeSystem.ModuleDesc],ILCompiler.ReadyToRunCompilerContext,ILCompiler.Logger):this (FullOpts)
         -29 (-16.48 % of base) : 324578.dasm - Program:M49() (FullOpts)
         -25 (-0.83 % of base) : 389423.dasm - R2RTest.Buckets:WriteToStream(System.IO.StreamWriter,ubyte):this (FullOpts)
         -22 (-0.73 % of base) : 50202.dasm - System.Threading.Tasks.Task:WaitAllCore(System.Threading.Tasks.Task[],int,System.Threading.CancellationToken):ubyte (Instrumented Tier1)
         -20 (-0.44 % of base) : 389196.dasm - Microsoft.Build.BackEnd.TargetEntry+<ExecuteTarget>d__44:MoveNext():this (FullOpts)
         -18 (-0.61 % of base) : 389015.dasm - Microsoft.Build.BackEnd.Scheduler:DumpSchedulerState():this (FullOpts)
         -16 (-0.14 % of base) : 388565.dasm - Microsoft.Build.Evaluation.Evaluator`4[System.__Canon,System.__Canon,System.__Canon,System.__Canon]:Evaluate():this (FullOpts)
         -15 (-0.37 % of base) : 296862.dasm - GenClass`1[int]:DoTest_Inner[System.__Canon,System.__Canon,System.__Canon](int,GenClass`1[System.__Canon],GenClass`1[System.__Canon],GenClass`1[System.__Canon]) (FullOpts)
         -13 (-0.78 % of base) : 369466.dasm - ILCompiler.MetadataManager:GetCompiledMethods(Internal.TypeSystem.Ecma.EcmaModule,int):System.Collections.Generic.IEnumerable`1[ILCompiler.DependencyAnalysis.IMethodNode]:this (FullOpts)
         -11 (-0.98 % of base) : 99596.dasm - System.Diagnostics.ProcessWaitState:CheckChildren(ubyte,ubyte) (FullOpts)
         -11 (-5.05 % of base) : 330467.dasm - Test.BB:TestEntryPoint() (FullOpts)
         -10 (-0.90 % of base) : 389337.dasm - Microsoft.Build.BackEnd.Logging.LoggingService:ShutdownComponent():this (FullOpts)
         -10 (-0.51 % of base) : 389293.dasm - Microsoft.Build.Execution.BuildManager:EndBuild():this (FullOpts)
         -10 (-1.34 % of base) : 292930.dasm - Microsoft.CSharp.RuntimeBinder.BinderHelper:ValidateBindArgument(System.Dynamic.DynamicMetaObject[],System.String) (FullOpts)
         -10 (-0.73 % of base) : 331084.dasm - test86865.test86865:TestEntryPoint():int (FullOpts)
          -9 (-0.88 % of base) : 95701.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -8 (-0.69 % of base) : 369705.dasm - ILCompiler.PEWriter.SectionBuilder:SerializeRelocationSection(System.Reflection.PortableExecutable.SectionLocation):System.Reflection.Metadata.BlobBuilder:this (FullOpts)
          -8 (-0.70 % of base) : 389285.dasm - Microsoft.Build.BackEnd.SchedulingPlan:WritePlan(int,Microsoft.Build.BackEnd.Logging.ILoggingService,Microsoft.Build.Framework.BuildEventContext):this (FullOpts)
          -8 (-0.48 % of base) : 388763.dasm - Microsoft.Build.Execution.ProjectInstance:CreateItemsSnapshot(System.Collections.Generic.ICollection`1[Microsoft.Build.Evaluation.ProjectItem],int,ubyte):System.Collections.Generic.Dictionary`2[Microsoft.Build.Evaluation.ProjectItem,Microsoft.Build.Execution.ProjectItemInstance]:this (FullOpts)
Top method regressions (percentages):
           3 (1.26 % of base) : 280069.dasm - Microsoft.Cci.MetadataWriter:PopulateMethodImplTableRows():this (FullOpts)
          12 (1.25 % of base) : 293174.dasm - System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
           3 (1.18 % of base) : 280276.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeStandAloneSigTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           3 (1.18 % of base) : 387669.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeTypeSpecTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           3 (1.06 % of base) : 387668.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeModuleRefTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           3 (0.87 % of base) : 369709.dasm - ILCompiler.PEWriter.SectionBuilder:FlushRelocationBlock(System.Reflection.Metadata.BlobBuilder,int,System.Collections.Generic.List`1[ushort]) (FullOpts)
          37 (0.86 % of base) : 302054.dasm - GetInterfaceMapWithStaticVirtualsAndConstraints.Program:TestEntryPoint() (FullOpts)
           2 (0.85 % of base) : 321072.dasm - GCUtil:FreePins() (FullOpts)
           2 (0.85 % of base) : 321071.dasm - GCUtil:FreePins2() (FullOpts)
          19 (0.78 % of base) : 327662.dasm - System.Xml.Xsl.IlGen.XmlILModule:DefineMethod(System.String,System.Type,System.Type[],System.String[],int):System.Reflection.MethodInfo:this (FullOpts)
           5 (0.78 % of base) : 387814.dasm - Program:ManipulateListOfInt():ubyte (FullOpts)
           3 (0.77 % of base) : 327557.dasm - System.Xml.Xsl.Xslt.MatcherBuilder:MatchPatterns(System.Xml.Xsl.Qil.QilIterator,System.Collections.Generic.List`1[System.Xml.Xsl.Xslt.Pattern]):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
           3 (0.73 % of base) : 387714.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeMethodSpecTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           2 (0.59 % of base) : 270402.dasm - Program:TestEntryPoint():int (FullOpts)
           3 (0.58 % of base) : 368470.dasm - Internal.TypeSystem.Ecma.MutableModule+Cache:ResetEmitter():this (FullOpts)
           3 (0.55 % of base) : 320949.dasm - InputValidation+InputValidationTest:.ctor(ubyte,ubyte):this (FullOpts)
           3 (0.48 % of base) : 280268.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeMemberRefTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           3 (0.46 % of base) : 280263.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeTypeRefTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           3 (0.45 % of base) : 277742.dasm - Microsoft.CodeAnalysis.PEModule:ExtractStringValuesFromAttributes(System.Collections.Generic.List`1[Microsoft.CodeAnalysis.PEModule+AttributeInfo]):Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.String]:this (FullOpts)
           2 (0.44 % of base) : 275876.dasm - BenchmarksGame.KNucleotide:WriteFrequencies(int,int[],ubyte):ubyte:this (FullOpts)
Top method improvements (percentages):
         -29 (-16.48 % of base) : 324578.dasm - Program:M49() (FullOpts)
         -35 (-6.18 % of base) : 274305.dasm - CloningForIEnumerable:Sum(System.Collections.Generic.IEnumerable`1[int]):int (Tier1)
         -11 (-5.05 % of base) : 330467.dasm - Test.BB:TestEntryPoint() (FullOpts)
         -10 (-1.34 % of base) : 292930.dasm - Microsoft.CSharp.RuntimeBinder.BinderHelper:ValidateBindArgument(System.Dynamic.DynamicMetaObject[],System.String) (FullOpts)
          -4 (-1.03 % of base) : 323272.dasm - Mutate:TestEntryPoint():int (FullOpts)
         -11 (-0.98 % of base) : 99596.dasm - System.Diagnostics.ProcessWaitState:CheckChildren(ubyte,ubyte) (FullOpts)
         -10 (-0.90 % of base) : 389337.dasm - Microsoft.Build.BackEnd.Logging.LoggingService:ShutdownComponent():this (FullOpts)
          -9 (-0.88 % of base) : 95701.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -7 (-0.84 % of base) : 369714.dasm - ILCompiler.PEWriter.SectionBuilder:RelocateOutputFile(System.Reflection.Metadata.BlobBuilder,ulong,System.IO.Stream):this (FullOpts)
         -25 (-0.83 % of base) : 389423.dasm - R2RTest.Buckets:WriteToStream(System.IO.StreamWriter,ubyte):this (FullOpts)
         -13 (-0.78 % of base) : 369466.dasm - ILCompiler.MetadataManager:GetCompiledMethods(Internal.TypeSystem.Ecma.EcmaModule,int):System.Collections.Generic.IEnumerable`1[ILCompiler.DependencyAnalysis.IMethodNode]:this (FullOpts)
         -10 (-0.73 % of base) : 331084.dasm - test86865.test86865:TestEntryPoint():int (FullOpts)
         -22 (-0.73 % of base) : 50202.dasm - System.Threading.Tasks.Task:WaitAllCore(System.Threading.Tasks.Task[],int,System.Threading.CancellationToken):ubyte (Instrumented Tier1)
          -8 (-0.70 % of base) : 389285.dasm - Microsoft.Build.BackEnd.SchedulingPlan:WritePlan(int,Microsoft.Build.BackEnd.Logging.ILoggingService,Microsoft.Build.Framework.BuildEventContext):this (FullOpts)
          -8 (-0.69 % of base) : 369705.dasm - ILCompiler.PEWriter.SectionBuilder:SerializeRelocationSection(System.Reflection.PortableExecutable.SectionLocation):System.Reflection.Metadata.BlobBuilder:this (FullOpts)
         -18 (-0.61 % of base) : 389015.dasm - Microsoft.Build.BackEnd.Scheduler:DumpSchedulerState():this (FullOpts)
         -10 (-0.51 % of base) : 389293.dasm - Microsoft.Build.Execution.BuildManager:EndBuild():this (FullOpts)
          -8 (-0.48 % of base) : 388763.dasm - Microsoft.Build.Execution.ProjectInstance:CreateItemsSnapshot(System.Collections.Generic.ICollection`1[Microsoft.Build.Evaluation.ProjectItem],int,ubyte):System.Collections.Generic.Dictionary`2[Microsoft.Build.Evaluation.ProjectItem,Microsoft.Build.Execution.ProjectItemInstance]:this (FullOpts)
          -8 (-0.47 % of base) : 370105.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
         -20 (-0.44 % of base) : 389196.dasm - Microsoft.Build.BackEnd.TargetEntry+<ExecuteTarget>d__44:MoveNext():this (FullOpts)
  
libraries.crossgen2.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 44619341 (overridden on cmd)
Total bytes of diff: 44619256 (overridden on cmd)
Total bytes of delta: -85 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          10 : 22104.dasm (0.15 % of base)
           9 : 233073.dasm (0.52 % of base)
           5 : 16618.dasm (0.26 % of base)
           5 : 22834.dasm (0.63 % of base)
           3 : 22098.dasm (0.53 % of base)
           3 : 20772.dasm (0.13 % of base)
           3 : 222630.dasm (0.02 % of base)
           3 : 22571.dasm (0.37 % of base)
           3 : 22669.dasm (2.50 % of base)
           3 : 6648.dasm (0.21 % of base)
           3 : 16624.dasm (0.59 % of base)
           2 : 20562.dasm (0.38 % of base)
           2 : 20294.dasm (0.16 % of base)
Top file improvements (bytes):
         -36 : 17352.dasm (-1.55 % of base)
          -9 : 21916.dasm (-1.51 % of base)
          -9 : 22496.dasm (-2.62 % of base)
          -9 : 240655.dasm (-0.17 % of base)
          -9 : 240724.dasm (-0.18 % of base)
          -8 : 243816.dasm (-6.15 % of base)
          -7 : 248993.dasm (-1.26 % of base)
          -7 : 248998.dasm (-1.07 % of base)
          -6 : 186935.dasm (-0.33 % of base)
          -6 : 208903.dasm (-0.33 % of base)
          -6 : 211707.dasm (-0.66 % of base)
          -6 : 23057.dasm (-1.86 % of base)
          -5 : 17411.dasm (-0.59 % of base)
          -4 : 12275.dasm (-0.79 % of base)
          -4 : 21975.dasm (-0.82 % of base)
          -2 : 10684.dasm (-0.30 % of base)
          -2 : 17409.dasm (-0.32 % of base)
          -2 : 223258.dasm (-0.05 % of base)
          -1 : 16764.dasm (-0.06 % of base)
          -1 : 23058.dasm (-0.15 % of base)
33 total files with Code Size differences (20 improved, 13 regressed), 1 unchanged.
Top method regressions (bytes):
          10 (0.15 % of base) : 22104.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
           9 (0.52 % of base) : 233073.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
           5 (0.26 % of base) : 16618.dasm - System.Threading.Tasks.Task:WaitAllCore(System.Threading.Tasks.Task[],int,System.Threading.CancellationToken):ubyte (FullOpts)
           5 (0.63 % of base) : 22834.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
           3 (0.53 % of base) : 22098.dasm - System.Diagnostics.Tracing.EventSource:EnsureDescriptorsInitialized():this (FullOpts)
           3 (2.50 % of base) : 22669.dasm - System.Diagnostics.Tracing.TraceLoggingMetadataCollector+Impl:Encode(ubyte[]):int:this (FullOpts)
           3 (0.13 % of base) : 20772.dasm - System.Reflection.Emit.RuntimeTypeBuilder:CreateTypeNoLock():System.Reflection.TypeInfo:this (FullOpts)
           3 (0.59 % of base) : 16624.dasm - System.Threading.Tasks.Task:GetDelegatesFromContinuationObject(System.Object):System.Delegate[] (FullOpts)
           3 (0.21 % of base) : 6648.dasm - System.Threading.Tasks.Task+WhenAllPromise:Invoke(System.Threading.Tasks.Task):this (FullOpts)
           3 (0.37 % of base) : 22571.dasm - System.Threading.Tasks.TaskExceptionHolder:AddFaultException(System.Object):this (FullOpts)
           3 (0.02 % of base) : 222630.dasm - System.Xml.Serialization.XmlReflectionImporter:ImportAccessorMapping(System.Xml.Serialization.MemberMapping,System.Xml.Serialization.FieldModel,System.Xml.Serialization.XmlAttributes,System.String,System.Type,ubyte,ubyte,System.Xml.Serialization.RecursionLimiter):this (FullOpts)
           2 (0.38 % of base) : 20562.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
           2 (0.16 % of base) : 20294.dasm - System.TimeZoneInfo:TryGetTimeZone(System.String,ubyte,byref,byref,System.TimeZoneInfo+CachedData,ubyte):int (FullOpts)
Top method improvements (bytes):
         -36 (-1.55 % of base) : 17352.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -9 (-1.51 % of base) : 21916.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -9 (-2.62 % of base) : 22496.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
          -9 (-0.17 % of base) : 240655.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.__Canon]:MoveNext():this (FullOpts)
          -9 (-0.18 % of base) : 240724.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (FullOpts)
          -8 (-6.15 % of base) : 243816.dasm - System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
          -7 (-1.26 % of base) : 248993.dasm - System.Xml.Linq.Extensions+<GetDescendantNodes>d__22`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -7 (-1.07 % of base) : 248998.dasm - System.Xml.Linq.Extensions+<GetDescendants>d__23`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -6 (-0.33 % of base) : 186935.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
          -6 (-0.33 % of base) : 208903.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
          -6 (-0.66 % of base) : 211707.dasm - System.Data.ProviderBase.DbConnectionPool:TryGetConnection(System.Data.Common.DbConnection,uint,ubyte,ubyte,System.Data.Common.DbConnectionOptions,byref):ubyte:this (FullOpts)
          -6 (-1.86 % of base) : 23057.dasm - System.Diagnostics.Tracing.CounterGroup:ResetCounters():this (FullOpts)
          -5 (-0.59 % of base) : 17411.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
          -4 (-0.79 % of base) : 12275.dasm - System.Diagnostics.Tracing.EventSource:GetSources():System.Collections.Generic.IEnumerable`1[System.Diagnostics.Tracing.EventSource] (FullOpts)
          -4 (-0.82 % of base) : 21975.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -2 (-0.32 % of base) : 17409.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
          -2 (-0.30 % of base) : 10684.dasm - System.IO.BinaryReader:Read():int:this (FullOpts)
          -2 (-0.05 % of base) : 223258.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
          -1 (-0.15 % of base) : 23058.dasm - System.Diagnostics.Tracing.CounterGroup:PollForValues() (FullOpts)
          -1 (-0.06 % of base) : 16764.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
Top method regressions (percentages):
           3 (2.50 % of base) : 22669.dasm - System.Diagnostics.Tracing.TraceLoggingMetadataCollector+Impl:Encode(ubyte[]):int:this (FullOpts)
           5 (0.63 % of base) : 22834.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
           3 (0.59 % of base) : 16624.dasm - System.Threading.Tasks.Task:GetDelegatesFromContinuationObject(System.Object):System.Delegate[] (FullOpts)
           3 (0.53 % of base) : 22098.dasm - System.Diagnostics.Tracing.EventSource:EnsureDescriptorsInitialized():this (FullOpts)
           9 (0.52 % of base) : 233073.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
           2 (0.38 % of base) : 20562.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
           3 (0.37 % of base) : 22571.dasm - System.Threading.Tasks.TaskExceptionHolder:AddFaultException(System.Object):this (FullOpts)
           5 (0.26 % of base) : 16618.dasm - System.Threading.Tasks.Task:WaitAllCore(System.Threading.Tasks.Task[],int,System.Threading.CancellationToken):ubyte (FullOpts)
           3 (0.21 % of base) : 6648.dasm - System.Threading.Tasks.Task+WhenAllPromise:Invoke(System.Threading.Tasks.Task):this (FullOpts)
           2 (0.16 % of base) : 20294.dasm - System.TimeZoneInfo:TryGetTimeZone(System.String,ubyte,byref,byref,System.TimeZoneInfo+CachedData,ubyte):int (FullOpts)
          10 (0.15 % of base) : 22104.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
           3 (0.13 % of base) : 20772.dasm - System.Reflection.Emit.RuntimeTypeBuilder:CreateTypeNoLock():System.Reflection.TypeInfo:this (FullOpts)
           3 (0.02 % of base) : 222630.dasm - System.Xml.Serialization.XmlReflectionImporter:ImportAccessorMapping(System.Xml.Serialization.MemberMapping,System.Xml.Serialization.FieldModel,System.Xml.Serialization.XmlAttributes,System.String,System.Type,ubyte,ubyte,System.Xml.Serialization.RecursionLimiter):this (FullOpts)
Top method improvements (percentages):
          -8 (-6.15 % of base) : 243816.dasm - System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
          -9 (-2.62 % of base) : 22496.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
          -6 (-1.86 % of base) : 23057.dasm - System.Diagnostics.Tracing.CounterGroup:ResetCounters():this (FullOpts)
         -36 (-1.55 % of base) : 17352.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -9 (-1.51 % of base) : 21916.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -7 (-1.26 % of base) : 248993.dasm - System.Xml.Linq.Extensions+<GetDescendantNodes>d__22`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -7 (-1.07 % of base) : 248998.dasm - System.Xml.Linq.Extensions+<GetDescendants>d__23`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-0.82 % of base) : 21975.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -4 (-0.79 % of base) : 12275.dasm - System.Diagnostics.Tracing.EventSource:GetSources():System.Collections.Generic.IEnumerable`1[System.Diagnostics.Tracing.EventSource] (FullOpts)
          -6 (-0.66 % of base) : 211707.dasm - System.Data.ProviderBase.DbConnectionPool:TryGetConnection(System.Data.Common.DbConnection,uint,ubyte,ubyte,System.Data.Common.DbConnectionOptions,byref):ubyte:this (FullOpts)
          -5 (-0.59 % of base) : 17411.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
          -6 (-0.33 % of base) : 186935.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
          -6 (-0.33 % of base) : 208903.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
          -2 (-0.32 % of base) : 17409.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
          -2 (-0.30 % of base) : 10684.dasm - System.IO.BinaryReader:Read():int:this (FullOpts)
          -9 (-0.18 % of base) : 240724.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (FullOpts)
          -9 (-0.17 % of base) : 240655.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.__Canon]:MoveNext():this (FullOpts)
          -1 (-0.15 % of base) : 23058.dasm - System.Diagnostics.Tracing.CounterGroup:PollForValues() (FullOpts)
          -1 (-0.06 % of base) : 16764.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
          -2 (-0.05 % of base) : 223258.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
33 total methods with Code Size differences (20 improved, 13 regressed).
  
libraries.pmi.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 60391350 (overridden on cmd)
Total bytes of diff: 60390502 (overridden on cmd)
Total bytes of delta: -848 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          24 : 170020.dasm (3.61 % of base)
          19 : 237408.dasm (0.77 % of base)
          15 : 286550.dasm (0.27 % of base)
          12 : 173817.dasm (0.50 % of base)
          12 : 188660.dasm (1.25 % of base)
           9 : 150550.dasm (0.40 % of base)
           7 : 247436.dasm (0.29 % of base)
           6 : 251763.dasm (1.92 % of base)
           6 : 251718.dasm (1.97 % of base)
           5 : 229763.dasm (0.47 % of base)
           5 : 238396.dasm (0.16 % of base)
           5 : 239513.dasm (0.08 % of base)
           4 : 173235.dasm (0.19 % of base)
           4 : 81759.dasm (1.38 % of base)
           3 : 185290.dasm (1.09 % of base)
           3 : 42570.dasm (1.00 % of base)
           3 : 141314.dasm (1.12 % of base)
           3 : 251736.dasm (1.18 % of base)
           3 : 251742.dasm (1.09 % of base)
           3 : 251764.dasm (0.85 % of base)
Top file improvements (bytes):
         -32 : 185790.dasm (-4.20 % of base)
         -29 : 249692.dasm (-0.35 % of base)
         -27 : 179235.dasm (-0.98 % of base)
         -25 : 40548.dasm (-0.73 % of base)
         -25 : 292745.dasm (-4.58 % of base)
         -24 : 139170.dasm (-0.63 % of base)
         -24 : 293722.dasm (-0.96 % of base)
         -23 : 171265.dasm (-3.01 % of base)
         -22 : 247430.dasm (-0.74 % of base)
         -22 : 183318.dasm (-0.47 % of base)
         -22 : 253536.dasm (-2.63 % of base)
         -21 : 290330.dasm (-0.31 % of base)
         -21 : 183714.dasm (-1.24 % of base)
         -19 : 83421.dasm (-0.31 % of base)
         -18 : 132949.dasm (-0.91 % of base)
         -18 : 179578.dasm (-0.63 % of base)
         -18 : 202231.dasm (-0.91 % of base)
         -18 : 292852.dasm (-8.00 % of base)
         -17 : 258749.dasm (-0.68 % of base)
         -17 : 258747.dasm (-0.67 % of base)
75 total files with Code Size differences (37 improved, 38 regressed), 9 unchanged.
Top method regressions (bytes):
          24 (3.61 % of base) : 170020.dasm - System.Security.Cryptography.XmlKeyHelper:WriteCryptoBinary(System.String,System.ReadOnlySpan`1[ubyte],System.Text.StringBuilder) (FullOpts)
          19 (0.77 % of base) : 237408.dasm - System.Xml.Xsl.IlGen.XmlILModule:DefineMethod(System.String,System.Type,System.Type[],System.String[],int):System.Reflection.MethodInfo:this (FullOpts)
          15 (0.27 % of base) : 286550.dasm - R2RDump.Extensions:WriteTo(ILCompiler.Reflection.ReadyToRun.DebugInfo,System.IO.TextWriter,R2RDump.DumpModel) (FullOpts)
          12 (0.50 % of base) : 173817.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
          12 (1.25 % of base) : 188660.dasm - System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
           9 (0.40 % of base) : 150550.dasm - Microsoft.CodeAnalysis.Emit.DeltaMetadataWriter:FinalizeCustomAttributeTableRows():this (FullOpts)
           7 (0.29 % of base) : 247436.dasm - R2RTest.BuildFolder:WriteJitStatistics(System.IO.TextWriter,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.HashSet`1[System.String]][],System.Collections.Generic.IEnumerable`1[R2RTest.CompilerRunner]) (FullOpts)
           6 (1.97 % of base) : 251718.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.__Canon,System.Nullable`1[int]]:CreateDictionary():this (FullOpts)
           6 (1.92 % of base) : 251763.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:Contains(System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
           5 (0.16 % of base) : 238396.dasm - System.Xml.Serialization.ReflectionXmlSerializationReader:GenerateLiteralMembersElementInternal(System.Xml.Serialization.MemberMapping[],ubyte,System.Object[]):ubyte:this (FullOpts)
           5 (0.08 % of base) : 239513.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
           5 (0.47 % of base) : 229763.dasm - System.Xml.XmlWellFormedWriter:GeneratePrefix():System.String:this (FullOpts)
           4 (1.38 % of base) : 81759.dasm - Microsoft.Diagnostics.Tracing.ETWKernelControl:SaveExtensions(System.Collections.Generic.List`1[Microsoft.Diagnostics.Tracing.ETWKernelControl+ExtensionItem],ulong,int):int (FullOpts)
           4 (0.19 % of base) : 173235.dasm - Microsoft.VisualBasic.CompilerServices.ConversionResolution:ResolveConversion(System.Type,System.Type,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],ubyte,byref):System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method] (FullOpts)
           3 (1.00 % of base) : 42570.dasm - ILCompiler.LazyGenericsSupport+GraphBuilder+EmbeddingStateList:Collect(Internal.TypeSystem.Ecma.EcmaGenericParameter,int):this (FullOpts)
           3 (1.12 % of base) : 141314.dasm - Microsoft.Cci.DynamicAnalysisDataWriter:SerializeMethodTable(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.DynamicAnalysisDataWriter+Sizes):this (FullOpts)
           3 (1.12 % of base) : 205800.dasm - Microsoft.Cci.DynamicAnalysisDataWriter:SerializeMethodTable(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.DynamicAnalysisDataWriter+Sizes):this (FullOpts)
           3 (1.26 % of base) : 141206.dasm - Microsoft.Cci.MetadataWriter:PopulateMethodImplTableRows():this (FullOpts)
           3 (1.26 % of base) : 205694.dasm - Microsoft.Cci.MetadataWriter:PopulateMethodImplTableRows():this (FullOpts)
           3 (1.00 % of base) : 82835.dasm - Microsoft.Diagnostics.Tracing.Session.TraceEventProviders:GetRegisteredProvidersInProcess(int):System.Collections.Generic.List`1[System.Guid] (FullOpts)
Top method improvements (bytes):
         -32 (-4.20 % of base) : 185790.dasm - System.Net.Http.Metrics.HttpMetricsEnrichmentContext:RecordDurationWithEnrichment(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpResponseMessage,System.Exception,System.TimeSpan,byref,System.Diagnostics.Metrics.Histogram`1[double]):this (FullOpts)
         -29 (-0.35 % of base) : 249692.dasm - ILCompiler.Program:RunSingleCompilation(System.Collections.Generic.Dictionary`2[System.String,System.String],ILCompiler.InstructionSetSupport,System.String,System.Collections.Generic.Dictionary`2[System.String,System.String],System.Collections.Generic.HashSet`1[Internal.TypeSystem.ModuleDesc],ILCompiler.ReadyToRunCompilerContext,ILCompiler.Logger):this (FullOpts)
         -27 (-0.98 % of base) : 179235.dasm - Microsoft.Build.BackEnd.PropertyParser:GetTableWithEscaping(Microsoft.Build.BackEnd.TaskLoggingHelper,System.String,System.String,System.String[],byref):ubyte (FullOpts)
         -25 (-0.73 % of base) : 40548.dasm - ILCompiler.IBC.IBCProfileParser:ParseIBCDataFromModule(Internal.TypeSystem.Ecma.EcmaModule):ILCompiler.ProfileData:this (FullOpts)
         -25 (-4.58 % of base) : 292745.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1[ubyte]:ConsumeOnePostponedMessage():ubyte:this (FullOpts)
         -24 (-0.96 % of base) : 293722.dasm - System.Number:<NumberToBigInteger>g__DivideAndConquer|11_1(byref,byref,byref):int (FullOpts)
         -24 (-0.63 % of base) : 139170.dasm - Xunit.Sdk.XunitTestAssemblyRunner+<RunTestCollectionsAsync>d__14:MoveNext():this (FullOpts)
         -23 (-3.01 % of base) : 171265.dasm - System.Security.Cryptography.X509Certificates.X509SubjectAlternativeNameExtension+<EnumerateDnsNames>d__6:MoveNext():ubyte:this (FullOpts)
         -22 (-2.63 % of base) : 253536.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.GcInfo:UpdateTransitionCodeOffset(System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.Amd64.GcTransition]):System.Collections.Generic.Dictionary`2[int,System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.BaseGcTransition]]:this (FullOpts)
         -22 (-0.47 % of base) : 183318.dasm - Microsoft.Build.BackEnd.TargetEntry+<ExecuteTarget>d__44:MoveNext():this (FullOpts)
         -22 (-0.74 % of base) : 247430.dasm - R2RTest.Buckets:WriteToStream(System.IO.StreamWriter,ubyte):this (FullOpts)
         -21 (-1.24 % of base) : 183714.dasm - Microsoft.Build.BackEnd.NodeProviderOutOfProcBase+NodeContext+<WaitForExitAsync>d__27:MoveNext():this (FullOpts)
         -21 (-0.31 % of base) : 290330.dasm - TestRunner:DoWorkStress():int:this (FullOpts)
         -19 (-0.31 % of base) : 83421.dasm - Microsoft.Diagnostics.Tracing.Parsers.ProviderManifest:ParseProviderEvents(System.Func`2[Microsoft.Diagnostics.Tracing.Parsers.DynamicTraceEventData,int],ubyte):this (FullOpts)
         -18 (-0.63 % of base) : 179578.dasm - Microsoft.Build.BackEnd.Scheduler:DumpSchedulerState():this (FullOpts)
         -18 (-0.91 % of base) : 132949.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
         -18 (-0.91 % of base) : 202231.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
         -18 (-8.00 % of base) : 292852.dasm - System.Threading.Tasks.Dataflow.Internal.Common:ReleaseAllPostponedMessages[ubyte](System.Threading.Tasks.Dataflow.ITargetBlock`1[ubyte],System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte],System.Threading.Tasks.Dataflow.DataflowMessageHeader],byref) (FullOpts)
         -17 (-0.67 % of base) : 258747.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+<Heartbeat>d__23[System.__Canon,System.Nullable`1[int]]:MoveNext():this (FullOpts)
         -17 (-0.68 % of base) : 258749.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+<Heartbeat>d__23[ubyte,System.Nullable`1[int]]:MoveNext():this (FullOpts)
Top method regressions (percentages):
          24 (3.61 % of base) : 170020.dasm - System.Security.Cryptography.XmlKeyHelper:WriteCryptoBinary(System.String,System.ReadOnlySpan`1[ubyte],System.Text.StringBuilder) (FullOpts)
           3 (2.13 % of base) : 279508.dasm - System.IO.Compression.ZipGenericExtraField:WriteAllBlocks(System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField],System.IO.Stream) (FullOpts)
           6 (1.97 % of base) : 251718.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.__Canon,System.Nullable`1[int]]:CreateDictionary():this (FullOpts)
           6 (1.92 % of base) : 251763.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:Contains(System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
           3 (1.90 % of base) : 37617.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeEncMapTable(System.Reflection.Metadata.BlobBuilder):this (FullOpts)
           4 (1.38 % of base) : 81759.dasm - Microsoft.Diagnostics.Tracing.ETWKernelControl:SaveExtensions(System.Collections.Generic.List`1[Microsoft.Diagnostics.Tracing.ETWKernelControl+ExtensionItem],ulong,int):int (FullOpts)
           3 (1.26 % of base) : 141206.dasm - Microsoft.Cci.MetadataWriter:PopulateMethodImplTableRows():this (FullOpts)
           3 (1.26 % of base) : 205694.dasm - Microsoft.Cci.MetadataWriter:PopulateMethodImplTableRows():this (FullOpts)
          12 (1.25 % of base) : 188660.dasm - System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
           3 (1.21 % of base) : 37616.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeEncLogTable(System.Reflection.Metadata.BlobBuilder):this (FullOpts)
           3 (1.18 % of base) : 251736.dasm - System.Collections.ObjectModel.KeyedCollection`2[ubyte,System.Nullable`1[int]]:CreateDictionary():this (FullOpts)
           3 (1.18 % of base) : 37631.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeStandAloneSigTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           3 (1.18 % of base) : 37639.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeTypeSpecTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           3 (1.12 % of base) : 141314.dasm - Microsoft.Cci.DynamicAnalysisDataWriter:SerializeMethodTable(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.DynamicAnalysisDataWriter+Sizes):this (FullOpts)
           3 (1.12 % of base) : 205800.dasm - Microsoft.Cci.DynamicAnalysisDataWriter:SerializeMethodTable(System.Reflection.Metadata.BlobBuilder,Microsoft.Cci.DynamicAnalysisDataWriter+Sizes):this (FullOpts)
           3 (1.09 % of base) : 251749.dasm - System.Collections.ObjectModel.KeyedCollection`2[int,System.Nullable`1[int]]:Contains(int):ubyte:this (FullOpts)
           3 (1.09 % of base) : 185290.dasm - System.Net.Http.Http3RequestStream:CopyTrailersToResponseMessage(System.Net.Http.HttpResponseMessage):this (FullOpts)
           3 (1.09 % of base) : 251770.dasm - System.Collections.ObjectModel.KeyedCollection`2[long,System.Nullable`1[int]]:Contains(long):ubyte:this (FullOpts)
           2 (1.09 % of base) : 181556.dasm - Microsoft.Build.Shared.CollectionHelpers:RemoveNulls[ubyte](System.Collections.Generic.List`1[ubyte]):System.Collections.Generic.List`1[ubyte] (FullOpts)
           3 (1.09 % of base) : 251742.dasm - System.Collections.ObjectModel.KeyedCollection`2[short,System.Nullable`1[int]]:Contains(short):ubyte:this (FullOpts)
Top method improvements (percentages):
         -18 (-8.00 % of base) : 292852.dasm - System.Threading.Tasks.Dataflow.Internal.Common:ReleaseAllPostponedMessages[ubyte](System.Threading.Tasks.Dataflow.ITargetBlock`1[ubyte],System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte],System.Threading.Tasks.Dataflow.DataflowMessageHeader],byref) (FullOpts)
          -8 (-6.78 % of base) : 276117.dasm - System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
         -25 (-4.58 % of base) : 292745.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1[ubyte]:ConsumeOnePostponedMessage():ubyte:this (FullOpts)
         -32 (-4.20 % of base) : 185790.dasm - System.Net.Http.Metrics.HttpMetricsEnrichmentContext:RecordDurationWithEnrichment(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpResponseMessage,System.Exception,System.TimeSpan,byref,System.Diagnostics.Metrics.Histogram`1[double]):this (FullOpts)
         -23 (-3.01 % of base) : 171265.dasm - System.Security.Cryptography.X509Certificates.X509SubjectAlternativeNameExtension+<EnumerateDnsNames>d__6:MoveNext():ubyte:this (FullOpts)
         -15 (-2.89 % of base) : 292743.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1[ubyte]:ReserveOneMessage():ubyte:this (FullOpts)
         -22 (-2.63 % of base) : 253536.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.GcInfo:UpdateTransitionCodeOffset(System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.Amd64.GcTransition]):System.Collections.Generic.Dictionary`2[int,System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.BaseGcTransition]]:this (FullOpts)
         -13 (-2.49 % of base) : 224716.dasm - Newtonsoft.Json.Linq.JsonPath.ArrayMultipleIndexFilter+<ExecuteFilter>d__2:MoveNext():ubyte:this (FullOpts)
          -6 (-2.11 % of base) : 172424.dasm - Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
         -11 (-2.01 % of base) : 283927.dasm - System.Security.Claims.ClaimsIdentity+<CombinedClaimsIterator>d__38:MoveNext():ubyte:this (FullOpts)
         -12 (-1.91 % of base) : 135052.dasm - Microsoft.Build.Framework.NativeMethods:KillTree(int) (FullOpts)
         -10 (-1.90 % of base) : 186218.dasm - System.Net.Http.Headers.HttpHeaderValueCollection`1+<<GetEnumerator>g__Iterate|14_0>d[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -8 (-1.83 % of base) : 177655.dasm - Microsoft.Build.Evaluation.ProjectCollection:SetGlobalProperty(System.String,System.String):this (FullOpts)
          -6 (-1.67 % of base) : 180737.dasm - Microsoft.Build.BackEnd.Logging.LoggingService:get_RegisteredLoggerTypeNames():System.Collections.Generic.ICollection`1[System.String]:this (FullOpts)
          -5 (-1.64 % of base) : 182491.dasm - Microsoft.Build.Evaluation.ProjectCollection+LoadedProjectCollection:GetMatchingProjectIfAny(System.String,System.Collections.Generic.IDictionary`2[System.String,System.String],System.String):Microsoft.Build.Evaluation.Project:this (FullOpts)
          -9 (-1.52 % of base) : 291875.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[ubyte]:ConsumeReservedMessagesGreedyBounded():this (FullOpts)
         -10 (-1.44 % of base) : 164349.dasm - System.ComponentModel.Composition.ReflectionModel.GenericServices:GetGenericName(System.String,int[],int):System.String (FullOpts)
         -14 (-1.41 % of base) : 217757.dasm - Microsoft.CodeAnalysis.DocumentationCommentId+Parser:ParseTypeSymbol(System.String,byref,Microsoft.CodeAnalysis.Compilation,Microsoft.CodeAnalysis.ISymbol,System.Collections.Generic.List`1[Microsoft.CodeAnalysis.ISymbol]) (FullOpts)
         -14 (-1.41 % of base) : 154282.dasm - Microsoft.CodeAnalysis.DocumentationCommentId+Parser:ParseTypeSymbol(System.String,byref,Microsoft.CodeAnalysis.Compilation,Microsoft.CodeAnalysis.ISymbol,System.Collections.Generic.List`1[Microsoft.CodeAnalysis.ISymbol]) (FullOpts)
          -5 (-1.39 % of base) : 261053.dasm - Microsoft.Extensions.DependencyInjection.DependencyInjectionEventSource:OnEventCommand(System.Diagnostics.Tracing.EventCommandEventArgs):this (FullOpts)
  
libraries_tests.run.linux.x64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 31730283 (overridden on cmd)
Total bytes of diff: 31730052 (overridden on cmd)
Total bytes of delta: -231 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          24 : 67991.dasm (3.61 % of base)
           2 : 72386.dasm (0.09 % of base)
Top file improvements (bytes):
         -24 : 75670.dasm (-0.79 % of base)
         -17 : 18769.dasm (-1.87 % of base)
         -17 : 21425.dasm (-1.87 % of base)
         -16 : 19650.dasm (-1.71 % of base)
         -16 : 24171.dasm (-1.78 % of base)
         -16 : 34088.dasm (-1.78 % of base)
         -16 : 42028.dasm (-1.74 % of base)
         -16 : 8600.dasm (-1.82 % of base)
         -16 : 15748.dasm (-1.71 % of base)
         -16 : 21094.dasm (-1.78 % of base)
         -16 : 20921.dasm (-1.71 % of base)
         -16 : 28511.dasm (-1.78 % of base)
         -16 : 11890.dasm (-1.71 % of base)
         -16 : 21180.dasm (-1.78 % of base)
          -9 : 7015.dasm (-0.88 % of base)
          -5 : 2425.dasm (-0.38 % of base)
          -5 : 1641.dasm (-0.19 % of base)
          -3 : 73.dasm (-0.22 % of base)
          -1 : 29921.dasm (-0.08 % of base)
21 total files with Code Size differences (19 improved, 2 regressed), 0 unchanged.
Top method regressions (bytes):
          24 (3.61 % of base) : 67991.dasm - System.Security.Cryptography.XmlKeyHelper:WriteCryptoBinary(System.String,System.ReadOnlySpan`1[ubyte],System.Text.StringBuilder) (Tier0-FullOpts)
           2 (0.09 % of base) : 72386.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:<CreateBDDFromSetString>g__Compute|5_0(System.String):System.Text.RegularExpressions.Symbolic.BDD:this (Tier0-FullOpts)
Top method improvements (bytes):
         -24 (-0.79 % of base) : 75670.dasm - System.Threading.Tasks.Task:WaitAllCore(System.Threading.Tasks.Task[],int,System.Threading.CancellationToken):ubyte (Instrumented Tier1)
         -17 (-1.87 % of base) : 18769.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -17 (-1.87 % of base) : 21425.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.71 % of base) : 19650.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.78 % of base) : 24171.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.78 % of base) : 34088.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.74 % of base) : 42028.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.82 % of base) : 8600.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.71 % of base) : 15748.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.78 % of base) : 21094.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.71 % of base) : 20921.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.78 % of base) : 28511.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.71 % of base) : 11890.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.78 % of base) : 21180.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
          -9 (-0.88 % of base) : 7015.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -5 (-0.38 % of base) : 2425.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Instrumented Tier1)
          -5 (-0.19 % of base) : 1641.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (Instrumented Tier1)
          -3 (-0.22 % of base) : 73.dasm - System.Diagnostics.Tracing.EventSource:InitializeProviderMetadata():this (Instrumented Tier1)
          -1 (-0.08 % of base) : 29921.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
Top method regressions (percentages):
          24 (3.61 % of base) : 67991.dasm - System.Security.Cryptography.XmlKeyHelper:WriteCryptoBinary(System.String,System.ReadOnlySpan`1[ubyte],System.Text.StringBuilder) (Tier0-FullOpts)
           2 (0.09 % of base) : 72386.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:<CreateBDDFromSetString>g__Compute|5_0(System.String):System.Text.RegularExpressions.Symbolic.BDD:this (Tier0-FullOpts)
Top method improvements (percentages):
         -17 (-1.87 % of base) : 18769.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -17 (-1.87 % of base) : 21425.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.82 % of base) : 8600.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.78 % of base) : 24171.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.78 % of base) : 34088.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.78 % of base) : 21094.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.78 % of base) : 28511.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.78 % of base) : 21180.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.74 % of base) : 42028.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.71 % of base) : 19650.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.71 % of base) : 15748.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.71 % of base) : 20921.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.71 % of base) : 11890.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
          -9 (-0.88 % of base) : 7015.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
         -24 (-0.79 % of base) : 75670.dasm - System.Threading.Tasks.Task:WaitAllCore(System.Threading.Tasks.Task[],int,System.Threading.CancellationToken):ubyte (Instrumented Tier1)
          -5 (-0.38 % of base) : 2425.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Instrumented Tier1)
          -3 (-0.22 % of base) : 73.dasm - System.Diagnostics.Tracing.EventSource:InitializeProviderMetadata():this (Instrumented Tier1)
          -5 (-0.19 % of base) : 1641.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (Instrumented Tier1)
          -1 (-0.08 % of base) : 29921.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
21 total methods with Code Size differences (19 improved, 2 regressed).
  
librariestestsnotieredcompilation.run.linux.x64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 130012769 (overridden on cmd)
Total bytes of diff: 130011808 (overridden on cmd)
Total bytes of delta: -961 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          32 : 214055.dasm (3.26 % of base)
          24 : 215074.dasm (3.61 % of base)
          16 : 201098.dasm (0.72 % of base)
          15 : 53448.dasm (1.72 % of base)
          14 : 230455.dasm (0.98 % of base)
          12 : 27964.dasm (1.25 % of base)
          12 : 58206.dasm (0.54 % of base)
          11 : 191957.dasm (0.26 % of base)
           8 : 157211.dasm (0.47 % of base)
           7 : 47826.dasm (0.36 % of base)
           7 : 45368.dasm (0.36 % of base)
           6 : 143858.dasm (0.35 % of base)
           5 : 207816.dasm (0.51 % of base)
           5 : 207903.dasm (0.47 % of base)
           5 : 166058.dasm (0.08 % of base)
           5 : 207798.dasm (0.48 % of base)
           5 : 305416.dasm (0.16 % of base)
           5 : 207960.dasm (0.52 % of base)
           5 : 238550.dasm (0.23 % of base)
           5 : 143859.dasm (0.18 % of base)
Top file improvements (bytes):
         -28 : 161276.dasm (-1.06 % of base)
         -28 : 161247.dasm (-1.06 % of base)
         -28 : 161264.dasm (-1.06 % of base)
         -25 : 297451.dasm (-4.58 % of base)
         -24 : 192152.dasm (-0.96 % of base)
         -24 : 820.dasm (-0.64 % of base)
         -23 : 222572.dasm (-3.01 % of base)
         -22 : 161241.dasm (-0.65 % of base)
         -22 : 285726.dasm (-2.54 % of base)
         -21 : 301557.dasm (-0.70 % of base)
         -20 : 222271.dasm (-0.89 % of base)
         -20 : 216650.dasm (-0.89 % of base)
         -19 : 256999.dasm (-3.15 % of base)
         -19 : 235202.dasm (-3.15 % of base)
         -18 : 20969.dasm (-0.95 % of base)
         -18 : 296639.dasm (-8.00 % of base)
         -18 : 90223.dasm (-1.05 % of base)
         -17 : 295376.dasm (-0.70 % of base)
         -17 : 147975.dasm (-0.50 % of base)
         -15 : 297135.dasm (-2.89 % of base)
73 total files with Code Size differences (36 improved, 37 regressed), 12 unchanged.
Top method regressions (bytes):
          32 (3.26 % of base) : 214055.dasm - System.Tests.DecimalTests+BigIntegerCompare:Test() (FullOpts)
          24 (3.61 % of base) : 215074.dasm - System.Security.Cryptography.XmlKeyHelper:WriteCryptoBinary(System.String,System.ReadOnlySpan`1[ubyte],System.Text.StringBuilder) (FullOpts)
          16 (0.72 % of base) : 201098.dasm - System.Reflection.Tests.RuntimeTypeMemberCacheTests:BigTypeGetMethodsReturnsInDeclaredOrderTest() (FullOpts)
          15 (1.72 % of base) : 53448.dasm - Microsoft.Extensions.Logging.Test.FormattedLogValuesTest:CachedFormattersAreCapped():this (FullOpts)
          14 (0.98 % of base) : 230455.dasm - System.Text.Tests.EncodingTest+<>c:<TestGetEncodingsWithProvider>b__19_0():this (FullOpts)
          12 (0.54 % of base) : 58206.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
          12 (1.25 % of base) : 27964.dasm - System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
          11 (0.26 % of base) : 191957.dasm - System.Numerics.Tests.IsEvenTest:RunIsEvenTests() (FullOpts)
           8 (0.47 % of base) : 157211.dasm - System.Net.Security.Tests.NegotiateAuthenticationKerberosTest+<>c:<Loopback_Success>b__2_0():this (FullOpts)
           7 (0.36 % of base) : 47826.dasm - Microsoft.Extensions.Logging.Generators.Tests.LoggerMessageGeneratedCodeTests:TestCollection(int,Microsoft.Extensions.Logging.Generators.Tests.MockLogger) (FullOpts)
           7 (0.36 % of base) : 45368.dasm - Microsoft.Extensions.Logging.Generators.Tests.LoggerMessageGeneratedCodeTests:TestCollection(int,Microsoft.Extensions.Logging.Generators.Tests.MockLogger) (FullOpts)
           6 (0.35 % of base) : 143858.dasm - System.Buffers.Text.Tests.Base64DecoderUnitTests:BasicDecodingInvalidInputLength():this (FullOpts)
           5 (0.18 % of base) : 143859.dasm - System.Buffers.Text.Tests.Base64DecoderUnitTests:DecodeInPlaceInvalidBytesPadding():this (FullOpts)
           5 (0.51 % of base) : 207816.dasm - System.Tests.DecimalTests:BigInteger_Ceiling() (FullOpts)
           5 (0.52 % of base) : 207960.dasm - System.Tests.DecimalTests:BigInteger_Floor() (FullOpts)
           5 (0.47 % of base) : 207903.dasm - System.Tests.DecimalTests:BigInteger_Round() (FullOpts)
           5 (0.48 % of base) : 207798.dasm - System.Tests.DecimalTests:BigInteger_Truncate() (FullOpts)
           5 (0.23 % of base) : 238550.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<RunAsCollectionElementTest>d__23`1[ubyte]:MoveNext():this (FullOpts)
           5 (0.16 % of base) : 305416.dasm - System.Xml.Serialization.ReflectionXmlSerializationReader:GenerateLiteralMembersElementInternal(System.Xml.Serialization.MemberMapping[],ubyte,System.Object[]):ubyte:this (FullOpts)
           5 (0.08 % of base) : 166058.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
Top method improvements (bytes):
         -28 (-1.06 % of base) : 161264.dasm - System.Numerics.Tests.QuaternionTests:QuaternionFromRotationMatrixTest2():this (FullOpts)
         -28 (-1.06 % of base) : 161276.dasm - System.Numerics.Tests.QuaternionTests:QuaternionFromRotationMatrixTest3():this (FullOpts)
         -28 (-1.06 % of base) : 161247.dasm - System.Numerics.Tests.QuaternionTests:QuaternionFromRotationMatrixTest4():this (FullOpts)
         -25 (-4.58 % of base) : 297451.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1[int]:ConsumeOnePostponedMessage():ubyte:this (FullOpts)
         -24 (-0.96 % of base) : 192152.dasm - System.Number:<NumberToBigInteger>g__DivideAndConquer|11_1(byref,byref,byref):int (FullOpts)
         -24 (-0.64 % of base) : 820.dasm - Xunit.Sdk.XunitTestAssemblyRunner+<RunTestCollectionsAsync>d__14:MoveNext():this (FullOpts)
         -23 (-3.01 % of base) : 222572.dasm - System.Security.Cryptography.X509Certificates.X509SubjectAlternativeNameExtension+<EnumerateDnsNames>d__6:MoveNext():ubyte:this (FullOpts)
         -22 (-0.65 % of base) : 161241.dasm - System.Numerics.Tests.QuaternionTests:QuaternionFromRotationMatrixTest5():this (FullOpts)
         -22 (-2.54 % of base) : 285726.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex31152_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
         -21 (-0.70 % of base) : 301557.dasm - System.Threading.Tests.EtwTests+<>c:<WaitHandleWaitEventTest>b__1_0():this (FullOpts)
         -20 (-0.89 % of base) : 222271.dasm - System.Security.Cryptography.EcDsa.Tests.ECDsaTests:SignVerify_InteroperableSameKeys_RoundTripsUnlessTampered(System.Security.Cryptography.ECDsa,System.Security.Cryptography.HashAlgorithmName):this (FullOpts)
         -20 (-0.89 % of base) : 216650.dasm - System.Security.Cryptography.EcDsa.Tests.ECDsaTests:SignVerify_InteroperableSameKeys_RoundTripsUnlessTampered(System.Security.Cryptography.ECDsa,System.Security.Cryptography.HashAlgorithmName):this (FullOpts)
         -19 (-3.15 % of base) : 256999.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<RunAsRootTypeTest>d__8`1[ubyte]:MoveNext():this (FullOpts)
         -19 (-3.15 % of base) : 235202.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<RunAsRootTypeTest>d__8`1[ubyte]:MoveNext():this (FullOpts)
         -18 (-1.05 % of base) : 90223.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
         -18 (-0.95 % of base) : 20969.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (FullOpts)
         -18 (-8.00 % of base) : 296639.dasm - System.Threading.Tasks.Dataflow.Internal.Common:ReleaseAllPostponedMessages[int](System.Threading.Tasks.Dataflow.ITargetBlock`1[int],System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[int],System.Threading.Tasks.Dataflow.DataflowMessageHeader],byref) (FullOpts)
         -17 (-0.50 % of base) : 147975.dasm - System.Net.Http.Tests.MultipartContentTest+<MultipartContent_TestData>d__0:MoveNext():ubyte:this (FullOpts)
         -17 (-0.70 % of base) : 295376.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+<Heartbeat>d__23[System.__Canon,int]:MoveNext():this (FullOpts)
         -15 (-2.89 % of base) : 297135.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1[int]:ReserveOneMessage():ubyte:this (FullOpts)
Top method regressions (percentages):
          24 (3.61 % of base) : 215074.dasm - System.Security.Cryptography.XmlKeyHelper:WriteCryptoBinary(System.String,System.ReadOnlySpan`1[ubyte],System.Text.StringBuilder) (FullOpts)
          32 (3.26 % of base) : 214055.dasm - System.Tests.DecimalTests+BigIntegerCompare:Test() (FullOpts)
           3 (2.13 % of base) : 122779.dasm - System.IO.Compression.ZipGenericExtraField:WriteAllBlocks(System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField],System.IO.Stream) (FullOpts)
          15 (1.72 % of base) : 53448.dasm - Microsoft.Extensions.Logging.Test.FormattedLogValuesTest:CachedFormattersAreCapped():this (FullOpts)
           3 (1.26 % of base) : 46928.dasm - Microsoft.Cci.MetadataWriter:PopulateMethodImplTableRows():this (FullOpts)
           3 (1.26 % of base) : 53184.dasm - Microsoft.Cci.MetadataWriter:PopulateMethodImplTableRows():this (FullOpts)
           3 (1.26 % of base) : 55699.dasm - Microsoft.Cci.MetadataWriter:PopulateMethodImplTableRows():this (FullOpts)
          12 (1.25 % of base) : 27964.dasm - System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
           3 (1.21 % of base) : 181974.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeEncLogTable(System.Reflection.Metadata.BlobBuilder):this (FullOpts)
           3 (1.18 % of base) : 55827.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeStandAloneSigTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           3 (1.18 % of base) : 55831.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeTypeSpecTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           3 (1.08 % of base) : 158379.dasm - System.Net.Test.Common.SettingsFrame:WriteTo(System.Span`1[ubyte]):this (FullOpts)
           3 (1.06 % of base) : 180883.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeModuleRefTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           3 (1.05 % of base) : 144852.dasm - System.Text.EncodingExtensions+<>c:<GetString>b__8_0(System.Span`1[ushort],System.Collections.Generic.List`1[System.ValueTuple`2[ushort[],int]]):this (FullOpts)
          14 (0.98 % of base) : 230455.dasm - System.Text.Tests.EncodingTest+<>c:<TestGetEncodingsWithProvider>b__19_0():this (FullOpts)
           2 (0.94 % of base) : 37772.dasm - Moq.Mock:Verify(Moq.Mock,System.Linq.Expressions.LambdaExpression,Moq.Times,System.String) (FullOpts)
           3 (0.92 % of base) : 181114.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeFieldLayoutTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           3 (0.88 % of base) : 179318.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeFieldRvaTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes,int):this (FullOpts)
           3 (0.86 % of base) : 179197.dasm - System.Reflection.Emit.ModuleBuilderImpl:FillMemberReferences(System.Reflection.Emit.ILGeneratorImpl):this (FullOpts)
           3 (0.77 % of base) : 170429.dasm - System.Xml.Xsl.Xslt.MatcherBuilder:MatchPatterns(System.Xml.Xsl.Qil.QilIterator,System.Collections.Generic.List`1[System.Xml.Xsl.Xslt.Pattern]):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
Top method improvements (percentages):
         -18 (-8.00 % of base) : 296639.dasm - System.Threading.Tasks.Dataflow.Internal.Common:ReleaseAllPostponedMessages[int](System.Threading.Tasks.Dataflow.ITargetBlock`1[int],System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[int],System.Threading.Tasks.Dataflow.DataflowMessageHeader],byref) (FullOpts)
          -8 (-6.78 % of base) : 149330.dasm - System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
         -25 (-4.58 % of base) : 297451.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1[int]:ConsumeOnePostponedMessage():ubyte:this (FullOpts)
         -19 (-3.15 % of base) : 256999.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<RunAsRootTypeTest>d__8`1[ubyte]:MoveNext():this (FullOpts)
         -19 (-3.15 % of base) : 235202.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<RunAsRootTypeTest>d__8`1[ubyte]:MoveNext():this (FullOpts)
         -23 (-3.01 % of base) : 222572.dasm - System.Security.Cryptography.X509Certificates.X509SubjectAlternativeNameExtension+<EnumerateDnsNames>d__6:MoveNext():ubyte:this (FullOpts)
         -15 (-2.89 % of base) : 297135.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1[int]:ReserveOneMessage():ubyte:this (FullOpts)
         -22 (-2.54 % of base) : 285726.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex31152_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          -6 (-2.11 % of base) : 513.dasm - Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
         -11 (-2.09 % of base) : 220234.dasm - System.Security.Cryptography.X509Certificates.Tests.PfxIterationCountTests+<GetCertsWith_IterationCountExceedingDefaultLimit_MemberData>d__18:MoveNext():ubyte:this (FullOpts)
         -11 (-2.08 % of base) : 220243.dasm - System.Security.Cryptography.X509Certificates.Tests.PfxIterationCountTests+<GetCertsWith_IterationCountNotExceedingDefaultLimit_AndNullOrEmptyPassword_MemberData>d__17:MoveNext():ubyte:this (FullOpts)
         -10 (-2.07 % of base) : 84981.dasm - System.ComponentModel.Composition.CardinalityMismatchExceptionTests:Constructor2_ValueAsMessageArgument_ShouldSetMessageProperty():this (FullOpts)
          -9 (-2.02 % of base) : 82944.dasm - System.ComponentModel.Composition.ContractMismatchExceptionTests:Constructor2_ValueAsMessageArgument_ShouldSetMessageProperty():this (FullOpts)
         -11 (-2.01 % of base) : 214235.dasm - System.Security.Claims.ClaimsIdentity+<CombinedClaimsIterator>d__38:MoveNext():ubyte:this (FullOpts)
         -10 (-1.90 % of base) : 20659.dasm - System.Net.Http.Headers.HttpHeaderValueCollection`1+<<GetEnumerator>g__Iterate|14_0>d[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -10 (-1.90 % of base) : 147353.dasm - System.Net.Http.Headers.HttpHeaderValueCollection`1+<<GetEnumerator>g__Iterate|14_0>d[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -10 (-1.78 % of base) : 220217.dasm - System.Security.Cryptography.X509Certificates.Tests.PfxIterationCountTests+<GetCertsWith_NonNullOrEmptyPassword_MemberData>d__19:MoveNext():ubyte:this (FullOpts)
         -13 (-1.53 % of base) : 304228.dasm - CoreXml.Test.XLinq.FunctionalTests.EventsTests.EventsRemove:XAttributeRemoveOneByOne():this (FullOpts)
         -13 (-1.53 % of base) : 304209.dasm - CoreXml.Test.XLinq.FunctionalTests.EventsTests.EventsRemove:XElementRemoveOneByOne():this (FullOpts)
          -9 (-1.52 % of base) : 297244.dasm - System.Threading.Tasks.Dataflow.BatchBlock`1+BatchBlockTargetCore[int]:ConsumeReservedMessagesGreedyBounded():this (FullOpts)
  
realworld.run.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 13219489 (overridden on cmd)
Total bytes of diff: 13219465 (overridden on cmd)
Total bytes of delta: -24 (-0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
           6 : 31744.dasm (0.36 % of base)
           6 : 31746.dasm (3.26 % of base)
           6 : 32448.dasm (0.61 % of base)
           6 : 31420.dasm (0.80 % of base)
           5 : 11571.dasm (0.59 % of base)
           5 : 30576.dasm (0.76 % of base)
           5 : 13261.dasm (0.21 % of base)
           4 : 29937.dasm (0.11 % of base)
           4 : 32161.dasm (0.13 % of base)
           3 : 12508.dasm (0.83 % of base)
           3 : 15109.dasm (0.80 % of base)
           3 : 29339.dasm (1.26 % of base)
           3 : 29568.dasm (0.92 % of base)
           3 : 29570.dasm (0.74 % of base)
           3 : 29578.dasm (1.18 % of base)
           3 : 29580.dasm (0.88 % of base)
           3 : 29583.dasm (0.73 % of base)
           3 : 29584.dasm (0.49 % of base)
           3 : 30348.dasm (2.94 % of base)
           3 : 30498.dasm (1.78 % of base)
Top file improvements (bytes):
         -60 : 33010.dasm (-4.77 % of base)
         -36 : 32869.dasm (-5.27 % of base)
         -15 : 33046.dasm (-0.48 % of base)
         -15 : 14660.dasm (-0.80 % of base)
         -14 : 16158.dasm (-0.76 % of base)
         -12 : 33026.dasm (-0.85 % of base)
         -11 : 33064.dasm (-0.60 % of base)
         -10 : 15316.dasm (-2.11 % of base)
          -9 : 4834.dasm (-1.66 % of base)
          -8 : 471.dasm (-0.47 % of base)
          -8 : 1752.dasm (-0.33 % of base)
          -8 : 33092.dasm (-1.59 % of base)
          -7 : 12889.dasm (-0.16 % of base)
          -6 : 31704.dasm (-0.14 % of base)
          -5 : 2253.dasm (-0.31 % of base)
          -5 : 30390.dasm (-0.85 % of base)
          -5 : 30403.dasm (-0.64 % of base)
          -4 : 32061.dasm (-0.63 % of base)
          -4 : 32455.dasm (-0.65 % of base)
          -4 : 5687.dasm (-0.96 % of base)
66 total files with Code Size differences (25 improved, 41 regressed), 3 unchanged.
Top method regressions (bytes):
           6 (0.36 % of base) : 31744.dasm - System.Management.Automation.Language.VariableAnalysis:FinishAnalysis(ubyte):System.Tuple`2[System.Type,System.Collections.Generic.Dictionary`2[System.String,int]]:this (FullOpts)
           6 (3.26 % of base) : 31746.dasm - System.Management.Automation.Language.VariableAnalysis+Block:VisitDepthFirstOrder(System.Management.Automation.Language.VariableAnalysis+Block,System.Collections.Generic.List`1[System.Management.Automation.Language.VariableAnalysis+Block]) (FullOpts)
           6 (0.61 % of base) : 32448.dasm - System.Management.Automation.PSLocalEventManager:ProcessNewEventImplementation(System.Management.Automation.PSEventArgs,ubyte):this (FullOpts)
           6 (0.80 % of base) : 31420.dasm - System.Management.Automation.SessionStateInternal:GetProvider(System.Management.Automation.PSSnapinQualifiedName):System.Collections.ObjectModel.Collection`1[System.Management.Automation.ProviderInfo]:this (FullOpts)
           5 (0.76 % of base) : 30576.dasm - Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBaseLoader:LoadFormatTokenFromObjectModel(System.Management.Automation.CustomItemBase,int,System.String):Microsoft.PowerShell.Commands.Internal.Format.FormatToken:this (FullOpts)
           5 (0.21 % of base) : 13261.dasm - System.Threading.Tasks.Task:WaitAllCore(System.Threading.Tasks.Task[],int,System.Threading.CancellationToken):ubyte (FullOpts)
           5 (0.59 % of base) : 11571.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
           4 (0.13 % of base) : 32161.dasm - System.Management.Automation.Adapter:FindBestMethodImpl(System.Management.Automation.MethodInformation[],System.Management.Automation.PSMethodInvocationConstraints,ubyte,System.Object[],byref,byref,byref):System.Management.Automation.MethodInformation (FullOpts)
           4 (0.11 % of base) : 29937.dasm - System.Management.Automation.Runspaces.PSSnapInHelpers:AnalyzePSSnapInAssembly(System.Reflection.Assembly,System.String,System.Management.Automation.PSSnapInInfo,System.Management.Automation.PSModuleInfo,byref,byref,byref,byref) (FullOpts)
           3 (1.26 % of base) : 29339.dasm - Microsoft.Cci.MetadataWriter:PopulateMethodImplTableRows():this (FullOpts)
           3 (1.10 % of base) : 30499.dasm - Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBaseLoader:LoadHeadersSectionFromObjectModel(Microsoft.PowerShell.Commands.Internal.Format.TableControlBody,System.Collections.Generic.List`1[System.Management.Automation.TableControlColumnHeader]) (FullOpts)
           3 (1.46 % of base) : 16282.dasm - Roslyn.Utilities.CompilerOptionParseUtilities:ParseFeatures(System.Collections.Generic.IDictionary`2[System.String,System.String],System.Collections.Generic.List`1[System.String]) (FullOpts)
           3 (2.52 % of base) : 12510.dasm - SixLabors.ImageSharp.Metadata.Profiles.Exif.BaseExifReader:ReadSubIfd(System.Collections.Generic.List`1[SixLabors.ImageSharp.Metadata.Profiles.Exif.IExifValue]):this (FullOpts)
           3 (0.83 % of base) : 12508.dasm - SixLabors.ImageSharp.Metadata.Profiles.Exif.ExifReader:GetThumbnail(uint):this (FullOpts)
           3 (0.89 % of base) : 32288.dasm - System.Linq.Expressions.Compiler.LabelInfo:Define(System.Linq.Expressions.Compiler.LabelScopeInfo):this (FullOpts)
           3 (2.94 % of base) : 30348.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:EmitWriteBack(System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack]):this (FullOpts)
           3 (2.38 % of base) : 32969.dasm - System.Management.Automation.CmdletParameterBinderController:AtLeastOneUnboundValidParameterSetTakesPipelineInput(uint):ubyte:this (FullOpts)
           3 (0.07 % of base) : 32920.dasm - System.Management.Automation.CmdletParameterBinderController:GetDefaultParameterValuePairs(ubyte):System.Collections.Generic.Dictionary`2[System.Management.Automation.MergedCompiledCommandParameter,System.Object]:this (FullOpts)
           3 (0.84 % of base) : 31934.dasm - System.Management.Automation.Interpreter.BranchLabel:Mark(System.Management.Automation.Interpreter.InstructionList):this (FullOpts)
           3 (0.73 % of base) : 31868.dasm - System.Management.Automation.Interpreter.LabelInfo:Define(System.Management.Automation.Interpreter.LabelScopeInfo):this (FullOpts)
Top method improvements (bytes):
         -60 (-4.77 % of base) : 33010.dasm - System.Management.Automation.CommandProcessor:ProcessRecord():this (FullOpts)
         -36 (-5.27 % of base) : 32869.dasm - System.Management.Automation.Internal.PipelineProcessor:SynchronousExecuteEnumerate(System.Object):System.Array:this (FullOpts)
         -15 (-0.48 % of base) : 33046.dasm - System.Management.Automation.LocationGlobber:ExpandMshGlobPath(System.String,ubyte,System.Management.Automation.PSDriveInfo,System.Management.Automation.Provider.ContainerCmdletProvider,System.Management.Automation.CmdletProviderContext):System.Collections.ObjectModel.Collection`1[System.String]:this (FullOpts)
         -15 (-0.80 % of base) : 14660.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (FullOpts)
         -14 (-0.76 % of base) : 16158.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
         -12 (-0.85 % of base) : 33026.dasm - Microsoft.PowerShell.Commands.ModuleCmdletBase+<GetModuleForRootedPaths>d__95:MoveNext():ubyte:this (FullOpts)
         -11 (-0.60 % of base) : 33064.dasm - System.Management.Automation.Internal.ModuleUtils+<GetDefaultAvailableModuleFiles>d__9:MoveNext():ubyte:this (FullOpts)
         -10 (-2.11 % of base) : 15316.dasm - Microsoft.ML.Data.SimpleFileHandle:Dispose():this (FullOpts)
          -9 (-1.66 % of base) : 4834.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -8 (-0.33 % of base) : 1752.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -8 (-1.59 % of base) : 33092.dasm - System.Management.Automation.Internal.PipelineProcessor:Clean():this (FullOpts)
          -8 (-0.47 % of base) : 471.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
          -7 (-0.16 % of base) : 12889.dasm - Microsoft.ML.Data.TextLoader+Bindings:.ctor(Microsoft.ML.Data.TextLoader,Microsoft.ML.Data.TextLoader+Column[],Microsoft.ML.Data.IMultiStreamSource,Microsoft.ML.Data.IMultiStreamSource):this (FullOpts)
          -6 (-0.14 % of base) : 31704.dasm - System.Management.Automation.ScriptBlock:InvokeWithPipeImpl(int,ubyte,System.Collections.Generic.Dictionary`2[System.String,System.Management.Automation.ScriptBlock],System.Collections.Generic.List`1[System.Management.Automation.PSVariable],int,System.Object,System.Object,System.Object,System.Management.Automation.Internal.Pipe,System.Management.Automation.InvocationInfo,System.Object[]):this (FullOpts)
          -5 (-0.64 % of base) : 30403.dasm - Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBaseManager:Update(System.Management.Automation.AuthorizationManager,System.Management.Automation.Host.PSHost):this (FullOpts)
          -5 (-0.31 % of base) : 2253.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (FullOpts)
          -5 (-0.85 % of base) : 30390.dasm - System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberAdded(System.String) (FullOpts)
          -4 (-0.41 % of base) : 70.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
          -4 (-1.08 % of base) : 30663.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
          -4 (-1.21 % of base) : 30454.dasm - System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberPossiblyUpdated(System.String) (FullOpts)
Top method regressions (percentages):
           6 (3.26 % of base) : 31746.dasm - System.Management.Automation.Language.VariableAnalysis+Block:VisitDepthFirstOrder(System.Management.Automation.Language.VariableAnalysis+Block,System.Collections.Generic.List`1[System.Management.Automation.Language.VariableAnalysis+Block]) (FullOpts)
           3 (2.94 % of base) : 30348.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:EmitWriteBack(System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack]):this (FullOpts)
           3 (2.52 % of base) : 12510.dasm - SixLabors.ImageSharp.Metadata.Profiles.Exif.BaseExifReader:ReadSubIfd(System.Collections.Generic.List`1[SixLabors.ImageSharp.Metadata.Profiles.Exif.IExifValue]):this (FullOpts)
           3 (2.38 % of base) : 32969.dasm - System.Management.Automation.CmdletParameterBinderController:AtLeastOneUnboundValidParameterSetTakesPipelineInput(uint):ubyte:this (FullOpts)
           3 (1.78 % of base) : 30498.dasm - System.Management.Automation.SessionStateInternal:ProviderExists(System.Management.Automation.ProviderInfo):System.Management.Automation.ProviderInfo:this (FullOpts)
           3 (1.46 % of base) : 16282.dasm - Roslyn.Utilities.CompilerOptionParseUtilities:ParseFeatures(System.Collections.Generic.IDictionary`2[System.String,System.String],System.Collections.Generic.List`1[System.String]) (FullOpts)
           3 (1.26 % of base) : 29339.dasm - Microsoft.Cci.MetadataWriter:PopulateMethodImplTableRows():this (FullOpts)
           3 (1.18 % of base) : 29569.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeStandAloneSigTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           3 (1.18 % of base) : 29578.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeTypeSpecTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           3 (1.10 % of base) : 30499.dasm - Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBaseLoader:LoadHeadersSectionFromObjectModel(Microsoft.PowerShell.Commands.Internal.Format.TableControlBody,System.Collections.Generic.List`1[System.Management.Automation.TableControlColumnHeader]) (FullOpts)
           3 (1.06 % of base) : 29577.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeModuleRefTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           2 (0.97 % of base) : 31973.dasm - System.Management.Automation.Interpreter.InstructionList:BuildRuntimeLabels():System.Management.Automation.Interpreter.RuntimeLabel[]:this (FullOpts)
           2 (0.96 % of base) : 32997.dasm - System.Management.Automation.Internal.PipelineProcessor:SetupParameterVariables():this (FullOpts)
           3 (0.92 % of base) : 29568.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeFieldLayoutTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           3 (0.89 % of base) : 32288.dasm - System.Linq.Expressions.Compiler.LabelInfo:Define(System.Linq.Expressions.Compiler.LabelScopeInfo):this (FullOpts)
           3 (0.88 % of base) : 29580.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeFieldRvaTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes,int):this (FullOpts)
           2 (0.86 % of base) : 32456.dasm - System.Management.Automation.Runspaces.LocalRunspace:<DoCloseHelper>b__54_0():System.Collections.Generic.List`1[System.Management.Automation.RemoteRunspace]:this (FullOpts)
           3 (0.84 % of base) : 31934.dasm - System.Management.Automation.Interpreter.BranchLabel:Mark(System.Management.Automation.Interpreter.InstructionList):this (FullOpts)
           3 (0.83 % of base) : 12508.dasm - SixLabors.ImageSharp.Metadata.Profiles.Exif.ExifReader:GetThumbnail(uint):this (FullOpts)
           6 (0.80 % of base) : 31420.dasm - System.Management.Automation.SessionStateInternal:GetProvider(System.Management.Automation.PSSnapinQualifiedName):System.Collections.ObjectModel.Collection`1[System.Management.Automation.ProviderInfo]:this (FullOpts)
Top method improvements (percentages):
         -36 (-5.27 % of base) : 32869.dasm - System.Management.Automation.Internal.PipelineProcessor:SynchronousExecuteEnumerate(System.Object):System.Array:this (FullOpts)
         -60 (-4.77 % of base) : 33010.dasm - System.Management.Automation.CommandProcessor:ProcessRecord():this (FullOpts)
         -10 (-2.11 % of base) : 15316.dasm - Microsoft.ML.Data.SimpleFileHandle:Dispose():this (FullOpts)
          -9 (-1.66 % of base) : 4834.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -8 (-1.59 % of base) : 33092.dasm - System.Management.Automation.Internal.PipelineProcessor:Clean():this (FullOpts)
          -4 (-1.21 % of base) : 30454.dasm - System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberPossiblyUpdated(System.String) (FullOpts)
          -4 (-1.08 % of base) : 30663.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
          -4 (-0.96 % of base) : 5687.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -5 (-0.85 % of base) : 30390.dasm - System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberAdded(System.String) (FullOpts)
         -12 (-0.85 % of base) : 33026.dasm - Microsoft.PowerShell.Commands.ModuleCmdletBase+<GetModuleForRootedPaths>d__95:MoveNext():ubyte:this (FullOpts)
         -15 (-0.80 % of base) : 14660.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (FullOpts)
         -14 (-0.76 % of base) : 16158.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
          -4 (-0.65 % of base) : 32455.dasm - System.Management.Automation.Runspaces.LocalRunspace:CloseOrDisconnectAllRemoteRunspaces(System.Func`1[System.Collections.Generic.List`1[System.Management.Automation.RemoteRunspace]]) (FullOpts)
          -5 (-0.64 % of base) : 30403.dasm - Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBaseManager:Update(System.Management.Automation.AuthorizationManager,System.Management.Automation.Host.PSHost):this (FullOpts)
          -2 (-0.63 % of base) : 15110.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
          -4 (-0.63 % of base) : 32061.dasm - System.Management.Automation.PSObject:GetMappedAdapter(System.Object,System.Management.Automation.Runspaces.TypeTable):System.Management.Automation.PSObject+AdapterSet (FullOpts)
         -11 (-0.60 % of base) : 33064.dasm - System.Management.Automation.Internal.ModuleUtils+<GetDefaultAvailableModuleFiles>d__9:MoveNext():ubyte:this (FullOpts)
          -2 (-0.55 % of base) : 33001.dasm - System.Management.Automation.CommandProcessor:DoBegin():this (FullOpts)
         -15 (-0.48 % of base) : 33046.dasm - System.Management.Automation.LocationGlobber:ExpandMshGlobPath(System.String,ubyte,System.Management.Automation.PSDriveInfo,System.Management.Automation.Provider.ContainerCmdletProvider,System.Management.Automation.CmdletProviderContext):System.Collections.ObjectModel.Collection`1[System.String]:this (FullOpts)
          -8 (-0.47 % of base) : 471.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
  
smoke_tests.nativeaot.linux.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os linux -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 4228743 (overridden on cmd)
Total bytes of diff: 4228586 (overridden on cmd)
Total bytes of delta: -157 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
           5 : 26914.dasm (1.01 % of base)
           4 : 6186.dasm (0.53 % of base)
           3 : 4015.dasm (0.17 % of base)
           3 : 7835.dasm (0.39 % of base)
           3 : 7371.dasm (1.19 % of base)
           3 : 7792.dasm (2.03 % of base)
           3 : 26678.dasm (1.01 % of base)
           2 : 7615.dasm (0.87 % of base)
Top file improvements (bytes):
         -32 : 25828.dasm (-1.31 % of base)
         -16 : 18263.dasm (-3.42 % of base)
         -16 : 24403.dasm (-3.42 % of base)
         -16 : 20965.dasm (-3.42 % of base)
         -16 : 3579.dasm (-3.42 % of base)
         -13 : 21306.dasm (-4.15 % of base)
         -13 : 4680.dasm (-4.15 % of base)
         -13 : 18608.dasm (-4.15 % of base)
         -13 : 24756.dasm (-4.15 % of base)
          -8 : 17163.dasm (-0.48 % of base)
          -8 : 19868.dasm (-0.48 % of base)
          -8 : 23310.dasm (-0.48 % of base)
          -8 : 25464.dasm (-0.97 % of base)
          -2 : 7620.dasm (-0.51 % of base)
          -1 : 1373.dasm (-0.06 % of base)
23 total files with Code Size differences (15 improved, 8 regressed), 1 unchanged.
Top method regressions (bytes):
           5 (1.01 % of base) : 26914.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
           4 (0.53 % of base) : 6186.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
           3 (0.17 % of base) : 4015.dasm - Internal.Runtime.TypeLoader.TypeLoaderEnvironment:FindMatchingInterfaceSlot(Internal.Runtime.TypeLoader.NativeFormatModuleInfo,Internal.NativeFormat.NativeReader,byref,byref,Internal.TypeSystem.InstantiatedMethod,Internal.TypeSystem.DefType,ubyte,ubyte):Internal.TypeSystem.InstantiatedMethod (FullOpts)
           3 (2.03 % of base) : 7792.dasm - System.Linq.Expressions.Interpreter.BranchLabel:Mark(System.Linq.Expressions.Interpreter.InstructionList):this (FullOpts)
           3 (1.19 % of base) : 7371.dasm - System.Linq.Expressions.Interpreter.LabelInfo:Define(System.Linq.Expressions.Interpreter.LabelScopeInfo):this (FullOpts)
           3 (0.39 % of base) : 7835.dasm - System.Threading.Tasks.TaskExceptionHolder:AddFaultException(System.Object):this (FullOpts)
           3 (1.01 % of base) : 26678.dasm - ThreadTest:ExpectPassed(System.String,int) (FullOpts)
           2 (0.87 % of base) : 7615.dasm - System.Linq.Expressions.Interpreter.InstructionList:BuildRuntimeLabels():System.Linq.Expressions.Interpreter.RuntimeLabel[]:this (FullOpts)
Top method improvements (bytes):
         -32 (-1.31 % of base) : 25828.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -16 (-3.42 % of base) : 18263.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
         -16 (-3.42 % of base) : 24403.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
         -16 (-3.42 % of base) : 20965.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
         -16 (-3.42 % of base) : 3579.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
         -13 (-4.15 % of base) : 21306.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -13 (-4.15 % of base) : 4680.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -13 (-4.15 % of base) : 18608.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -13 (-4.15 % of base) : 24756.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
          -8 (-0.97 % of base) : 25464.dasm - System.Diagnostics.ProcessWaitState:CheckChildren(ubyte,ubyte) (FullOpts)
          -8 (-0.48 % of base) : 17163.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
          -8 (-0.48 % of base) : 19868.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
          -8 (-0.48 % of base) : 23310.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
          -2 (-0.51 % of base) : 7620.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -1 (-0.06 % of base) : 1373.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
Top method regressions (percentages):
           3 (2.03 % of base) : 7792.dasm - System.Linq.Expressions.Interpreter.BranchLabel:Mark(System.Linq.Expressions.Interpreter.InstructionList):this (FullOpts)
           3 (1.19 % of base) : 7371.dasm - System.Linq.Expressions.Interpreter.LabelInfo:Define(System.Linq.Expressions.Interpreter.LabelScopeInfo):this (FullOpts)
           3 (1.01 % of base) : 26678.dasm - ThreadTest:ExpectPassed(System.String,int) (FullOpts)
           5 (1.01 % of base) : 26914.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
           2 (0.87 % of base) : 7615.dasm - System.Linq.Expressions.Interpreter.InstructionList:BuildRuntimeLabels():System.Linq.Expressions.Interpreter.RuntimeLabel[]:this (FullOpts)
           4 (0.53 % of base) : 6186.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
           3 (0.39 % of base) : 7835.dasm - System.Threading.Tasks.TaskExceptionHolder:AddFaultException(System.Object):this (FullOpts)
           3 (0.17 % of base) : 4015.dasm - Internal.Runtime.TypeLoader.TypeLoaderEnvironment:FindMatchingInterfaceSlot(Internal.Runtime.TypeLoader.NativeFormatModuleInfo,Internal.NativeFormat.NativeReader,byref,byref,Internal.TypeSystem.InstantiatedMethod,Internal.TypeSystem.DefType,ubyte,ubyte):Internal.TypeSystem.InstantiatedMethod (FullOpts)
Top method improvements (percentages):
         -13 (-4.15 % of base) : 21306.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -13 (-4.15 % of base) : 4680.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -13 (-4.15 % of base) : 18608.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -13 (-4.15 % of base) : 24756.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -16 (-3.42 % of base) : 18263.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
         -16 (-3.42 % of base) : 24403.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
         -16 (-3.42 % of base) : 20965.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
         -16 (-3.42 % of base) : 3579.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
         -32 (-1.31 % of base) : 25828.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -8 (-0.97 % of base) : 25464.dasm - System.Diagnostics.ProcessWaitState:CheckChildren(ubyte,ubyte) (FullOpts)
          -2 (-0.51 % of base) : 7620.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -8 (-0.48 % of base) : 17163.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
          -8 (-0.48 % of base) : 19868.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
          -8 (-0.48 % of base) : 23310.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
          -1 (-0.06 % of base) : 1373.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
23 total methods with Code Size differences (15 improved, 8 regressed).
  
  
osx arm64
Diffs are based on 1,733,615 contexts (561,303 MinOpts, 1,172,312 FullOpts).
MISSED contexts: base: 2,902 (0.17%), diff: 2,906 (0.17%)
Overall (-6,596 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.osx.arm64.checked.mch | 11,101,028 | -140 | 
| benchmarks.run_pgo.osx.arm64.checked.mch | 24,782,000 | -120 | 
| benchmarks.run_tiered.osx.arm64.checked.mch | 15,471,752 | -76 | 
| coreclr_tests.run.osx.arm64.checked.mch | 390,213,652 | -800 | 
| libraries.crossgen2.osx.arm64.checked.mch | 63,645,568 | -216 | 
| libraries.pmi.osx.arm64.checked.mch | 80,235,780 | -2,060 | 
| libraries_tests.run.osx.arm64.Release.mch | 72,839,284 | -472 | 
| librariestestsnotieredcompilation.run.osx.arm64.Release.mch | 159,909,600 | -2,464 | 
| realworld.run.osx.arm64.checked.mch | 15,078,748 | -248 | 
  
FullOpts (-6,596 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.osx.arm64.checked.mch | 11,100,292 | -140 | 
| benchmarks.run_pgo.osx.arm64.checked.mch | 8,787,588 | -120 | 
| benchmarks.run_tiered.osx.arm64.checked.mch | 3,950,116 | -76 | 
| coreclr_tests.run.osx.arm64.checked.mch | 138,802,076 | -800 | 
| libraries.crossgen2.osx.arm64.checked.mch | 63,643,940 | -216 | 
| libraries.pmi.osx.arm64.checked.mch | 80,114,652 | -2,060 | 
| libraries_tests.run.osx.arm64.Release.mch | 12,454,304 | -472 | 
| librariestestsnotieredcompilation.run.osx.arm64.Release.mch | 146,850,240 | -2,464 | 
| realworld.run.osx.arm64.checked.mch | 14,514,796 | -248 | 
  
Example diffs
benchmarks.run.osx.arm64.checked.mch
-12 (-1.94%) : 5302.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
@@ -10,8 +10,8 @@
 ;
 ;  V00 this         [V00,T10] (  3,  4   )     ref  ->  x20         this class-hnd single-def <System.Threading.Tasks.Task>
 ;  V01 arg1         [V01,T09] (  5,  4.50)     ref  ->  x19         class-hnd single-def <System.Threading.Tasks.Task+ContingentProperties>
-;  V02 loc0         [V02,T12] (  5,  3.50)     ref  ->  x21         class-hnd single-def <<unknown class>>
-;  V03 loc1         [V03,T16] (  3,  0.50)     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <<unknown class>>
+;  V02 loc0         [V02,T13] (  5,  3.50)     ref  ->  x21         class-hnd single-def <<unknown class>>
+;  V03 loc1         [V03,T17] (  3,  0.50)     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <<unknown class>>
 ;  V04 loc2         [V04    ] (  6,  2.50)   ubyte  ->  [fp+0x18]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
@@ -24,20 +24,21 @@
 ;  V13 tmp5         [V13,T05] (  3, 12   )     ref  ->  x24         class-hnd "Inlining Arg" <System.AggregateException>
 ;* V14 tmp6         [V14    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V15 tmp7         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V16 tmp8         [V16,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V16 tmp8         [V16,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V17 tmp9         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V18 tmp10        [V18,T02] (  4, 12.50)     ref  ->  x21         single-def "field V05._list (fldOffset=0x0)" P-INDEP
-;  V19 tmp11        [V19,T03] (  3, 10   )     ref  ->  x24         "field V05._current (fldOffset=0x8)" P-INDEP
+;  V18 tmp10        [V18,T03] (  4, 12.50)     ref  ->  x21         single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V19 tmp11        [V19,T02] (  3, 10   )     ref  ->  x24         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V20 tmp12        [V20,T00] (  6, 20.50)     int  ->  x23         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V21 tmp13        [V21,T07] (  3,  8.50)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
-;  V22 tmp14        [V22,T13] (  3,  1.50)     ref  ->  x21         single-def "field V09._list (fldOffset=0x0)" P-INDEP
+;  V21 tmp13        [V21,T12] (  2,  4.50)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V22 tmp14        [V22,T14] (  3,  1.50)     ref  ->  x21         single-def "field V09._list (fldOffset=0x0)" P-INDEP
 ;* V23 tmp15        [V23    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V09._current (fldOffset=0x8)" P-INDEP
-;* V24 tmp16        [V24,T17] (  0,  0   )     int  ->  zero-ref    "field V09._index (fldOffset=0x10)" P-INDEP
-;  V25 tmp17        [V25,T14] (  2,  1   )     int  ->  x22         "field V09._version (fldOffset=0x14)" P-INDEP
+;* V24 tmp16        [V24,T18] (  0,  0   )     int  ->  zero-ref    "field V09._index (fldOffset=0x10)" P-INDEP
+;  V25 tmp17        [V25,T15] (  2,  1   )     int  ->  x22         "field V09._version (fldOffset=0x14)" P-INDEP
 ;  V26 tmp18        [V26,T01] (  3, 24   )     ref  ->   x0         "arr expr"
-;  V27 PSPSym       [V27,T15] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
-;  V28 cse0         [V28,T06] (  3, 12   )     int  ->  x24         "CSE - aggressive"
-;  V29 cse1         [V29,T04] (  4, 12   )   byref  ->  x25         "CSE - aggressive"
+;  V27 PSPSym       [V27,T16] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
+;  V28 cse0         [V28,T08] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V29 cse1         [V29,T06] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V30 cse2         [V30,T04] (  4, 12   )   byref  ->  x25         "CSE - aggressive"
 ;
 ; Lcl frame size = 24
 
@@ -68,7 +69,7 @@ G_M37406_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             ; byrRegs +[x1]
             ldar    x21, [x1]
             ; gcrRegs +[x21]
-            cbz     x21, G_M37406_IG15
+            cbz     x21, G_M37406_IG14
                        ;; size=40 bbWeight=1 PerfScore 11.00
 G_M37406_IG03:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
             ; byrRegs -[x1]
@@ -76,7 +77,7 @@ G_M37406_IG03:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs
             ; GC ptr vars +{V03}
             str     wzr, [fp, #0x18]   // [V04 loc2]
                        ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M37406_IG04:        ; bbWeight=0.50, gcVars=0000000000010000 {V03}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M37406_IG04:        ; bbWeight=0.50, gcVars=0000000000020000 {V03}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w1, [fp, #0x18] // [V04 loc2]
             cbnz    w1, G_M37406_IG09
             add     x1, fp, #24    // [V04 loc2]
@@ -96,17 +97,17 @@ G_M37406_IG04:        ; bbWeight=0.50, gcVars=0000000000010000 {V03}, gcrefRegs=
             mov     w23, wzr
                        ;; size=52 bbWeight=0.50 PerfScore 8.00
 G_M37406_IG05:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
-            ldr     w24, [x21, #0x14]
-            cmp     w22, w24
-            bne     G_M37406_IG10
+            ldr     w0, [x21, #0x14]
+            cmp     w22, w0
+            bne     G_M37406_IG11
             ldr     w0, [x21, #0x10]
             cmp     w23, w0
-            bhs     G_M37406_IG13
+            bhs     G_M37406_IG12
             ldr     x0, [x21, #0x08]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x08]
             cmp     w23, w1
-            bhs     G_M37406_IG11
+            bhs     G_M37406_IG10
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
@@ -213,18 +214,11 @@ G_M37406_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M37406_IG10:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x19]
-            cmp     w22, w24
-            bne     G_M37406_IG12
-            b       G_M37406_IG13
-                       ;; size=12 bbWeight=4 PerfScore 10.00
-G_M37406_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x19]
+G_M37406_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M37406_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M37406_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
@@ -233,10 +227,10 @@ G_M37406_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M37406_IG13:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M37406_IG12:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x19]
             ldrb    w0, [fp, #0x18]    // [V04 loc2]
-            cbz     w0, G_M37406_IG14
+            cbz     w0, G_M37406_IG13
             ldr     x0, [fp, #0x10]  // [V03 loc1]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V03}
@@ -244,12 +238,12 @@ G_M37406_IG13:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0.50 PerfScore 3.00
-G_M37406_IG14:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M37406_IG13:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             add     x0, x19, #40
             ; byrRegs +[x0]
             stlr    xzr, [x0]
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
-G_M37406_IG15:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M37406_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x19]
             ; byrRegs -[x0]
             ldr     x25, [sp, #0x58]
@@ -259,8 +253,8 @@ G_M37406_IG15:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=24 bbWeight=1 PerfScore 7.00
-G_M37406_IG16:        ; bbWeight=0, gcVars=0000000000010000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-            ; GC ptr vars +{V03 V16}
+G_M37406_IG15:        ; bbWeight=0, gcVars=0000000000020000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+            ; GC ptr vars +{V03}
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x18]
             stp     x21, x22, [sp, #0x28]
@@ -269,17 +263,17 @@ G_M37406_IG16:        ; bbWeight=0, gcVars=0000000000010000 {V03}, gcrefRegs=000
             add     x3, fp, #96
             str     x3, [sp, #0x10]
                        ;; size=28 bbWeight=0 PerfScore 0.00
-G_M37406_IG17:        ; bbWeight=0, gcVars=0000000000010000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M37406_IG16:        ; bbWeight=0, gcVars=0000000000020000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w0, [fp, #0x18]   // [V04 loc2]
-            cbz     w0, G_M37406_IG18
+            cbz     w0, G_M37406_IG17
             ldr     x0, [fp, #0x10]  // [V03 loc1]
             ; gcrRegs +[x0]
-            ; GC ptr vars -{V03 V16}
+            ; GC ptr vars -{V03}
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M37406_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M37406_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldr     x25, [sp, #0x48]
             ldp     x23, x24, [sp, #0x38]
             ldp     x21, x22, [sp, #0x28]
@@ -288,7 +282,7 @@ G_M37406_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 620, prolog size 40, PerfScore 268.75, instruction count 155, allocated bytes for code 620 (MethodHash=88f36de1) for method System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
+; Total bytes of code 608, prolog size 40, PerfScore 258.75, instruction count 152, allocated bytes for code 608 (MethodHash=88f36de1) for method System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -299,7 +293,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 138 (0x0008a) Actual length = 552 (0x000228)
+  Function Length   : 135 (0x00087) Actual length = 540 (0x00021c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -338,4 +332,4 @@ Unwind Info:
 
 *************** EH table for System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M37406_IG04..G_M37406_IG13) handled by [G_M37406_IG16..END) (fault)
+EH#0: try [G_M37406_IG04..G_M37406_IG12) handled by [G_M37406_IG15..END) (fault)
  
-8 (-1.82%) : 5086.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
@@ -10,62 +10,63 @@
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Net.Http.Headers.HeaderDescriptor>
 ;  V01 arg1         [V01,T03] (  8, 13.50)     ref  ->  x19         class-hnd single-def <System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo>
-;  V02 loc0         [V02,T16] (  3,  0.50)     ref  ->  [fp+0x18]  class-hnd exact EH-live spill-single-def <System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo>
-;  V03 loc1         [V03    ] (  6,  5   )   ubyte  ->  [fp+0x20]  do-not-enreg[X] addr-exposed ld-addr-op
-;  V04 loc2         [V04,T12] (  3,  1.50)     ref  ->   x0         class-hnd single-def <<unknown class>>
+;  V02 loc0         [V02,T17] (  3,  0.50)     ref  ->  [fp+0x10]  class-hnd exact EH-live spill-single-def <System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo>
+;  V03 loc1         [V03    ] (  6,  5   )   ubyte  ->  [fp+0x18]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V04 loc2         [V04,T13] (  3,  1.50)     ref  ->   x0         class-hnd single-def <<unknown class>>
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
-;  V07 loc5         [V07,T10] (  5,  2.50)     ref  ->   x2         class-hnd exact <System.String>
+;  V07 loc5         [V07,T11] (  5,  2.50)     ref  ->   x2         class-hnd exact <System.String>
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V09 tmp1         [V09,T11] (  2,  2   )     ref  ->   x2         single-def "CASTCLASS eval op1"
+;  V09 tmp1         [V09,T12] (  2,  2   )     ref  ->   x2         single-def "CASTCLASS eval op1"
 ;* V10 tmp2         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.String>
 ;* V11 tmp3         [V11    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
-;* V12 tmp4         [V12,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V12 tmp4         [V12,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V13 tmp5         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V14 tmp6         [V14,T08] (  3,  5.50)     ref  ->  x20         single-def "field V00._descriptor (fldOffset=0x0)" P-INDEP
 ;  V15 tmp7         [V15,T02] (  4, 12.50)     ref  ->  x21         single-def "field V05._list (fldOffset=0x0)" P-INDEP
 ;  V16 tmp8         [V16,T04] (  2,  8   )     ref  ->   x2         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V17 tmp9         [V17,T00] (  6, 20.50)     int  ->  x23         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V18 tmp10        [V18,T06] (  3,  8.50)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
-;  V19 tmp11        [V19,T13] (  3,  1.50)     ref  ->  x21         single-def "field V11._list (fldOffset=0x0)" P-INDEP
+;  V18 tmp10        [V18,T09] (  2,  4.50)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V19 tmp11        [V19,T14] (  3,  1.50)     ref  ->  x21         single-def "field V11._list (fldOffset=0x0)" P-INDEP
 ;* V20 tmp12        [V20    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V11._current (fldOffset=0x8)" P-INDEP
-;* V21 tmp13        [V21,T17] (  0,  0   )     int  ->  zero-ref    "field V11._index (fldOffset=0x10)" P-INDEP
-;  V22 tmp14        [V22,T14] (  2,  1   )     int  ->  x22         "field V11._version (fldOffset=0x14)" P-INDEP
+;* V21 tmp13        [V21,T18] (  0,  0   )     int  ->  zero-ref    "field V11._index (fldOffset=0x10)" P-INDEP
+;  V22 tmp14        [V22,T15] (  2,  1   )     int  ->  x22         "field V11._version (fldOffset=0x14)" P-INDEP
 ;  V23 tmp15        [V23,T01] (  3, 24   )     ref  ->   x0         "arr expr"
-;  V24 PSPSym       [V24,T15] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
-;  V25 cse0         [V25,T05] (  3, 12   )     int  ->  x24         "CSE - aggressive"
-;  V26 cse1         [V26,T09] (  4,  3   )     ref  ->  x21         "CSE - aggressive"
+;  V24 PSPSym       [V24,T16] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
+;  V25 cse0         [V25,T07] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V26 cse1         [V26,T05] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V27 cse2         [V27,T10] (  4,  3   )     ref  ->  x21         "CSE - aggressive"
 ;
-; Lcl frame size = 32
+; Lcl frame size = 24
 
 G_M53769_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x30]
-            stp     x21, x22, [sp, #0x40]
-            stp     x23, x24, [sp, #0x50]
+            stp     fp, lr, [sp, #-0x50]!
+            stp     x19, x20, [sp, #0x28]
+            stp     x21, x22, [sp, #0x38]
+            str     x23, [sp, #0x48]
             mov     fp, sp
-            add     x2, sp, #96
-            str     x2, [fp, #0x28]    // [V24 PSPSym]
+            add     x2, sp, #80
+            str     x2, [fp, #0x20]    // [V24 PSPSym]
             mov     x20, x0
             ; gcrRegs +[x20]
             mov     x19, x1
             ; gcrRegs +[x19]
                        ;; size=36 bbWeight=1 PerfScore 7.00
 G_M53769_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
-            str     x19, [fp, #0x18] // [V02 loc0]
+            str     x19, [fp, #0x10] // [V02 loc0]
             ; GC ptr vars +{V02}
-            str     wzr, [fp, #0x20] // [V03 loc1]
+            str     wzr, [fp, #0x18] // [V03 loc1]
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M53769_IG03:        ; bbWeight=1, gcVars=0000000000010000 {V02}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
-            ldrb    w1, [fp, #0x20]    // [V03 loc1]
+G_M53769_IG03:        ; bbWeight=1, gcVars=0000000000020000 {V02}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
+            ldrb    w1, [fp, #0x18]    // [V03 loc1]
             cbnz    w1, G_M53769_IG06
-            add     x1, fp, #32 // [V03 loc1]
+            add     x1, fp, #24  // [V03 loc1]
             mov     x0, x19
             ; gcrRegs +[x0]
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            ldrb    w0, [fp, #0x20]   // [V03 loc1]
+            ldrb    w0, [fp, #0x18]  // [V03 loc1]
             movz    x1, #0xD1FFAB1E      // code for <unknown method>
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #1 LSL #32
@@ -74,7 +75,7 @@ G_M53769_IG03:        ; bbWeight=1, gcVars=0000000000010000 {V02}, gcrefRegs=180
             ; gcr arg pop 0
             ldr     x21, [x19, #0x08]
             ; gcrRegs +[x21]
-            cbz     x21, G_M53769_IG12
+            cbz     x21, G_M53769_IG11
                        ;; size=52 bbWeight=1 PerfScore 16.50
 G_M53769_IG04:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             mov     x1, x21
@@ -85,24 +86,24 @@ G_M53769_IG04:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs
             bl      CORINFO_HELP_ISINSTANCEOFCLASS
             ; gcrRegs -[x1] +[x0]
             ; gcr arg pop 0
-            cbz     x0, G_M53769_IG11
+            cbz     x0, G_M53769_IG10
             mov     x21, x0
             ldr     w22, [x21, #0x14]
             mov     w23, wzr
                        ;; size=36 bbWeight=0.50 PerfScore 4.00
 G_M53769_IG05:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
-            ldr     w24, [x21, #0x14]
-            cmp     w22, w24
-            bne     G_M53769_IG07
+            ldr     w0, [x21, #0x14]
+            cmp     w22, w0
+            bne     G_M53769_IG09
             ldr     w0, [x21, #0x10]
             cmp     w23, w0
-            bhs     G_M53769_IG08
+            bhs     G_M53769_IG07
             ldr     x0, [x21, #0x08]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x08]
             cmp     w23, w1
-            bhs     G_M53769_IG09
+            bhs     G_M53769_IG08
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
@@ -133,21 +134,17 @@ G_M53769_IG06:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M53769_IG07:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M53769_IG07:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x19]
-            cmp     w22, w24
-            bne     G_M53769_IG10
-                       ;; size=8 bbWeight=4 PerfScore 6.00
-G_M53769_IG08:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             str     xzr, [x19, #0x08]
-            b       G_M53769_IG12
+            b       G_M53769_IG11
                      ;; size=8 bbWeight=4 PerfScore 8.00
-G_M53769_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M53769_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M53769_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M53769_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
@@ -156,7 +153,7 @@ G_M53769_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M53769_IG11:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+G_M53769_IG10:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x19-x21]
             mov     x2, x21
             ; gcrRegs +[x2]
@@ -177,56 +174,56 @@ G_M53769_IG11:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs
             blr     x3
             ; gcrRegs -[x0-x2 x20-x21]
             ; gcr arg pop 0
-            b       G_M53769_IG08
+            b       G_M53769_IG07
                       ;; size=60 bbWeight=0.50 PerfScore 6.75
-G_M53769_IG12:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M53769_IG11:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x19]
-            ldrb    w0, [fp, #0x20]    // [V03 loc1]
-            cbz     w0, G_M53769_IG14
+            ldrb    w0, [fp, #0x18] // [V03 loc1]
+            cbz     w0, G_M53769_IG13
                       ;; size=8 bbWeight=1 PerfScore 3.00
-G_M53769_IG13:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ldr     x0, [fp, #0x18]    // [V02 loc0]
+G_M53769_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ldr     x0, [fp, #0x10]    // [V02 loc0]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V02}
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=8 bbWeight=0.50 PerfScore 1.50
-G_M53769_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ldp     x23, x24, [sp, #0x50]
-            ldp     x21, x22, [sp, #0x40]
-            ldp     x19, x20, [sp, #0x30]
-            ldp     fp, lr, [sp], #0x60
+G_M53769_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            ldr     x23, [sp, #0x48]
+            ldp     x21, x22, [sp, #0x38]
+            ldp     x19, x20, [sp, #0x28]
+            ldp     fp, lr, [sp], #0x50
             ret     lr
-                        ;; size=20 bbWeight=1 PerfScore 5.00
-G_M53769_IG15:        ; bbWeight=0, gcVars=0000000000010000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-            ; GC ptr vars +{V02 V16}
-            stp     fp, lr, [sp, #-0x50]!
-            stp     x19, x20, [sp, #0x20]
-            stp     x21, x22, [sp, #0x30]
-            stp     x23, x24, [sp, #0x40]
-            add     x3, fp, #96
-            str     x3, [sp, #0x18]
+                      ;; size=20 bbWeight=1 PerfScore 6.00
+G_M53769_IG14:        ; bbWeight=0, gcVars=0000000000020000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+            ; GC ptr vars +{V02 V17}
+            stp     fp, lr, [sp, #-0x40]!
+            stp     x19, x20, [sp, #0x18]
+            stp     x21, x22, [sp, #0x28]
+            str     x23, [sp, #0x38]
+            add     x3, fp, #80
+            str     x3, [sp, #0x10]
                         ;; size=24 bbWeight=0 PerfScore 0.00
-G_M53769_IG16:        ; bbWeight=0, gcVars=0000000000010000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            ldrb    w0, [fp, #0x20]    // [V03 loc1]
-            cbz     w0, G_M53769_IG17
-            ldr     x0, [fp, #0x18]    // [V02 loc0]
+G_M53769_IG15:        ; bbWeight=0, gcVars=0000000000020000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+            ldrb    w0, [fp, #0x18]    // [V03 loc1]
+            cbz     w0, G_M53769_IG16
+            ldr     x0, [fp, #0x10]    // [V02 loc0]
             ; gcrRegs +[x0]
-            ; GC ptr vars -{V02 V16}
+            ; GC ptr vars -{V02 V17}
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M53769_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
-            ldp     x23, x24, [sp, #0x40]
-            ldp     x21, x22, [sp, #0x30]
-            ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x50
+G_M53769_IG16:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+            ldr     x23, [sp, #0x38]
+            ldp     x21, x22, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 440, prolog size 36, PerfScore 171.75, instruction count 110, allocated bytes for code 440 (MethodHash=4a3e2df6) for method System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
+; Total bytes of code 432, prolog size 36, PerfScore 166.75, instruction count 108, allocated bytes for code 432 (MethodHash=4a3e2df6) for method System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
...
  
-8 (-1.49%) : 1961.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
@@ -8,10 +8,10 @@
 ; 0 inlinees with PGO data; 11 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] (  3,  3   )    long  ->  x19         single-def
-;  V01 arg1         [V01,T19] (  3,  3   )    long  ->  x20         single-def
+;  V00 arg0         [V00,T19] (  3,  3   )    long  ->  x19         single-def
+;  V01 arg1         [V01,T20] (  3,  3   )    long  ->  x20         single-def
 ;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x28]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T20] (  4, 11   )    long  ->  x20        
+;  V03 loc1         [V03,T21] (  4, 11   )    long  ->  x20        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
@@ -19,14 +19,14 @@
 ;  V08 tmp1         [V08,T10] (  7, 84   )     ref  ->  x19         class-hnd single-def "non-inline candidate call" <<unknown class>>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V11 tmp4         [V11,T29] (  3,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V12 tmp5         [V12,T22] (  2,  4   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp4         [V11,T30] (  3,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp5         [V12,T23] (  2,  4   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp10        [V17,T08] (  2, 16   )     int  ->  x26         "Inlining Arg"
-;  V18 tmp11        [V18,T07] (  2, 16   )   byref  ->  x25         "Inlining Arg"
+;  V17 tmp10        [V17,T07] (  2, 16   )     int  ->  x26         "Inlining Arg"
+;  V18 tmp11        [V18,T06] (  2, 16   )   byref  ->  x25         "Inlining Arg"
 ;  V19 tmp12        [V19,T12] (  2,  8   )   ubyte  ->   x0         "Inline return value spill temp"
 ;* V20 tmp13        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V21 tmp14        [V21    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
@@ -38,30 +38,30 @@
 ;* V27 tmp20        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V28 tmp21        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V30 tmp23        [V30,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V30 tmp23        [V30,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V31 tmp24        [V31    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V32 tmp25        [V32,T23] (  3, 17   )     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
-;  V33 tmp26        [V33,T21] (  4, 18   )     int  ->  x15         "Inline stloc first use temp"
-;  V34 tmp27        [V34,T17] (  3, 20   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V32 tmp25        [V32,T24] (  3, 17   )     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
+;  V33 tmp26        [V33,T22] (  4, 18   )     int  ->  x15         "Inline stloc first use temp"
+;  V34 tmp27        [V34,T18] (  3, 20   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V35 tmp28        [V35    ] (  3,  3   )  struct (16) [fp+0x18]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
 ;  V36 tmp29        [V36    ] (  3, 13   )   byref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
 ;  V37 tmp30        [V37    ] (  3, 13   )     int  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
-;  V38 tmp31        [V38,T02] (  4, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V39 tmp32        [V39,T03] (  4, 20   )     ref  ->   x0         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V38 tmp31        [V38,T03] (  4, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V39 tmp32        [V39,T02] (  4, 20   )     ref  ->   x0         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V40 tmp33        [V40,T00] (  6, 41   )     int  ->  x22         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V41 tmp34        [V41,T05] (  3, 17   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
-;  V42 tmp35        [V42,T13] (  2,  8   )   byref  ->  x23         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V43 tmp36        [V43,T15] (  2,  8   )     int  ->  x24         "field V09._length (fldOffset=0x8)" P-INDEP
+;  V41 tmp34        [V41,T13] (  2,  9   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
+;  V42 tmp35        [V42,T14] (  2,  8   )   byref  ->  x23         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V43 tmp36        [V43,T16] (  2,  8   )     int  ->  x24         "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V44 tmp37        [V44    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V45 tmp38        [V45    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V46 tmp39        [V46,T24] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;  V46 tmp39        [V46,T25] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V47 tmp40        [V47    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V48 tmp41        [V48,T27] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
-;  V49 tmp42        [V49,T25] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
+;* V48 tmp41        [V48,T28] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
+;  V49 tmp42        [V49,T26] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
 ;  V50 tmp43        [V50,T11] (  3, 12   )   byref  ->   x1         "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V51 tmp44        [V51,T06] (  4, 16   )     int  ->  x25         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V52 tmp45        [V52,T14] (  2,  8   )   byref  ->   x1         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V53 tmp46        [V53,T16] (  2,  8   )     int  ->  x25         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V51 tmp44        [V51,T05] (  4, 16   )     int  ->  x25         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V52 tmp45        [V52,T15] (  2,  8   )   byref  ->   x1         "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V53 tmp46        [V53,T17] (  2,  8   )     int  ->  x25         "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V54 tmp47        [V54    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V55 tmp48        [V55    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V20._reference (fldOffset=0x0)" P-INDEP
@@ -77,9 +77,10 @@
 ;* V66 tmp59        [V66    ] (  0,  0   )   byref  ->  zero-ref    "field V29._reference (fldOffset=0x0)" P-INDEP
 ;* V67 tmp60        [V67    ] (  0,  0   )     int  ->  zero-ref    "field V29._length (fldOffset=0x8)" P-INDEP
 ;  V68 tmp61        [V68,T01] (  3, 48   )     ref  ->   x0         "arr expr"
-;  V69 PSPSym       [V69,T28] (  1,  1   )    long  ->  [fp+0x38]  do-not-enreg[V] "PSPSym"
-;  V70 cse0         [V70,T04] (  3, 24   )     int  ->  x23         "CSE - aggressive"
-;  V71 cse1         [V71,T26] (  2, 16   )     int  ->  x12         "CSE - moderate"
+;  V69 PSPSym       [V69,T29] (  1,  1   )    long  ->  [fp+0x38]  do-not-enreg[V] "PSPSym"
+;  V70 cse0         [V70,T09] (  2, 16   )     int  ->   x0         "CSE - aggressive"
+;  V71 cse1         [V71,T04] (  2, 16   )     int  ->   x0         "CSE - aggressive"
+;  V72 cse2         [V72,T27] (  2, 16   )     int  ->  x12         "CSE - moderate"
 ;
 ; Lcl frame size = 48
 
@@ -113,7 +114,7 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             stp     x0, x1, [fp, #0x28]    // [V02 loc0], [V02 loc0+0x08]
             ldrb    w0, [x20, #0x08]
             ; byrRegs -[x0]
-            cbz     w0, G_M19804_IG11
+            cbz     w0, G_M19804_IG10
             ldr     x19, [x20]
             ; gcrRegs +[x19]
             ldr     w21, [x19, #0x14]
@@ -162,15 +163,15 @@ G_M19804_IG06:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=800002 {x1
             blr     x3
             ; byrRegs -[x0-x1 x23]
             ; gcr arg pop 0
-            cbnz    w0, G_M19804_IG14
+            cbnz    w0, G_M19804_IG13
                       ;; size=40 bbWeight=4 PerfScore 38.00
 G_M19804_IG07:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            ldr     w23, [x19, #0x14]
-            cmp     w21, w23
-            bne     G_M19804_IG10
+            ldr     w0, [x19, #0x14]
+            cmp     w21, w0
+            bne     G_M19804_IG09
             ldr     w0, [x19, #0x10]
             cmp     w22, w0
-            bhs     G_M19804_IG11
+            bhs     G_M19804_IG10
             ldr     x0, [x19, #0x08]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x08]
@@ -200,10 +201,6 @@ G_M19804_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
 G_M19804_IG10:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            cmp     w21, w23
-            bne     G_M19804_IG09
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldr     x19, [x20]
             ; gcrRegs +[x19]
             add     x0, fp, #40    // [V02 loc0]
@@ -223,9 +220,9 @@ G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x14]
             ldr     w12, [x14, #0x08]
             cmp     w12, w15
-            bls     G_M19804_IG13
+            bls     G_M19804_IG12
                      ;; size=60 bbWeight=8 PerfScore 172.00
-G_M19804_IG12:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG11:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             add     w12, w15, #1
             str     w12, [x19, #0x10]
@@ -238,9 +235,9 @@ G_M19804_IG12:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x1 x15 x19]
             ; byrRegs -[x14]
-            b       G_M19804_IG14
+            b       G_M19804_IG13
                      ;; size=28 bbWeight=1 PerfScore 5.50
-G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG12:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x1 x19]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -252,12 +249,12 @@ G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {},
             ; gcrRegs -[x0-x1 x19]
             ; gcr arg pop 0
                        ;; size=24 bbWeight=1 PerfScore 6.00
-G_M19804_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             add     x0, fp, #24   // [V35 tmp28]
             bl      CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
+G_M19804_IG14:        ; bbWeight=1, epilog, nogc, extend
             ldp     x25, x26, [sp, #0x70]
             ldp     x23, x24, [sp, #0x60]
             ldp     x21, x22, [sp, #0x50]
@@ -265,7 +262,7 @@ G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x80
             ret     lr
                        ;; size=24 bbWeight=1 PerfScore 6.00
-G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M19804_IG15:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             ; gcrRegs +[x0]
             stp     fp, lr, [sp, #-0x60]!
             stp     x19, x20, [sp, #0x20]
@@ -275,7 +272,7 @@ G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             add     x3, fp, #128
             str     x3, [sp, #0x18]
                        ;; size=28 bbWeight=0 PerfScore 0.00
-G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M19804_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
             ldr     x1, [x0]
             ldr     x1, [x1, #0x48]
             ldr     x1, [x1, #0x08]
@@ -288,9 +285,9 @@ G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            adr     x0, [G_M19804_IG14]
+            adr     x0, [G_M19804_IG13]
                       ;; size=40 bbWeight=0 PerfScore 0.00
-G_M19804_IG18:        ; bbWeight=0, funclet epilog, nogc, extend
+G_M19804_IG17:        ; bbWeight=0, funclet epilog, nogc, extend
             ldp     x25, x26, [sp, #0x50]
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
@@ -299,7 +296,7 @@ G_M19804_IG18:        ; bbWeight=0, funclet epilog, nogc, extend
             ret     lr
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 536, prolog size 44, PerfScore 512.00, instruction count 134, allocated bytes for code 536 (MethodHash=86b0b2a3) for method System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
+; Total bytes of code 528, prolog size 44, PerfScore 500.00, instruction count 132, allocated bytes for code 528 (MethodHash=86b0b2a3) for method System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -310,7 +307,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 111 (0x0006f) Actual length = 444 (0x0001bc)
+  Function Length   : 109 (0x0006d) Actual length = 436 (0x0001b4)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -347,4 +344,4 @@ Unwind Info:
 
 *************** EH table for System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long)
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M19804_IG03..G_M19804_IG14) handled by [G_M19804_IG16..END) (class: 200005B)
+EH#0: try [G_M19804_IG03..G_M19804_IG13) handled by [G_M19804_IG15..END) (class: 200005B)
  
-8 (-0.15%) : 9162.dasm - Jil.Deserialize.InlineDeserializer`1[System.__Canon]:ReadObjectAutomata(System.Type):this (FullOpts)
@@ -10,211 +10,212 @@
 ;
 ;  V00 this         [V00,T00] ( 86,251   )     ref  ->  [fp+0x60]  this class-hnd EH-live single-def <Jil.Deserialize.InlineDeserializer`1[System.__Canon]>
 ;  V01 arg1         [V01,T32] ( 15, 12   )     ref  ->  x19         class-hnd single-def <System.Type>
-;  V02 loc0         [V02,T53] (  6,  6   )     ref  ->  x20         class-hnd exact single-def <Jil.Deserialize.InlineDeserializer`1+<>c__DisplayClass89_0[System.__Canon]>
-;  V03 loc1         [V03,T79] (  4,  4   )     ref  ->  x21         class-hnd single-def <Sigil.Label>
+;  V02 loc0         [V02,T54] (  6,  6   )     ref  ->  x20         class-hnd exact single-def <Jil.Deserialize.InlineDeserializer`1+<>c__DisplayClass89_0[System.__Canon]>
+;  V03 loc1         [V03,T80] (  4,  4   )     ref  ->  x21         class-hnd single-def <Sigil.Label>
 ;  V04 loc2         [V04,T23] ( 12, 18   )     ref  ->  [fp+0x58]  class-hnd exact EH-live spill-single-def <Jil.Deserialize.InlineDeserializer`1+<>c__DisplayClass89_1[System.__Canon]>
 ;  V05 loc3         [V05,T22] (  8, 22   )     ref  ->  x22         class-hnd <<unknown class>>
 ;  V06 loc4         [V06,T24] (  5, 18   )     ref  ->  x24         class-hnd single-def <Sigil.Label>
-;  V07 loc5         [V07,T139] (  2,  2   )     ref  ->  x25         class-hnd single-def <System.Type>
-;  V08 loc6         [V08,T71] (  5,  5   )     ref  ->  x25         class-hnd single-def <System.Type>
+;  V07 loc5         [V07,T140] (  2,  2   )     ref  ->  x25         class-hnd single-def <System.Type>
+;  V08 loc6         [V08,T72] (  5,  5   )     ref  ->  x25         class-hnd single-def <System.Type>
 ;* V09 loc7         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <<unknown class>>
-;  V10 loc8         [V10,T132] (  3,  3   )     ref  ->  x26         class-hnd single-def <<unknown class>>
+;  V10 loc8         [V10,T133] (  3,  3   )     ref  ->  x26         class-hnd single-def <<unknown class>>
 ;  V11 loc9         [V11,T39] (  4, 11   )     ref  ->  x28         class-hnd <System.Reflection.MethodInfo>
-;  V12 loc10        [V12,T140] (  2,  2   )     ref  ->  x25         class-hnd single-def <Sigil.Label[]>
+;  V12 loc10        [V12,T141] (  2,  2   )     ref  ->  x25         class-hnd single-def <Sigil.Label[]>
 ;  V13 loc11        [V13,T43] (  3, 10   )     ref  ->  x27         class-hnd single-def <Sigil.Label>
 ;  V14 loc12        [V14,T20] (  3, 24   )     ref  ->  x25         class-hnd single-def <Sigil.Label>
-;  V15 loc13        [V15,T133] (  3,  3   )     ref  ->   x1         class-hnd single-def <System.Reflection.ConstructorInfo>
+;  V15 loc13        [V15,T134] (  3,  3   )     ref  ->   x1         class-hnd single-def <System.Reflection.ConstructorInfo>
 ;* V16 loc14        [V16    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.Nullable`1[int]>
-;  V17 loc15        [V17,T78] (  7,  4   )     ref  ->  [fp+0x50]  class-hnd EH-live spill-single-def <Sigil.Local>
-;  V18 loc16        [V18,T134] (  3,  3   )     ref  ->  [fp+0x48]  class-hnd spill-single-def <Sigil.Label>
+;  V17 loc15        [V17,T79] (  7,  4   )     ref  ->  [fp+0x50]  class-hnd EH-live spill-single-def <Sigil.Local>
+;  V18 loc16        [V18,T135] (  3,  3   )     ref  ->  [fp+0x48]  class-hnd spill-single-def <Sigil.Label>
 ;* V19 loc17        [V19    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[<>f__AnonymousType0`4[int,System.String,System.Reflection.MemberInfo[],Sigil.Label]]>
-;  V20 loc18        [V20,T49] (  2,  8   )     ref  ->  [fp+0x40]  class-hnd exact spill-single-def <System.String>
+;  V20 loc18        [V20,T50] (  2,  8   )     ref  ->  [fp+0x40]  class-hnd exact spill-single-def <System.String>
 ;  V21 loc19        [V21,T36] (  3, 12   )     ref  ->   x1         class-hnd <Sigil.Label>
-;  V22 loc20        [V22,T26] (  4, 16   )     ref  ->  [fp+0x38]  class-hnd spill-single-def <System.Reflection.MemberInfo[]>
-;  V23 loc21        [V23,T50] (  2,  8   )     ref  ->  [fp+0x30]  class-hnd spill-single-def <System.Reflection.MemberInfo>
+;  V22 loc20        [V22,T25] (  4, 16   )     ref  ->  [fp+0x38]  class-hnd spill-single-def <System.Reflection.MemberInfo[]>
+;  V23 loc21        [V23,T51] (  2,  8   )     ref  ->  [fp+0x30]  class-hnd spill-single-def <System.Reflection.MemberInfo>
 ;# V24 OutArgs      [V24    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V25 tmp1         [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <Jil.Deserialize.InlineDeserializer`1+<>c__DisplayClass89_0[System.__Canon]>
 ;* V26 tmp2         [V26    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V27 tmp3         [V27,T86] (  2,  4   )     ref  ->  x21         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
-;  V28 tmp4         [V28,T87] (  2,  4   )     ref  ->  x22         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V27 tmp3         [V27,T87] (  2,  4   )     ref  ->  x21         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V28 tmp4         [V28,T88] (  2,  4   )     ref  ->  x22         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
 ;* V29 tmp5         [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <Jil.Deserialize.InlineDeserializer`1+<>c__DisplayClass89_1[System.__Canon]>
 ;* V30 tmp6         [V30    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V31 tmp7         [V31,T88] (  2,  4   )     ref  ->  x22         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
-;  V32 tmp8         [V32,T44] (  4,  8   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V33 tmp9         [V33,T89] (  2,  4   )     ref  ->  x24         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
-;  V34 tmp10        [V34,T45] (  4,  8   )     ref  ->   x0         class-hnd exact single-def "dup spill" <System.Type[]>
+;  V31 tmp7         [V31,T89] (  2,  4   )     ref  ->  x22         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V32 tmp8         [V32,T45] (  4,  8   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V33 tmp9         [V33,T90] (  2,  4   )     ref  ->  x24         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V34 tmp10        [V34,T46] (  4,  8   )     ref  ->   x0         class-hnd exact single-def "dup spill" <System.Type[]>
 ;* V35 tmp11        [V35    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "impSpillLclRefs" <System.RuntimeType>
-;  V36 tmp12        [V36,T73] (  3,  4.50)     ref  ->   x1         single-def "CASTCLASS eval op1"
-;  V37 tmp13        [V37,T138] (  3,  2.50)    long  ->   x2         "fgMakeTemp is creating a new local variable"
+;  V36 tmp12        [V36,T74] (  3,  4.50)     ref  ->   x1         single-def "CASTCLASS eval op1"
+;  V37 tmp13        [V37,T139] (  3,  2.50)    long  ->   x2         "fgMakeTemp is creating a new local variable"
 ;  V38 tmp14        [V38,T37] (  7, 11.50)     ref  ->  x26         class-hnd "spilling QMark2" <<unknown class>>
 ;* V39 tmp15        [V39    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V40 tmp16        [V40,T90] (  2,  4   )     ref  ->  x28         class-hnd single-def "dup spill" <<unknown class>>
+;  V40 tmp16        [V40,T91] (  2,  4   )     ref  ->  x28         class-hnd single-def "dup spill" <<unknown class>>
 ;* V41 tmp17        [V41    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V42 tmp18        [V42,T72] (  5,  5   )     ref  ->  x28        
-;  V43 tmp19        [V43,T46] (  4,  8   )     ref  ->  x26         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V44 tmp20        [V44,T91] (  2,  4   )     ref  ->  x28         class-hnd exact single-def "impAppendStmt" <<unknown class>>
-;  V45 tmp21        [V45,T54] (  3,  6   )     ref  ->   x5         class-hnd exact single-def "dup spill" <System.Type[]>
+;  V42 tmp18        [V42,T73] (  5,  5   )     ref  ->  x28        
+;  V43 tmp19        [V43,T47] (  4,  8   )     ref  ->  x26         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V44 tmp20        [V44,T92] (  2,  4   )     ref  ->  x28         class-hnd exact single-def "impAppendStmt" <<unknown class>>
+;  V45 tmp21        [V45,T55] (  3,  6   )     ref  ->   x5         class-hnd exact single-def "dup spill" <System.Type[]>
 ;* V46 tmp22        [V46    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.RuntimeType>
 ;* V47 tmp23        [V47    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V48 tmp24        [V48,T92] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <<unknown class>>
+;  V48 tmp24        [V48,T93] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <<unknown class>>
 ;* V49 tmp25        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V50 tmp26        [V50,T80] (  4,  4   )     ref  ->   x2        
-;  V51 tmp27        [V51,T93] (  2,  4   )     ref  ->  x27         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
-;  V52 tmp28        [V52,T94] (  2,  4   )     ref  ->  [fp+0x28]  class-hnd spill-single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
-;  V53 tmp29        [V53,T95] (  2,  4   )     ref  ->  [fp+0x20]  class-hnd spill-single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
-;  V54 tmp30        [V54,T55] (  3,  6   )     ref  ->   x1         class-hnd exact single-def "dup spill" <System.Object[]>
+;  V50 tmp26        [V50,T81] (  4,  4   )     ref  ->   x2        
+;  V51 tmp27        [V51,T94] (  2,  4   )     ref  ->  x27         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V52 tmp28        [V52,T95] (  2,  4   )     ref  ->  [fp+0x28]  class-hnd spill-single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V53 tmp29        [V53,T96] (  2,  4   )     ref  ->  [fp+0x20]  class-hnd spill-single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V54 tmp30        [V54,T56] (  3,  6   )     ref  ->   x1         class-hnd exact single-def "dup spill" <System.Object[]>
 ;* V55 tmp31        [V55    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "dup spill" <<>f__AnonymousType0`4[int,System.String,System.Reflection.MemberInfo[],Sigil.Label]>
-;  V56 tmp32        [V56,T06] (  2, 32   )     ref  ->  x25         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V56 tmp32        [V56,T05] (  2, 32   )     ref  ->  x25         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
 ;  V57 tmp33        [V57,T01] (  4, 64   )     ref  ->   x1         class-hnd exact single-def "dup spill" <System.Object[]>
 ;  V58 tmp34        [V58,T02] (  4, 64   )     ref  ->   x1         class-hnd exact single-def "dup spill" <System.Object[]>
-;  V59 tmp35        [V59,T96] (  2,  4   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
-;* V60 tmp36        [V60,T145] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;  V59 tmp35        [V59,T97] (  2,  4   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;* V60 tmp36        [V60,T146] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V61 tmp37        [V61,T40] (  5, 10   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V62 tmp38        [V62    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V63 tmp39        [V63,T56] (  3,  6   )     ref  ->  x28         class-hnd exact single-def "dup spill" <System.Type[]>
-;  V64 tmp40        [V64,T97] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.RuntimeType>
-;* V65 tmp41        [V65,T146] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;  V63 tmp39        [V63,T57] (  3,  6   )     ref  ->  x28         class-hnd exact single-def "dup spill" <System.Type[]>
+;  V64 tmp40        [V64,T98] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.RuntimeType>
+;* V65 tmp41        [V65,T147] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V66 tmp42        [V66,T41] (  5, 10   )     ref  ->  x28         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V67 tmp43        [V67    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V68 tmp44        [V68,T98] (  2,  4   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V68 tmp44        [V68,T99] (  2,  4   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
 ;* V69 tmp45        [V69    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V70 tmp46        [V70    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V71 tmp47        [V71    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V72 tmp48        [V72,T152] (  3,  0   )     ref  ->  x20        
-;  V73 tmp49        [V73,T153] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V74 tmp50        [V74,T47] (  4,  8   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V72 tmp48        [V72,T153] (  3,  0   )     ref  ->  x20        
+;  V73 tmp49        [V73,T154] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V74 tmp50        [V74,T48] (  4,  8   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V75 tmp51        [V75    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V76 tmp52        [V76,T99] (  2,  4   )     ref  ->  x23         class-hnd exact single-def "dup spill" <<unknown class>>
+;  V76 tmp52        [V76,T100] (  2,  4   )     ref  ->  x23         class-hnd exact single-def "dup spill" <<unknown class>>
 ;* V77 tmp53        [V77    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V78 tmp54        [V78    ] (  0,  0   )     int  ->  zero-ref    single-def
-;  V79 tmp55        [V79,T81] (  4,  4   )     ref  ->  x23        
-;  V80 tmp56        [V80,T48] (  4,  8   )     ref  ->   x3         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;* V81 tmp57        [V81,T147] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;  V79 tmp55        [V79,T82] (  4,  4   )     ref  ->  x23        
+;  V80 tmp56        [V80,T49] (  4,  8   )     ref  ->   x3         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;* V81 tmp57        [V81,T148] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V82 tmp58        [V82,T42] (  5, 10   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V83 tmp59        [V83    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V84 tmp60        [V84,T100] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V85 tmp61        [V85,T101] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V84 tmp60        [V84,T101] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V85 tmp61        [V85,T102] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V86 tmp62        [V86    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Reflection.TypeInfo>
-;  V87 tmp63        [V87,T57] (  3,  6   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
-;  V88 tmp64        [V88,T102] (  2,  4   )     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V87 tmp63        [V87,T58] (  3,  6   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V88 tmp64        [V88,T103] (  2,  4   )     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V89 tmp65        [V89    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Reflection.TypeInfo>
-;  V90 tmp66        [V90,T103] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V90 tmp66        [V90,T104] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
 ;* V91 tmp67        [V91    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Sigil.Local>
-;  V92 tmp68        [V92,T104] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V92 tmp68        [V92,T105] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
 ;* V93 tmp69        [V93    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V94 tmp70        [V94,T105] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V95 tmp71        [V95,T106] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V94 tmp70        [V94,T106] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V95 tmp71        [V95,T107] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
 ;* V96 tmp72        [V96    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Sigil.Local>
-;  V97 tmp73        [V97,T107] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V97 tmp73        [V97,T108] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V98 tmp74        [V98    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Reflection.MethodInfo>
 ;* V99 tmp75        [V99    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Object[]>
 ;* V100 tmp76       [V100    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Reflection.TypeInfo>
 ;* V101 tmp77       [V101    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.Nullable`1[int]>
-;  V102 tmp78       [V102,T58] (  3,  6   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V102 tmp78       [V102,T59] (  3,  6   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
 ;  V103 tmp79       [V103,T33] (  7, 14   )     ref  ->  [fp+0x18]  class-hnd exact spill-single-def "NewObj constructor temp" <<unknown class>>
 ;* V104 tmp80       [V104    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V105 tmp81       [V105    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V106 tmp82       [V106    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V107 tmp83       [V107    ] (  0,  0   )     ref  ->  zero-ref   
-;  V108 tmp84       [V108,T59] (  3,  6   )     ref  ->  x12         class-hnd exact single-def "Inlining Arg" <Jil.Deserialize.InlineDeserializer`1+<>c__DisplayClass89_0[System.__Canon]>
-;  V109 tmp85       [V109,T141] (  2,  2   )     ref  ->   x1         class-hnd "Inline return value spill temp" <<unknown class>>
-;* V110 tmp86       [V110,T149] (  0,  0   )   ubyte  ->  zero-ref    single-def "Inline return value spill temp"
+;  V108 tmp84       [V108,T60] (  3,  6   )     ref  ->  x12         class-hnd exact single-def "Inlining Arg" <Jil.Deserialize.InlineDeserializer`1+<>c__DisplayClass89_0[System.__Canon]>
+;  V109 tmp85       [V109,T142] (  2,  2   )     ref  ->   x1         class-hnd "Inline return value spill temp" <<unknown class>>
+;* V110 tmp86       [V110,T150] (  0,  0   )   ubyte  ->  zero-ref    single-def "Inline return value spill temp"
 ;* V111 tmp87       [V111    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline stloc first use temp" <<unknown class>>
 ;  V112 tmp88       [V112,T34] (  6, 12   )     ref  ->  [fp+0x10]  class-hnd exact spill-single-def "NewObj constructor temp" <<unknown class>>
 ;* V113 tmp89       [V113    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.RuntimeTypeHandle>
 ;  V114 tmp90       [V114    ] (  2,  2   )  struct ( 8) [fp+0x78]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" <System.RuntimeTypeHandle>
-;  V115 tmp91       [V115,T60] (  3,  6   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
-;  V116 tmp92       [V116,T108] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V117 tmp93       [V117,T109] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V118 tmp94       [V118,T110] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V119 tmp95       [V119,T111] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V120 tmp96       [V120,T112] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V121 tmp97       [V121,T113] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V122 tmp98       [V122,T114] (  2,  4   )     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V123 tmp99       [V123,T61] (  3,  6   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <<unknown class>>
-;  V124 tmp100      [V124,T115] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V125 tmp101      [V125,T116] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V126 tmp102      [V126,T117] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V127 tmp103      [V127,T118] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V128 tmp104      [V128,T119] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V129 tmp105      [V129,T120] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V130 tmp106      [V130,T121] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V131 tmp107      [V131,T122] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V132 tmp108      [V132,T123] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V133 tmp109      [V133,T124] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V115 tmp91       [V115,T61] (  3,  6   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V116 tmp92       [V116,T109] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V117 tmp93       [V117,T110] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V118 tmp94       [V118,T111] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V119 tmp95       [V119,T112] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V120 tmp96       [V120,T113] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V121 tmp97       [V121,T114] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V122 tmp98       [V122,T115] (  2,  4   )     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V123 tmp99       [V123,T62] (  3,  6   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V124 tmp100      [V124,T116] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V125 tmp101      [V125,T117] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V126 tmp102      [V126,T118] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V127 tmp103      [V127,T119] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V128 tmp104      [V128,T120] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V129 tmp105      [V129,T121] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V130 tmp106      [V130,T122] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V131 tmp107      [V131,T123] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V132 tmp108      [V132,T124] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V133 tmp109      [V133,T125] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
 ;* V134 tmp110      [V134    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[<>f__AnonymousType0`4[int,System.String,System.Reflection.MemberInfo[],Sigil.Label]]>
-;  V135 tmp111      [V135,T27] (  2, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V136 tmp112      [V136,T28] (  2, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V137 tmp113      [V137,T29] (  2, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V138 tmp114      [V138,T30] (  2, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Sigil.NonGeneric.Emit>
-;* V139 tmp115      [V139,T31] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V135 tmp111      [V135,T26] (  2, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V136 tmp112      [V136,T27] (  2, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V137 tmp113      [V137,T28] (  2, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V138 tmp114      [V138,T29] (  2, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Sigil.NonGeneric.Emit>
+;* V139 tmp115      [V139,T30] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V140 tmp116      [V140    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V141 tmp117      [V141,T07] (  2, 32   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V142 tmp118      [V142,T08] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V143 tmp119      [V143,T09] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V144 tmp120      [V144,T10] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V145 tmp121      [V145,T11] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V146 tmp122      [V146,T12] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V147 tmp123      [V147,T13] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V141 tmp117      [V141,T06] (  2, 32   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V142 tmp118      [V142,T07] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V143 tmp119      [V143,T08] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V144 tmp120      [V144,T09] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V145 tmp121      [V145,T10] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V146 tmp122      [V146,T11] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V147 tmp123      [V147,T12] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
 ;* V148 tmp124      [V148    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Sigil.Label>
-;  V149 tmp125      [V149,T14] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V150 tmp126      [V150,T15] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V151 tmp127      [V151,T16] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V152 tmp128      [V152,T17] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V153 tmp129      [V153,T18] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V154 tmp130      [V154,T125] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V155 tmp131      [V155,T126] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V156 tmp132      [V156,T127] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V149 tmp125      [V149,T13] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V150 tmp126      [V150,T14] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
...
  
-8 (-0.15%) : 968.dasm - System.Number:NumberToStringFormatushort (FullOpts)
@@ -10,7 +10,7 @@
 ;
 ;  V00 arg0         [V00,T02] ( 79,268.50)   byref  ->  x19         single-def
 ;  V01 arg1         [V01,T60] ( 17, 21.50)   byref  ->  x21         single-def
-;  V02 arg2         [V02,T81] (  6, 12   )  struct (16) [fp+0xE8]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
+;  V02 arg2         [V02,T82] (  6, 12   )  struct (16) [fp+0xE8]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
 ;  V03 arg3         [V03,T42] ( 15, 25   )     ref  ->  x20         class-hnd single-def <System.Globalization.NumberFormatInfo>
 ;  V04 loc0         [V04,T08] ( 15, 96   )     int  ->  x27        
 ;  V05 loc1         [V05,T16] ( 18, 56   )     int  ->  x28        
@@ -24,55 +24,55 @@
 ;  V13 loc9         [V13,T19] (  8, 48   )     int  ->   x8        
 ;  V14 loc10        [V14,T26] ( 11, 42   )     int  ->  [fp+0xD0]  ptr
 ;  V15 loc11        [V15,T64] (  6, 18.50)     int  ->  x26        
-;  V16 loc12        [V16,T00] ( 57,909.50)     int  ->  [fp+0xCC]  ptr
+;  V16 loc12        [V16,T00] ( 55,905.50)     int  ->  [fp+0xCC]  ptr
 ;  V17 loc13        [V17,T67] (  6, 17   )    long  ->  x25        
 ;  V18 loc14        [V18,T05] ( 36,238   )  ushort  ->  [fp+0xC8]  ptr
 ;* V19 loc15        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[int]>
 ;  V20 loc16        [V20,T10] ( 16, 71   )     int  ->  [fp+0xC4]  ptr
-;  V21 loc17        [V21,T147] (  3,  5   )   ubyte  ->  [fp+0xC0] 
+;  V21 loc17        [V21,T148] (  3,  5   )   ubyte  ->  [fp+0xC0] 
 ;  V22 loc18        [V22,T07] (  8,184   )    long  ->   x9        
 ;  V23 loc19        [V23    ] (  2, 16   )   byref  ->  [fp+0xB8]  must-init pinned ptr
 ;* V24 loc20        [V24    ] (  0,  0   )     int  ->  zero-ref   
 ;* V25 loc21        [V25    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[int]>
-;  V26 loc22        [V26,T146] (  5,  5.50)     ref  ->  [fp+0x60]  class-hnd spill-single-def ptr <int[]>
-;  V27 loc23        [V27,T82] (  6, 12.50)     int  ->  [fp+0xB4]  ptr
+;  V26 loc22        [V26,T147] (  5,  5.50)     ref  ->  [fp+0x60]  class-hnd spill-single-def ptr <int[]>
+;  V27 loc23        [V27,T83] (  6, 12.50)     int  ->  [fp+0xB4]  ptr
 ;  V28 loc24        [V28,T66] (  7, 17.50)     int  ->  [fp+0xB0]  ptr
-;  V29 loc25        [V29,T148] (  3,  5   )     int  ->  [fp+0xAC]  spill-single-def ptr
-;  V30 loc26        [V30,T87] (  5, 11   )     int  ->  [fp+0xA8]  ptr
-;  V31 loc27        [V31,T194] (  3,  1.50)     int  ->   x1        
-;  V32 loc28        [V32,T149] (  3,  5   )     int  ->  [fp+0xA4]  spill-single-def ptr
-;  V33 loc29        [V33,T88] (  5, 10   )     ref  ->  [fp+0x58]  class-hnd exact spill-single-def ptr <int[]>
+;  V29 loc25        [V29,T149] (  3,  5   )     int  ->  [fp+0xAC]  spill-single-def ptr
+;  V30 loc26        [V30,T88] (  5, 11   )     int  ->  [fp+0xA8]  ptr
+;  V31 loc27        [V31,T195] (  3,  1.50)     int  ->   x1        
+;  V32 loc28        [V32,T150] (  3,  5   )     int  ->  [fp+0xA4]  spill-single-def ptr
+;  V33 loc29        [V33,T89] (  5, 10   )     ref  ->  [fp+0x58]  class-hnd exact spill-single-def ptr <int[]>
 ;  V34 loc30        [V34,T11] ( 11, 65   )    long  ->  x22        
 ;  V35 loc31        [V35    ] (  2,  2   )   byref  ->  [fp+0x98]  must-init pinned ptr
 ;  V36 loc32        [V36,T33] (  8, 33   )    long  ->  [fp+0x90]  ptr
-;  V37 loc33        [V37,T121] (  3,  6   )   ubyte  ->  x14        
+;  V37 loc33        [V37,T122] (  3,  6   )   ubyte  ->  x14        
 ;  V38 loc34        [V38,T46] (  6, 24   )     int  ->  x12        
 ;* V39 loc35        [V39    ] (  0,  0   )     int  ->  zero-ref   
 ;# V40 OutArgs      [V40    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V41 tmp1         [V41    ] (  0,  0   )     int  ->  zero-ref   
 ;* V42 tmp2         [V42    ] (  0,  0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
 ;* V43 tmp3         [V43    ] (  0,  0   )  struct (16) zero-ref    multireg-arg <System.ReadOnlySpan`1[ushort]>
-;  V44 tmp4         [V44,T182] (  3,  2   )     int  ->   x2        
-;  V45 tmp5         [V45,T187] (  2,  2   )     int  ->   x3        
-;  V46 tmp6         [V46,T188] (  2,  2   )     int  ->   x4        
-;  V47 tmp7         [V47,T206] (  2,  1   )     int  ->   x3        
+;  V44 tmp4         [V44,T183] (  3,  2   )     int  ->   x2        
+;  V45 tmp5         [V45,T188] (  2,  2   )     int  ->   x3        
+;  V46 tmp6         [V46,T189] (  2,  2   )     int  ->   x4        
+;  V47 tmp7         [V47,T207] (  2,  1   )     int  ->   x3        
 ;  V48 tmp8         [V48    ] (  1,  1   )  struct (16) [fp+0xF8]  do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
 ;* V49 tmp9         [V49    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V50 tmp10        [V50    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V51 tmp11        [V51,T50] (  3, 24   )     int  ->   x1         "impSpillLclRefs"
-;  V52 tmp12        [V52,T79] (  2, 16   )     int  ->   x1         "dup spill"
-;  V53 tmp13        [V53,T106] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
-;  V54 tmp14        [V54,T107] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
+;  V52 tmp12        [V52,T80] (  2, 16   )     int  ->   x1         "dup spill"
+;  V53 tmp13        [V53,T107] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
+;  V54 tmp14        [V54,T108] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
 ;  V55 tmp15        [V55,T35] (  2, 32   )     int  ->   x6         "impSpillLclRefs"
 ;  V56 tmp16        [V56,T13] (  2, 64   )     int  ->   x6         "dup spill"
-;  V57 tmp17        [V57,T122] (  3,  6   )     int  ->   x5        
+;  V57 tmp17        [V57,T123] (  3,  6   )     int  ->   x5        
 ;* V58 tmp18        [V58    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V59 tmp19        [V59    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V60 tmp20        [V60    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V61 tmp21        [V61,T83] (  3, 12   )    long  ->   x1         "impSpillLclRefs"
-;  V62 tmp22        [V62,T99] (  4,  8   )     int  ->   x1        
+;  V61 tmp21        [V61,T84] (  3, 12   )    long  ->   x1         "impSpillLclRefs"
+;  V62 tmp22        [V62,T100] (  4,  8   )     int  ->   x1        
 ;* V63 tmp23        [V63    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V64 tmp24        [V64,T123] (  3,  6   )     int  ->  x13        
+;  V64 tmp24        [V64,T124] (  3,  6   )     int  ->  x13        
 ;  V65 tmp25        [V65,T36] (  2, 32   )     int  ->   x6         "impSpillLclRefs"
 ;* V66 tmp26        [V66    ] (  0,  0   )   byref  ->  zero-ref    ptr
 ;  V67 tmp27        [V67,T37] (  2, 32   )    long  ->   x0         "impSpillLclRefs"
@@ -82,11 +82,11 @@
 ;* V71 tmp31        [V71    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V72 tmp32        [V72    ] (  0,  0   )     int  ->  zero-ref   
 ;* V73 tmp33        [V73    ] (  0,  0   )     int  ->  zero-ref    ptr
-;  V74 tmp34        [V74,T207] (  2,  1   )     int  ->   x1        
-;  V75 tmp35        [V75,T208] (  2,  1   )     int  ->  xip0        
+;  V74 tmp34        [V74,T208] (  2,  1   )     int  ->   x1        
+;  V75 tmp35        [V75,T209] (  2,  1   )     int  ->  xip0        
 ;* V76 tmp36        [V76    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[int]>
 ;  V77 tmp37        [V77,T47] (  3, 24   )   byref  ->   x0         "dup spill"
-;  V78 tmp38        [V78,T101] (  3,  8   )     int  ->   x1        
+;  V78 tmp38        [V78,T102] (  3,  8   )     int  ->   x1        
 ;  V79 tmp39        [V79,T09] (  3, 96   )     int  ->   x0         "impSpillLclRefs"
 ;  V80 tmp40        [V80,T14] (  2, 64   )     int  ->  x11         "dup spill"
 ;  V81 tmp41        [V81,T03] (  2,256   )     int  ->  x10         "dup spill"
@@ -97,28 +97,28 @@
 ;* V86 tmp46        [V86    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;* V87 tmp47        [V87    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V88 tmp48        [V88    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
-;  V89 tmp49        [V89,T108] (  2,  8   )    long  ->   x2         "Inlining Arg"
+;  V89 tmp49        [V89,T109] (  2,  8   )    long  ->   x2         "Inlining Arg"
 ;* V90 tmp50        [V90    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V91 tmp51        [V91    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V92 tmp52        [V92    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V93 tmp53        [V93    ] (  0,  0   )     int  ->  zero-ref   
 ;* V94 tmp54        [V94    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V95 tmp55        [V95    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V96 tmp56        [V96,T150] (  4,  4   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V96 tmp56        [V96,T151] (  4,  4   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V97 tmp57        [V97    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V98 tmp58        [V98    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V99 tmp59        [V99,T189] (  2,  2   )     int  ->  [fp+0x8C]  spill-single-def ptr "Inlining Arg"
-;  V100 tmp60       [V100,T183] (  2,  2   )   byref  ->  [fp+0x50]  spill-single-def ptr "Inlining Arg"
+;  V99 tmp59        [V99,T190] (  2,  2   )     int  ->  [fp+0x8C]  spill-single-def ptr "Inlining Arg"
+;  V100 tmp60       [V100,T184] (  2,  2   )   byref  ->  [fp+0x50]  spill-single-def ptr "Inlining Arg"
 ;* V101 tmp61       [V101    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V102 tmp62       [V102    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V103 tmp63       [V103    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V104 tmp64       [V104    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V105 tmp65       [V105    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V106 tmp66       [V106,T195] (  3,  1.50)     int  ->  [fp+0x88]  spill-single-def ptr "Inline stloc first use temp"
+;  V106 tmp66       [V106,T196] (  3,  1.50)     int  ->  [fp+0x88]  spill-single-def ptr "Inline stloc first use temp"
 ;* V107 tmp67       [V107    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V108 tmp68       [V108    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V109 tmp69       [V109    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "Inlining Arg"
-;  V110 tmp70       [V110,T180] (  4,  2   )     int  ->   x3         "Inline stloc first use temp"
+;  V110 tmp70       [V110,T181] (  4,  2   )     int  ->   x3         "Inline stloc first use temp"
 ;* V111 tmp71       [V111    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V112 tmp72       [V112    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V113 tmp73       [V113    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
@@ -153,7 +153,7 @@
 ;  V142 tmp102      [V142,T29] (  5, 40   )     int  ->  x15         "Inline stloc first use temp"
 ;* V143 tmp103      [V143    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V144 tmp104      [V144    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;  V145 tmp105      [V145,T89] (  5, 10   )     int  ->   x1         "Inline stloc first use temp"
+;  V145 tmp105      [V145,T90] (  5, 10   )     int  ->   x1         "Inline stloc first use temp"
 ;* V146 tmp106      [V146    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V147 tmp107      [V147    ] (  0,  0   )  ushort  ->  zero-ref    ptr "Inlining Arg"
 ;* V148 tmp108      [V148    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -162,11 +162,11 @@
 ;* V151 tmp111      [V151    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V152 tmp112      [V152    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V153 tmp113      [V153    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V154 tmp114      [V154,T69] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V154 tmp114      [V154,T70] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V155 tmp115      [V155    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V156 tmp116      [V156    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V157 tmp117      [V157,T109] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V158 tmp118      [V158,T102] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V157 tmp117      [V157,T110] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V158 tmp118      [V158,T103] (  2,  8   )   byref  ->  x13         "Inlining Arg"
 ;* V159 tmp119      [V159    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V160 tmp120      [V160    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V161 tmp121      [V161    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -174,13 +174,13 @@
 ;* V163 tmp123      [V163    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V164 tmp124      [V164    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V165 tmp125      [V165    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V166 tmp126      [V166,T124] (  3,  6   )     int  ->  [fp+0x80]  spill-single-def ptr "Inline stloc first use temp"
+;  V166 tmp126      [V166,T125] (  3,  6   )     int  ->  [fp+0x80]  spill-single-def ptr "Inline stloc first use temp"
 ;* V167 tmp127      [V167    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V168 tmp128      [V168    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V169 tmp129      [V169    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V170 tmp130      [V170    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V171 tmp131      [V171    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V172 tmp132      [V172,T90] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
+;  V172 tmp132      [V172,T91] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
 ;* V173 tmp133      [V173    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V174 tmp134      [V174    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V175 tmp135      [V175    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -189,11 +189,11 @@
 ;* V178 tmp138      [V178    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V179 tmp139      [V179    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V180 tmp140      [V180    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V181 tmp141      [V181,T70] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V181 tmp141      [V181,T71] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V182 tmp142      [V182    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V183 tmp143      [V183    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V184 tmp144      [V184,T110] (  2,  8   )     int  ->  x13         "Inlining Arg"
-;  V185 tmp145      [V185,T103] (  2,  8   )   byref  ->  x11         "Inlining Arg"
+;  V184 tmp144      [V184,T111] (  2,  8   )     int  ->  x13         "Inlining Arg"
+;  V185 tmp145      [V185,T104] (  2,  8   )   byref  ->  x11         "Inlining Arg"
 ;* V186 tmp146      [V186    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V187 tmp147      [V187    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V188 tmp148      [V188    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -201,13 +201,13 @@
 ;* V190 tmp150      [V190    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V191 tmp151      [V191    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V192 tmp152      [V192    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V193 tmp153      [V193,T125] (  3,  6   )     int  ->  [fp+0x7C]  spill-single-def ptr "Inline stloc first use temp"
+;  V193 tmp153      [V193,T126] (  3,  6   )     int  ->  [fp+0x7C]  spill-single-def ptr "Inline stloc first use temp"
 ;* V194 tmp154      [V194    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V195 tmp155      [V195    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V196 tmp156      [V196    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V197 tmp157      [V197    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V198 tmp158      [V198    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V199 tmp159      [V199,T91] (  5, 10   )     int  ->  x14         "Inline stloc first use temp"
+;  V199 tmp159      [V199,T92] (  5, 10   )     int  ->  x14         "Inline stloc first use temp"
 ;* V200 tmp160      [V200    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V201 tmp161      [V201    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V202 tmp162      [V202    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -216,11 +216,11 @@
 ;* V205 tmp165      [V205    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V206 tmp166      [V206    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V207 tmp167      [V207    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V208 tmp168      [V208,T71] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V208 tmp168      [V208,T72] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V209 tmp169      [V209    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V210 tmp170      [V210    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V211 tmp171      [V211,T111] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V212 tmp172      [V212,T104] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V211 tmp171      [V211,T112] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V212 tmp172      [V212,T105] (  2,  8   )   byref  ->  x13         "Inlining Arg"
 ;* V213 tmp173      [V213    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V214 tmp174      [V214    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V215 tmp175      [V215    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -228,13 +228,13 @@
 ;* V217 tmp177      [V217    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V218 tmp178      [V218    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V219 tmp179      [V219    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V220 tmp180      [V220,T126] (  3,  6   )     int  ->  [fp+0x78]  spill-single-def ptr "Inline stloc first use temp"
+;  V220 tmp180      [V220,T127] (  3,  6   )     int  ->  [fp+0x78]  spill-single-def ptr "Inline stloc first use temp"
 ;* V221 tmp181      [V221    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V222 tmp182      [V222    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V223 tmp183      [V223    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V224 tmp184      [V224    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V225 tmp185      [V225    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V226 tmp186      [V226,T92] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
+;  V226 tmp186      [V226,T93] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
 ;* V227 tmp187      [V227    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V228 tmp188      [V228    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V229 tmp189      [V229    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -243,11 +243,11 @@
 ;* V232 tmp192      [V232    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V233 tmp193      [V233    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V234 tmp194      [V234    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V235 tmp195      [V235,T72] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V235 tmp195      [V235,T73] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V236 tmp196      [V236    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V237 tmp197      [V237    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V238 tmp198      [V238,T112] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V239 tmp199      [V239,T105] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V238 tmp198      [V238,T113] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V239 tmp199      [V239,T106] (  2,  8   )   byref  ->  x13         "Inlining Arg"
...
  
-4 (-0.04%) : 11641.dasm - System.Net.WebSockets.ManagedWebSocket+d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (FullOpts)
@@ -15,7 +15,7 @@
 ;  V04 loc3         [V04    ] ( 10, 10   )  struct (16) [fp+0x198]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
 ;* V05 loc4         [V05    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
 ;  V06 loc5         [V06,T39] (  3, 12   )     ref  ->   x0         class-hnd exact <System.String>
-;  V07 loc6         [V07,T29] (  4, 16   )    long  ->  x20        
+;  V07 loc6         [V07,T29] (  4, 16   )    long  ->   x1        
 ;  V08 loc7         [V08    ] ( 11, 35   )  struct (16) [fp+0x188]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[int]>
 ;  V09 loc8         [V09    ] (  8, 20   )  struct (16) [fp+0x178]  do-not-enreg[SBR] multireg-ret must-init ld-addr-op <System.Threading.Tasks.ValueTask`1[int]>
 ;* V10 loc9         [V10    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[int]>
@@ -81,17 +81,17 @@
 ;* V70 tmp40        [V70    ] (  0,  0   )    long  ->  zero-ref    "impAppendStmt"
 ;* V71 tmp41        [V71    ] (  0,  0   )     int  ->  zero-ref    "dup spill"
 ;* V72 tmp42        [V72    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
-;  V73 tmp43        [V73,T102] (  2,  8   )     int  ->   x2        
+;  V73 tmp43        [V73,T101] (  2,  8   )     int  ->   x2        
 ;* V74 tmp44        [V74    ] (  0,  0   )     int  ->  zero-ref   
 ;  V75 tmp45        [V75,T46] (  3, 12   )     int  ->   x3        
 ;* V76 tmp46        [V76    ] (  0,  0   )     int  ->  zero-ref    "dup spill"
 ;  V77 tmp47        [V77,T23] (  3, 24   )     int  ->   x1         "Span.get_Item index"
 ;* V78 tmp48        [V78    ] (  0,  0   )     int  ->  zero-ref   
 ;* V79 tmp49        [V79    ] (  0,  0   )     int  ->  zero-ref   
-;  V80 tmp50        [V80,T47] (  3, 12   )     int  ->  x21        
-;  V81 tmp51        [V81,T103] (  2,  8   )     int  ->   x1        
+;  V80 tmp50        [V80,T47] (  3, 12   )     int  ->   x2        
+;  V81 tmp51        [V81,T102] (  2,  8   )     int  ->   x2        
 ;* V82 tmp52        [V82    ] (  0,  0   )     int  ->  zero-ref   
-;  V83 tmp53        [V83,T30] (  4, 16   )     int  ->   x2        
+;  V83 tmp53        [V83,T30] (  4, 16   )     int  ->   x1        
 ;* V84 tmp54        [V84    ] (  0,  0   )     int  ->  zero-ref    "dup spill"
 ;* V85 tmp55        [V85    ] (  0,  0   )     int  ->  zero-ref   
 ;* V86 tmp56        [V86    ] (  0,  0   )     int  ->  zero-ref    "dup spill"
@@ -119,7 +119,7 @@
 ;* V108 tmp78       [V108    ] (  0,  0   )   byref  ->  zero-ref    single-def
 ;* V109 tmp79       [V109    ] (  0,  0   )   byref  ->  zero-ref    single-def
 ;  V110 tmp80       [V110,T149] (  5,  5   )     ref  ->  x21        
-;  V111 tmp81       [V111,T63] (  5, 10   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Action`1[System.Object]>
+;  V111 tmp81       [V111,T62] (  5, 10   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Action`1[System.Object]>
 ;  V112 tmp82       [V112,T325] (  2,  0   )     ref  ->   x1         class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
 ;  V113 tmp83       [V113,T131] (  3,  6   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
 ;* V114 tmp84       [V114    ] (  0,  0   )  struct (16) zero-ref    multireg-ret "Inline return value spill temp" <System.Threading.CancellationTokenRegistration>
@@ -320,10 +320,10 @@
 ;  V309 tmp279      [V309    ] (  4,  8   )  struct ( 8) [fp+0x40]  do-not-enreg[XS] addr-exposed ld-addr-op "NewObj constructor temp" <System.Net.WebSockets.ValueWebSocketReceiveResult>
 ;* V310 tmp280      [V310    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V311 tmp281      [V311    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V312 tmp282      [V312,T79] (  4,  8   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Net.WebSockets.Compression.WebSocketInflater>
+;  V312 tmp282      [V312,T78] (  4,  8   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Net.WebSockets.Compression.WebSocketInflater>
 ;* V313 tmp283      [V313    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
-;  V314 tmp284      [V314,T64] (  5, 10   )     ref  ->   x2         class-hnd single-def "Inlining Arg" <ubyte[]>
-;  V315 tmp285      [V315,T68] (  5, 10   )     int  ->   x1         "Inlining Arg"
+;  V314 tmp284      [V314,T63] (  5, 10   )     ref  ->   x2         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V315 tmp285      [V315,T67] (  5, 10   )     int  ->   x1         "Inlining Arg"
 ;* V316 tmp286      [V316    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V317 tmp287      [V317    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ubyte]>
 ;  V318 tmp288      [V318,T135] (  3,  6   )     int  ->  x21         "Inlining Arg"
@@ -336,8 +336,8 @@
 ;* V325 tmp295      [V325    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
 ;  V326 tmp296      [V326,T125] (  6,  6   )   byref  ->  x23         "Inline stloc first use temp"
 ;  V327 tmp297      [V327,T120] (  7,  7   )     int  ->  x24         "Inline stloc first use temp"
-;  V328 tmp298      [V328,T80] (  4,  8   )   byref  ->  x22         single-def "Inlining Arg"
-;  V329 tmp299      [V329,T74] (  9,  9   )     ref  ->  x25         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V328 tmp298      [V328,T79] (  4,  8   )   byref  ->  x22         single-def "Inlining Arg"
+;  V329 tmp299      [V329,T73] (  9,  9   )     ref  ->  x25         class-hnd single-def "Inline stloc first use temp" <System.Object>
 ;* V330 tmp300      [V330    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V331 tmp301      [V331    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <<unknown class>>
 ;* V332 tmp302      [V332    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
@@ -354,8 +354,8 @@
 ;* V343 tmp313      [V343    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
 ;  V344 tmp314      [V344,T126] (  6,  6   )   byref  ->  x25         "Inline stloc first use temp"
 ;  V345 tmp315      [V345,T121] (  7,  7   )     int  ->  x26         "Inline stloc first use temp"
-;  V346 tmp316      [V346,T81] (  4,  8   )   byref  ->  x24         single-def "Inlining Arg"
-;  V347 tmp317      [V347,T75] (  9,  9   )     ref  ->  x27         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V346 tmp316      [V346,T80] (  4,  8   )   byref  ->  x24         single-def "Inlining Arg"
+;  V347 tmp317      [V347,T74] (  9,  9   )     ref  ->  x27         class-hnd single-def "Inline stloc first use temp" <System.Object>
 ;* V348 tmp318      [V348    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V349 tmp319      [V349    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <<unknown class>>
 ;* V350 tmp320      [V350    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
@@ -366,10 +366,10 @@
 ;* V355 tmp325      [V355    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <ubyte[]>
 ;  V356 tmp326      [V356,T171] (  2,  4   )   byref  ->   x1         single-def "Inlining Arg"
 ;* V357 tmp327      [V357    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V358 tmp328      [V358,T82] (  4,  8   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Net.WebSockets.Compression.WebSocketInflater>
+;  V358 tmp328      [V358,T81] (  4,  8   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Net.WebSockets.Compression.WebSocketInflater>
 ;* V359 tmp329      [V359    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
-;  V360 tmp330      [V360,T65] (  5, 10   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <ubyte[]>
-;  V361 tmp331      [V361,T69] (  5, 10   )     int  ->   x0         "Inlining Arg"
+;  V360 tmp330      [V360,T64] (  5, 10   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V361 tmp331      [V361,T68] (  5, 10   )     int  ->   x0         "Inlining Arg"
 ;* V362 tmp332      [V362    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V363 tmp333      [V363    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ubyte]>
 ;  V364 tmp334      [V364,T140] (  3,  6   )     int  ->  x24         "Inlining Arg"
@@ -380,14 +380,14 @@
 ;  V369 tmp339      [V369,T196] (  2,  4   )    long  ->   x3         "Inlining Arg"
 ;  V370 tmp340      [V370,T141] (  3,  6   )     int  ->   x2         "Inlining Arg"
 ;  V371 tmp341      [V371,T142] (  3,  6   )     int  ->  x20         "Inlining Arg"
-;  V372 tmp342      [V372,T83] (  4,  8   )   byref  ->   x1         single-def "Inlining Arg"
+;  V372 tmp342      [V372,T82] (  4,  8   )   byref  ->   x1         single-def "Inlining Arg"
 ;* V373 tmp343      [V373    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Memory`1[ubyte]>
-;  V374 tmp344      [V374,T66] (  5, 10   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Object>
+;  V374 tmp344      [V374,T65] (  5, 10   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Object>
 ;  V375 tmp345      [V375,T233] (  3,  3   )     int  ->  registers  
 ;  V376 tmp346      [V376,T197] (  2,  4   )     int  ->  x22         "Inlining Arg"
-;  V377 tmp347      [V377,T84] (  4,  8   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Net.WebSockets.Compression.WebSocketInflater>
-;  V378 tmp348      [V378,T85] (  4,  8   )     ref  ->  x20         class-hnd single-def "Inlining Arg" <ubyte[]>
-;  V379 tmp349      [V379,T90] (  4,  8   )     int  ->   x1         "Inlining Arg"
+;  V377 tmp347      [V377,T83] (  4,  8   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Net.WebSockets.Compression.WebSocketInflater>
+;  V378 tmp348      [V378,T84] (  4,  8   )     ref  ->  x20         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V379 tmp349      [V379,T89] (  4,  8   )     int  ->   x1         "Inlining Arg"
 ;* V380 tmp350      [V380    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Memory`1[ubyte]>
 ;  V381 tmp351      [V381,T143] (  3,  6   )     int  ->   x3         "Inlining Arg"
 ;  V382 tmp352      [V382,T144] (  3,  6   )     int  ->  x20         "Inlining Arg"
@@ -423,8 +423,8 @@
 ;* V412 tmp382      [V412    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
 ;  V413 tmp383      [V413,T127] (  6,  6   )   byref  ->  x21         "Inline stloc first use temp"
 ;  V414 tmp384      [V414,T122] (  7,  7   )     int  ->  x22         "Inline stloc first use temp"
-;  V415 tmp385      [V415,T86] (  4,  8   )   byref  ->  x20         single-def "Inlining Arg"
-;  V416 tmp386      [V416,T76] (  9,  9   )     ref  ->  x23         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V415 tmp385      [V415,T85] (  4,  8   )   byref  ->  x20         single-def "Inlining Arg"
+;  V416 tmp386      [V416,T75] (  9,  9   )     ref  ->  x23         class-hnd single-def "Inline stloc first use temp" <System.Object>
 ;* V417 tmp387      [V417    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V418 tmp388      [V418    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <<unknown class>>
 ;* V419 tmp389      [V419    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
@@ -435,25 +435,25 @@
 ;* V424 tmp394      [V424    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <ubyte[]>
 ;  V425 tmp395      [V425,T174] (  2,  4   )   byref  ->   x1         single-def "Inlining Arg"
 ;* V426 tmp396      [V426    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V427 tmp397      [V427,T91] (  4,  8   )     int  ->  x20         "Inlining Arg"
+;  V427 tmp397      [V427,T90] (  4,  8   )     int  ->  x20         "Inlining Arg"
 ;* V428 tmp398      [V428    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V429 tmp399      [V429,T175] (  2,  4   )   byref  ->  x21         single-def "Inlining Arg"
-;  V430 tmp400      [V430,T87] (  4,  8   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Net.WebSockets.Compression.WebSocketInflater>
+;  V430 tmp400      [V430,T86] (  4,  8   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Net.WebSockets.Compression.WebSocketInflater>
 ;* V431 tmp401      [V431    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
-;  V432 tmp402      [V432,T67] (  5, 10   )     ref  ->   x2         class-hnd single-def "Inlining Arg" <ubyte[]>
-;  V433 tmp403      [V433,T70] (  5, 10   )     int  ->   x1         "Inlining Arg"
+;  V432 tmp402      [V432,T66] (  5, 10   )     ref  ->   x2         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V433 tmp403      [V433,T69] (  5, 10   )     int  ->   x1         "Inlining Arg"
 ;* V434 tmp404      [V434    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V435 tmp405      [V435    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ubyte]>
 ;  V436 tmp406      [V436,T146] (  3,  6   )     int  ->  x21         "Inlining Arg"
 ;  V437 tmp407      [V437,T176] (  2,  4   )   byref  ->  x20         single-def "Inlining Arg"
-;  V438 tmp408      [V438,T92] (  4,  8   )     int  ->  x20         "Inlining Arg"
+;  V438 tmp408      [V438,T91] (  4,  8   )     int  ->  x20         "Inlining Arg"
 ;* V439 tmp409      [V439    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V440 tmp410      [V440,T177] (  2,  4   )   byref  ->  x21         single-def "Inlining Arg"
 ;* V441 tmp411      [V441    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
 ;  V442 tmp412      [V442,T128] (  6,  6   )   byref  ->  x23         "Inline stloc first use temp"
 ;  V443 tmp413      [V443,T123] (  7,  7   )     int  ->  x24         "Inline stloc first use temp"
-;  V444 tmp414      [V444,T88] (  4,  8   )   byref  ->  x22         single-def "Inlining Arg"
-;  V445 tmp415      [V445,T77] (  9,  9   )     ref  ->  x25         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V444 tmp414      [V444,T87] (  4,  8   )   byref  ->  x22         single-def "Inlining Arg"
+;  V445 tmp415      [V445,T76] (  9,  9   )     ref  ->  x25         class-hnd single-def "Inline stloc first use temp" <System.Object>
 ;* V446 tmp416      [V446    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V447 tmp417      [V447    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <<unknown class>>
 ;* V448 tmp418      [V448    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
@@ -470,8 +470,8 @@
 ;* V459 tmp429      [V459    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
 ;  V460 tmp430      [V460,T129] (  6,  6   )   byref  ->  x21         "Inline stloc first use temp"
 ;  V461 tmp431      [V461,T124] (  7,  7   )     int  ->  x23         "Inline stloc first use temp"
-;  V462 tmp432      [V462,T89] (  4,  8   )   byref  ->  x20         single-def "Inlining Arg"
-;  V463 tmp433      [V463,T78] (  9,  9   )     ref  ->  x24         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V462 tmp432      [V462,T88] (  4,  8   )   byref  ->  x20         single-def "Inlining Arg"
+;  V463 tmp433      [V463,T77] (  9,  9   )     ref  ->  x24         class-hnd single-def "Inline stloc first use temp" <System.Object>
 ;* V464 tmp434      [V464    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V465 tmp435      [V465    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <<unknown class>>
 ;* V466 tmp436      [V466    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
@@ -482,7 +482,7 @@
 ;* V471 tmp441      [V471    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <ubyte[]>
 ;  V472 tmp442      [V472,T179] (  2,  4   )   byref  ->   x1         single-def "Inlining Arg"
 ;* V473 tmp443      [V473    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V474 tmp444      [V474,T93] (  4,  8   )     int  ->  x20         "Inlining Arg"
+;  V474 tmp444      [V474,T92] (  4,  8   )     int  ->  x20         "Inlining Arg"
 ;* V475 tmp445      [V475    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V476 tmp446      [V476,T180] (  2,  4   )   byref  ->  x21         single-def "Inlining Arg"
 ;* V477 tmp447      [V477    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask>
@@ -511,9 +511,9 @@
 ;  V500 tmp470      [V500,T159] (  4,  4   )     int  ->  [fp+0x30]  do-not-enreg[Z] EH-live "field V03._messageType (fldOffset=0x4)" P-INDEP
 ;  V501 tmp471      [V501    ] (  6,  6   )     ref  ->  [fp+0x198]  do-not-enreg[X] addr-exposed "field V04.m_task (fldOffset=0x0)" P-DEP
 ;  V502 tmp472      [V502    ] (  6,  6   )     int  ->  [fp+0x1A0]  do-not-enreg[X] addr-exposed "field V04.m_options (fldOffset=0x8)" P-DEP
-;  V503 tmp473      [V503,T71] (  4, 10   )     ref  ->  [fp+0x178]  do-not-enreg[] "field V09._obj (fldOffset=0x0)" P-DEP
-;  V504 tmp474      [V504,T72] (  4, 10   )     int  ->  [fp+0x180]  do-not-enreg[] "field V09._result (fldOffset=0x8)" P-DEP
-;  V505 tmp475      [V505,T73] (  4, 10   )   short  ->  [fp+0x184]  do-not-enreg[] "field V09._token (fldOffset=0xc)" P-DEP
+;  V503 tmp473      [V503,T70] (  4, 10   )     ref  ->  [fp+0x178]  do-not-enreg[] "field V09._obj (fldOffset=0x0)" P-DEP
+;  V504 tmp474      [V504,T71] (  4, 10   )     int  ->  [fp+0x180]  do-not-enreg[] "field V09._result (fldOffset=0x8)" P-DEP
+;  V505 tmp475      [V505,T72] (  4, 10   )   short  ->  [fp+0x184]  do-not-enreg[] "field V09._token (fldOffset=0xc)" P-DEP
 ;  V506 tmp476      [V506,T154] (  2,  5   )   ubyte  ->  [fp+0x186]  do-not-enreg[] "field V09._continueOnCapturedContext (fldOffset=0xe)" P-DEP
 ;  V507 tmp477      [V507,T03] ( 12, 36   )     ref  ->  [fp+0x158]  do-not-enreg[] "field V12._obj (fldOffset=0x0)" P-DEP
 ;  V508 tmp478      [V508,T04] ( 12, 36   )   short  ->  [fp+0x160]  do-not-enreg[] "field V12._token (fldOffset=0x8)" P-DEP
@@ -551,43 +551,43 @@
 ;  V540 tmp510      [V540,T45] (  3, 12   )     ref  ->  [fp+0xC8]  do-not-enreg[] "field V155._object (fldOffset=0x0)" P-DEP
 ;  V541 tmp511      [V541,T59] (  3, 12   )     int  ->  [fp+0xD0]  do-not-enreg[] "field V155._index (fldOffset=0x8)" P-DEP
 ;  V542 tmp512      [V542,T60] (  3, 12   )     int  ->  [fp+0xD4]  do-not-enreg[] "field V155._length (fldOffset=0xc)" P-DEP
-;  V543 tmp513      [V543,T94] (  2,  8   )     ref  ->   x0         "field V156._obj (fldOffset=0x0)" P-INDEP
-;  V544 tmp514      [V544,T104] (  2,  8   )     int  ->   x2         "field V156._result (fldOffset=0x8)" P-INDEP
-;  V545 tmp515      [V545,T105] (  2,  8   )   short  ->   x1         "field V156._token (fldOffset=0xc)" P-INDEP
+;  V543 tmp513      [V543,T93] (  2,  8   )     ref  ->   x0         "field V156._obj (fldOffset=0x0)" P-INDEP
+;  V544 tmp514      [V544,T103] (  2,  8   )     int  ->   x2         "field V156._result (fldOffset=0x8)" P-INDEP
+;  V545 tmp515      [V545,T104] (  2,  8   )   short  ->   x1         "field V156._token (fldOffset=0xc)" P-INDEP
 ;* V546 tmp516      [V546,T208] (  0,  0   )   ubyte  ->  zero-ref    "field V156._continueOnCapturedContext (fldOffset=0xe)" P-INDEP
-;  V547 tmp517      [V547,T95] (  2,  8   )     ref  ->   x1         "field V182._source (fldOffset=0x0)" P-INDEP
+;  V547 tmp517      [V547,T94] (  2,  8   )     ref  ->   x1         "field V182._source (fldOffset=0x0)" P-INDEP
 ;* V548 tmp518      [V548    ] (  0,  0   )     ref  ->  zero-ref    "field V183.m_task (fldOffset=0x0)" P-INDEP
-;  V549 tmp519      [V549,T96] (  2,  8   )     ref  ->   x0         "field V184._obj (fldOffset=0x0)" P-INDEP
-;  V550 tmp520      [V550,T106] (  2,  8   )   short  ->   x1         "field V184._token (fldOffset=0x8)" P-INDEP
+;  V549 tmp519      [V549,T95] (  2,  8   )     ref  ->   x0         "field V184._obj (fldOffset=0x0)" P-INDEP
+;  V550 tmp520      [V550,T105] (  2,  8   )   short  ->   x1         "field V184._token (fldOffset=0x8)" P-INDEP
 ;* V551 tmp521      [V551,T209] (  0,  0   )   ubyte  ->  zero-ref    "field V184._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
 ;* V552 tmp522      [V552    ] (  0,  0   )     ref  ->  zero-ref    "field V185._obj (fldOffset=0x0)" P-INDEP
 ;* V553 tmp523      [V553    ] (  0,  0   )   short  ->  zero-ref    "field V185._token (fldOffset=0x8)" P-INDEP
 ;* V554 tmp524      [V554    ] (  0,  0   )   ubyte  ->  zero-ref    "field V185._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
 ;* V555 tmp525      [V555    ] (  0,  0   )   byref  ->  zero-ref    "field V205._reference (fldOffset=0x0)" P-INDEP
 ;* V556 tmp526      [V556    ] (  0,  0   )     int  ->  zero-ref    "field V205._length (fldOffset=0x8)" P-INDEP
-;  V557 tmp527      [V557,T97] (  2,  8   )   byref  ->  x21         "field V210._reference (fldOffset=0x0)" P-INDEP
-;  V558 tmp528      [V558,T107] (  2,  8   )     int  ->  x22         "field V210._length (fldOffset=0x8)" P-INDEP
+;  V557 tmp527      [V557,T96] (  2,  8   )   byref  ->  x21         "field V210._reference (fldOffset=0x0)" P-INDEP
+;  V558 tmp528      [V558,T106] (  2,  8   )     int  ->  x22         "field V210._length (fldOffset=0x8)" P-INDEP
 ;* V559 tmp529      [V559    ] (  0,  0   )   byref  ->  zero-ref    "field V212._reference (fldOffset=0x0)" P-DEP
 ;* V560 tmp530      [V560    ] (  0,  0   )     int  ->  zero-ref    "field V212._length (fldOffset=0x8)" P-DEP
-;  V561 tmp531      [V561,T98] (  2,  8   )   byref  ->  x21         "field V213._reference (fldOffset=0x0)" P-INDEP
-;  V562 tmp532      [V562,T108] (  2,  8   )     int  ->  x22         "field V213._length (fldOffset=0x8)" P-INDEP
+;  V561 tmp531      [V561,T97] (  2,  8   )   byref  ->  x21         "field V213._reference (fldOffset=0x0)" P-INDEP
+;  V562 tmp532      [V562,T107] (  2,  8   )     int  ->  x22         "field V213._length (fldOffset=0x8)" P-INDEP
 ;* V563 tmp533      [V563    ] (  0,  0   )   byref  ->  zero-ref    "field V219._reference (fldOffset=0x0)" P-INDEP
 ;* V564 tmp534      [V564    ] (  0,  0   )     int  ->  zero-ref    "field V219._length (fldOffset=0x8)" P-INDEP
-;  V565 tmp535      [V565,T99] (  2,  8   )     ref  ->   x0         "field V220._obj (fldOffset=0x0)" P-INDEP
-;  V566 tmp536      [V566,T109] (  2,  8   )   short  ->   x1         "field V220._token (fldOffset=0x8)" P-INDEP
+;  V565 tmp535      [V565,T98] (  2,  8   )     ref  ->   x0         "field V220._obj (fldOffset=0x0)" P-INDEP
+;  V566 tmp536      [V566,T108] (  2,  8   )   short  ->   x1         "field V220._token (fldOffset=0x8)" P-INDEP
 ;* V567 tmp537      [V567,T210] (  0,  0   )   ubyte  ->  zero-ref    "field V220._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
 ;* V568 tmp538      [V568    ] (  0,  0   )     ref  ->  zero-ref    "field V221._obj (fldOffset=0x0)" P-INDEP
 ;* V569 tmp539      [V569    ] (  0,  0   )   short  ->  zero-ref    "field V221._token (fldOffset=0x8)" P-INDEP
 ;* V570 tmp540      [V570    ] (  0,  0   )   ubyte  ->  zero-ref    "field V221._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
 ;* V571 tmp541      [V571    ] (  0,  0   )     ref  ->  zero-ref    "field V240.m_task (fldOffset=0x0)" P-INDEP
-;  V572 tmp542      [V572,T100] (  2,  8   )     ref  ->   x0         "field V241._obj (fldOffset=0x0)" P-INDEP
-;  V573 tmp543      [V573,T110] (  2,  8   )   short  ->   x1         "field V241._token (fldOffset=0x8)" P-INDEP
+;  V572 tmp542      [V572,T99] (  2,  8   )     ref  ->   x0         "field V241._obj (fldOffset=0x0)" P-INDEP
+;  V573 tmp543      [V573,T109] (  2,  8   )   short  ->   x1         "field V241._token (fldOffset=0x8)" P-INDEP
 ;* V574 tmp544      [V574,T211] (  0,  0   )   ubyte  ->  zero-ref    "field V241._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
 ;* V575 tmp545      [V575    ] (  0,  0   )     ref  ->  zero-ref    "field V242._obj (fldOffset=0x0)" P-INDEP
 ;* V576 tmp546      [V576    ] (  0,  0   )   short  ->  zero-ref    "field V242._token (fldOffset=0x8)" P-INDEP
 ;* V577 tmp547      [V577    ] (  0,  0   )   ubyte  ->  zero-ref    "field V242._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
-;  V578 tmp548      [V578,T101] (  2,  8   )     ref  ->   x0         "field V260._obj (fldOffset=0x0)" P-INDEP
-;  V579 tmp549      [V579,T111] (  2,  8   )   short  ->   x1         "field V260._token (fldOffset=0x8)" P-INDEP
+;  V578 tmp548      [V578,T100] (  2,  8   )     ref  ->   x0         "field V260._obj (fldOffset=0x0)" P-INDEP
+;  V579 tmp549      [V579,T110] (  2,  8   )   short  ->   x1         "field V260._token (fldOffset=0x8)" P-INDEP
 ;* V580 tmp550      [V580,T212] (  0,  0   )   ubyte  ->  zero-ref    "field V260._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
 ;* V581 tmp551      [V581    ] (  0,  0   )     ref  ->  zero-ref    "field V261._obj (fldOffset=0x0)" P-INDEP
 ;* V582 tmp552      [V582    ] (  0,  0   )   short  ->  zero-ref    "field V261._token (fldOffset=0x8)" P-INDEP
@@ -728,8 +728,8 @@
 ;  V717 PSPSym      [V717,T317] (  1,  1   )    long  ->  [fp+0x1B0]  do-not-enreg[V] "PSPSym"
 ;* V718 cse0        [V718,T318] (  0,  0   )    long  ->  zero-ref    "CSE - conservative"
...
  
  
benchmarks.run_pgo.osx.arm64.checked.mch
-24 (-4.92%) : 6489.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
@@ -8,10 +8,10 @@
 ; 0 inlinees with PGO data; 12 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] (  3,  3   )    long  ->  x19         single-def
-;  V01 arg1         [V01,T19] (  3,  3   )    long  ->  x20         single-def
-;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x20]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T20] (  4, 11   )    long  ->  x20        
+;  V00 arg0         [V00,T19] (  3,  3   )    long  ->  x19         single-def
+;  V01 arg1         [V01,T20] (  3,  3   )    long  ->  x20         single-def
+;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x28]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
+;  V03 loc1         [V03,T21] (  4, 11   )    long  ->  x20        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
@@ -19,14 +19,14 @@
 ;  V08 tmp1         [V08,T10] (  7, 84   )     ref  ->  x19         class-hnd single-def "non-inline candidate call" <<unknown class>>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V11 tmp4         [V11,T29] (  3,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V12 tmp5         [V12,T22] (  2,  4   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp4         [V11,T30] (  3,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp5         [V12,T23] (  2,  4   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp10        [V17,T08] (  2, 16   )     int  ->   x4         "Inlining Arg"
-;  V18 tmp11        [V18,T07] (  2, 16   )   byref  ->   x3         "Inlining Arg"
+;  V17 tmp10        [V17,T07] (  2, 16   )     int  ->   x4         "Inlining Arg"
+;  V18 tmp11        [V18,T06] (  2, 16   )   byref  ->   x3         "Inlining Arg"
 ;* V19 tmp12        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V21 tmp14        [V21,T12] (  2,  8   )   ubyte  ->   x0         "Inline return value spill temp"
@@ -40,30 +40,30 @@
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V30 tmp23        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V32 tmp25        [V32,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V32 tmp25        [V32,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V33 tmp26        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V34 tmp27        [V34,T23] (  3, 17   )     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
-;  V35 tmp28        [V35,T21] (  4, 18   )     int  ->  x15         "Inline stloc first use temp"
-;  V36 tmp29        [V36,T17] (  3, 20   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [fp+0x10]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
-;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
-;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
-;  V40 tmp33        [V40,T02] (  4, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V41 tmp34        [V41,T03] (  4, 20   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V34 tmp27        [V34,T24] (  3, 17   )     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
+;  V35 tmp28        [V35,T22] (  4, 18   )     int  ->  x15         "Inline stloc first use temp"
+;  V36 tmp29        [V36,T18] (  3, 20   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [fp+0x18]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
+;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
+;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
+;  V40 tmp33        [V40,T03] (  4, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V41 tmp34        [V41,T02] (  4, 20   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V42 tmp35        [V42,T00] (  6, 41   )     int  ->  x22         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V43 tmp36        [V43,T05] (  3, 17   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
-;  V44 tmp37        [V44,T13] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp38        [V45,T15] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp36        [V43,T13] (  2,  9   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
+;  V44 tmp37        [V44,T14] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp38        [V45,T16] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V46 tmp39        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V47 tmp40        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V48 tmp41        [V48,T24] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;  V48 tmp41        [V48,T25] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V49 tmp42        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V50 tmp43        [V50,T27] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
-;  V51 tmp44        [V51,T25] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
+;* V50 tmp43        [V50,T28] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
+;  V51 tmp44        [V51,T26] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
 ;  V52 tmp45        [V52,T11] (  3, 12   )   byref  ->   x3         "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V53 tmp46        [V53,T06] (  4, 16   )     int  ->   x4         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V54 tmp47        [V54,T14] (  2,  8   )   byref  ->   x3         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V55 tmp48        [V55,T16] (  2,  8   )     int  ->   x4         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V53 tmp46        [V53,T05] (  4, 16   )     int  ->   x4         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V54 tmp47        [V54,T15] (  2,  8   )   byref  ->   x3         "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V55 tmp48        [V55,T17] (  2,  8   )     int  ->   x4         "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp50        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V58 tmp51        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
@@ -79,26 +79,26 @@
 ;* V68 tmp61        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V69 tmp62        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;  V70 tmp63        [V70,T01] (  3, 48   )     ref  ->   x2         "arr expr"
-;  V71 PSPSym       [V71,T28] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
-;  V72 cse0         [V72,T04] (  3, 24   )     int  ->  x23         "CSE - aggressive"
-;  V73 cse1         [V73,T26] (  2, 16   )     int  ->  x12         "CSE - moderate"
+;  V71 PSPSym       [V71,T29] (  1,  1   )    long  ->  [fp+0x38]  do-not-enreg[V] "PSPSym"
+;  V72 cse0         [V72,T09] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V73 cse1         [V73,T04] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V74 cse2         [V74,T27] (  2, 16   )     int  ->  x12         "CSE - moderate"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 48
 
 G_M19804_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x38]
-            stp     x21, x22, [sp, #0x48]
-            str     x23, [sp, #0x58]
+            stp     x19, x20, [sp, #0x40]
+            stp     x21, x22, [sp, #0x50]
             mov     fp, sp
-            str     xzr, [fp, #0x20]  // [V02 loc0]
+            str     xzr, [fp, #0x28] // [V02 loc0]
             add     x2, sp, #96
-            str     x2, [fp, #0x30]   // [V71 PSPSym]
+            str     x2, [fp, #0x38]    // [V71 PSPSym]
             mov     x19, x0
             mov     x20, x1
-                      ;; size=40 bbWeight=1 PerfScore 8.00
+                      ;; size=36 bbWeight=1 PerfScore 7.00
 G_M19804_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x0, fp, #16    // [V37 tmp30]
+            add     x0, fp, #24 // [V37 tmp30]
             bl      CORINFO_HELP_JIT_REVERSE_PINVOKE_ENTER
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 1.50
@@ -111,9 +111,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             blr     x1
             ; byrRegs +[x0]
             ; gcr arg pop 0
-            stp     x0, x1, [fp, #0x20]   // [V02 loc0], [V02 loc0+0x08]
+            stp     x0, x1, [fp, #0x28] // [V02 loc0], [V02 loc0+0x08]
             ldrb    w2, [x20, #0x08]
-            cbz     w2, G_M19804_IG11
+            cbz     w2, G_M19804_IG10
             ldr     x19, [x20]
             ; gcrRegs +[x19]
             ldr     w21, [x19, #0x14]
@@ -123,9 +123,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M19804_IG04:        ; bbWeight=4, gcrefRegs=80004 {x2 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x2]
             ; byrRegs -[x0]
-            ldr     x0, [fp, #0x20]   // [V38 tmp31]
+            ldr     x0, [fp, #0x28] // [V38 tmp31]
             ; byrRegs +[x0]
-            ldr     w1, [fp, #0x28]  // [V39 tmp32]
+            ldr     w1, [fp, #0x30] // [V39 tmp32]
             cbnz    x2, G_M19804_IG05
             mov     x3, xzr
             ; byrRegs +[x3]
@@ -153,15 +153,15 @@ G_M19804_IG06:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0009 {x0 x3
             blr     x3
             ; byrRegs -[x0-x1]
             ; gcr arg pop 0
-            cbnz    w0, G_M19804_IG14
+            cbnz    w0, G_M19804_IG13
                       ;; size=40 bbWeight=4 PerfScore 38.00
 G_M19804_IG07:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            ldr     w23, [x19, #0x14]
-            cmp     w21, w23
-            bne     G_M19804_IG10
+            ldr     w2, [x19, #0x14]
+            cmp     w21, w2
+            bne     G_M19804_IG09
             ldr     w2, [x19, #0x10]
             cmp     w22, w2
-            bhs     G_M19804_IG11
+            bhs     G_M19804_IG10
             ldr     x2, [x19, #0x08]
             ; gcrRegs +[x2]
             ldr     w0, [x2, #0x08]
@@ -191,13 +191,9 @@ G_M19804_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
 G_M19804_IG10:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            cmp     w21, w23
-            bne     G_M19804_IG09
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldr     x19, [x20]
             ; gcrRegs +[x19]
-            add     x0, fp, #32  // [V02 loc0]
+            add     x0, fp, #40  // [V02 loc0]
             movz    x1, #0xD1FFAB1E      // code for <unknown method>
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #1 LSL #32
@@ -214,9 +210,9 @@ G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x14]
             ldr     w12, [x14, #0x08]
             cmp     w12, w15
-            bls     G_M19804_IG13
+            bls     G_M19804_IG12
                      ;; size=60 bbWeight=8 PerfScore 172.00
-G_M19804_IG12:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG11:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             add     w12, w15, #1
             str     w12, [x19, #0x10]
@@ -229,9 +225,9 @@ G_M19804_IG12:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x1 x15 x19]
             ; byrRegs -[x14]
-            b       G_M19804_IG14
+            b       G_M19804_IG13
                      ;; size=28 bbWeight=1 PerfScore 5.50
-G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG12:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x1 x19]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -243,28 +239,26 @@ G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {},
             ; gcrRegs -[x0-x1 x19]
             ; gcr arg pop 0
                        ;; size=24 bbWeight=1 PerfScore 6.00
-G_M19804_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x0, fp, #16    // [V37 tmp30]
+G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            add     x0, fp, #24    // [V37 tmp30]
             bl      CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x23, [sp, #0x58]
-            ldp     x21, x22, [sp, #0x48]
-            ldp     x19, x20, [sp, #0x38]
+G_M19804_IG14:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x50]
+            ldp     x19, x20, [sp, #0x40]
             ldp     fp, lr, [sp], #0x60
             ret     lr
-                       ;; size=20 bbWeight=1 PerfScore 6.00
-G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                      ;; size=16 bbWeight=1 PerfScore 4.00
+G_M19804_IG15:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             ; gcrRegs +[x0]
             stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            str     x23, [sp, #0x38]
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
             add     x3, fp, #96
-            str     x3, [sp, #0x10]
-                       ;; size=24 bbWeight=0 PerfScore 0.00
-G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
+            str     x3, [sp, #0x18]
+                       ;; size=20 bbWeight=0 PerfScore 0.00
+G_M19804_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
             ldr     x1, [x0]
             ldr     x1, [x1, #0x48]
             ldr     x1, [x1, #0x08]
@@ -277,17 +271,16 @@ G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
...
  
-4 (-3.23%) : 61485.dasm - System.Numerics.BigIntegerCalculator:Compare(System.ReadOnlySpan1[uint],System.ReadOnlySpan1[uint]):int (Tier1)
@@ -5,7 +5,7 @@
 ; optimized using Dynamic PGO
 ; fp based frame
 ; fully interruptible
-; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 6694
+; with Dynamic PGO: edge weights are valid, and fgCalledCount is 6694
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[uint]>
@@ -30,20 +30,20 @@ G_M264_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, n
 G_M264_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
             ; byrRegs +[x0 x2]
             cmp     w1, w3
-            bne     G_M264_IG10
+            bne     G_M264_IG08
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M264_IG03:        ; bbWeight=0.97, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref
             sxtw    w4, w3
                        ;; size=4 bbWeight=0.97 PerfScore 0.48
 G_M264_IG04:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
             sub     w4, w4, #1
-            tbnz    w4, #31, G_M264_IG08
+            tbnz    w4, #31, G_M264_IG12
             cmp     w4, w1
-            bhs     G_M264_IG13
+            bhs     G_M264_IG11
             mov     w5, w4
             ldr     w6, [x0, x5, LSL #2]
             cmp     w4, w3
-            bhs     G_M264_IG13
+            bhs     G_M264_IG11
             ldr     w5, [x2, x5, LSL #2]
             cmp     w6, w5
             beq     G_M264_IG04
@@ -51,7 +51,7 @@ G_M264_IG04:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2},
 G_M264_IG05:        ; bbWeight=0.97, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x0 x2]
             cmp     w5, w6
-            bhi     G_M264_IG11
+            bhi     G_M264_IG09
                        ;; size=8 bbWeight=0.97 PerfScore 1.45
 G_M264_IG06:        ; bbWeight=0.74, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #1
@@ -60,31 +60,30 @@ G_M264_IG07:        ; bbWeight=0.74, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=0.74 PerfScore 1.47
-G_M264_IG08:        ; bbWeight=0.97, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            mov     w0, wzr
-                       ;; size=4 bbWeight=0.97 PerfScore 0.48
-G_M264_IG09:        ; bbWeight=0.97, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            ret     lr
-                       ;; size=8 bbWeight=0.97 PerfScore 1.93
-G_M264_IG10:        ; bbWeight=0.03, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M264_IG08:        ; bbWeight=0.03, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             cmp     w1, w3
             bge     G_M264_IG06
                        ;; size=8 bbWeight=0.03 PerfScore 0.05
-G_M264_IG11:        ; bbWeight=0.26, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M264_IG09:        ; bbWeight=0.26, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movn    w0, #0
                        ;; size=4 bbWeight=0.26 PerfScore 0.13
-G_M264_IG12:        ; bbWeight=0.26, epilog, nogc, extend
+G_M264_IG10:        ; bbWeight=0.26, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=0.26 PerfScore 0.53
-G_M264_IG13:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M264_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
-            brk_unix #0
+                     ;; size=4 bbWeight=0 PerfScore 0.00
+G_M264_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            mov     w0, wzr
+                       ;; size=4 bbWeight=0 PerfScore 0.00
+G_M264_IG13:        ; bbWeight=0, epilog, nogc, extend
+            ldp     fp, lr, [sp], #0x10
+            ret     lr
                      ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 124, prolog size 8, PerfScore 22.36, instruction count 31, allocated bytes for code 124 (MethodHash=ba31fef7) for method System.Numerics.BigIntegerCalculator:Compare(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint]):int (Tier1)
+; Total bytes of code 120, prolog size 8, PerfScore 19.95, instruction count 30, allocated bytes for code 120 (MethodHash=ba31fef7) for method System.Numerics.BigIntegerCalculator:Compare(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint]):int (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -95,7 +94,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 31 (0x0001f) Actual length = 124 (0x00007c)
+  Function Length   : 30 (0x0001e) Actual length = 120 (0x000078)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-20 (-2.87%) : 59711.dasm - System.Linq.Enumerable:CountSystem.__Canon:int (Tier1)
@@ -25,7 +25,7 @@
 ;  V13 tmp7         [V13,T09] (  2, 156.10)     int  ->   x0         "guarded devirt return temp"
 ;* V14 tmp8         [V14    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Collections.Generic.List`1+Enumerator[Product]>
 ;* V15 tmp9         [V15    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Collections.Generic.List`1+Enumerator[Product]>
-;  V16 tmp10        [V16,T00] ( 12,1096.71)   byref  ->  x23         "Inlining Arg"
+;  V16 tmp10        [V16,T00] ( 10,1092.72)   byref  ->  x23         "Inlining Arg"
 ;  V17 tmp11        [V17,T07] (  4, 311.21)     ref  ->  x14         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;* V18 tmp12        [V18    ] (  0,   0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V19 tmp13        [V19,T01] (  3, 462.33)     ref  ->  x14         "arr expr"
@@ -54,12 +54,12 @@ G_M54795_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x19]
                        ;; size=40 bbWeight=1 PerfScore 7.50
 G_M54795_IG02:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
-            cbz     x21, G_M54795_IG24
-            cbz     x19, G_M54795_IG25
+            cbz     x21, G_M54795_IG23
+            cbz     x19, G_M54795_IG24
             mov     w22, wzr
             ldr     x0, [x20, #0x38]
             ldr     x11, [x0, #0x10]
-            cbz     x11, G_M54795_IG20
+            cbz     x11, G_M54795_IG19
                        ;; size=24 bbWeight=1 PerfScore 9.50
 G_M54795_IG03:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
             mov     x0, x21
@@ -143,11 +143,11 @@ G_M54795_IG10:        ; bbWeight=78.05, gcrefRegs=80000 {x19}, byrefRegs=0000 {}
             ldr     w15, [x23, #0x14]
             ldr     w12, [x14, #0x14]
             cmp     w15, w12
-            bne     G_M54795_IG18
+            bne     G_M54795_IG17
             ldr     w15, [x23, #0x10]
             ldr     w12, [x14, #0x10]
             cmp     w15, w12
-            bhs     G_M54795_IG19
+            bhs     G_M54795_IG18
                      ;; size=56 bbWeight=78.05 PerfScore 1951.29
 G_M54795_IG11:        ; bbWeight=77.05, gcrefRegs=84000 {x14 x19}, byrefRegs=800000 {x23}, byref, isz
             ; gcrRegs -[x0]
@@ -183,7 +183,7 @@ G_M54795_IG12:        ; bbWeight=78.05, gcrefRegs=80001 {x0 x19}, byrefRegs=0000
                        ;; size=24 bbWeight=78.05 PerfScore 507.34
 G_M54795_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
-            b       G_M54795_IG21
+            b       G_M54795_IG20
                      ;; size=4 bbWeight=1 PerfScore 1.00
 G_M54795_IG14:        ; bbWeight=5.05, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x19]
@@ -211,17 +211,8 @@ G_M54795_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M54795_IG18:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=800000 {x23}, byref, isz
+G_M54795_IG18:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=800000 {x23}, byref
             ; byrRegs +[x23]
-            ldr     w11, [x23, #0x14]
-            ldr     x1, [x23]
-            ; gcrRegs +[x1]
-            ldr     w1, [x1, #0x14]
-            ; gcrRegs -[x1]
-            cmp     w11, w1
-            bne     G_M54795_IG17
-                       ;; size=20 bbWeight=1.00 PerfScore 10.47
-G_M54795_IG19:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=800000 {x23}, byref
             ldr     x11, [x23]
             ; gcrRegs +[x11]
             ldr     w11, [x11, #0x10]
@@ -229,9 +220,9 @@ G_M54795_IG19:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=800000 {x23}
             add     w11, w11, #1
             str     w11, [x23, #0x10]
             str     xzr, [x23, #0x08]
-            b       G_M54795_IG21
+            b       G_M54795_IG20
                         ;; size=24 bbWeight=1.00 PerfScore 9.47
-G_M54795_IG20:        ; bbWeight=0.20, gcVars=0000000000000000 {}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref
+G_M54795_IG19:        ; bbWeight=0.20, gcVars=0000000000000000 {}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs +[x19 x21]
             ; byrRegs -[x23]
             ; GC ptr vars -{V04}
@@ -244,28 +235,28 @@ G_M54795_IG20:        ; bbWeight=0.20, gcVars=0000000000000000 {}, gcrefRegs=280
             mov     x11, x0
             b       G_M54795_IG03
                        ;; size=28 bbWeight=0.20 PerfScore 0.90
-G_M54795_IG21:        ; bbWeight=1, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M54795_IG20:        ; bbWeight=1, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x19 x21]
             ; GC ptr vars +{V04}
             ldr     x0, [fp, #0x10]    // [V04 loc1]
             ; gcrRegs +[x0]
             ldr     x1, [x0]
             cmp     x1, x21
-            bne     G_M54795_IG26
+            bne     G_M54795_IG25
                       ;; size=16 bbWeight=1 PerfScore 6.50
-G_M54795_IG22:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M54795_IG21:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             ; GC ptr vars -{V04}
             mov     w0, w22
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M54795_IG23:        ; bbWeight=1, epilog, nogc, extend
+G_M54795_IG22:        ; bbWeight=1, epilog, nogc, extend
             ldr     x23, [sp, #0x48]
             ldp     x21, x22, [sp, #0x38]
             ldp     x19, x20, [sp, #0x28]
             ldp     fp, lr, [sp], #0x50
             ret     lr
                        ;; size=20 bbWeight=1 PerfScore 6.00
-G_M54795_IG24:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M54795_IG23:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #17
             movz    x1, #0xD1FFAB1E      // code for System.Linq.ThrowHelper:ThrowArgumentNullException(int)
             movk    x1, #0xD1FFAB1E LSL #16
@@ -275,7 +266,7 @@ G_M54795_IG24:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=28 bbWeight=0 PerfScore 0.00
-G_M54795_IG25:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M54795_IG24:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #12
             movz    x1, #0xD1FFAB1E      // code for System.Linq.ThrowHelper:ThrowArgumentNullException(int)
             movk    x1, #0xD1FFAB1E LSL #16
@@ -285,7 +276,7 @@ G_M54795_IG25:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=28 bbWeight=0 PerfScore 0.00
-G_M54795_IG26:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M54795_IG25:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; GC ptr vars +{V04}
             ldr     x0, [fp, #0x10]    // [V04 loc1]
             ; gcrRegs +[x0]
@@ -297,9 +288,9 @@ G_M54795_IG26:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=000
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            b       G_M54795_IG22
+            b       G_M54795_IG21
                       ;; size=28 bbWeight=0 PerfScore 0.00
-G_M54795_IG27:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+G_M54795_IG26:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
             ; GC ptr vars +{V04}
             stp     fp, lr, [sp, #-0x40]!
             stp     x19, x20, [sp, #0x18]
@@ -308,16 +299,16 @@ G_M54795_IG27:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=000
             add     x3, fp, #80
             str     x3, [sp, #0x10]
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M54795_IG28:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M54795_IG27:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldr     x0, [fp, #0x10]   // [V04 loc1]
             ; gcrRegs +[x0]
-            cbz     x0, G_M54795_IG29
+            cbz     x0, G_M54795_IG28
             ldr     x11, [x0]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #1 LSL #32
             cmp     x11, x21
-            beq     G_M54795_IG29
+            beq     G_M54795_IG28
             movz    x11, #0xD1FFAB1E      // code for <unknown method>
             movk    x11, #0xD1FFAB1E LSL #16
             movk    x11, #1 LSL #32
@@ -327,7 +318,7 @@ G_M54795_IG28:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=000
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=52 bbWeight=0 PerfScore 0.00
-G_M54795_IG29:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M54795_IG28:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldr     x23, [sp, #0x38]
             ldp     x21, x22, [sp, #0x28]
             ldp     x19, x20, [sp, #0x18]
@@ -335,7 +326,7 @@ G_M54795_IG29:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 696, prolog size 40, PerfScore 6999.36, instruction count 174, allocated bytes for code 696 (MethodHash=aec129f4) for method System.Linq.Enumerable:Count[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (Tier1)
+; Total bytes of code 676, prolog size 40, PerfScore 6988.89, instruction count 169, allocated bytes for code 676 (MethodHash=aec129f4) for method System.Linq.Enumerable:Count[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -346,7 +337,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 150 (0x00096) Actual length = 600 (0x000258)
+  Function Length   : 145 (0x00091) Actual length = 580 (0x000244)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -381,4 +372,4 @@ Unwind Info:
 
 *************** EH table for System.Linq.Enumerable:Count[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M54795_IG04..G_M54795_IG20) handled by [G_M54795_IG27..END) (fault)
+EH#0: try [G_M54795_IG04..G_M54795_IG19) handled by [G_M54795_IG26..END) (fault)
  
+20 (+0.59%) : 66163.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
@@ -12,7 +12,7 @@
 ;  V00 loc0         [V00,T06] ( 26,  9.13)     ref  ->  x20         class-hnd exact single-def <System.Threading.ThreadPoolWorkQueue>
 ;  V01 loc1         [V01,T13] ( 18,  7.74)     ref  ->  x22         class-hnd exact single-def <System.Threading.ThreadPoolWorkQueueThreadLocals>
 ;  V02 loc2         [V02    ] ( 11,  9.83)     ref  ->  [fp+0x58]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Object>
-;  V03 loc3         [V03,T28] (  6,  4.69)     ref  ->  x24         class-hnd single-def <System.Object>
+;  V03 loc3         [V03,T28] (  8,  4.69)     ref  ->  x24         class-hnd single-def <System.Object>
 ;  V04 loc4         [V04,T08] ( 14,  8.44)     ref  ->  x25         class-hnd exact single-def <System.Threading.Thread>
 ;  V05 loc5         [V05,T80] (  3,  1.37)     int  ->  x26        
 ;  V06 loc6         [V06,T71] (  2,  2.01)   ubyte  ->   x0        
@@ -111,11 +111,11 @@
 ;  V99 tmp88        [V99,T00] (  8, 13.39)     ref  ->  x23         class-hnd exact "Inlining Arg" <System.Threading.PortableThreadPool>
 ;* V100 tmp89       [V100    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V101 tmp90       [V101    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V102 tmp91       [V102,T21] (  3,  5.55)     ref  ->   x0         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
+;  V102 tmp91       [V102,T21] (  5,  5.55)     ref  ->   x1         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V103 tmp92       [V103    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V104 tmp93       [V104    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V105 tmp94       [V105    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V106 tmp95       [V106,T47] (  3,  3.33)     int  ->   x0         "Inline stloc first use temp"
+;  V106 tmp95       [V106,T47] (  5,  3.33)     int  ->   x1         "Inline stloc first use temp"
 ;* V107 tmp96       [V107,T81] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V108 tmp97       [V108,T48] (  3,  3.33)     int  ->   x0         "Inline stloc first use temp"
 ;* V109 tmp98       [V109    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
@@ -173,10 +173,10 @@ G_M63069_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcr arg pop 0
             ldr     w1, [x0, #0x10]
             cmp     w1, #5
-            blt     G_M63069_IG96
+            blt     G_M63069_IG106
             ldr     x0, [x0, #0x18]
             ldr     x0, [x0, #0x28]
-            cbz     x0, G_M63069_IG96
+            cbz     x0, G_M63069_IG106
             ldr     x0, [x0]
             ; byrRegs +[x0]
             add     x21, x0, #16
@@ -194,12 +194,12 @@ G_M63069_IG04:        ; bbWeight=1.01, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             dmb     ish
             str     xzr, [fp, #0x58]   // [V02 loc2]
             ldrb    w0, [x20, #0x35]
-            cbnz    w0, G_M63069_IG97
+            cbnz    w0, G_M63069_IG107
                         ;; size=20 bbWeight=1.01 PerfScore 16.08
 G_M63069_IG05:        ; bbWeight=1.01, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [fp, #0x58]    // [V02 loc2]
             ; gcrRegs +[x0]
-            cbnz    x0, G_M63069_IG66
+            cbnz    x0, G_M63069_IG58
                       ;; size=8 bbWeight=1.01 PerfScore 3.02
 G_M63069_IG06:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -215,7 +215,7 @@ G_M63069_IG06:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             ldar    w2, [x2]
             ; byrRegs -[x2]
             cmp     w1, w2
-            blt     G_M63069_IG98
+            blt     G_M63069_IG22
             mov     x2, xzr
             ; gcrRegs +[x2]
                        ;; size=36 bbWeight=1.00 PerfScore 13.05
@@ -227,9 +227,9 @@ G_M63069_IG07:        ; bbWeight=1.00, gcrefRegs=500004 {x2 x20 x22}, byrefRegs=
             cbnz    x0, G_M63069_IG11
             ldrb    w0, [x22, #0x3C]
             ; gcrRegs -[x0]
-            cbnz    w0, G_M63069_IG99
+            cbnz    w0, G_M63069_IG23
             ldr     w0, [x20, #0x30]
-            cbnz    w0, G_M63069_IG100
+            cbnz    w0, G_M63069_IG24
                        ;; size=28 bbWeight=1.00 PerfScore 12.05
 G_M63069_IG08:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x2]
@@ -253,7 +253,7 @@ G_M63069_IG09:        ; bbWeight=1.01, gcrefRegs=3D00000 {x20 x22 x23 x24 x25},
             and     w0, w26, w0
             ldr     w1, [x25, #0x08]
             cmp     w0, w1
-            bhs     G_M63069_IG95
+            bhs     G_M63069_IG105
             ubfiz   x0, x0, #4, #32
             add     x21, x0, #16
             add     x0, x25, x21
@@ -264,7 +264,7 @@ G_M63069_IG09:        ; bbWeight=1.01, gcrefRegs=3D00000 {x20 x22 x23 x24 x25},
             ; byrRegs -[x0]
             add     w1, w26, #1
             sub     w0, w0, w1
-            cbnz    w0, G_M63069_IG33
+            cbnz    w0, G_M63069_IG25
                        ;; size=60 bbWeight=1.01 PerfScore 19.11
 G_M63069_IG10:        ; bbWeight=0.53, gcrefRegs=3D00000 {x20 x22 x23 x24 x25}, byrefRegs=8000000 {x27}, byref, isz
             add     x0, x24, #160
@@ -294,7 +294,7 @@ G_M63069_IG11:        ; bbWeight=0.53, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             ; byrRegs -[x27]
             ldr     x21, [fp, #0x40]   // [V17 tmp6]
             ; gcrRegs +[x21]
-            b       G_M63069_IG45
+            b       G_M63069_IG37
                      ;; size=8 bbWeight=0.53 PerfScore 1.59
 G_M63069_IG12:        ; bbWeight=0.01, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21-x22]
@@ -336,7 +336,7 @@ G_M63069_IG15:        ; bbWeight=4.44, gcrefRegs=3700000 {x20 x21 x22 x24 x25},
                        ;; size=20 bbWeight=4.44 PerfScore 24.43
 G_M63069_IG16:        ; bbWeight=1.11, gcrefRegs=3700001 {x0 x20 x21 x22 x24 x25}, byrefRegs=0000 {}, byref, isz
             cmp     x25, x0
-            bne     G_M63069_IG119
+            bne     G_M63069_IG93
                      ;; size=8 bbWeight=1.11 PerfScore 1.67
 G_M63069_IG17:        ; bbWeight=1.11, gcrefRegs=3700000 {x20 x21 x22 x24 x25}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -345,11 +345,11 @@ G_M63069_IG17:        ; bbWeight=1.11, gcrefRegs=3700000 {x20 x21 x22 x24 x25},
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            cbz     w0, G_M63069_IG120
+            cbz     w0, G_M63069_IG94
                      ;; size=12 bbWeight=1.11 PerfScore 2.78
 G_M63069_IG18:        ; bbWeight=1.11, gcrefRegs=3700000 {x20 x21 x22 x24 x25}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [x25, #0x38]
-            cbnz    w0, G_M63069_IG121
+            cbnz    w0, G_M63069_IG95
                         ;; size=8 bbWeight=1.11 PerfScore 4.44
 G_M63069_IG19:        ; bbWeight=1.11, gcrefRegs=3700000 {x20 x21 x22 x24 x25}, byrefRegs=0000 {}, byref, isz
             bl      <unknown method>
@@ -357,175 +357,80 @@ G_M63069_IG19:        ; bbWeight=1.11, gcrefRegs=3700000 {x20 x21 x22 x24 x25},
             sxtw    w27, w0
             ldr     x23, [x19, #0xD1FFAB1E]
             ; gcrRegs +[x23]
-            cbz     x24, G_M63069_IG122
-                       ;; size=16 bbWeight=1.11 PerfScore 6.11
-G_M63069_IG20:        ; bbWeight=1.11, gcrefRegs=3F00000 {x20 x21 x22 x23 x24 x25}, byrefRegs=0000 {}, byref, isz
-            mov     x0, x24
-            ; gcrRegs +[x0]
-            cbz     x0, G_M63069_IG22
-                       ;; size=8 bbWeight=1.11 PerfScore 1.67
-G_M63069_IG21:        ; bbWeight=0.56, gcrefRegs=3F00001 {x0 x20 x21 x22 x23 x24 x25}, byrefRegs=0000 {}, byref, isz
-            ldr     x0, [x0]
-            ; gcrRegs -[x0]
+            cbz     x24, G_M63069_IG96
+            mov     x1, x24
+            ; gcrRegs +[x1]
+            cbz     x1, G_M63069_IG97
+                       ;; size=24 bbWeight=1.11 PerfScore 7.77
+G_M63069_IG20:        ; bbWeight=0.56, gcrefRegs=3F00002 {x1 x20 x21 x22 x23 x24 x25}, byrefRegs=0000 {}, byref, isz
+            ldr     x0, [x1]
             movz    x1, #0xD1FFAB1E
+            ; gcrRegs -[x1]
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #1 LSL #32
             cmp     x0, x1
-            beq     G_M63069_IG23
+            bne     G_M63069_IG97
                        ;; size=24 bbWeight=0.56 PerfScore 3.33
-G_M63069_IG22:        ; bbWeight=1.11, gcrefRegs=3F00000 {x20 x21 x22 x23 x24 x25}, byrefRegs=0000 {}, byref
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #1 LSL #32
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #1 LSL #32
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #1 LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            ; gcr arg pop 0
-                       ;; size=44 bbWeight=1.11 PerfScore 9.44
-G_M63069_IG23:        ; bbWeight=1.11, gcrefRegs=3F00000 {x20 x21 x22 x23 x24 x25}, byrefRegs=0000 {}, byref, isz
+G_M63069_IG21:        ; bbWeight=1.11, gcrefRegs=3F00000 {x20 x21 x22 x23 x24 x25}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x24, #0x20]
-            add     w0, w0, #1
-            cbz     w0, G_M63069_IG123
-            str     w0, [x24, #0x20]
+            add     w1, w0, #1
+            cbz     w1, G_M63069_IG98
+            b       G_M63069_IG76
                       ;; size=16 bbWeight=1.11 PerfScore 6.11
-G_M63069_IG24:        ; bbWeight=1.11, gcrefRegs=3F00000 {x20 x21 x22 x23 x24 x25}, byrefRegs=0000 {}, byref, isz
-            str     w27, [x23, #0xD1FFAB1E]
-            add     x0, x23, #0xD1FFAB1E
-            ; byrRegs +[x0]
-            ldar    w0, [x0]
-            ; byrRegs -[x0]
-            sub     w1, w27, w0
-            ldr     w2, [x23, #0xD1FFAB1E]
-            sub     w0, w2, w0
-            cmp     w1, w0
-            bhs     G_M63069_IG81
-                       ;; size=32 bbWeight=1.11 PerfScore 11.10
-G_M63069_IG25:        ; bbWeight=1.11, gcrefRegs=3F00000 {x20 x21 x22 x23 x24 x25}, byrefRegs=0000 {}, byref, isz
-            mov     x0, x23
-            ; gcrRegs +[x0]
-            movz    x1, #0xD1FFAB1E      // code for System.Threading.PortableThreadPool+WorkerThread:ShouldStopProcessingWorkNow(System.Threading.PortableThreadPool):ubyte
+G_M63069_IG22:        ; bbWeight=0, gcrefRegs=500001 {x0 x20 x22}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x21 x23-x25] +[x0]
+            movz    x1, #0xD1FFAB1E      // code for <unknown method>
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #1 LSL #32
             ldr     x1, [x1]
             blr     x1
-            ; gcrRegs -[x0 x23]
             ; gcr arg pop 0
-            cbnz    w0, G_M63069_IG92
-            sub     w0, w27, w26
-            cmp     w0, #30
-            bhs     G_M63069_IG32
-                       ;; size=40 bbWeight=1.11 PerfScore 9.99
-G_M63069_IG26:        ; bbWeight=1.36, gcrefRegs=3700000 {x20 x21 x22 x24 x25}, byrefRegs=0000 {}, byref, isz
-            ldr     x0, [fp, #0x58]    // [V02 loc2]
-            ; gcrRegs +[x0]
-            cbnz    x0, G_M63069_IG60
-                       ;; size=8 bbWeight=1.36 PerfScore 4.08
-G_M63069_IG27:        ; bbWeight=1.11, gcrefRegs=3700000 {x20 x21 x22 x24 x25}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x0]
-            str     wzr, [fp, #0x48]   // [V10 loc10]
-            ldr     x0, [x22, #0x18]
-            ; gcrRegs +[x0]
-            add     x1, x0, #20
-            ; byrRegs +[x1]
-            ldar    w1, [x1]
-            ; byrRegs -[x1]
-            add     x2, x0, #24
-            ; byrRegs +[x2]
-            ldar    w2, [x2]
-            ; byrRegs -[x2]
-            cmp     w1, w2
-            blt     G_M63069_IG108
-            mov     x2, xzr
+            mov     x2, x0
             ; gcrRegs +[x2]
-                       ;; size=36 bbWeight=1.11 PerfScore 14.44
-G_M63069_IG28:        ; bbWeight=1.11, gcrefRegs=3700004 {x2 x20 x21 x22 x24 x25}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x0]
-            str     x2, [fp, #0x30]    // [V54 tmp43]
-            ldr     x0, [fp, #0x30]    // [V54 tmp43]
+            b       G_M63069_IG07
+                       ;; size=28 bbWeight=0 PerfScore 0.00
+G_M63069_IG23:        ; bbWeight=0, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x0 x2]
+            ldr     x0, [x20, #0x10]
             ; gcrRegs +[x0]
-            cbnz    x0, G_M63069_IG109
-            ldrb    w0, [x22, #0x3C]
+            add     x1, fp, #64  // [V17 tmp6]
+            movz    x2, #0xD1FFAB1E      // code for System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:TryDequeue(byref):ubyte:this
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #1 LSL #32
+            ldr     x2, [x2]
+            ldr     wzr, [x0]
+            blr     x2
             ; gcrRegs -[x0]
-            cbnz    w0, G_M63069_IG110
...
  
+20 (+0.60%) : 32525.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
@@ -12,7 +12,7 @@
 ;  V00 loc0         [V00,T10] ( 26,  8.06)     ref  ->  x20         class-hnd exact single-def <System.Threading.ThreadPoolWorkQueue>
 ;  V01 loc1         [V01,T14] ( 18,  7.04)     ref  ->  x22         class-hnd exact single-def <System.Threading.ThreadPoolWorkQueueThreadLocals>
 ;  V02 loc2         [V02    ] ( 11,  8.75)     ref  ->  [fp+0x58]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Object>
-;  V03 loc3         [V03,T42] (  6,  3.78)     ref  ->  x28         class-hnd single-def <System.Object>
+;  V03 loc3         [V03,T42] (  8,  3.78)     ref  ->  x28         class-hnd single-def <System.Object>
 ;  V04 loc4         [V04,T12] ( 14,  7.69)     ref  ->  x25         class-hnd exact single-def <System.Threading.Thread>
 ;  V05 loc5         [V05,T82] (  3,  1.01)     int  ->  x24        
 ;  V06 loc6         [V06,T68] (  2,  2.02)   ubyte  ->   x0        
@@ -106,11 +106,11 @@
 ;  V94 tmp83        [V94,T06] (  8, 11.08)     ref  ->  x26         class-hnd exact "Inlining Arg" <System.Threading.PortableThreadPool>
 ;* V95 tmp84        [V95    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V96 tmp85        [V96    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V97 tmp86        [V97,T29] (  3,  4.62)     ref  ->   x0         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
+;  V97 tmp86        [V97,T29] (  5,  4.62)     ref  ->   x1         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V98 tmp87        [V98    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V99 tmp88        [V99    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V100 tmp89       [V100    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V101 tmp90       [V101,T60] (  3,  2.77)     int  ->   x0         "Inline stloc first use temp"
+;  V101 tmp90       [V101,T60] (  5,  2.77)     int  ->  x27         "Inline stloc first use temp"
 ;* V102 tmp91       [V102,T86] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V103 tmp92       [V103,T61] (  3,  2.77)     int  ->   x0         "Inline stloc first use temp"
 ;* V104 tmp93       [V104    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
@@ -167,17 +167,17 @@ G_M63069_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcr arg pop 0
             ldr     w1, [x0, #0x10]
             cmp     w1, #6
-            blt     G_M63069_IG91
+            blt     G_M63069_IG90
             ldr     x0, [x0, #0x18]
             ldr     x0, [x0, #0x30]
-            cbz     x0, G_M63069_IG91
+            cbz     x0, G_M63069_IG90
             ldr     x0, [x0]
             ; byrRegs +[x0]
             add     x21, x0, #16
             ; byrRegs +[x21]
             ldr     x22, [x21, #0x40]
             ; gcrRegs +[x22]
-            cbz     x22, G_M63069_IG92
+            cbz     x22, G_M63069_IG91
                        ;; size=88 bbWeight=1 PerfScore 30.50
 G_M63069_IG03:        ; bbWeight=1.01, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x0 x21]
@@ -185,7 +185,7 @@ G_M63069_IG03:        ; bbWeight=1.01, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             dmb     ish
             str     xzr, [fp, #0x58]   // [V02 loc2]
             ldrb    w0, [x20, #0x35]
-            cbnz    w0, G_M63069_IG93
+            cbnz    w0, G_M63069_IG92
                      ;; size=20 bbWeight=1.01 PerfScore 16.17
 G_M63069_IG04:        ; bbWeight=1.01, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [fp, #0x58]    // [V02 loc2]
@@ -206,12 +206,12 @@ G_M63069_IG05:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             ldar    w2, [x2]
             ; byrRegs -[x2]
             cmp     w1, w2
-            blt     G_M63069_IG94
+            blt     G_M63069_IG93
             mov     x2, xzr
             ; gcrRegs +[x2]
             str     x2, [fp, #0x40]    // [V17 tmp6]
             ldr     x0, [fp, #0x40]    // [V17 tmp6]
-            cbnz    x0, G_M63069_IG95
+            cbnz    x0, G_M63069_IG94
                      ;; size=48 bbWeight=1.00 PerfScore 17.00
 G_M63069_IG06:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0 x2]
@@ -220,7 +220,7 @@ G_M63069_IG06:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=000
                        ;; size=8 bbWeight=1.00 PerfScore 4.00
 G_M63069_IG07:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ldr     w1, [x20, #0x30]
-            cbnz    w1, G_M63069_IG96
+            cbnz    w1, G_M63069_IG95
                      ;; size=8 bbWeight=1.00 PerfScore 4.00
 G_M63069_IG08:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref
             ldr     x23, [x20, #0x08]
@@ -243,7 +243,7 @@ G_M63069_IG09:        ; bbWeight=1.04, gcrefRegs=3D00000 {x20 x22 x23 x24 x25},
             and     w1, w26, w1
             ldr     w0, [x25, #0x08]
             cmp     w1, w0
-            bhs     G_M63069_IG90
+            bhs     G_M63069_IG89
             ubfiz   x1, x1, #4, #32
             add     x21, x1, #16
             add     x1, x25, x21
@@ -284,7 +284,7 @@ G_M63069_IG12:        ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             blr     x2
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            cbnz    w0, G_M63069_IG95
+            cbnz    w0, G_M63069_IG94
             strb    wzr, [x22, #0x3C]
             b       G_M63069_IG08
                        ;; size=44 bbWeight=0.00 PerfScore 0.00
@@ -292,7 +292,7 @@ G_M63069_IG13:        ; bbWeight=0.52, gcrefRegs=11500000 {x20 x22 x24 x28}, byr
             ; gcrRegs +[x24 x28]
             sub     w27, w21, #1
             cmp     w21, #0
-            beq     G_M63069_IG89
+            beq     G_M63069_IG88
             udiv    w0, w23, w21
             msub    w26, w0, w21, w23
             cmp     w21, #0
@@ -313,7 +313,7 @@ G_M63069_IG16:        ; bbWeight=0.52, gcrefRegs=3D00000 {x20 x22 x23 x24 x25},
             sub     w1, w2, w26
             ; byrRegs -[x1]
             cmp     w1, #0
-            bgt     G_M63069_IG97
+            bgt     G_M63069_IG96
                        ;; size=24 bbWeight=0.52 PerfScore 4.43
 G_M63069_IG17:        ; bbWeight=1.00, gcrefRegs=1D00000 {x20 x22 x23 x24}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x25]
@@ -338,7 +338,7 @@ G_M63069_IG19:        ; bbWeight=0.49, gcrefRegs=3500000 {x20 x22 x24 x25}, byre
             ; byrRegs +[x0]
             ldarb   w0, [x0]
             ; byrRegs -[x0]
-            cbnz    w0, G_M63069_IG95
+            cbnz    w0, G_M63069_IG94
                       ;; size=20 bbWeight=0.49 PerfScore 4.14
 G_M63069_IG20:        ; bbWeight=0.49, gcrefRegs=2500000 {x20 x22 x25}, byrefRegs=8000000 {x27}, byref
             ; gcrRegs -[x24]
@@ -346,7 +346,7 @@ G_M63069_IG20:        ; bbWeight=0.49, gcrefRegs=2500000 {x20 x22 x25}, byrefReg
             ldr     w0, [x25, #0x08]
             add     w0, w0, w26
             stlr    w0, [x27]
-            b       G_M63069_IG95
+            b       G_M63069_IG94
                         ;; size=20 bbWeight=0.49 PerfScore 3.20
 G_M63069_IG21:        ; bbWeight=1.00, gcrefRegs=D00000 {x20 x22 x23}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x25] +[x23]
@@ -361,7 +361,7 @@ G_M63069_IG21:        ; bbWeight=1.00, gcrefRegs=D00000 {x20 x22 x23}, byrefRegs
             blr     x2
             ; gcrRegs -[x0 x23]
             ; gcr arg pop 0
-            cbnz    w0, G_M63069_IG95
+            cbnz    w0, G_M63069_IG94
                       ;; size=32 bbWeight=1.00 PerfScore 7.50
 G_M63069_IG22:        ; bbWeight=0.52, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x22, #0x30]
@@ -392,7 +392,7 @@ G_M63069_IG22:        ; bbWeight=0.52, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             ldr     w25, [x24, #0x08]
             sxtw    w21, w25
             cmp     w21, #0
-            ble     G_M63069_IG99
+            ble     G_M63069_IG98
             b       G_M63069_IG13
                        ;; size=104 bbWeight=0.52 PerfScore 19.30
 G_M63069_IG23:        ; bbWeight=0.01, gcrefRegs=11500000 {x20 x22 x24 x28}, byrefRegs=0000 {}, byref
@@ -402,7 +402,7 @@ G_M63069_IG23:        ; bbWeight=0.01, gcrefRegs=11500000 {x20 x22 x24 x28}, byr
 G_M63069_IG24:        ; bbWeight=4.22, gcrefRegs=10500000 {x20 x22 x28}, byrefRegs=800000 {x23}, byref, isz
             ; gcrRegs -[x24]
             cmp     w26, w25
-            bhs     G_M63069_IG90
+            bhs     G_M63069_IG89
             ldr     x0, [x23, w26, UXTW #3]
             ; gcrRegs +[x0]
             cmp     x0, x28
@@ -418,7 +418,7 @@ G_M63069_IG25:        ; bbWeight=3.64, gcrefRegs=10500001 {x0 x20 x22 x28}, byre
             ldar    w2, [x2]
             ; byrRegs -[x2]
             cmp     w1, w2
-            blt     G_M63069_IG100
+            blt     G_M63069_IG99
                       ;; size=24 bbWeight=3.64 PerfScore 30.97
 G_M63069_IG26:        ; bbWeight=4.22, gcrefRegs=10500000 {x20 x22 x28}, byrefRegs=800000 {x23}, byref, isz
             ; gcrRegs -[x0]
@@ -450,7 +450,7 @@ G_M63069_IG30:        ; bbWeight=1.00, gcrefRegs=500004 {x2 x20 x22}, byrefRegs=
 G_M63069_IG31:        ; bbWeight=0.93, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0 x2 x22]
             ldrb    w0, [fp, #0x50]    // [V08 loc8]
-            cbnz    w0, G_M63069_IG101
+            cbnz    w0, G_M63069_IG100
                        ;; size=8 bbWeight=0.93 PerfScore 2.78
 G_M63069_IG32:        ; bbWeight=0.93, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x20]
@@ -477,7 +477,7 @@ G_M63069_IG35:        ; bbWeight=3.91, gcrefRegs=16700000 {x20 x21 x22 x25 x26 x
                        ;; size=16 bbWeight=3.91 PerfScore 9.76
 G_M63069_IG36:        ; bbWeight=0.48, gcrefRegs=12500000 {x20 x22 x25 x28}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21 x26]
-            b       G_M63069_IG78
+            b       G_M63069_IG74
                      ;; size=4 bbWeight=0.48 PerfScore 0.48
 G_M63069_IG37:        ; bbWeight=0.55, gcrefRegs=10500000 {x20 x22 x28}, byrefRegs=800000 {x23}, byref
             ; gcrRegs -[x25]
@@ -490,15 +490,15 @@ G_M63069_IG38:        ; bbWeight=0.48, gcrefRegs=16700000 {x20 x21 x22 x25 x26 x
             ; byrRegs -[x23]
             sub     w0, w2, #1
             cmp     w2, #0
-            beq     G_M63069_IG89
+            beq     G_M63069_IG88
             udiv    w1, w23, w2
             msub    w23, w1, w2, w23
             cmp     w2, #0
-            ble     G_M63069_IG78
+            ble     G_M63069_IG74
                        ;; size=28 bbWeight=0.48 PerfScore 7.97
 G_M63069_IG39:        ; bbWeight=3.91, gcrefRegs=16700000 {x20 x21 x22 x25 x26 x28}, byrefRegs=0000 {}, byref, isz
             cmp     w23, w27
-            bhs     G_M63069_IG90
+            bhs     G_M63069_IG89
             add     x1, x26, #16
             ; byrRegs +[x1]
             ldr     x1, [x1, w23, UXTW #3]
@@ -507,10 +507,10 @@ G_M63069_IG39:        ; bbWeight=3.91, gcrefRegs=16700000 {x20 x21 x22 x25 x26 x
             str     x1, [fp, #0x10]    // [V58 tmp47]
             ; GC ptr vars +{V58}
             cmp     x1, x21
-            beq     G_M63069_IG76
+            beq     G_M63069_IG72
                       ;; size=28 bbWeight=3.91 PerfScore 29.29
 G_M63069_IG40:        ; bbWeight=3.37, gcVars=00000000000000000000000000000020 {V58}, gcrefRegs=16700002 {x1 x20 x21 x22 x25 x26 x28}, byrefRegs=0000 {}, gcvars, byref
-            b       G_M63069_IG75
+            b       G_M63069_IG71
                       ;; size=4 bbWeight=3.37 PerfScore 3.37
 G_M63069_IG41:        ; bbWeight=0.08, gcVars=00000000000000000000000000000000 {}, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x1 x21 x25-x26 x28]
@@ -542,7 +542,7 @@ G_M63069_IG43:        ; bbWeight=0.08, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             ; gcrRegs +[x0]
             ldrb    w0, [x0, #0x9D]
             ; gcrRegs -[x0]
-            cbnz    w0, G_M63069_IG103
+            cbnz    w0, G_M63069_IG102
             ldrb    w0, [x20, #0x34]
             cbz     w0, G_M63069_IG44
             strb    wzr, [x20, #0x34]
@@ -558,7 +558,7 @@ G_M63069_IG44:        ; bbWeight=0.08, gcrefRegs=500000 {x20 x22}, byrefRegs=000
 G_M63069_IG45:        ; bbWeight=1.01, gcrefRegs=12500000 {x20 x22 x25 x28}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [fp, #0x58]    // [V02 loc2]
             ; gcrRegs +[x0]
-            cbnz    x0, G_M63069_IG80
+            cbnz    x0, G_M63069_IG76
                       ;; size=8 bbWeight=1.01 PerfScore 3.02
 G_M63069_IG46:        ; bbWeight=0.93, gcrefRegs=12500000 {x20 x22 x25 x28}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -574,12 +574,12 @@ G_M63069_IG46:        ; bbWeight=0.93, gcrefRegs=12500000 {x20 x22 x25 x28}, byr
             ldar    w2, [x2]
             ; byrRegs -[x2]
             cmp     w1, w2
-            blt     G_M63069_IG104
+            blt     G_M63069_IG103
             mov     x2, xzr
             ; gcrRegs +[x2]
             str     x2, [fp, #0x30]    // [V51 tmp40]
             ldr     x0, [fp, #0x30]    // [V51 tmp40]
-            cbnz    x0, G_M63069_IG105
+            cbnz    x0, G_M63069_IG104
                       ;; size=48 bbWeight=0.93 PerfScore 15.74
 G_M63069_IG47:        ; bbWeight=0.93, gcrefRegs=12500000 {x20 x22 x25 x28}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0 x2]
...
  
+36 (+1.09%) : 33204.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
@@ -12,7 +12,7 @@
 ;  V00 loc0         [V00,T10] ( 26,  8.00)     ref  ->  x20         class-hnd exact single-def <System.Threading.ThreadPoolWorkQueue>
 ;  V01 loc1         [V01,T14] ( 18,  6.99)     ref  ->  x22         class-hnd exact single-def <System.Threading.ThreadPoolWorkQueueThreadLocals>
 ;  V02 loc2         [V02    ] ( 11,  8.86)     ref  ->  [fp+0x58]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Object>
-;  V03 loc3         [V03,T42] (  6,  3.90)     ref  ->  x24         class-hnd single-def <System.Object>
+;  V03 loc3         [V03,T42] (  8,  3.90)     ref  ->  x24         class-hnd single-def <System.Object>
 ;  V04 loc4         [V04,T11] ( 14,  7.83)     ref  ->  x21         class-hnd exact single-def <System.Threading.Thread>
 ;  V05 loc5         [V05,T83] (  3,  1.00)     int  ->  x25        
 ;  V06 loc6         [V06,T70] (  2,  2.00)   ubyte  ->   x0        
@@ -25,14 +25,14 @@
 ;  V13 tmp2         [V13,T39] (  4,  4   )     ref  ->  x22         class-hnd exact single-def "dup spill" <System.Threading.ThreadPoolWorkQueueThreadLocals>
 ;  V14 tmp3         [V14,T56] (  6,  3.00)     ref  ->  x22        
 ;  V15 tmp4         [V15,T90] (  3,  0   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
-;  V16 tmp5         [V16,T74] (  3,  1.51)     ref  ->   x1         class-hnd "Inline return value spill temp" <System.Object>
+;  V16 tmp5         [V16,T74] (  3,  1.51)     ref  ->   x2         class-hnd "Inline return value spill temp" <System.Object>
 ;  V17 tmp6         [V17    ] ( 14,  6.02)     ref  ->  [fp+0x40]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" <System.Object>
 ;  V18 tmp7         [V18,T73] (  3,  1.53)     int  ->  x23         "Inline stloc first use temp"
 ;  V19 tmp8         [V19,T32] (  2,  4.56)     ref  ->  x24         class-hnd exact single-def "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
 ;  V20 tmp9         [V20,T79] (  3,  1.03)     ref  ->  x25         class-hnd exact single-def "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue[]>
 ;  V21 tmp10        [V21,T03] (  9, 15.21)     int  ->  x26         "Inline stloc first use temp"
-;  V22 tmp11        [V22,T33] (  2,  4.56)     int  ->  x28         "Inline stloc first use temp"
-;  V23 tmp12        [V23,T00] (  6, 20.33)     int  ->  x27         "Inline stloc first use temp"
+;  V22 tmp11        [V22,T33] (  2,  4.56)     int  ->  x27         "Inline stloc first use temp"
+;  V23 tmp12        [V23,T00] (  6, 20.33)     int  ->  x28         "Inline stloc first use temp"
 ;  V24 tmp13        [V24,T02] (  5, 15.33)     ref  ->   x0         class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
 ;  V25 tmp14        [V25,T09] (  3,  8.11)     int  ->   x0        
 ;  V26 tmp15        [V26,T69] (  4,  2.00)     ref  ->   x2         class-hnd "Inline return value spill temp" <System.Object>
@@ -60,7 +60,7 @@
 ;* V48 tmp37        [V48    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V49 tmp38        [V49    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <<unknown class>>
 ;  V50 tmp39        [V50,T77] (  3,  1.45)     ref  ->   x1         class-hnd "Inline return value spill temp" <System.Object>
-;  V51 tmp40        [V51    ] ( 12,  5.78)     ref  ->  [fp+0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" <System.Object>
+;  V51 tmp40        [V51    ] ( 14,  5.78)     ref  ->  [fp+0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" <System.Object>
 ;  V52 tmp41        [V52,T76] (  3,  1.47)     int  ->  x23         "Inline stloc first use temp"
 ;  V53 tmp42        [V53,T34] (  2,  4.38)     ref  ->  registers   class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
 ;  V54 tmp43        [V54,T30] (  3,  4.87)     ref  ->  x27         class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue[]>
@@ -69,7 +69,7 @@
 ;  V57 tmp46        [V57,T01] (  6, 19.53)     int  ->  x23         "Inline stloc first use temp"
 ;  V58 tmp47        [V58,T04] (  5, 14.73)     ref  ->   x0         class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
 ;  V59 tmp48        [V59,T12] (  3,  7.79)     int  ->   x0        
-;  V60 tmp49        [V60,T72] (  3,  1.92)     ref  ->   x2         class-hnd "Inline return value spill temp" <System.Object>
+;  V60 tmp49        [V60,T72] (  4,  1.92)     ref  ->   x2         class-hnd "Inline return value spill temp" <System.Object>
 ;  V61 tmp50        [V61,T24] (  4,  5.76)     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
 ;  V62 tmp51        [V62,T61] (  2,  1.92)   ubyte  ->   x0         "Inline return value spill temp"
 ;  V63 tmp52        [V63,T25] (  3,  5.76)     ref  ->  x23         class-hnd "Inlining Arg" <<unknown class>>
@@ -77,14 +77,14 @@
 ;* V65 tmp54        [V65,T78] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V66 tmp55        [V66,T36] (  6,  4.36)     ref  ->  x27         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V67 tmp56        [V67    ] (  2,  0.96)  struct ( 8) [fp+0x20]  do-not-enreg[XS] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.SpinWait>
-;  V68 tmp57        [V68,T27] (  9,  5.39)     int  ->   x2         "Inline stloc first use temp"
+;  V68 tmp57        [V68,T27] (  9,  5.39)     int  ->  x28         "Inline stloc first use temp"
 ;  V69 tmp58        [V69,T57] (  3,  2.94)     int  ->   x1         "Inline stloc first use temp"
 ;* V70 tmp59        [V70    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V71 tmp60        [V71,T66] (  3,  2.45)     int  ->   x1         "Inline stloc first use temp"
-;  V72 tmp61        [V72,T89] (  2,  0.49)   ubyte  ->   x5         "Inline stloc first use temp"
-;  V73 tmp62        [V73,T84] (  3,  0.98)     int  ->   x6         "Inline stloc first use temp"
-;  V74 tmp63        [V74,T08] (  9,  8.80)     ref  ->   x1         class-hnd exact "Inlining Arg" <System.Random+XoshiroImpl>
-;  V75 tmp64        [V75,T67] (  5,  2.44)    long  ->   x0         "Inline stloc first use temp"
+;  V72 tmp61        [V72,T89] (  2,  0.49)   ubyte  ->   x4         "Inline stloc first use temp"
+;  V73 tmp62        [V73,T84] (  3,  0.98)     int  ->   x5         "Inline stloc first use temp"
+;  V74 tmp63        [V74,T08] (  9,  8.80)     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Random+XoshiroImpl>
+;  V75 tmp64        [V75,T67] (  5,  2.44)    long  ->   x1         "Inline stloc first use temp"
 ;  V76 tmp65        [V76,T50] (  7,  3.42)    long  ->   x2         "Inline stloc first use temp"
 ;  V77 tmp66        [V77,T51] (  7,  3.42)    long  ->   x3         "Inline stloc first use temp"
 ;  V78 tmp67        [V78,T52] (  7,  3.42)    long  ->   x4         "Inline stloc first use temp"
@@ -94,7 +94,7 @@
 ;* V82 tmp71        [V82    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V83 tmp72        [V83    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <<unknown class>>
 ;* V84 tmp73        [V84    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V85 tmp74        [V85,T46] (  4,  3.86)     ref  ->  x26         class-hnd "Inlining Arg" <System.Object>
+;  V85 tmp74        [V85,T46] (  4,  3.86)     ref  ->  x23         class-hnd "Inlining Arg" <System.Object>
 ;  V86 tmp75        [V86,T17] (  7,  6.76)     ref  ->   x0         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task>
 ;* V87 tmp76        [V87    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <<unknown class>>
 ;* V88 tmp77        [V88    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[System.Threading.Tasks.VoidTaskResult,System.Buffers.Tests.RentReturnArrayPoolTests`1+<SingleSerial>d__21[System.Object]]>
@@ -106,11 +106,11 @@
 ;  V94 tmp83        [V94,T06] (  8,  9.66)     ref  ->  x27         class-hnd exact "Inlining Arg" <System.Threading.PortableThreadPool>
 ;* V95 tmp84        [V95    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V96 tmp85        [V96    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V97 tmp86        [V97,T28] (  3,  4.83)     ref  ->   x0         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
+;  V97 tmp86        [V97,T28] (  5,  4.83)     ref  ->   x1         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V98 tmp87        [V98    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V99 tmp88        [V99    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V100 tmp89       [V100    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V101 tmp90       [V101,T59] (  3,  2.90)     int  ->   x0         "Inline stloc first use temp"
+;  V101 tmp90       [V101,T59] (  5,  2.90)     int  ->  x28         "Inline stloc first use temp"
 ;* V102 tmp91       [V102,T87] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V103 tmp92       [V103,T60] (  3,  2.90)     int  ->   x0         "Inline stloc first use temp"
 ;* V104 tmp93       [V104    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
@@ -122,9 +122,9 @@
 ;  V110 tmp99       [V110    ] (  2,  0.96)     int  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "field V67._count (fldOffset=0x0)" P-DEP
 ;  V111 tmp100      [V111    ] (  3,  0   )    long  ->  [fp+0x18]  do-not-enreg[X] addr-exposed "field V106._data (fldOffset=0x0)" P-DEP
 ;  V112 cse0        [V112,T64] (  3,  2.54)   byref  ->  x28         "CSE - moderate"
-;  V113 cse1        [V113,T68] (  3,  2.44)   byref  ->   x4         "CSE - moderate"
+;  V113 cse1        [V113,T68] (  3,  2.44)   byref  ->   x3         "CSE - moderate"
 ;  V114 cse2        [V114,T54] (  4,  3.04)    long  ->  x27         "CSE - moderate"
-;  V115 cse3        [V115,T58] (  4,  2.92)    long  ->   x3         "CSE - moderate"
+;  V115 cse3        [V115,T58] (  4,  2.92)    long  ->   x2         "CSE - moderate"
 ;  V116 cse4        [V116,T29] (  3,  5.07)     int  ->  x21         "CSE - moderate"
 ;  V117 cse5        [V117,T37] (  2,  4.06)   byref  ->  x23         hoist "CSE - moderate"
 ;  V118 cse6        [V118,T31] (  3,  4.87)     int  ->  x28         "CSE - moderate"
@@ -168,17 +168,17 @@ G_M63069_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcr arg pop 0
             ldr     w1, [x0, #0x10]
             cmp     w1, #6
-            blt     G_M63069_IG86
+            blt     G_M63069_IG88
             ldr     x0, [x0, #0x18]
             ldr     x0, [x0, #0x30]
-            cbz     x0, G_M63069_IG86
+            cbz     x0, G_M63069_IG88
             ldr     x0, [x0]
             ; byrRegs +[x0]
             add     x21, x0, #16
             ; byrRegs +[x21]
             ldr     x22, [x21, #0x40]
             ; gcrRegs +[x22]
-            cbz     x22, G_M63069_IG87
+            cbz     x22, G_M63069_IG89
                        ;; size=88 bbWeight=1 PerfScore 30.50
 G_M63069_IG03:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x0 x21]
@@ -186,12 +186,12 @@ G_M63069_IG03:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             dmb     ish
             str     xzr, [fp, #0x58]   // [V02 loc2]
             ldrb    w0, [x20, #0x35]
-            cbnz    w0, G_M63069_IG88
+            cbnz    w0, G_M63069_IG90
                      ;; size=20 bbWeight=1.00 PerfScore 16.00
 G_M63069_IG04:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [fp, #0x58]    // [V02 loc2]
             ; gcrRegs +[x0]
-            cbnz    x0, G_M63069_IG70
+            cbnz    x0, G_M63069_IG58
                       ;; size=8 bbWeight=1.00 PerfScore 3.00
 G_M63069_IG05:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -207,12 +207,12 @@ G_M63069_IG05:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             ldar    w2, [x2]
             ; byrRegs -[x2]
             cmp     w1, w2
-            blt     G_M63069_IG89
+            blt     G_M63069_IG91
             mov     x2, xzr
             ; gcrRegs +[x2]
             str     x2, [fp, #0x40]    // [V17 tmp6]
             ldr     x0, [fp, #0x40]    // [V17 tmp6]
-            cbnz    x0, G_M63069_IG90
+            cbnz    x0, G_M63069_IG92
                      ;; size=48 bbWeight=1.00 PerfScore 17.00
 G_M63069_IG06:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0 x2]
@@ -221,7 +221,7 @@ G_M63069_IG06:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=000
                        ;; size=8 bbWeight=1.00 PerfScore 4.00
 G_M63069_IG07:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ldr     w1, [x20, #0x30]
-            cbnz    w1, G_M63069_IG91
+            cbnz    w1, G_M63069_IG93
                      ;; size=8 bbWeight=1.00 PerfScore 4.02
 G_M63069_IG08:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref
             ldr     x23, [x20, #0x08]
@@ -244,7 +244,7 @@ G_M63069_IG09:        ; bbWeight=1.02, gcrefRegs=3D00000 {x20 x22 x23 x24 x25},
             and     w1, w26, w1
             ldr     w21, [x25, #0x08]
             cmp     w1, w21
-            bhs     G_M63069_IG85
+            bhs     G_M63069_IG87
             ubfiz   x1, x1, #4, #32
             add     x27, x1, #16
             add     x1, x25, x27
@@ -285,17 +285,17 @@ G_M63069_IG12:        ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             blr     x2
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            cbnz    w0, G_M63069_IG90
+            cbnz    w0, G_M63069_IG92
             strb    wzr, [x22, #0x3C]
             b       G_M63069_IG08
                        ;; size=44 bbWeight=0.00 PerfScore 0.02
 G_M63069_IG13:        ; bbWeight=0.51, gcrefRegs=3500000 {x20 x22 x24 x25}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x24-x25]
-            sub     w28, w26, #1
+            sub     w27, w26, #1
             cmp     w26, #0
-            beq     G_M63069_IG84
+            beq     G_M63069_IG86
             udiv    w0, w23, w26
-            msub    w27, w0, w26, w23
+            msub    w28, w0, w26, w23
             cmp     w26, #0
             ble     G_M63069_IG29
                        ;; size=28 bbWeight=0.51 PerfScore 8.40
@@ -314,7 +314,7 @@ G_M63069_IG16:        ; bbWeight=0.51, gcrefRegs=3D00000 {x20 x22 x23 x24 x25},
             sub     w1, w3, w26
             ; byrRegs -[x1]
             cmp     w1, #0
-            bgt     G_M63069_IG92
+            bgt     G_M63069_IG94
                        ;; size=24 bbWeight=0.51 PerfScore 4.33
 G_M63069_IG17:        ; bbWeight=1.00, gcrefRegs=1D00000 {x20 x22 x23 x24}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x25]
@@ -339,14 +339,14 @@ G_M63069_IG19:        ; bbWeight=0.50, gcrefRegs=3500000 {x20 x22 x24 x25}, byre
             ; byrRegs +[x0]
             ldarb   w0, [x0]
             ; byrRegs -[x0]
-            cbnz    w0, G_M63069_IG90
+            cbnz    w0, G_M63069_IG92
                       ;; size=20 bbWeight=0.50 PerfScore 4.25
 G_M63069_IG20:        ; bbWeight=0.50, gcrefRegs=2500000 {x20 x22 x25}, byrefRegs=10000000 {x28}, byref
             ; gcrRegs -[x24]
             str     xzr, [x25, x27]
             add     w0, w21, w26
             stlr    w0, [x28]
-            b       G_M63069_IG90
+            b       G_M63069_IG92
                         ;; size=16 bbWeight=0.50 PerfScore 1.75
 G_M63069_IG21:        ; bbWeight=1.00, gcrefRegs=D00000 {x20 x22 x23}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x25] +[x23]
@@ -361,7 +361,7 @@ G_M63069_IG21:        ; bbWeight=1.00, gcrefRegs=D00000 {x20 x22 x23}, byrefRegs
             blr     x2
             ; gcrRegs -[x0 x23]
             ; gcr arg pop 0
-            cbnz    w0, G_M63069_IG90
+            cbnz    w0, G_M63069_IG92
                       ;; size=32 bbWeight=1.00 PerfScore 7.50
 G_M63069_IG22:        ; bbWeight=0.51, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x22, #0x30]
@@ -392,7 +392,7 @@ G_M63069_IG22:        ; bbWeight=0.51, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             ldr     w21, [x25, #0x08]
             sxtw    w26, w21
             cmp     w26, #0
-            ble     G_M63069_IG94
+            ble     G_M63069_IG96
             b       G_M63069_IG13
                        ;; size=104 bbWeight=0.51 PerfScore 18.83
 G_M63069_IG23:        ; bbWeight=0.01, gcrefRegs=3500000 {x20 x22 x24 x25}, byrefRegs=0000 {}, byref
@@ -401,9 +401,9 @@ G_M63069_IG23:        ; bbWeight=0.01, gcrefRegs=3500000 {x20 x22 x24 x25}, byre
                        ;; size=4 bbWeight=0.01 PerfScore 0.00
 G_M63069_IG24:        ; bbWeight=4.05, gcrefRegs=1500000 {x20 x22 x24}, byrefRegs=800000 {x23}, byref, isz
             ; gcrRegs -[x25]
-            cmp     w27, w21
-            bhs     G_M63069_IG85
-            ldr     x0, [x23, w27, UXTW #3]
+            cmp     w28, w21
+            bhs     G_M63069_IG87
+            ldr     x0, [x23, w28, UXTW #3]
             ; gcrRegs +[x0]
             cmp     x0, x24
             beq     G_M63069_IG26
@@ -418,18 +418,18 @@ G_M63069_IG25:        ; bbWeight=3.61, gcrefRegs=1500001 {x0 x20 x22 x24}, byref
             ldar    w2, [x2]
...
  
  
benchmarks.run_tiered.osx.arm64.checked.mch
-24 (-4.92%) : 8247.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
@@ -8,10 +8,10 @@
 ; 0 inlinees with PGO data; 12 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] (  3,  3   )    long  ->  x19         single-def
-;  V01 arg1         [V01,T19] (  3,  3   )    long  ->  x20         single-def
-;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x20]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T20] (  4, 11   )    long  ->  x20        
+;  V00 arg0         [V00,T19] (  3,  3   )    long  ->  x19         single-def
+;  V01 arg1         [V01,T20] (  3,  3   )    long  ->  x20         single-def
+;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x28]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
+;  V03 loc1         [V03,T21] (  4, 11   )    long  ->  x20        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
@@ -19,14 +19,14 @@
 ;  V08 tmp1         [V08,T10] (  7, 84   )     ref  ->  x19         class-hnd single-def "non-inline candidate call" <<unknown class>>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V11 tmp4         [V11,T29] (  3,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V12 tmp5         [V12,T22] (  2,  4   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp4         [V11,T30] (  3,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp5         [V12,T23] (  2,  4   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp10        [V17,T08] (  2, 16   )     int  ->   x4         "Inlining Arg"
-;  V18 tmp11        [V18,T07] (  2, 16   )   byref  ->   x3         "Inlining Arg"
+;  V17 tmp10        [V17,T07] (  2, 16   )     int  ->   x4         "Inlining Arg"
+;  V18 tmp11        [V18,T06] (  2, 16   )   byref  ->   x3         "Inlining Arg"
 ;* V19 tmp12        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V21 tmp14        [V21,T12] (  2,  8   )   ubyte  ->   x0         "Inline return value spill temp"
@@ -40,30 +40,30 @@
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V30 tmp23        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V32 tmp25        [V32,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V32 tmp25        [V32,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V33 tmp26        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V34 tmp27        [V34,T23] (  3, 17   )     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
-;  V35 tmp28        [V35,T21] (  4, 18   )     int  ->  x15         "Inline stloc first use temp"
-;  V36 tmp29        [V36,T17] (  3, 20   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [fp+0x10]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
-;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
-;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
-;  V40 tmp33        [V40,T02] (  4, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V41 tmp34        [V41,T03] (  4, 20   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V34 tmp27        [V34,T24] (  3, 17   )     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
+;  V35 tmp28        [V35,T22] (  4, 18   )     int  ->  x15         "Inline stloc first use temp"
+;  V36 tmp29        [V36,T18] (  3, 20   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [fp+0x18]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
+;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
+;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
+;  V40 tmp33        [V40,T03] (  4, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V41 tmp34        [V41,T02] (  4, 20   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V42 tmp35        [V42,T00] (  6, 41   )     int  ->  x22         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V43 tmp36        [V43,T05] (  3, 17   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
-;  V44 tmp37        [V44,T13] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp38        [V45,T15] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp36        [V43,T13] (  2,  9   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
+;  V44 tmp37        [V44,T14] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp38        [V45,T16] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V46 tmp39        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V47 tmp40        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V48 tmp41        [V48,T24] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;  V48 tmp41        [V48,T25] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V49 tmp42        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V50 tmp43        [V50,T27] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
-;  V51 tmp44        [V51,T25] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
+;* V50 tmp43        [V50,T28] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
+;  V51 tmp44        [V51,T26] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
 ;  V52 tmp45        [V52,T11] (  3, 12   )   byref  ->   x3         "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V53 tmp46        [V53,T06] (  4, 16   )     int  ->   x4         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V54 tmp47        [V54,T14] (  2,  8   )   byref  ->   x3         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V55 tmp48        [V55,T16] (  2,  8   )     int  ->   x4         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V53 tmp46        [V53,T05] (  4, 16   )     int  ->   x4         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V54 tmp47        [V54,T15] (  2,  8   )   byref  ->   x3         "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V55 tmp48        [V55,T17] (  2,  8   )     int  ->   x4         "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp50        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V58 tmp51        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
@@ -79,26 +79,26 @@
 ;* V68 tmp61        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V69 tmp62        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;  V70 tmp63        [V70,T01] (  3, 48   )     ref  ->   x2         "arr expr"
-;  V71 PSPSym       [V71,T28] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
-;  V72 cse0         [V72,T04] (  3, 24   )     int  ->  x23         "CSE - aggressive"
-;  V73 cse1         [V73,T26] (  2, 16   )     int  ->  x12         "CSE - moderate"
+;  V71 PSPSym       [V71,T29] (  1,  1   )    long  ->  [fp+0x38]  do-not-enreg[V] "PSPSym"
+;  V72 cse0         [V72,T09] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V73 cse1         [V73,T04] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V74 cse2         [V74,T27] (  2, 16   )     int  ->  x12         "CSE - moderate"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 48
 
 G_M19804_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x38]
-            stp     x21, x22, [sp, #0x48]
-            str     x23, [sp, #0x58]
+            stp     x19, x20, [sp, #0x40]
+            stp     x21, x22, [sp, #0x50]
             mov     fp, sp
-            str     xzr, [fp, #0x20]  // [V02 loc0]
+            str     xzr, [fp, #0x28] // [V02 loc0]
             add     x2, sp, #96
-            str     x2, [fp, #0x30]   // [V71 PSPSym]
+            str     x2, [fp, #0x38]    // [V71 PSPSym]
             mov     x19, x0
             mov     x20, x1
-                      ;; size=40 bbWeight=1 PerfScore 8.00
+                      ;; size=36 bbWeight=1 PerfScore 7.00
 G_M19804_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x0, fp, #16    // [V37 tmp30]
+            add     x0, fp, #24 // [V37 tmp30]
             bl      CORINFO_HELP_JIT_REVERSE_PINVOKE_ENTER
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 1.50
@@ -111,9 +111,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             blr     x1
             ; byrRegs +[x0]
             ; gcr arg pop 0
-            stp     x0, x1, [fp, #0x20]   // [V02 loc0], [V02 loc0+0x08]
+            stp     x0, x1, [fp, #0x28] // [V02 loc0], [V02 loc0+0x08]
             ldrb    w2, [x20, #0x08]
-            cbz     w2, G_M19804_IG11
+            cbz     w2, G_M19804_IG10
             ldr     x19, [x20]
             ; gcrRegs +[x19]
             ldr     w21, [x19, #0x14]
@@ -123,9 +123,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M19804_IG04:        ; bbWeight=4, gcrefRegs=80004 {x2 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x2]
             ; byrRegs -[x0]
-            ldr     x0, [fp, #0x20]   // [V38 tmp31]
+            ldr     x0, [fp, #0x28] // [V38 tmp31]
             ; byrRegs +[x0]
-            ldr     w1, [fp, #0x28]  // [V39 tmp32]
+            ldr     w1, [fp, #0x30] // [V39 tmp32]
             cbnz    x2, G_M19804_IG05
             mov     x3, xzr
             ; byrRegs +[x3]
@@ -153,15 +153,15 @@ G_M19804_IG06:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0009 {x0 x3
             blr     x3
             ; byrRegs -[x0-x1]
             ; gcr arg pop 0
-            cbnz    w0, G_M19804_IG14
+            cbnz    w0, G_M19804_IG13
                       ;; size=40 bbWeight=4 PerfScore 38.00
 G_M19804_IG07:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            ldr     w23, [x19, #0x14]
-            cmp     w21, w23
-            bne     G_M19804_IG10
+            ldr     w2, [x19, #0x14]
+            cmp     w21, w2
+            bne     G_M19804_IG09
             ldr     w2, [x19, #0x10]
             cmp     w22, w2
-            bhs     G_M19804_IG11
+            bhs     G_M19804_IG10
             ldr     x2, [x19, #0x08]
             ; gcrRegs +[x2]
             ldr     w0, [x2, #0x08]
@@ -191,13 +191,9 @@ G_M19804_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
 G_M19804_IG10:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            cmp     w21, w23
-            bne     G_M19804_IG09
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldr     x19, [x20]
             ; gcrRegs +[x19]
-            add     x0, fp, #32  // [V02 loc0]
+            add     x0, fp, #40  // [V02 loc0]
             movz    x1, #0xD1FFAB1E      // code for <unknown method>
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #1 LSL #32
@@ -214,9 +210,9 @@ G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x14]
             ldr     w12, [x14, #0x08]
             cmp     w12, w15
-            bls     G_M19804_IG13
+            bls     G_M19804_IG12
                      ;; size=60 bbWeight=8 PerfScore 172.00
-G_M19804_IG12:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG11:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             add     w12, w15, #1
             str     w12, [x19, #0x10]
@@ -229,9 +225,9 @@ G_M19804_IG12:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x1 x15 x19]
             ; byrRegs -[x14]
-            b       G_M19804_IG14
+            b       G_M19804_IG13
                      ;; size=28 bbWeight=1 PerfScore 5.50
-G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG12:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x1 x19]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -243,28 +239,26 @@ G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {},
             ; gcrRegs -[x0-x1 x19]
             ; gcr arg pop 0
                        ;; size=24 bbWeight=1 PerfScore 6.00
-G_M19804_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x0, fp, #16    // [V37 tmp30]
+G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            add     x0, fp, #24    // [V37 tmp30]
             bl      CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x23, [sp, #0x58]
-            ldp     x21, x22, [sp, #0x48]
-            ldp     x19, x20, [sp, #0x38]
+G_M19804_IG14:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x50]
+            ldp     x19, x20, [sp, #0x40]
             ldp     fp, lr, [sp], #0x60
             ret     lr
-                       ;; size=20 bbWeight=1 PerfScore 6.00
-G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                      ;; size=16 bbWeight=1 PerfScore 4.00
+G_M19804_IG15:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             ; gcrRegs +[x0]
             stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            str     x23, [sp, #0x38]
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
             add     x3, fp, #96
-            str     x3, [sp, #0x10]
-                       ;; size=24 bbWeight=0 PerfScore 0.00
-G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
+            str     x3, [sp, #0x18]
+                       ;; size=20 bbWeight=0 PerfScore 0.00
+G_M19804_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
             ldr     x1, [x0]
             ldr     x1, [x1, #0x48]
             ldr     x1, [x1, #0x08]
@@ -277,17 +271,16 @@ G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
...
  
-12 (-1.03%) : 5343.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
@@ -8,28 +8,28 @@
 ; 0 inlinees with PGO data; 21 single block inlinees; 14 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T38] (  4,  1   )     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Object>
+;  V00 loc0         [V00,T39] (  4,  1   )     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Object>
 ;  V01 loc1         [V01    ] (  6,  2.50)   ubyte  ->  [fp+0x38]  do-not-enreg[X] addr-exposed ld-addr-op
 ;  V02 loc2         [V02,T03] (  6, 26.50)     ref  ->  x20         class-hnd exact single-def <<unknown class>>
 ;  V03 loc3         [V03,T08] (  6, 17   )     ref  ->  x21         class-hnd <System.Diagnostics.Tracing.EventListener>
 ;  V04 loc4         [V04,T15] (  4, 10.50)     int  ->  x21        
 ;* V05 loc5         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.WeakReference`1[System.Diagnostics.Tracing.EventSource]]>
 ;* V06 loc6         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.WeakReference`1[System.Diagnostics.Tracing.EventSource]>
-;  V07 loc7         [V07,T17] (  4,  8   )     ref  ->  x25         ld-addr-op class-hnd <System.Diagnostics.Tracing.EventSource>
+;  V07 loc7         [V07,T16] (  4,  8   )     ref  ->  x25         ld-addr-op class-hnd <System.Diagnostics.Tracing.EventSource>
 ;  V08 loc8         [V08,T00] ( 11,468   )     ref  ->  x25         class-hnd <<unknown class>>
 ;  V09 loc9         [V09    ] (  7, 42   )  struct (24) [fp+0x20]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.Diagnostics.Tracing.EventListener,ubyte]>
 ;  V10 loc10        [V10,T01] (  2,144   )     ref  ->  x27         class-hnd <System.Diagnostics.Tracing.EventListener>
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V12 tmp1         [V12,T31] (  3,  3   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V13 tmp2         [V13,T34] (  2,  2   )   ubyte  ->   x0         "Inlining Arg"
+;  V12 tmp1         [V12,T32] (  3,  3   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V13 tmp2         [V13,T35] (  2,  2   )   ubyte  ->   x0         "Inlining Arg"
 ;* V14 tmp3         [V14    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V15 tmp4         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;  V16 tmp5         [V16,T33] (  2,  2   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V16 tmp5         [V16,T34] (  2,  2   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V17 tmp6         [V17    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.WeakReference`1[System.Diagnostics.Tracing.EventSource]]>
 ;* V18 tmp7         [V18    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V19 tmp8         [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Diagnostics.Tracing.EventSource>
 ;  V20 tmp9         [V20,T24] (  3,  6   )     ref  ->  x25         class-hnd "Inline return value spill temp" <System.Diagnostics.Tracing.EventSource>
-;  V21 tmp10        [V21,T11] (  5, 14   )    long  ->   x0         "Inline stloc first use temp"
+;  V21 tmp10        [V21,T10] (  5, 14   )    long  ->   x0         "Inline stloc first use temp"
 ;* V22 tmp11        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Diagnostics.Tracing.EventSource>
 ;  V23 tmp12        [V23,T25] (  3,  6   )     ref  ->  x25         class-hnd "Inline stloc first use temp" <System.Diagnostics.Tracing.EventSource>
 ;* V24 tmp13        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Diagnostics.Tracing.EventSource>
@@ -37,47 +37,48 @@
 ;  V26 tmp15        [V26,T13] (  3, 12   )     ref  ->  x25         class-hnd "updating class info" <System.ComAwareWeakReference>
 ;* V27 tmp16        [V27    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V28 tmp17        [V28    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V29 tmp18        [V29,T20] (  2,  8   )     ref  ->   x0         class-hnd "dup spill" <System.Object>
-;  V30 tmp19        [V30,T18] (  4,  8   )     ref  ->   x0        
+;  V29 tmp18        [V29,T19] (  2,  8   )     ref  ->   x0         class-hnd "dup spill" <System.Object>
+;  V30 tmp19        [V30,T17] (  4,  8   )     ref  ->   x0        
 ;* V31 tmp20        [V31    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V32 tmp21        [V32,T02] (  2, 64   )     ref  ->   x1         class-hnd "Inlining Arg" <System.Diagnostics.Tracing.EventListener>
 ;* V33 tmp22        [V33    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V34 tmp23        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <<unknown class>>
-;  V35 tmp24        [V35,T21] (  2,  8   )     ref  ->   x1         class-hnd exact "dup spill" <System.Collections.Generic.Dictionary`2+KeyCollection[System.__Canon,ubyte]>
-;  V36 tmp25        [V36,T19] (  4,  8   )     ref  ->   x1        
-;  V37 tmp26        [V37,T10] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <<unknown class>>
+;  V35 tmp24        [V35,T20] (  2,  8   )     ref  ->   x1         class-hnd exact "dup spill" <System.Collections.Generic.Dictionary`2+KeyCollection[System.__Canon,ubyte]>
+;  V36 tmp25        [V36,T18] (  4,  8   )     ref  ->   x1        
+;  V37 tmp26        [V37,T09] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V38 tmp27        [V38    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <<unknown class>>
 ;* V39 tmp28        [V39    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.Diagnostics.Tracing.EventListener,ubyte]>
-;  V40 tmp29        [V40,T22] (  2,  8   )     ref  ->   x0         class-hnd "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.__Canon,ubyte]>
+;  V40 tmp29        [V40,T21] (  2,  8   )     ref  ->   x0         class-hnd "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.__Canon,ubyte]>
 ;* V41 tmp30        [V41    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V42 tmp31        [V42    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V43 tmp32        [V43,T23] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V43 tmp32        [V43,T22] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V44 tmp33        [V44    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V45 tmp34        [V45,T09] (  4, 12.50)     ref  ->  x19         single-def "field V05._list (fldOffset=0x0)" P-INDEP
-;  V46 tmp35        [V46,T12] (  3, 10   )     ref  ->  x24         "field V05._current (fldOffset=0x8)" P-INDEP
+;  V45 tmp34        [V45,T12] (  4, 12.50)     ref  ->  x19         single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V46 tmp35        [V46,T11] (  3, 10   )     ref  ->  x24         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V47 tmp36        [V47,T04] (  6, 20.50)     int  ->  x23         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V48 tmp37        [V48,T16] (  3,  8.50)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V48 tmp37        [V48,T29] (  2,  4.50)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
 ;  V49 tmp38        [V49    ] (  3, 20   )     ref  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "field V09._dictionary (fldOffset=0x0)" P-DEP
 ;  V50 tmp39        [V50    ] (  4, 36   )     ref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V09._currentKey (fldOffset=0x8)" P-DEP
 ;  V51 tmp40        [V51    ] (  3, 20   )     int  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V09._index (fldOffset=0x10)" P-DEP
 ;  V52 tmp41        [V52    ] (  3, 20   )     int  ->  [fp+0x34]  do-not-enreg[X] addr-exposed "field V09._version (fldOffset=0x14)" P-DEP
-;  V53 tmp42        [V53,T37] (  3,  1.50)     ref  ->  x19         single-def "field V17._list (fldOffset=0x0)" P-INDEP
+;  V53 tmp42        [V53,T38] (  3,  1.50)     ref  ->  x19         single-def "field V17._list (fldOffset=0x0)" P-INDEP
 ;* V54 tmp43        [V54    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V17._current (fldOffset=0x8)" P-INDEP
-;* V55 tmp44        [V55,T41] (  0,  0   )     int  ->  zero-ref    "field V17._index (fldOffset=0x10)" P-INDEP
-;  V56 tmp45        [V56,T39] (  2,  1   )     int  ->  x22         "field V17._version (fldOffset=0x14)" P-INDEP
+;* V55 tmp44        [V55,T42] (  0,  0   )     int  ->  zero-ref    "field V17._index (fldOffset=0x10)" P-INDEP
+;  V56 tmp45        [V56,T40] (  2,  1   )     int  ->  x22         "field V17._version (fldOffset=0x14)" P-INDEP
 ;  V57 tmp46        [V57,T26] (  3,  6   )     ref  ->   x0         "field V39._dictionary (fldOffset=0x0)" P-INDEP
-;* V58 tmp47        [V58,T35] (  0,  0   )     ref  ->  zero-ref    "field V39._currentKey (fldOffset=0x8)" P-INDEP
-;* V59 tmp48        [V59,T36] (  0,  0   )     int  ->  zero-ref    "field V39._index (fldOffset=0x10)" P-INDEP
-;  V60 tmp49        [V60,T30] (  2,  4   )     int  ->   x1         "field V39._version (fldOffset=0x14)" P-INDEP
+;* V58 tmp47        [V58,T36] (  0,  0   )     ref  ->  zero-ref    "field V39._currentKey (fldOffset=0x8)" P-INDEP
+;* V59 tmp48        [V59,T37] (  0,  0   )     int  ->  zero-ref    "field V39._index (fldOffset=0x10)" P-INDEP
+;  V60 tmp49        [V60,T31] (  2,  4   )     int  ->   x1         "field V39._version (fldOffset=0x14)" P-INDEP
 ;  V61 tmp50        [V61,T05] (  3, 24   )     ref  ->   x0         "arr expr"
-;  V62 PSPSym       [V62,T40] (  1,  1   )    long  ->  [fp+0x40]  do-not-enreg[V] "PSPSym"
-;  V63 cse0         [V63,T14] (  3, 12   )     int  ->  x24         "CSE - moderate"
-;  V64 cse1         [V64,T06] (  3, 20   )   byref  ->  x24         "CSE - aggressive"
-;  V65 cse2         [V65,T07] (  3, 20   )    long  ->  x26         "CSE - aggressive"
-;  V66 cse3         [V66,T32] (  4,  2   )    long  ->  x19         "CSE - moderate"
-;  V67 rat0         [V67,T29] (  3,  4   )    long  ->   x0         "TLS field access"
-;  V68 rat1         [V68,T27] (  3,  6   )    long  ->   x0         "TLS access"
-;  V69 rat2         [V69,T28] (  3,  6   )    long  ->   x0         "ThreadStaticBlockBase access"
+;  V62 PSPSym       [V62,T41] (  1,  1   )    long  ->  [fp+0x40]  do-not-enreg[V] "PSPSym"
+;  V63 cse0         [V63,T23] (  2,  8   )     int  ->   x0         "CSE - moderate"
+;  V64 cse1         [V64,T14] (  2,  8   )     int  ->   x0         "CSE - moderate"
+;  V65 cse2         [V65,T06] (  3, 20   )   byref  ->  x24         "CSE - aggressive"
+;  V66 cse3         [V66,T07] (  3, 20   )    long  ->  x26         "CSE - aggressive"
+;  V67 cse4         [V67,T33] (  4,  2   )    long  ->  x19         "CSE - moderate"
+;  V68 rat0         [V68,T30] (  3,  4   )    long  ->   x0         "TLS field access"
+;  V69 rat1         [V69,T27] (  3,  6   )    long  ->   x0         "TLS access"
+;  V70 rat2         [V70,T28] (  3,  6   )    long  ->   x0         "ThreadStaticBlockBase access"
 ;
 ; Lcl frame size = 56
 
@@ -105,10 +106,10 @@ G_M15982_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcr arg pop 0
             ldr     w1, [x0]
             cmp     w1, #3
-            blt     G_M15982_IG39
+            blt     G_M15982_IG38
             ldr     x0, [x0, #0x08]
             ldr     x0, [x0, #0x18]
-            cbz     x0, G_M15982_IG39
+            cbz     x0, G_M15982_IG38
                       ;; size=56 bbWeight=1 PerfScore 18.50
 G_M15982_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [x0, #0xD1FFAB1E]
@@ -135,7 +136,7 @@ G_M15982_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000
             ; GC ptr vars +{V00}
             str     wzr, [fp, #0x38]   // [V01 loc1]
                        ;; size=28 bbWeight=0.50 PerfScore 3.75
-G_M15982_IG06:        ; bbWeight=0.50, gcVars=0000004000000000 {V00}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M15982_IG06:        ; bbWeight=0.50, gcVars=0000008000000000 {V00}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w1, [fp, #0x38]  // [V01 loc1]
             cbnz    w1, G_M15982_IG32
             add     x1, fp, #56    // [V01 loc1]
@@ -246,17 +247,17 @@ G_M15982_IG12:        ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=0000 {}
             mov     w23, wzr
                        ;; size=16 bbWeight=0.50 PerfScore 3.50
 G_M15982_IG13:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            ldr     w24, [x19, #0x14]
-            cmp     w22, w24
-            bne     G_M15982_IG35
+            ldr     w0, [x19, #0x14]
+            cmp     w22, w0
+            bne     G_M15982_IG36
             ldr     w0, [x19, #0x10]
             cmp     w23, w0
-            bhs     G_M15982_IG38
+            bhs     G_M15982_IG37
             ldr     x0, [x19, #0x08]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x08]
             cmp     w23, w1
-            bhs     G_M15982_IG36
+            bhs     G_M15982_IG35
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
@@ -489,17 +490,12 @@ G_M15982_IG34:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             ; byrRegs -[x24]
             b       G_M15982_IG13
                        ;; size=4 bbWeight=4 PerfScore 4.00
-G_M15982_IG35:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M15982_IG35:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19-x20]
-            cmp     w22, w24
-            bne     G_M15982_IG37
-            b       G_M15982_IG38
-                       ;; size=12 bbWeight=4 PerfScore 10.00
-G_M15982_IG36:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M15982_IG37:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M15982_IG36:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
@@ -508,7 +504,7 @@ G_M15982_IG37:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M15982_IG38:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M15982_IG37:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [fp, #0x38]   // [V01 loc1]
             cbz     w0, G_M15982_IG04
             ldr     x0, [fp, #0x18]    // [V00 loc0]
@@ -519,13 +515,13 @@ G_M15982_IG38:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ; gcr arg pop 0
             b       G_M15982_IG04
                        ;; size=20 bbWeight=0.50 PerfScore 3.50
-G_M15982_IG39:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M15982_IG38:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #3
             bl      CORINFO_HELP_GETSHARED_NONGCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
             ; gcr arg pop 0
             b       G_M15982_IG03
                        ;; size=12 bbWeight=0 PerfScore 0.00
-G_M15982_IG40:        ; bbWeight=0, gcVars=0000004000000000 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+G_M15982_IG39:        ; bbWeight=0, gcVars=0000008000000000 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
             ; GC ptr vars +{V00}
             stp     fp, lr, [sp, #-0x60]!
             stp     x19, x20, [sp, #0x18]
@@ -536,9 +532,9 @@ G_M15982_IG40:        ; bbWeight=0, gcVars=0000004000000000 {V00}, gcrefRegs=000
             add     x3, fp, #144
             str     x3, [sp, #0x10]
                        ;; size=32 bbWeight=0 PerfScore 0.00
-G_M15982_IG41:        ; bbWeight=0, gcVars=0000004000000000 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M15982_IG40:        ; bbWeight=0, gcVars=0000008000000000 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w0, [fp, #0x38]   // [V01 loc1]
-            cbz     w0, G_M15982_IG42
+            cbz     w0, G_M15982_IG41
             ldr     x0, [fp, #0x18]  // [V00 loc0]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V00}
@@ -546,7 +542,7 @@ G_M15982_IG41:        ; bbWeight=0, gcVars=0000004000000000 {V00}, gcrefRegs=000
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M15982_IG42:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M15982_IG41:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldr     x27, [sp, #0x58]
             ldp     x25, x26, [sp, #0x48]
             ldp     x23, x24, [sp, #0x38]
@@ -556,7 +552,7 @@ G_M15982_IG42:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1160, prolog size 40, PerfScore 2113.00, instruction count 290, allocated bytes for code 1160 (MethodHash=ddb2c191) for method System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
+; Total bytes of code 1148, prolog size 40, PerfScore 2103.00, instruction count 287, allocated bytes for code 1148 (MethodHash=ddb2c191) for method System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -567,7 +563,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 271 (0x0010f) Actual length = 1084 (0x00043c)
+  Function Length   : 268 (0x0010c) Actual length = 1072 (0x000430)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -610,4 +606,4 @@ Unwind Info:
 
 *************** EH table for System.Diagnostics.Tracing.EventListener:Validate()
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M15982_IG06..G_M15982_IG38) handled by [G_M15982_IG40..END) (fault)
+EH#0: try [G_M15982_IG06..G_M15982_IG37) handled by [G_M15982_IG39..END) (fault)
  
-8 (-0.90%) : 4889.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (Tier0-FullOpts)
@@ -8,27 +8,27 @@
 ; 0 inlinees with PGO data; 33 single block inlinees; 18 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T22] (  7,  7   )     ref  ->  [fp+0x20]  class-hnd EH-live single-def <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;  V01 arg1         [V01,T18] (  3, 10   )     int  ->  x19         single-def
+;  V00 arg0         [V00,T23] (  7,  7   )     ref  ->  [fp+0x20]  class-hnd EH-live single-def <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
+;  V01 arg1         [V01,T19] (  3, 10   )     int  ->  x19         single-def
 ;* V02 arg2         [V02    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Threading.CancellationToken>
-;  V03 loc0         [V03,T19] (  4, 11   )   ubyte  ->  [fp+0x2C]  do-not-enreg[Z] EH-live
-;  V04 loc1         [V04,T05] (  8, 32   )     ref  ->  [fp+0x18]  class-hnd exact EH-live spill-single-def <System.Threading.Tasks.Task+SetOnCountdownMres>
+;  V03 loc0         [V03,T20] (  4, 11   )   ubyte  ->  [fp+0x2C]  do-not-enreg[Z] EH-live
+;  V04 loc1         [V04,T04] (  8, 32   )     ref  ->  [fp+0x18]  class-hnd exact EH-live spill-single-def <System.Threading.Tasks.Task+SetOnCountdownMres>
 ;* V05 loc2         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V06 loc3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
 ;* V07 loc4         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V08 loc5         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V10 tmp1         [V10,T21] (  4,  8   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task+SetOnCountdownMres>
+;  V10 tmp1         [V10,T22] (  4,  8   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task+SetOnCountdownMres>
 ;* V11 tmp2         [V11    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V12 tmp3         [V12    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V13 tmp4         [V13    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V14 tmp5         [V14,T24] (  3,  6   )     int  ->  x22         "Inlining Arg"
+;  V14 tmp5         [V14,T26] (  3,  6   )     int  ->  x22         "Inlining Arg"
 ;* V15 tmp6         [V15    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V16 tmp7         [V16    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V17 tmp8         [V17    ] (  0,  0   )     int  ->  zero-ref   
 ;* V18 tmp9         [V18    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;* V19 tmp10        [V19,T30] (  0,  0   )     ref  ->  zero-ref    single-def
-;* V20 tmp11        [V20,T31] (  0,  0   )     int  ->  zero-ref   
+;* V19 tmp10        [V19,T32] (  0,  0   )     ref  ->  zero-ref    single-def
+;* V20 tmp11        [V20,T33] (  0,  0   )     int  ->  zero-ref   
 ;* V21 tmp12        [V21    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V22 tmp13        [V22    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V23 tmp14        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -36,44 +36,46 @@
 ;* V25 tmp16        [V25    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V26 tmp17        [V26    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V27 tmp18        [V27    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
-;  V28 tmp19        [V28,T13] (  2,  8   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V28 tmp19        [V28,T12] (  2,  8   )   ubyte  ->   x0         "Inline return value spill temp"
 ;* V29 tmp20        [V29    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V30 tmp21        [V30    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V31 tmp22        [V31    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V32 tmp23        [V32,T09] (  3, 24   )   byref  ->   x1         "Inlining Arg"
 ;* V33 tmp24        [V33    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V34 tmp25        [V34    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V35 tmp26        [V35,T14] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V35 tmp26        [V35,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V36 tmp27        [V36    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
 ;* V37 tmp28        [V37    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V38 tmp29        [V38    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;* V39 tmp30        [V39,T15] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V39 tmp30        [V39,T14] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V40 tmp31        [V40    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;  V41 tmp32        [V41,T20] (  2,  9   )     ref  ->  x20         single-def "field V02._source (fldOffset=0x0)" P-INDEP
-;  V42 tmp33        [V42,T04] (  4, 25   )     ref  ->  x22         single-def "field V05._list (fldOffset=0x0)" P-INDEP
-;  V43 tmp34        [V43,T06] (  5, 24   )     ref  ->  x25         "field V05._current (fldOffset=0x8)" P-INDEP
+;  V41 tmp32        [V41,T21] (  2,  9   )     ref  ->  x20         single-def "field V02._source (fldOffset=0x0)" P-INDEP
+;  V42 tmp33        [V42,T06] (  4, 25   )     ref  ->  x22         single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V43 tmp34        [V43,T05] (  5, 24   )     ref  ->  x25         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V44 tmp35        [V44,T00] (  6, 41   )     int  ->  x24         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V45 tmp36        [V45,T12] (  3, 17   )     int  ->  x23         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V45 tmp36        [V45,T24] (  2,  9   )     int  ->  x23         "field V05._version (fldOffset=0x14)" P-INDEP
 ;  V46 tmp37        [V46,T07] (  4, 25   )     ref  ->  x19         single-def "field V07._list (fldOffset=0x0)" P-INDEP
 ;  V47 tmp38        [V47,T08] (  3, 16   )     ref  ->   x0         "field V07._current (fldOffset=0x8)" P-INDEP
 ;  V48 tmp39        [V48,T01] (  6, 41   )     int  ->  x21         "field V07._index (fldOffset=0x10)" P-INDEP
-;  V49 tmp40        [V49,T23] (  2,  9   )     int  ->  x20         "field V07._version (fldOffset=0x14)" P-INDEP
-;  V50 tmp41        [V50,T26] (  3,  3   )     ref  ->  x22         single-def "field V27._list (fldOffset=0x0)" P-INDEP
+;  V49 tmp40        [V49,T25] (  2,  9   )     int  ->  x20         "field V07._version (fldOffset=0x14)" P-INDEP
+;  V50 tmp41        [V50,T28] (  3,  3   )     ref  ->  x22         single-def "field V27._list (fldOffset=0x0)" P-INDEP
 ;* V51 tmp42        [V51    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V27._current (fldOffset=0x8)" P-INDEP
-;* V52 tmp43        [V52,T32] (  0,  0   )     int  ->  zero-ref    "field V27._index (fldOffset=0x10)" P-INDEP
-;  V53 tmp44        [V53,T28] (  2,  2   )     int  ->  x23         "field V27._version (fldOffset=0x14)" P-INDEP
-;  V54 tmp45        [V54,T27] (  3,  3   )     ref  ->  x19         single-def "field V37._list (fldOffset=0x0)" P-INDEP
+;* V52 tmp43        [V52,T34] (  0,  0   )     int  ->  zero-ref    "field V27._index (fldOffset=0x10)" P-INDEP
+;  V53 tmp44        [V53,T30] (  2,  2   )     int  ->  x23         "field V27._version (fldOffset=0x14)" P-INDEP
+;  V54 tmp45        [V54,T29] (  3,  3   )     ref  ->  x19         single-def "field V37._list (fldOffset=0x0)" P-INDEP
 ;* V55 tmp46        [V55    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V37._current (fldOffset=0x8)" P-INDEP
-;* V56 tmp47        [V56,T33] (  0,  0   )     int  ->  zero-ref    "field V37._index (fldOffset=0x10)" P-INDEP
-;  V57 tmp48        [V57,T29] (  2,  2   )     int  ->  x20         "field V37._version (fldOffset=0x14)" P-INDEP
+;* V56 tmp47        [V56,T35] (  0,  0   )     int  ->  zero-ref    "field V37._index (fldOffset=0x10)" P-INDEP
+;  V57 tmp48        [V57,T31] (  2,  2   )     int  ->  x20         "field V37._version (fldOffset=0x14)" P-INDEP
 ;  V58 tmp49        [V58,T02] (  3, 48   )     ref  ->   x1         "arr expr"
 ;  V59 tmp50        [V59,T03] (  3, 48   )     ref  ->   x0         "arr expr"
-;  V60 PSPSym       [V60,T34] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
-;  V61 cse0         [V61,T10] (  3, 24   )     int  ->  x25         "CSE - aggressive"
-;  V62 cse1         [V62,T11] (  2, 16   )     int  ->   x0         "CSE - aggressive"
-;  V63 cse2         [V63,T16] (  8, 14   )     ref  ->   x1         multi-def "CSE - aggressive"
-;  V64 cse3         [V64,T17] (  3, 12   )   byref  ->   x1         "CSE - aggressive"
-;  V65 cse4         [V65,T25] (  4,  4   )   byref  ->   x1         "CSE - moderate"
+;  V60 PSPSym       [V60,T36] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
+;  V61 cse0         [V61,T15] (  2, 16   )     int  ->   x1         "CSE - aggressive"
+;  V62 cse1         [V62,T10] (  2, 16   )     int  ->   x1         "CSE - aggressive"
+;  V63 cse2         [V63,T16] (  2, 16   )     int  ->   x0         "CSE - aggressive"
+;  V64 cse3         [V64,T11] (  2, 16   )     int  ->   x0         "CSE - aggressive"
+;  V65 cse4         [V65,T17] (  8, 14   )     ref  ->   x1         multi-def "CSE - aggressive"
+;  V66 cse5         [V66,T18] (  3, 12   )   byref  ->   x1         "CSE - aggressive"
+;  V67 cse6         [V67,T27] (  4,  4   )   byref  ->   x1         "CSE - moderate"
 ;
 ; Lcl frame size = 40
 
@@ -92,7 +94,7 @@ G_M12834_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             mov     x20, x2
             ; gcrRegs +[x20]
                        ;; size=44 bbWeight=1 PerfScore 9.00
-G_M12834_IG02:        ; bbWeight=1, gcVars=0000000000400000 {V00}, gcrefRegs=100001 {x0 x20}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M12834_IG02:        ; bbWeight=1, gcVars=0000000000800000 {V00}, gcrefRegs=100001 {x0 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x0]
             cbnz    x0, G_M12834_IG03
             movz    x0, #0xD1FFAB1E
@@ -171,7 +173,7 @@ G_M12834_IG05:        ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {
             str     x21, [fp, #0x18]   // [V04 loc1]
             ; GC ptr vars +{V04}
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M12834_IG06:        ; bbWeight=1, gcVars=0000000000400020 {V00 V04}, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, gcvars, byref
+G_M12834_IG06:        ; bbWeight=1, gcVars=0000000000800010 {V00 V04}, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, gcvars, byref
             ldr     x0, [fp, #0x20]    // [V00 arg0]
             ; gcrRegs +[x0]
             mov     x22, x0
@@ -261,12 +263,12 @@ G_M12834_IG10:        ; bbWeight=4, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=00
             ; gcr arg pop 0
                        ;; size=52 bbWeight=4 PerfScore 50.00
 G_M12834_IG11:        ; bbWeight=8, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0000 {}, byref, isz
-            ldr     w25, [x22, #0x14]
-            cmp     w23, w25
-            bne     G_M12834_IG15
+            ldr     w1, [x22, #0x14]
+            cmp     w23, w1
+            bne     G_M12834_IG14
             ldr     w1, [x22, #0x10]
             cmp     w24, w1
-            bhs     G_M12834_IG16
+            bhs     G_M12834_IG15
             ldr     x1, [x22, #0x08]
             ; gcrRegs +[x1]
             ldr     w2, [x1, #0x08]
@@ -305,12 +307,8 @@ G_M12834_IG14:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, b
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M12834_IG15:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M12834_IG15:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x20]
-            cmp     w23, w25
-            bne     G_M12834_IG14
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M12834_IG16:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
             mov     x0, x21
             ; gcrRegs +[x0]
             mov     w1, w19
@@ -325,19 +323,19 @@ G_M12834_IG16:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {
             ; gcr arg pop 0
             str     w0, [fp, #0x2C]    // [V03 loc0]
                        ;; size=36 bbWeight=8 PerfScore 64.00
-G_M12834_IG17:        ; bbWeight=1, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
+G_M12834_IG16:        ; bbWeight=1, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
             ldr     x0, [fp, #0x30]    // [V60 PSPSym]
-            bl      G_M12834_IG21
+            bl      G_M12834_IG20
                        ;; size=8 bbWeight=1 PerfScore 3.00
-G_M12834_IG18:        ; bbWeight=1, nogc, extend
+G_M12834_IG17:        ; bbWeight=1, nogc, extend
             nop     
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M12834_IG19:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M12834_IG18:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x21]
             ; GC ptr vars -{V00 V04}
             ldr     w0, [fp, #0x2C]    // [V03 loc0]
                        ;; size=4 bbWeight=1 PerfScore 2.00
-G_M12834_IG20:        ; bbWeight=1, epilog, nogc, extend
+G_M12834_IG19:        ; bbWeight=1, epilog, nogc, extend
             ldr     x25, [sp, #0x68]
             ldp     x23, x24, [sp, #0x58]
             ldp     x21, x22, [sp, #0x48]
@@ -345,7 +343,7 @@ G_M12834_IG20:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x70
             ret     lr
                        ;; size=24 bbWeight=1 PerfScore 7.00
-G_M12834_IG21:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M12834_IG20:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x18]
             stp     x21, x22, [sp, #0x28]
@@ -354,19 +352,19 @@ G_M12834_IG21:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             add     x3, fp, #112
             str     x3, [sp, #0x10]
                        ;; size=28 bbWeight=1 PerfScore 6.50
-G_M12834_IG22:        ; bbWeight=1, gcVars=0000000000400020 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M12834_IG21:        ; bbWeight=1, gcVars=0000000000800010 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ; GC ptr vars +{V00 V04}
             ldr     w0, [fp, #0x2C]    // [V03 loc0]
-            cbnz    w0, G_M12834_IG27
+            cbnz    w0, G_M12834_IG26
             ldr     x0, [fp, #0x20]  // [V00 arg0]
             ; gcrRegs +[x0]
             mov     x19, x0
             ; gcrRegs +[x19]
             ldr     w20, [x19, #0x14]
             mov     w21, wzr
-            b       G_M12834_IG24
+            b       G_M12834_IG23
                      ;; size=28 bbWeight=1 PerfScore 10.00
-G_M12834_IG23:        ; bbWeight=4, gcVars=0000000000000020 {V04}, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M12834_IG22:        ; bbWeight=4, gcVars=0000000000000010 {V04}, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, gcvars, byref, isz
             ; GC ptr vars -{V00}
             add     x1, x0, #52
             ; byrRegs +[x1]
@@ -374,7 +372,7 @@ G_M12834_IG23:        ; bbWeight=4, gcVars=0000000000000020 {V04}, gcrefRegs=800
             ; byrRegs -[x1]
             mov     w2, #0xD1FFAB1E
             tst     w1, w2
-            bne     G_M12834_IG24
+            bne     G_M12834_IG23
             ldr     x1, [fp, #0x18]    // [V04 loc1]
             ; gcrRegs +[x1]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
@@ -385,18 +383,18 @@ G_M12834_IG23:        ; bbWeight=4, gcVars=0000000000000020 {V04}, gcrefRegs=800
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
                        ;; size=44 bbWeight=4 PerfScore 52.00
-G_M12834_IG24:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M12834_IG23:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x19, #0x14]
             cmp     w20, w0
-            bne     G_M12834_IG26
+            bne     G_M12834_IG25
             ldr     w0, [x19, #0x10]
             cmp     w21, w0
-            bhs     G_M12834_IG27
+            bhs     G_M12834_IG26
             ldr     x0, [x19, #0x08]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x08]
             cmp     w21, w1
-            bhs     G_M12834_IG25
+            bhs     G_M12834_IG24
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
@@ -404,15 +402,15 @@ G_M12834_IG24:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; gcrRegs +[x0]
             ; byrRegs -[x0]
             add     w21, w21, #1
-            b       G_M12834_IG23
+            b       G_M12834_IG22
                      ;; size=56 bbWeight=8 PerfScore 172.00
-G_M12834_IG25:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
...
  
-4 (-0.29%) : 11683.dasm - System.Text.RegularExpressions.RegexWriter:EmitCode():System.Text.RegularExpressions.RegexInterpreterCode:this (Tier1)
@@ -8,10 +8,10 @@
 ; 0 inlinees with PGO data; 24 single block inlinees; 13 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] ( 20, 34   )   byref  ->  x19         this single-def
+;  V00 this         [V00,T03] ( 19, 33   )   byref  ->  x19         this single-def
 ;  V01 loc0         [V01,T01] ( 13, 39   )     ref  ->  x21         class-hnd <System.Text.RegularExpressions.RegexNode>
 ;  V02 loc1         [V02,T02] ( 12, 38   )     int  ->  x22        
-;  V03 loc2         [V03,T49] (  2,  2   )     ref  ->  x22         class-hnd single-def <int[]>
+;  V03 loc2         [V03,T50] (  2,  2   )     ref  ->  x22         class-hnd single-def <int[]>
 ;  V04 loc3         [V04,T34] (  5,  4   )     ref  ->  x21         class-hnd exact single-def <System.String[]>
 ;* V05 loc4         [V05    ] (  0,  0   )     int  ->  zero-ref   
 ;* V06 loc5         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[int]>
@@ -55,16 +55,16 @@
 ;  V44 tmp35        [V44,T15] (  6, 10   )     int  ->  x20         "Inlining Arg"
 ;  V45 tmp36        [V45,T26] (  3,  6   )   byref  ->   x0         single-def "Inlining Arg"
 ;* V46 tmp37        [V46    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
-;  V47 tmp38        [V47,T47] (  2,  3   )   byref  ->  x21         single-def "Inlining Arg"
+;  V47 tmp38        [V47,T48] (  2,  3   )   byref  ->  x21         single-def "Inlining Arg"
 ;* V48 tmp39        [V48    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;* V49 tmp40        [V49    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[int]>
 ;* V50 tmp41        [V50    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V51 tmp42        [V51    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;  V52 tmp43        [V52,T48] (  3,  2   )     ref  ->  x22         class-hnd "Inline return value spill temp" <int[]>
-;  V53 tmp44        [V53,T56] (  3,  1.50)     ref  ->  x22         class-hnd exact single-def "Inline stloc first use temp" <int[]>
-;  V54 tmp45        [V54,T50] (  2,  2   )   byref  ->   x0         single-def "Inlining Arg"
+;  V52 tmp43        [V52,T49] (  3,  2   )     ref  ->  x22         class-hnd "Inline return value spill temp" <int[]>
+;  V53 tmp44        [V53,T57] (  3,  1.50)     ref  ->  x22         class-hnd exact single-def "Inline stloc first use temp" <int[]>
+;  V54 tmp45        [V54,T51] (  2,  2   )   byref  ->   x0         single-def "Inlining Arg"
 ;* V55 tmp46        [V55    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;  V56 tmp47        [V56,T51] (  2,  2   )    long  ->   x2         "Inlining Arg"
+;  V56 tmp47        [V56,T52] (  2,  2   )    long  ->   x2         "Inlining Arg"
 ;* V57 tmp48        [V57    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V58 tmp49        [V58,T27] (  3,  6   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;  V59 tmp50        [V59,T28] (  3,  6   )     ref  ->  x20         class-hnd single-def "Inlining Arg" <<unknown class>>
@@ -76,14 +76,14 @@
 ;* V65 tmp56        [V65    ] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
 ;  V66 tmp57        [V66,T19] (  2,  8   )     ref  ->  x15         "field V08.key (fldOffset=0x0)" P-INDEP
 ;  V67 tmp58        [V67,T11] (  3, 12   )     int  ->  x14         "field V08.value (fldOffset=0x8)" P-INDEP
-;  V68 tmp59        [V68,T57] (  2,  1.50)   byref  ->   x2         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V69 tmp60        [V69,T52] (  2,  2   )     int  ->   x3         "field V15._length (fldOffset=0x8)" P-INDEP
-;  V70 tmp61        [V70,T58] (  2,  1.50)   byref  ->   x2         single-def "field V18._reference (fldOffset=0x0)" P-INDEP
-;  V71 tmp62        [V71,T53] (  2,  2   )     int  ->   x3         "field V18._length (fldOffset=0x8)" P-INDEP
+;  V68 tmp59        [V68,T58] (  2,  1.50)   byref  ->   x2         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V69 tmp60        [V69,T53] (  2,  2   )     int  ->   x3         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V70 tmp61        [V70,T59] (  2,  1.50)   byref  ->   x2         single-def "field V18._reference (fldOffset=0x0)" P-INDEP
+;  V71 tmp62        [V71,T54] (  2,  2   )     int  ->   x3         "field V18._length (fldOffset=0x8)" P-INDEP
 ;  V72 tmp63        [V72,T36] (  2,  4   )   byref  ->   x2         "field V30._reference (fldOffset=0x0)" P-INDEP
 ;  V73 tmp64        [V73,T41] (  2,  4   )     int  ->   x3         "field V30._length (fldOffset=0x8)" P-INDEP
-;  V74 tmp65        [V74,T59] (  2,  1.50)   byref  ->   x2         single-def "field V41._reference (fldOffset=0x0)" P-INDEP
-;  V75 tmp66        [V75,T54] (  2,  2   )     int  ->   x3         "field V41._length (fldOffset=0x8)" P-INDEP
+;  V74 tmp65        [V74,T60] (  2,  1.50)   byref  ->   x2         single-def "field V41._reference (fldOffset=0x0)" P-INDEP
+;  V75 tmp66        [V75,T55] (  2,  2   )     int  ->   x3         "field V41._length (fldOffset=0x8)" P-INDEP
 ;* V76 tmp67        [V76    ] (  0,  0   )   byref  ->  zero-ref    "field V43._reference (fldOffset=0x0)" P-INDEP
 ;* V77 tmp68        [V77    ] (  0,  0   )     int  ->  zero-ref    "field V43._length (fldOffset=0x8)" P-INDEP
 ;* V78 tmp69        [V78    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V46._reference (fldOffset=0x0)" P-INDEP
@@ -93,17 +93,18 @@
 ;* V82 tmp73        [V82    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V49._reference (fldOffset=0x0)" P-INDEP
 ;* V83 tmp74        [V83    ] (  0,  0   )     int  ->  zero-ref    "field V49._length (fldOffset=0x8)" P-INDEP
 ;* V84 tmp75        [V84    ] (  0,  0   )     ref  ->  zero-ref    single-def "V60.[000..008)"
-;  V85 tmp76        [V85,T55] (  2,  2   )     int  ->   x0         "V60.[008..012)"
+;  V85 tmp76        [V85,T56] (  2,  2   )     int  ->   x0         "V60.[008..012)"
 ;* V86 tmp77        [V86    ] (  0,  0   )     int  ->  zero-ref    "V60.[012..016)"
 ;* V87 tmp78        [V87    ] (  0,  0   )     int  ->  zero-ref    "V60.[016..020)"
 ;  V88 tmp79        [V88,T10] (  3, 12   )     ref  ->   x0         "arr expr"
-;  V89 cse0         [V89,T46] (  3,  3   )     int  ->  x22         "CSE - moderate"
+;  V89 cse0         [V89,T47] (  3,  3   )     int  ->  x22         "CSE - moderate"
 ;  V90 cse1         [V90,T29] (  3,  6   )     ref  ->   x1         "CSE - moderate"
 ;  V91 cse2         [V91,T45] (  3,  3   )     ref  ->  x20         "CSE - moderate"
 ;  V92 cse3         [V92,T30] (  3,  6   )    long  ->  x20         "CSE - moderate"
 ;  V93 cse4         [V93,T33] (  2,  4.50)   byref  ->  x24         hoist "CSE - moderate"
 ;  V94 cse5         [V94,T21] (  4,  6.50)     int  ->  x23         hoist multi-def "CSE - moderate"
 ;  V95 cse6         [V95,T31] (  5,  5   )   byref  ->  x20         "CSE - moderate"
+;  V96 cse7         [V96,T46] (  3,  3   )     ref  ->  x14         "CSE - moderate"
 ;
 ; Lcl frame size = 80
 
@@ -581,7 +582,6 @@ G_M2365_IG42:        ; bbWeight=1, gcrefRegs=600000 {x21 x22}, byrefRegs=80000 {
             ; gcrRegs +[x14]
             ldr     x15, [x14, #0x10]
             ; gcrRegs +[x15]
-            ldr     x14, [x19]
             ldr     w1, [x14, #0x38]
             ldr     w19, [x19, #0x10]
             ; byrRegs -[x19]
@@ -623,7 +623,7 @@ G_M2365_IG42:        ; bbWeight=1, gcrefRegs=600000 {x21 x22}, byrefRegs=80000 {
             str     w19, [x20, #0x2C]
             mov     x0, x20
             ; gcrRegs +[x0]
-                      ;; size=120 bbWeight=1 PerfScore 34.00
+                        ;; size=116 bbWeight=1 PerfScore 31.00
 G_M2365_IG43:        ; bbWeight=1, epilog, nogc, extend
             ldp     x23, x24, [sp, #0x80]
             ldp     x21, x22, [sp, #0x70]
@@ -652,7 +652,7 @@ G_M2365_IG46:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1380, prolog size 40, PerfScore 659.00, instruction count 345, allocated bytes for code 1380 (MethodHash=a52ef6c2) for method System.Text.RegularExpressions.RegexWriter:EmitCode():System.Text.RegularExpressions.RegexInterpreterCode:this (Tier1)
+; Total bytes of code 1376, prolog size 40, PerfScore 656.00, instruction count 344, allocated bytes for code 1376 (MethodHash=a52ef6c2) for method System.Text.RegularExpressions.RegexWriter:EmitCode():System.Text.RegularExpressions.RegexInterpreterCode:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -663,7 +663,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 345 (0x00159) Actual length = 1380 (0x000564)
+  Function Length   : 344 (0x00158) Actual length = 1376 (0x000560)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-4 (-0.19%) : 44402.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan1[ushort],System.ReadOnlySpan1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
@@ -8,16 +8,16 @@
 ; 0 inlinees with PGO data; 64 single block inlinees; 39 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T56] (  4,   4   )  struct (16) [fp-0x68]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
-;  V01 arg1         [V01,T57] (  4,   4   )  struct (16) [fp-0x78]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
-;  V02 arg2         [V02,T53] (  4,  10.50)   ubyte  ->  x20         single-def
-;  V03 arg3         [V03,T36] (  5,  66.50)   ubyte  ->  x19         single-def
+;  V00 arg0         [V00,T57] (  4,   4   )  struct (16) [fp-0x68]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
+;  V01 arg1         [V01,T58] (  4,   4   )  struct (16) [fp-0x78]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
+;  V02 arg2         [V02,T54] (  4,  10.50)   ubyte  ->  x20         single-def
+;  V03 arg3         [V03,T47] (  4,  34.50)   ubyte  ->  x19         single-def
 ;  V04 loc0         [V04,T46] (  5,  40.50)     int  ->  registers   ptr
 ;  V05 loc1         [V05,T06] ( 10, 488   )     int  ->  [fp-0x7C]  ptr
 ;  V06 loc2         [V06,T00] ( 10,1348   )     int  ->  [fp-0x80]  ptr
 ;  V07 loc3         [V07,T08] ( 22, 428   )     int  ->  [fp-0x84]  ptr
 ;  V08 loc4         [V08,T03] (  7, 724   )     int  ->  [fp-0x88]  ptr
-;  V09 loc5         [V09,T44] (  8,  43.50)     int  ->  x26        
+;  V09 loc5         [V09,T44] (  8,  43.50)     int  ->  x25        
 ;  V10 loc6         [V10,T21] ( 11, 146.50)  ushort  ->  registers   ptr
 ;  V11 loc7         [V11,T10] ( 13, 288   )  ushort  ->  [fp-0x8C]  ptr
 ;* V12 loc8         [V12    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[int]>
@@ -29,9 +29,9 @@
 ;* V18 loc14        [V18    ] (  0,   0   )  struct (16) zero-ref    multireg-arg ld-addr-op <System.ReadOnlySpan`1[ushort]>
 ;* V19 loc15        [V19    ] (  0,   0   )   ubyte  ->  zero-ref   
 ;* V20 loc16        [V20    ] (  0,   0   )  struct (16) zero-ref    <System.Span`1[int]>
-;  V21 loc17        [V21,T28] (  3,  96   )     int  ->  [fp-0x9C]  spill-single-def ptr
-;  V22 loc18        [V22,T29] (  3,  96   )   ubyte  ->  x14        
-;  V23 loc19        [V23,T01] (  7,1344   )     int  ->  x13        
+;  V21 loc17        [V21,T29] (  3,  96   )     int  ->  [fp-0x9C]  spill-single-def ptr
+;  V22 loc18        [V22,T30] (  3,  96   )   ubyte  ->  x14        
+;  V23 loc19        [V23,T01] (  7,1344   )     int  ->   x1        
 ;  V24 loc20        [V24,T02] (  3, 832   )     int  ->   x0        
 ;# V25 OutArgs      [V25    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V26 tmp1         [V26    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
@@ -41,16 +41,16 @@
 ;  V30 tmp5         [V30,T13] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
 ;  V31 tmp6         [V31,T15] (  2, 256   )     int  ->  x10         "dup spill"
 ;  V32 tmp7         [V32,T14] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
-;  V33 tmp8         [V33,T49] (  2,  32   )     int  ->  [fp-0xA0]  spill-single-def ptr "impAppendStmt"
+;  V33 tmp8         [V33,T50] (  2,  32   )     int  ->  [fp-0xA0]  spill-single-def ptr "impAppendStmt"
 ;* V34 tmp9         [V34    ] (  0,   0   )     int  ->  zero-ref    ptr
 ;  V35 tmp10        [V35,T37] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V36 tmp11        [V36,T38] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
-;  V37 tmp12        [V37,T34] (  5,  80   )     int  ->  x13         "dup spill"
+;  V37 tmp12        [V37,T35] (  5,  80   )     int  ->  x13         "dup spill"
 ;  V38 tmp13        [V38,T39] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
 ;  V39 tmp14        [V39,T40] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V40 tmp15        [V40,T41] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
-;  V41 tmp16        [V41,T30] (  3,  96   )     int  ->   x1        
-;  V42 tmp17        [V42,T52] (  4,  16   )     int  ->  x25         "impSpillLclRefs"
+;  V41 tmp16        [V41,T31] (  3,  96   )     int  ->   x1        
+;  V42 tmp17        [V42,T53] (  4,  16   )     int  ->  x27         "impSpillLclRefs"
 ;* V43 tmp18        [V43    ] (  0,   0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V44 tmp19        [V44    ] (  0,   0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V45 tmp20        [V45    ] (  0,   0   )     int  ->  zero-ref    ptr
@@ -58,15 +58,15 @@
 ;* V47 tmp22        [V47    ] (  0,   0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
 ;* V48 tmp23        [V48    ] (  0,   0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
 ;* V49 tmp24        [V49    ] (  0,   0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
-;  V50 tmp25        [V50,T69] (  2,   1   )     int  ->   x4        
+;  V50 tmp25        [V50,T70] (  2,   1   )     int  ->   x4        
 ;* V51 tmp26        [V51    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;  V52 tmp27        [V52,T59] (  3,   3   )     int  ->  x26         "Inlining Arg"
-;  V53 tmp28        [V53,T60] (  2,   2   )   byref  ->  x25         single-def "Inlining Arg"
+;  V52 tmp27        [V52,T60] (  3,   3   )     int  ->  x26         "Inlining Arg"
+;  V53 tmp28        [V53,T61] (  2,   2   )   byref  ->  x25         single-def "Inlining Arg"
 ;* V54 tmp29        [V54    ] (  0,   0   )  struct (16) zero-ref    "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V55 tmp30        [V55    ] (  0,   0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V56 tmp31        [V56    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V57 tmp32        [V57,T72] (  0,   0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V58 tmp33        [V58,T73] (  0,   0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
+;* V57 tmp32        [V57,T73] (  0,   0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
+;* V58 tmp33        [V58,T74] (  0,   0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
 ;* V59 tmp34        [V59    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V60 tmp35        [V60    ] (  0,   0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V61 tmp36        [V61    ] (  0,   0   )   short  ->  zero-ref    "Inlining Arg"
@@ -76,7 +76,7 @@
 ;* V65 tmp40        [V65    ] (  0,   0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V66 tmp41        [V66    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V67 tmp42        [V67    ] (  0,   0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V68 tmp43        [V68,T70] (  2,   1   )     int  ->   x0         "Inline return value spill temp"
+;  V68 tmp43        [V68,T71] (  2,   1   )     int  ->   x0         "Inline return value spill temp"
 ;* V69 tmp44        [V69    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V70 tmp45        [V70    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V71 tmp46        [V71    ] (  0,   0   )   byref  ->  zero-ref    "impAppendStmt"
@@ -142,8 +142,8 @@
 ;* V131 tmp106      [V131    ] (  0,   0   )  struct (32) zero-ref    HFA(simd16)  ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.Intrinsics.Vector256`1[ubyte]>
 ;* V132 tmp107      [V132    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V133 tmp108      [V133    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;  V134 tmp109      [V134,T64] (  2,   2   )    long  ->  x28         "Inlining Arg"
-;  V135 tmp110      [V135,T65] (  2,   2   )    long  ->   x3         "Inlining Arg"
+;  V134 tmp109      [V134,T65] (  2,   2   )    long  ->  x28         "Inlining Arg"
+;  V135 tmp110      [V135,T66] (  2,   2   )    long  ->   x3         "Inlining Arg"
 ;  V136 tmp111      [V136,T18] (  3, 192   )     ref  ->   x0         class-hnd exact "Inlining Arg" <int[]>
 ;* V137 tmp112      [V137    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V138 tmp113      [V138    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
@@ -158,7 +158,7 @@
 ;* V147 tmp122      [V147    ] (  0,   0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;  V148 tmp123      [V148,T24] (  2, 128   )    long  ->   x2         "Inlining Arg"
 ;* V149 tmp124      [V149    ] (  0,   0   )    long  ->  zero-ref    "Inlining Arg"
-;  V150 tmp125      [V150,T50] (  3,  24   )  ushort  ->  registers   ptr "Inline return value spill temp"
+;  V150 tmp125      [V150,T51] (  3,  24   )  ushort  ->  registers   ptr "Inline return value spill temp"
 ;  V151 tmp126      [V151,T42] (  4,  64   )  ushort  ->  x10         "Inlining Arg"
 ;* V152 tmp127      [V152    ] (  0,   0   )  ushort  ->  zero-ref    "Inline return value spill temp"
 ;* V153 tmp128      [V153    ] (  0,   0   )    long  ->  zero-ref    "Inline stloc first use temp"
@@ -169,9 +169,9 @@
 ;* V158 tmp133      [V158    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V159 tmp134      [V159    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;  V160 tmp135      [V160    ] (  3,  24   )  ushort  ->  [fp-0xA8]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inline stloc first use temp"
-;  V161 tmp136      [V161,T47] (  2,  32   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Globalization.TextInfo>
+;  V161 tmp136      [V161,T48] (  2,  32   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Globalization.TextInfo>
 ;  V162 tmp137      [V162    ] (  2,  32   )  ushort  ->  [fp-0xB0]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inlining Arg"
-;  V163 tmp138      [V163,T51] (  3,  24   )  ushort  ->  x13         "Inline return value spill temp"
+;  V163 tmp138      [V163,T52] (  3,  24   )  ushort  ->  x13         "Inline return value spill temp"
 ;  V164 tmp139      [V164,T43] (  4,  64   )  ushort  ->  x13         "Inlining Arg"
 ;* V165 tmp140      [V165    ] (  0,   0   )  ushort  ->  zero-ref    "Inline return value spill temp"
 ;* V166 tmp141      [V166    ] (  0,   0   )    long  ->  zero-ref    "Inline stloc first use temp"
@@ -182,37 +182,37 @@
 ;* V171 tmp146      [V171    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V172 tmp147      [V172    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;  V173 tmp148      [V173    ] (  3,  24   )  ushort  ->  [fp-0xB8]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inline stloc first use temp"
-;  V174 tmp149      [V174,T48] (  2,  32   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Globalization.TextInfo>
+;  V174 tmp149      [V174,T49] (  2,  32   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Globalization.TextInfo>
 ;  V175 tmp150      [V175    ] (  2,  32   )  ushort  ->  [fp-0xC0]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inlining Arg"
-;  V176 tmp151      [V176,T61] (  3,   3   )     int  ->   x0         "Single return block return value"
-;  V177 tmp152      [V177,T54] (  2,   8   )   byref  ->   x1         "field V12._reference (fldOffset=0x0)" P-INDEP
-;  V178 tmp153      [V178,T55] (  2,   8   )     int  ->   x0         "field V12._length (fldOffset=0x8)" P-INDEP
+;  V176 tmp151      [V176,T62] (  3,   3   )     int  ->   x0         "Single return block return value"
+;  V177 tmp152      [V177,T55] (  2,   8   )   byref  ->   x1         "field V12._reference (fldOffset=0x0)" P-INDEP
+;  V178 tmp153      [V178,T56] (  2,   8   )     int  ->   x0         "field V12._length (fldOffset=0x8)" P-INDEP
 ;  V179 tmp154      [V179,T07] ( 14, 464.50)   byref  ->  x28         "field V13._reference (fldOffset=0x0)" P-INDEP
 ;  V180 tmp155      [V180,T04] ( 17, 592.50)     int  ->  [fp-0xC4]  ptr "field V13._length (fldOffset=0x8)" P-INDEP
 ;  V181 tmp156      [V181,T09] ( 10, 347.50)   byref  ->  [fp-0xD8]  ptr "field V14._reference (fldOffset=0x0)" P-INDEP
 ;  V182 tmp157      [V182,T20] ( 10, 187   )     int  ->  [fp-0xC8]  ptr "field V14._length (fldOffset=0x8)" P-INDEP
-;  V183 tmp158      [V183,T63] (  4,   2   )   byref  ->  x25         single-def "field V18._reference (fldOffset=0x0)" P-INDEP
-;  V184 tmp159      [V184,T62] (  5,   2.50)     int  ->  x26         "field V18._length (fldOffset=0x8)" P-INDEP
+;  V183 tmp158      [V183,T64] (  4,   2   )   byref  ->  x25         single-def "field V18._reference (fldOffset=0x0)" P-INDEP
+;  V184 tmp159      [V184,T63] (  5,   2.50)     int  ->  x26         "field V18._length (fldOffset=0x8)" P-INDEP
 ;* V185 tmp160      [V185    ] (  0,   0   )   byref  ->  zero-ref    "field V20._reference (fldOffset=0x0)" P-INDEP
 ;* V186 tmp161      [V186    ] (  0,   0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
-;  V187 tmp162      [V187,T66] (  2,   1   )   byref  ->  x28         single-def "field V26._reference (fldOffset=0x0)" P-INDEP
-;* V188 tmp163      [V188,T76] (  0,   0   )     int  ->  zero-ref    ptr "field V26._length (fldOffset=0x8)" P-INDEP
-;  V189 tmp164      [V189,T67] (  2,   1   )   byref  ->   x3         single-def "field V27._reference (fldOffset=0x0)" P-INDEP
-;* V190 tmp165      [V190,T77] (  0,   0   )     int  ->  zero-ref    ptr "field V27._length (fldOffset=0x8)" P-INDEP
+;  V187 tmp162      [V187,T67] (  2,   1   )   byref  ->  x28         single-def "field V26._reference (fldOffset=0x0)" P-INDEP
+;* V188 tmp163      [V188,T77] (  0,   0   )     int  ->  zero-ref    ptr "field V26._length (fldOffset=0x8)" P-INDEP
+;  V189 tmp164      [V189,T68] (  2,   1   )   byref  ->   x3         single-def "field V27._reference (fldOffset=0x0)" P-INDEP
+;* V190 tmp165      [V190,T78] (  0,   0   )     int  ->  zero-ref    ptr "field V27._length (fldOffset=0x8)" P-INDEP
 ;* V191 tmp166      [V191    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V43._reference (fldOffset=0x0)" P-INDEP
 ;* V192 tmp167      [V192    ] (  0,   0   )     int  ->  zero-ref    ptr "field V43._length (fldOffset=0x8)" P-INDEP
 ;* V193 tmp168      [V193    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V44._reference (fldOffset=0x0)" P-INDEP
 ;* V194 tmp169      [V194    ] (  0,   0   )     int  ->  zero-ref    ptr "field V44._length (fldOffset=0x8)" P-INDEP
-;  V195 tmp170      [V195,T68] (  2,   1   )   byref  ->   x0         single-def "field V46._reference (fldOffset=0x0)" P-INDEP
-;  V196 tmp171      [V196,T71] (  2,   1   )     int  ->   x1         "field V46._length (fldOffset=0x8)" P-INDEP
+;  V195 tmp170      [V195,T69] (  2,   1   )   byref  ->   x0         single-def "field V46._reference (fldOffset=0x0)" P-INDEP
+;  V196 tmp171      [V196,T72] (  2,   1   )     int  ->   x1         "field V46._length (fldOffset=0x8)" P-INDEP
 ;* V197 tmp172      [V197    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V47._reference (fldOffset=0x0)" P-INDEP
 ;* V198 tmp173      [V198    ] (  0,   0   )     int  ->  zero-ref    ptr "field V47._length (fldOffset=0x8)" P-INDEP
 ;* V199 tmp174      [V199    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V48._reference (fldOffset=0x0)" P-INDEP
 ;* V200 tmp175      [V200    ] (  0,   0   )     int  ->  zero-ref    ptr "field V48._length (fldOffset=0x8)" P-INDEP
 ;* V201 tmp176      [V201    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V49._reference (fldOffset=0x0)" P-INDEP
 ;* V202 tmp177      [V202    ] (  0,   0   )     int  ->  zero-ref    ptr "field V49._length (fldOffset=0x8)" P-INDEP
-;* V203 tmp178      [V203,T74] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V51._reference (fldOffset=0x0)" P-INDEP
-;* V204 tmp179      [V204,T78] (  0,   0   )     int  ->  zero-ref    ptr "field V51._length (fldOffset=0x8)" P-INDEP
+;* V203 tmp178      [V203,T75] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V51._reference (fldOffset=0x0)" P-INDEP
+;* V204 tmp179      [V204,T79] (  0,   0   )     int  ->  zero-ref    ptr "field V51._length (fldOffset=0x8)" P-INDEP
 ;* V205 tmp180      [V205    ] (  0,   0   )   byref  ->  zero-ref    "field V54._reference (fldOffset=0x0)" P-INDEP
 ;* V206 tmp181      [V206    ] (  0,   0   )     int  ->  zero-ref    "field V54._length (fldOffset=0x8)" P-INDEP
 ;* V207 tmp182      [V207    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V56._reference (fldOffset=0x0)" P-INDEP
@@ -223,7 +223,7 @@
 ;* V212 tmp187      [V212    ] (  0,   0   )     int  ->  zero-ref    "field V64._length (fldOffset=0x8)" P-INDEP
 ;* V213 tmp188      [V213    ] (  0,   0   )   byref  ->  zero-ref    "field V65._reference (fldOffset=0x0)" P-INDEP
 ;* V214 tmp189      [V214    ] (  0,   0   )     int  ->  zero-ref    "field V65._length (fldOffset=0x8)" P-INDEP
-;* V215 tmp190      [V215,T75] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V66._reference (fldOffset=0x0)" P-INDEP
+;* V215 tmp190      [V215,T76] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V66._reference (fldOffset=0x0)" P-INDEP
 ;* V216 tmp191      [V216    ] (  0,   0   )     int  ->  zero-ref    ptr "field V66._length (fldOffset=0x8)" P-INDEP
 ;* V217 tmp192      [V217    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V69._reference (fldOffset=0x0)" P-INDEP
 ;* V218 tmp193      [V218    ] (  0,   0   )     int  ->  zero-ref    ptr "field V69._length (fldOffset=0x8)" P-INDEP
@@ -251,12 +251,12 @@
 ;* V240 tmp215      [V240    ] (  0,   0   )     int  ->  zero-ref    "field V132._length (fldOffset=0x8)" P-INDEP
 ;* V241 tmp216      [V241    ] (  0,   0   )   byref  ->  zero-ref    "field V133._reference (fldOffset=0x0)" P-INDEP
 ;* V242 tmp217      [V242    ] (  0,   0   )     int  ->  zero-ref    "field V133._length (fldOffset=0x8)" P-INDEP
-;  V243 tmp218      [V243,T26] (  3,  96   )   byref  ->  [fp-0xE0]  spill-single-def ptr "field V137._reference (fldOffset=0x0)" P-INDEP
-;  V244 tmp219      [V244,T31] (  3,  96   )     int  ->  [fp-0xCC]  spill-single-def ptr "field V137._length (fldOffset=0x8)" P-INDEP
+;  V243 tmp218      [V243,T27] (  3,  96   )   byref  ->  [fp-0xE0]  spill-single-def ptr "field V137._reference (fldOffset=0x0)" P-INDEP
+;  V244 tmp219      [V244,T32] (  3,  96   )     int  ->  [fp-0xCC]  spill-single-def ptr "field V137._length (fldOffset=0x8)" P-INDEP
 ;* V245 tmp220      [V245    ] (  0,   0   )   byref  ->  zero-ref    ptr "field V138._reference (fldOffset=0x0)" P-INDEP
 ;* V246 tmp221      [V246    ] (  0,   0   )     int  ->  zero-ref    ptr "field V138._length (fldOffset=0x8)" P-INDEP
-;  V247 tmp222      [V247,T27] (  3,  96   )   byref  ->  [fp-0xE8]  spill-single-def ptr "field V144._reference (fldOffset=0x0)" P-INDEP
-;  V248 tmp223      [V248,T32] (  3,  96   )     int  ->  [fp-0xD0]  spill-single-def ptr "field V144._length (fldOffset=0x8)" P-INDEP
+;  V247 tmp222      [V247,T28] (  3,  96   )   byref  ->  [fp-0xE8]  spill-single-def ptr "field V144._reference (fldOffset=0x0)" P-INDEP
+;  V248 tmp223      [V248,T33] (  3,  96   )     int  ->  [fp-0xD0]  spill-single-def ptr "field V144._length (fldOffset=0x8)" P-INDEP
 ;* V249 tmp224      [V249    ] (  0,   0   )   byref  ->  zero-ref    ptr "field V145._reference (fldOffset=0x0)" P-INDEP
 ;* V250 tmp225      [V250    ] (  0,   0   )     int  ->  zero-ref    ptr "field V145._length (fldOffset=0x8)" P-INDEP
 ;* V251 tmp226      [V251    ] (  0,   0   )   byref  ->  zero-ref    "field V154._reference (fldOffset=0x0)" P-INDEP
@@ -271,14 +271,15 @@
 ;* V260 tmp235      [V260    ] (  0,   0   )     int  ->  zero-ref    "field V171._length (fldOffset=0x8)" P-INDEP
 ;* V261 tmp236      [V261    ] (  0,   0   )   byref  ->  zero-ref    "field V172._reference (fldOffset=0x0)" P-INDEP
 ;* V262 tmp237      [V262    ] (  0,   0   )     int  ->  zero-ref    "field V172._length (fldOffset=0x8)" P-INDEP
-;  V263 tmp238      [V263,T35] (  5,  74   )   byref  ->  x21         single-def "V00.[000..008)"
+;  V263 tmp238      [V263,T36] (  5,  74   )   byref  ->  x21         single-def "V00.[000..008)"
 ;  V264 tmp239      [V264,T17] ( 11, 227.50)     int  ->  x22         "V00.[008..012)"
 ;  V265 tmp240      [V265,T11] (  4, 259.50)   byref  ->  x23         single-def "V01.[000..008)"
 ;  V266 tmp241      [V266,T05] (  9, 552.50)     int  ->  x24         "V01.[008..012)"
 ;* V267 tmp242      [V267    ] (  0,   0   )    long  ->  zero-ref    ptr "Cast away GC"
 ;  V268 GsCookie    [V268    ] (  1,   1   )    long  ->  [fp-0x58]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
-;  V269 cse0        [V269,T58] (  3,   6   )     int  ->   x6         "CSE - moderate"
-;  V270 rat0        [V270,T33] (  3,  96   )     int  ->   x1         "ReplaceWithLclVar is creating a new local variable"
+;  V269 cse0        [V269,T26] (  5,  97   )     int  ->  registers   multi-def "CSE - moderate"
+;  V270 cse1        [V270,T59] (  3,   6   )     int  ->   x6         "CSE - moderate"
+;  V271 rat0        [V271,T34] (  3,  96   )     int  ->   x1         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 160
 
@@ -355,8 +356,8 @@ G_M9731_IG05:        ; bbWeight=0.50, gcVars=00000000000000000000000000000000 {}
             ldr     x1, [x1]
             blr     x1
             ; gcr arg pop 0
-            tst     w19, #255
-            bne     G_M9731_IG06
+            uxtb    w27, w19
+            cbnz    w27, G_M9731_IG06
             mov     w2, #63
             mov     w1, #42
             mov     x0, x25
@@ -414,9 +415,9 @@ G_M9731_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2800000 {x23
                        ;; size=60 bbWeight=0.50 PerfScore 5.75
 G_M9731_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x23}, byref
             ; byrRegs +[x21 x23]
-            mov     w25, wzr
-            mov     w26, #1
             mov     w27, wzr
+            mov     w25, #1
+            mov     w26, wzr
             ldr     wzr, [sp], #-0x40
             mov     x28, sp
             mov     w2, #16
@@ -430,20 +431,20 @@ G_M9731_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x
                        ;; size=52 bbWeight=0.50 PerfScore 5.50
 G_M9731_IG09:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21 x23 x28}, byref, isz
             ; byrRegs +[x3 x28]
-            cmp     w25, w24
+            cmp     w27, w24
             bge     G_M9731_IG11
                        ;; size=8 bbWeight=4 PerfScore 6.00
 G_M9731_IG10:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21 x23 x28}, byref, isz
-            add     w1, w25, #1
-            sxtw    w27, w1
-            cmp     w25, w24
...
  
-8 (-0.15%) : 2436.dasm - System.Number:NumberToStringFormatushort (Tier0-FullOpts)
@@ -10,7 +10,7 @@
 ;
 ;  V00 arg0         [V00,T02] ( 79,268.50)   byref  ->  x19         single-def
 ;  V01 arg1         [V01,T60] ( 17, 21.50)   byref  ->  x21         single-def
-;  V02 arg2         [V02,T81] (  6, 12   )  struct (16) [fp+0xE8]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
+;  V02 arg2         [V02,T82] (  6, 12   )  struct (16) [fp+0xE8]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
 ;  V03 arg3         [V03,T42] ( 15, 25   )     ref  ->  x20         class-hnd single-def <System.Globalization.NumberFormatInfo>
 ;  V04 loc0         [V04,T08] ( 15, 96   )     int  ->  x27        
 ;  V05 loc1         [V05,T16] ( 18, 56   )     int  ->  x28        
@@ -24,55 +24,55 @@
 ;  V13 loc9         [V13,T19] (  8, 48   )     int  ->   x8        
 ;  V14 loc10        [V14,T26] ( 11, 42   )     int  ->  [fp+0xD0]  ptr
 ;  V15 loc11        [V15,T64] (  6, 18.50)     int  ->  x26        
-;  V16 loc12        [V16,T00] ( 57,909.50)     int  ->  [fp+0xCC]  ptr
+;  V16 loc12        [V16,T00] ( 55,905.50)     int  ->  [fp+0xCC]  ptr
 ;  V17 loc13        [V17,T67] (  6, 17   )    long  ->  x25        
 ;  V18 loc14        [V18,T05] ( 36,238   )  ushort  ->  [fp+0xC8]  ptr
 ;* V19 loc15        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[int]>
 ;  V20 loc16        [V20,T10] ( 16, 71   )     int  ->  [fp+0xC4]  ptr
-;  V21 loc17        [V21,T147] (  3,  5   )   ubyte  ->  [fp+0xC0] 
+;  V21 loc17        [V21,T148] (  3,  5   )   ubyte  ->  [fp+0xC0] 
 ;  V22 loc18        [V22,T07] (  8,184   )    long  ->   x9        
 ;  V23 loc19        [V23    ] (  2, 16   )   byref  ->  [fp+0xB8]  must-init pinned ptr
 ;* V24 loc20        [V24    ] (  0,  0   )     int  ->  zero-ref   
 ;* V25 loc21        [V25    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[int]>
-;  V26 loc22        [V26,T146] (  5,  5.50)     ref  ->  [fp+0x60]  class-hnd spill-single-def ptr <int[]>
-;  V27 loc23        [V27,T82] (  6, 12.50)     int  ->  [fp+0xB4]  ptr
+;  V26 loc22        [V26,T147] (  5,  5.50)     ref  ->  [fp+0x60]  class-hnd spill-single-def ptr <int[]>
+;  V27 loc23        [V27,T83] (  6, 12.50)     int  ->  [fp+0xB4]  ptr
 ;  V28 loc24        [V28,T66] (  7, 17.50)     int  ->  [fp+0xB0]  ptr
-;  V29 loc25        [V29,T148] (  3,  5   )     int  ->  [fp+0xAC]  spill-single-def ptr
-;  V30 loc26        [V30,T87] (  5, 11   )     int  ->  [fp+0xA8]  ptr
-;  V31 loc27        [V31,T194] (  3,  1.50)     int  ->   x1        
-;  V32 loc28        [V32,T149] (  3,  5   )     int  ->  [fp+0xA4]  spill-single-def ptr
-;  V33 loc29        [V33,T88] (  5, 10   )     ref  ->  [fp+0x58]  class-hnd exact spill-single-def ptr <int[]>
+;  V29 loc25        [V29,T149] (  3,  5   )     int  ->  [fp+0xAC]  spill-single-def ptr
+;  V30 loc26        [V30,T88] (  5, 11   )     int  ->  [fp+0xA8]  ptr
+;  V31 loc27        [V31,T195] (  3,  1.50)     int  ->   x1        
+;  V32 loc28        [V32,T150] (  3,  5   )     int  ->  [fp+0xA4]  spill-single-def ptr
+;  V33 loc29        [V33,T89] (  5, 10   )     ref  ->  [fp+0x58]  class-hnd exact spill-single-def ptr <int[]>
 ;  V34 loc30        [V34,T11] ( 11, 65   )    long  ->  x22        
 ;  V35 loc31        [V35    ] (  2,  2   )   byref  ->  [fp+0x98]  must-init pinned ptr
 ;  V36 loc32        [V36,T33] (  8, 33   )    long  ->  [fp+0x90]  ptr
-;  V37 loc33        [V37,T121] (  3,  6   )   ubyte  ->  x14        
+;  V37 loc33        [V37,T122] (  3,  6   )   ubyte  ->  x14        
 ;  V38 loc34        [V38,T46] (  6, 24   )     int  ->  x12        
 ;* V39 loc35        [V39    ] (  0,  0   )     int  ->  zero-ref   
 ;# V40 OutArgs      [V40    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V41 tmp1         [V41    ] (  0,  0   )     int  ->  zero-ref   
 ;* V42 tmp2         [V42    ] (  0,  0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
 ;* V43 tmp3         [V43    ] (  0,  0   )  struct (16) zero-ref    multireg-arg <System.ReadOnlySpan`1[ushort]>
-;  V44 tmp4         [V44,T182] (  3,  2   )     int  ->   x2        
-;  V45 tmp5         [V45,T187] (  2,  2   )     int  ->   x3        
-;  V46 tmp6         [V46,T188] (  2,  2   )     int  ->   x4        
-;  V47 tmp7         [V47,T206] (  2,  1   )     int  ->   x3        
+;  V44 tmp4         [V44,T183] (  3,  2   )     int  ->   x2        
+;  V45 tmp5         [V45,T188] (  2,  2   )     int  ->   x3        
+;  V46 tmp6         [V46,T189] (  2,  2   )     int  ->   x4        
+;  V47 tmp7         [V47,T207] (  2,  1   )     int  ->   x3        
 ;  V48 tmp8         [V48    ] (  1,  1   )  struct (16) [fp+0xF8]  do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
 ;* V49 tmp9         [V49    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V50 tmp10        [V50    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V51 tmp11        [V51,T50] (  3, 24   )     int  ->   x1         "impSpillLclRefs"
-;  V52 tmp12        [V52,T79] (  2, 16   )     int  ->   x1         "dup spill"
-;  V53 tmp13        [V53,T106] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
-;  V54 tmp14        [V54,T107] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
+;  V52 tmp12        [V52,T80] (  2, 16   )     int  ->   x1         "dup spill"
+;  V53 tmp13        [V53,T107] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
+;  V54 tmp14        [V54,T108] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
 ;  V55 tmp15        [V55,T35] (  2, 32   )     int  ->   x6         "impSpillLclRefs"
 ;  V56 tmp16        [V56,T13] (  2, 64   )     int  ->   x6         "dup spill"
-;  V57 tmp17        [V57,T122] (  3,  6   )     int  ->   x5        
+;  V57 tmp17        [V57,T123] (  3,  6   )     int  ->   x5        
 ;* V58 tmp18        [V58    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V59 tmp19        [V59    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V60 tmp20        [V60    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V61 tmp21        [V61,T83] (  3, 12   )    long  ->   x1         "impSpillLclRefs"
-;  V62 tmp22        [V62,T99] (  4,  8   )     int  ->   x1        
+;  V61 tmp21        [V61,T84] (  3, 12   )    long  ->   x1         "impSpillLclRefs"
+;  V62 tmp22        [V62,T100] (  4,  8   )     int  ->   x1        
 ;* V63 tmp23        [V63    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V64 tmp24        [V64,T123] (  3,  6   )     int  ->  x13        
+;  V64 tmp24        [V64,T124] (  3,  6   )     int  ->  x13        
 ;  V65 tmp25        [V65,T36] (  2, 32   )     int  ->   x6         "impSpillLclRefs"
 ;* V66 tmp26        [V66    ] (  0,  0   )   byref  ->  zero-ref    ptr
 ;  V67 tmp27        [V67,T37] (  2, 32   )    long  ->   x0         "impSpillLclRefs"
@@ -82,11 +82,11 @@
 ;* V71 tmp31        [V71    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V72 tmp32        [V72    ] (  0,  0   )     int  ->  zero-ref   
 ;* V73 tmp33        [V73    ] (  0,  0   )     int  ->  zero-ref    ptr
-;  V74 tmp34        [V74,T207] (  2,  1   )     int  ->   x1        
-;  V75 tmp35        [V75,T208] (  2,  1   )     int  ->  xip0        
+;  V74 tmp34        [V74,T208] (  2,  1   )     int  ->   x1        
+;  V75 tmp35        [V75,T209] (  2,  1   )     int  ->  xip0        
 ;* V76 tmp36        [V76    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[int]>
 ;  V77 tmp37        [V77,T47] (  3, 24   )   byref  ->   x0         "dup spill"
-;  V78 tmp38        [V78,T101] (  3,  8   )     int  ->   x1        
+;  V78 tmp38        [V78,T102] (  3,  8   )     int  ->   x1        
 ;  V79 tmp39        [V79,T09] (  3, 96   )     int  ->   x0         "impSpillLclRefs"
 ;  V80 tmp40        [V80,T14] (  2, 64   )     int  ->  x11         "dup spill"
 ;  V81 tmp41        [V81,T03] (  2,256   )     int  ->  x10         "dup spill"
@@ -97,28 +97,28 @@
 ;* V86 tmp46        [V86    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;* V87 tmp47        [V87    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V88 tmp48        [V88    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
-;  V89 tmp49        [V89,T108] (  2,  8   )    long  ->   x2         "Inlining Arg"
+;  V89 tmp49        [V89,T109] (  2,  8   )    long  ->   x2         "Inlining Arg"
 ;* V90 tmp50        [V90    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V91 tmp51        [V91    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V92 tmp52        [V92    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V93 tmp53        [V93    ] (  0,  0   )     int  ->  zero-ref   
 ;* V94 tmp54        [V94    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V95 tmp55        [V95    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V96 tmp56        [V96,T150] (  4,  4   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V96 tmp56        [V96,T151] (  4,  4   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V97 tmp57        [V97    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V98 tmp58        [V98    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V99 tmp59        [V99,T189] (  2,  2   )     int  ->  [fp+0x8C]  spill-single-def ptr "Inlining Arg"
-;  V100 tmp60       [V100,T183] (  2,  2   )   byref  ->  [fp+0x50]  spill-single-def ptr "Inlining Arg"
+;  V99 tmp59        [V99,T190] (  2,  2   )     int  ->  [fp+0x8C]  spill-single-def ptr "Inlining Arg"
+;  V100 tmp60       [V100,T184] (  2,  2   )   byref  ->  [fp+0x50]  spill-single-def ptr "Inlining Arg"
 ;* V101 tmp61       [V101    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V102 tmp62       [V102    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V103 tmp63       [V103    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V104 tmp64       [V104    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V105 tmp65       [V105    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V106 tmp66       [V106,T195] (  3,  1.50)     int  ->  [fp+0x88]  spill-single-def ptr "Inline stloc first use temp"
+;  V106 tmp66       [V106,T196] (  3,  1.50)     int  ->  [fp+0x88]  spill-single-def ptr "Inline stloc first use temp"
 ;* V107 tmp67       [V107    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V108 tmp68       [V108    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V109 tmp69       [V109    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "Inlining Arg"
-;  V110 tmp70       [V110,T180] (  4,  2   )     int  ->   x3         "Inline stloc first use temp"
+;  V110 tmp70       [V110,T181] (  4,  2   )     int  ->   x3         "Inline stloc first use temp"
 ;* V111 tmp71       [V111    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V112 tmp72       [V112    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V113 tmp73       [V113    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
@@ -153,7 +153,7 @@
 ;  V142 tmp102      [V142,T29] (  5, 40   )     int  ->  x15         "Inline stloc first use temp"
 ;* V143 tmp103      [V143    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V144 tmp104      [V144    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;  V145 tmp105      [V145,T89] (  5, 10   )     int  ->   x1         "Inline stloc first use temp"
+;  V145 tmp105      [V145,T90] (  5, 10   )     int  ->   x1         "Inline stloc first use temp"
 ;* V146 tmp106      [V146    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V147 tmp107      [V147    ] (  0,  0   )  ushort  ->  zero-ref    ptr "Inlining Arg"
 ;* V148 tmp108      [V148    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -162,11 +162,11 @@
 ;* V151 tmp111      [V151    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V152 tmp112      [V152    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V153 tmp113      [V153    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V154 tmp114      [V154,T69] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V154 tmp114      [V154,T70] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V155 tmp115      [V155    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V156 tmp116      [V156    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V157 tmp117      [V157,T109] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V158 tmp118      [V158,T102] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V157 tmp117      [V157,T110] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V158 tmp118      [V158,T103] (  2,  8   )   byref  ->  x13         "Inlining Arg"
 ;* V159 tmp119      [V159    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V160 tmp120      [V160    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V161 tmp121      [V161    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -174,13 +174,13 @@
 ;* V163 tmp123      [V163    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V164 tmp124      [V164    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V165 tmp125      [V165    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V166 tmp126      [V166,T124] (  3,  6   )     int  ->  [fp+0x80]  spill-single-def ptr "Inline stloc first use temp"
+;  V166 tmp126      [V166,T125] (  3,  6   )     int  ->  [fp+0x80]  spill-single-def ptr "Inline stloc first use temp"
 ;* V167 tmp127      [V167    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V168 tmp128      [V168    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V169 tmp129      [V169    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V170 tmp130      [V170    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V171 tmp131      [V171    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V172 tmp132      [V172,T90] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
+;  V172 tmp132      [V172,T91] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
 ;* V173 tmp133      [V173    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V174 tmp134      [V174    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V175 tmp135      [V175    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -189,11 +189,11 @@
 ;* V178 tmp138      [V178    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V179 tmp139      [V179    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V180 tmp140      [V180    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V181 tmp141      [V181,T70] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V181 tmp141      [V181,T71] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V182 tmp142      [V182    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V183 tmp143      [V183    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V184 tmp144      [V184,T110] (  2,  8   )     int  ->  x13         "Inlining Arg"
-;  V185 tmp145      [V185,T103] (  2,  8   )   byref  ->  x11         "Inlining Arg"
+;  V184 tmp144      [V184,T111] (  2,  8   )     int  ->  x13         "Inlining Arg"
+;  V185 tmp145      [V185,T104] (  2,  8   )   byref  ->  x11         "Inlining Arg"
 ;* V186 tmp146      [V186    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V187 tmp147      [V187    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V188 tmp148      [V188    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -201,13 +201,13 @@
 ;* V190 tmp150      [V190    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V191 tmp151      [V191    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V192 tmp152      [V192    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V193 tmp153      [V193,T125] (  3,  6   )     int  ->  [fp+0x7C]  spill-single-def ptr "Inline stloc first use temp"
+;  V193 tmp153      [V193,T126] (  3,  6   )     int  ->  [fp+0x7C]  spill-single-def ptr "Inline stloc first use temp"
 ;* V194 tmp154      [V194    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V195 tmp155      [V195    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V196 tmp156      [V196    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V197 tmp157      [V197    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V198 tmp158      [V198    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V199 tmp159      [V199,T91] (  5, 10   )     int  ->  x14         "Inline stloc first use temp"
+;  V199 tmp159      [V199,T92] (  5, 10   )     int  ->  x14         "Inline stloc first use temp"
 ;* V200 tmp160      [V200    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V201 tmp161      [V201    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V202 tmp162      [V202    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -216,11 +216,11 @@
 ;* V205 tmp165      [V205    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V206 tmp166      [V206    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V207 tmp167      [V207    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V208 tmp168      [V208,T71] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V208 tmp168      [V208,T72] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V209 tmp169      [V209    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V210 tmp170      [V210    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V211 tmp171      [V211,T111] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V212 tmp172      [V212,T104] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V211 tmp171      [V211,T112] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V212 tmp172      [V212,T105] (  2,  8   )   byref  ->  x13         "Inlining Arg"
 ;* V213 tmp173      [V213    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V214 tmp174      [V214    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V215 tmp175      [V215    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -228,13 +228,13 @@
 ;* V217 tmp177      [V217    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V218 tmp178      [V218    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V219 tmp179      [V219    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V220 tmp180      [V220,T126] (  3,  6   )     int  ->  [fp+0x78]  spill-single-def ptr "Inline stloc first use temp"
+;  V220 tmp180      [V220,T127] (  3,  6   )     int  ->  [fp+0x78]  spill-single-def ptr "Inline stloc first use temp"
 ;* V221 tmp181      [V221    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V222 tmp182      [V222    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V223 tmp183      [V223    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V224 tmp184      [V224    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V225 tmp185      [V225    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V226 tmp186      [V226,T92] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
+;  V226 tmp186      [V226,T93] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
 ;* V227 tmp187      [V227    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V228 tmp188      [V228    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V229 tmp189      [V229    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -243,11 +243,11 @@
 ;* V232 tmp192      [V232    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V233 tmp193      [V233    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V234 tmp194      [V234    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V235 tmp195      [V235,T72] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V235 tmp195      [V235,T73] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V236 tmp196      [V236    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V237 tmp197      [V237    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V238 tmp198      [V238,T112] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V239 tmp199      [V239,T105] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V238 tmp198      [V238,T113] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V239 tmp199      [V239,T106] (  2,  8   )   byref  ->  x13         "Inlining Arg"
...
  
  
coreclr_tests.run.osx.arm64.checked.mch
-36 (-14.75%) : 444632.dasm - Program:M49() (FullOpts)
@@ -10,11 +10,12 @@
 ;  V00 loc0         [V00,T01] (  4, 13   )     int  ->  x19        
 ;* V01 loc1         [V01    ] (  0,  0   )    long  ->  zero-ref   
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T02] (  3, 12   )     ref  ->   x1         "arr expr"
-;  V04 tmp2         [V04,T00] (  3, 24   )     ref  ->   x0         "arr expr"
-;  V05 PSPSym       [V05,T05] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
-;  V06 cse0         [V06,T03] (  3, 12   )     int  ->   x0         "CSE - aggressive"
-;  V07 cse1         [V07,T04] (  4,  9   )    long  ->  x20         hoist "CSE - aggressive"
+;  V03 tmp1         [V03,T00] (  3, 24   )     ref  ->   x0         "arr expr"
+;* V04 tmp2         [V04,T05] (  0,  0   )     ref  ->  zero-ref    "arr expr"
+;  V05 PSPSym       [V05,T06] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
+;  V06 cse0         [V06,T02] (  3, 12   )   byref  ->   x0         "CSE - aggressive"
+;  V07 cse1         [V07,T03] (  2,  8   )     ref  ->   x0         "CSE - aggressive"
+;  V08 cse2         [V08,T04] (  4,  9   )    long  ->  x20         hoist "CSE - aggressive"
 ;
 ; Lcl frame size = 16
 
@@ -34,7 +35,7 @@ G_M37813_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             blr     x0
             ; gcr arg pop 0
             cmp     w0, #0
-            ble     G_M37813_IG08
+            ble     G_M37813_IG06
                        ;; size=32 bbWeight=1 PerfScore 7.50
 G_M37813_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x20, #0xD1FFAB1E
@@ -43,32 +44,7 @@ G_M37813_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
                        ;; size=12 bbWeight=0.50 PerfScore 0.75
 G_M37813_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [x20]
-            cbnz    w0, G_M37813_IG06
-                       ;; size=8 bbWeight=4 PerfScore 16.00
-G_M37813_IG05:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            movz    x1, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #1 LSL #32
-            ldr     x1, [x1]
-            ; gcrRegs +[x1]
-            ldr     w2, [x1, #0x08]
-            cmp     w2, #0
-            bls     G_M37813_IG13
-            str     wzr, [x1, #0x10]
-                       ;; size=32 bbWeight=2 PerfScore 20.00
-G_M37813_IG06:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x1]
-            cbz     w0, G_M37813_IG09
-                       ;; size=4 bbWeight=4 PerfScore 4.00
-G_M37813_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            str     wzr, [x20, #-0x08]
-                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M37813_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x30
-            ret     lr
-                       ;; size=12 bbWeight=1 PerfScore 3.00
-G_M37813_IG09:        ; bbWeight=4, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+            cbnz    w0, G_M37813_IG05
             movz    x0, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
@@ -77,17 +53,28 @@ G_M37813_IG09:        ; bbWeight=4, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ldr     w1, [x0, #0x08]
             cmp     w1, #0
             bls     G_M37813_IG10
-            ldr     w1, [x20, #-0x08]
-            str     w1, [x0, #0x10]
-            b       G_M37813_IG11
-                       ;; size=40 bbWeight=4 PerfScore 56.00
-G_M37813_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            add     x0, x0, #16
             ; gcrRegs -[x0]
-            bl      CORINFO_HELP_RNGCHKFAIL
-            ; gcr arg pop 0
-            brk_unix #0
-                       ;; size=8 bbWeight=0 PerfScore 0.00
-G_M37813_IG11:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            ; byrRegs +[x0]
+            str     wzr, [x0]
+            b       G_M37813_IG07
+                       ;; size=48 bbWeight=4 PerfScore 62.00
+G_M37813_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x0]
+            str     wzr, [x20, #-0x08]
+                       ;; size=4 bbWeight=0.50 PerfScore 0.50
+G_M37813_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            ldp     x19, x20, [sp, #0x20]
+            ldp     fp, lr, [sp], #0x30
+            ret     lr
+                       ;; size=12 bbWeight=1 PerfScore 3.00
+G_M37813_IG07:        ; bbWeight=4, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, gcvars, byref
+            ; byrRegs +[x0]
+            ldr     w1, [x20, #-0x08]
+            str     w1, [x0]
+                       ;; size=8 bbWeight=4 PerfScore 16.00
+G_M37813_IG08:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            ; byrRegs -[x0]
             add     w19, w19, #1
             movz    x0, #0xD1FFAB1E      // code for <unknown method>
             movk    x0, #0xD1FFAB1E LSL #16
@@ -98,27 +85,27 @@ G_M37813_IG11:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             cmp     w0, w19
             bgt     G_M37813_IG04
                        ;; size=32 bbWeight=4 PerfScore 30.00
-G_M37813_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            b       G_M37813_IG08
+G_M37813_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M37813_IG06
                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M37813_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M37813_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
-G_M37813_IG14:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M37813_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x20]
             add     x3, fp, #48
             str     x3, [sp, #0x18]
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M37813_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M37813_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x30
             ret     lr
                        ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 244, prolog size 20, PerfScore 142.25, instruction count 61, allocated bytes for code 244 (MethodHash=996e6c4a) for method Program:M49() (FullOpts)
+; Total bytes of code 208, prolog size 20, PerfScore 124.25, instruction count 52, allocated bytes for code 208 (MethodHash=996e6c4a) for method Program:M49() (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -129,7 +116,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 54 (0x00036) Actual length = 216 (0x0000d8)
+  Function Length   : 45 (0x0002d) Actual length = 180 (0x0000b4)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -162,4 +149,4 @@ Unwind Info:
 
 *************** EH table for Program:M49()
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M37813_IG09..G_M37813_IG11) handled by [G_M37813_IG14..END) (fault)
+EH#0: try [G_M37813_IG07..G_M37813_IG08) handled by [G_M37813_IG11..END) (fault)
  
-40 (-5.29%) : 389070.dasm - CloningForIEnumerable:Sum(System.Collections.Generic.IEnumerable`1[int]):int (Tier1)
@@ -5,7 +5,7 @@
 ; optimized using Dynamic PGO
 ; fp based frame
 ; fully interruptible
-; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 5
+; with Dynamic PGO: edge weights are valid, and fgCalledCount is 5
 ; 3 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
@@ -25,7 +25,7 @@
 ;  V13 tmp9         [V13,T08] (  6, 12   )     ref  ->   x0         class-hnd exact single-def "Single-def Box Helper" <System.Collections.Generic.List`1+Enumerator[int]>
 ;* V14 tmp10        [V14    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[int]>
 ;* V15 tmp11        [V15    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V16 tmp12        [V16,T00] ( 25,158.20)   byref  ->  x11         "Inlining Arg"
+;  V16 tmp12        [V16,T00] ( 21,154.20)   byref  ->  x11         "Inlining Arg"
 ;  V17 tmp13        [V17,T03] (  8, 43   )     ref  ->   x1         class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[int]>
 ;* V18 tmp14        [V18    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V19 tmp15        [V19,T12] (  3,  3   )     ref  ->  x15         single-def "field V14._list (fldOffset=0x0)" P-INDEP
@@ -57,9 +57,9 @@ G_M48461_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #1 LSL #32
             cmp     x0, x1
-            bne     G_M48461_IG25
+            bne     G_M48461_IG24
             ldr     w0, [x19, #0x10]
-            cbz     w0, G_M48461_IG24
+            cbz     w0, G_M48461_IG23
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #1 LSL #32
@@ -83,13 +83,13 @@ G_M48461_IG03:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ; GC ptr vars +{V02}
                        ;; size=4 bbWeight=1 PerfScore 1.00
 G_M48461_IG04:        ; bbWeight=1, gcVars=0000000000000020 {V02}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
-            cbz     x0, G_M48461_IG13
+            cbz     x0, G_M48461_IG12
             ldr     x11, [x0]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #1 LSL #32
             cmp     x11, x21
-            bne     G_M48461_IG13
+            bne     G_M48461_IG12
             b       G_M48461_IG06
                        ;; size=32 bbWeight=1 PerfScore 8.00
 G_M48461_IG05:        ; bbWeight=9.90, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
@@ -104,11 +104,11 @@ G_M48461_IG06:        ; bbWeight=10.89, gcrefRegs=0001 {x0}, byrefRegs=0000 {},
             ldr     w2, [x11, #0x0C]
             ldr     w3, [x1, #0x14]
             cmp     w2, w3
-            bne     G_M48461_IG11
+            bne     G_M48461_IG09
             ldr     w2, [x11, #0x08]
             ldr     w3, [x1, #0x10]
             cmp     w2, w3
-            bhs     G_M48461_IG12
+            bhs     G_M48461_IG11
                        ;; size=40 bbWeight=10.89 PerfScore 201.46
 G_M48461_IG07:        ; bbWeight=9.90, gcrefRegs=0003 {x0 x1}, byrefRegs=0800 {x11}, byref, isz
             ldr     x3, [x1, #0x08]
@@ -155,19 +155,10 @@ G_M48461_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             sxtw    w22, w0
             ldr     x0, [fp, #0x10]    // [V02 loc1]
             ; gcrRegs +[x0]
-            b       G_M48461_IG15
+            b       G_M48461_IG14
                       ;; size=36 bbWeight=0 PerfScore 0.00
-G_M48461_IG11:        ; bbWeight=0.99, gcrefRegs=0001 {x0}, byrefRegs=0800 {x11}, byref, isz
+G_M48461_IG11:        ; bbWeight=0.99, gcrefRegs=0001 {x0}, byrefRegs=0800 {x11}, byref
             ; byrRegs +[x11]
-            ldr     w1, [x11, #0x0C]
-            ldr     x2, [x11]
-            ; gcrRegs +[x2]
-            ldr     w2, [x2, #0x14]
-            ; gcrRegs -[x2]
-            cmp     w1, w2
-            bne     G_M48461_IG09
-                       ;; size=20 bbWeight=0.99 PerfScore 10.39
-G_M48461_IG12:        ; bbWeight=0.99, gcrefRegs=0001 {x0}, byrefRegs=0800 {x11}, byref
             ldr     x1, [x11]
             ; gcrRegs +[x1]
             ldr     w1, [x1, #0x10]
@@ -175,39 +166,26 @@ G_M48461_IG12:        ; bbWeight=0.99, gcrefRegs=0001 {x0}, byrefRegs=0800 {x11}
             add     w1, w1, #1
             str     w1, [x11, #0x08]
             str     wzr, [x11, #0x10]
-            b       G_M48461_IG21
+            b       G_M48461_IG20
                         ;; size=24 bbWeight=0.99 PerfScore 9.40
-G_M48461_IG13:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M48461_IG12:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ; byrRegs -[x11]
             ldr     xzr, [x0]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #1 LSL #32
-            b       G_M48461_IG16
+            b       G_M48461_IG15
                       ;; size=20 bbWeight=0.01 PerfScore 0.06
-G_M48461_IG14:        ; bbWeight=0.10, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M48461_IG13:        ; bbWeight=0.10, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ldr     w22, [x0, #0x18]
                        ;; size=4 bbWeight=0.10 PerfScore 0.30
-G_M48461_IG15:        ; bbWeight=0.10, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M48461_IG14:        ; bbWeight=0.10, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     w20, w20, w22
                        ;; size=4 bbWeight=0.10 PerfScore 0.05
-G_M48461_IG16:        ; bbWeight=0.11, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+G_M48461_IG15:        ; bbWeight=0.11, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ldr     x11, [x0]
             cmp     x11, x21
-            beq     G_M48461_IG17
-            movz    x11, #80
-            movk    x11, #0xD1FFAB1E LSL #16
-            movk    x11, #1 LSL #32
-            ldr     x1, [x11]
-            blr     x1
-            ; gcrRegs -[x0]
-            ; gcr arg pop 0
-            cbnz    w0, G_M48461_IG10
-            ldr     x0, [fp, #0x10]    // [V02 loc1]
-            ; gcrRegs +[x0]
-            b       G_M48461_IG21
-                       ;; size=44 bbWeight=0.11 PerfScore 1.54
-G_M48461_IG17:        ; bbWeight=0.11, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            bne     G_M48461_IG17
             add     x11, x0, #8
             ; byrRegs +[x11]
             ldr     x1, [x11]
@@ -215,13 +193,13 @@ G_M48461_IG17:        ; bbWeight=0.11, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b
             ldr     w2, [x11, #0x0C]
             ldr     w3, [x1, #0x14]
             cmp     w2, w3
-            bne     G_M48461_IG19
+            bne     G_M48461_IG09
             ldr     w2, [x11, #0x08]
             ldr     w3, [x1, #0x10]
             cmp     w2, w3
-            bhs     G_M48461_IG20
-                       ;; size=40 bbWeight=0.11 PerfScore 2.04
-G_M48461_IG18:        ; bbWeight=0.10, gcrefRegs=0003 {x0 x1}, byrefRegs=0800 {x11}, byref, isz
+            bhs     G_M48461_IG19
+                       ;; size=52 bbWeight=0.11 PerfScore 2.53
+G_M48461_IG16:        ; bbWeight=0.10, gcrefRegs=0003 {x0 x1}, byrefRegs=0800 {x11}, byref, isz
             ldr     x3, [x1, #0x08]
             ; gcrRegs +[x3]
             ldr     w2, [x11, #0x08]
@@ -237,19 +215,27 @@ G_M48461_IG18:        ; bbWeight=0.10, gcrefRegs=0003 {x0 x1}, byrefRegs=0800 {x
             ldr     w1, [x11, #0x08]
             add     w1, w1, #1
             str     w1, [x11, #0x08]
-            b       G_M48461_IG14
+            b       G_M48461_IG13
                      ;; size=48 bbWeight=0.10 PerfScore 2.05
-G_M48461_IG19:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0800 {x11}, byref, isz
+G_M48461_IG17:        ; bbWeight=0.11, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x3]
-            ldr     w1, [x11, #0x0C]
-            ldr     x2, [x11]
-            ; gcrRegs +[x2]
-            ldr     w2, [x2, #0x14]
-            ; gcrRegs -[x2]
-            cmp     w1, w2
-            bne     G_M48461_IG09
-                       ;; size=20 bbWeight=0.01 PerfScore 0.11
-G_M48461_IG20:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0800 {x11}, byref
+            ; byrRegs -[x11]
+            movz    x11, #80
+            movk    x11, #0xD1FFAB1E LSL #16
+            movk    x11, #1 LSL #32
+            ldr     x1, [x11]
+            blr     x1
+            ; gcrRegs -[x0]
+            ; gcr arg pop 0
+            cbnz    w0, G_M48461_IG10
+                       ;; size=24 bbWeight=0.11 PerfScore 0.72
+G_M48461_IG18:        ; bbWeight=0.11, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ldr     x0, [fp, #0x10]    // [V02 loc1]
+            ; gcrRegs +[x0]
+            b       G_M48461_IG20
+                       ;; size=8 bbWeight=0.11 PerfScore 0.33
+G_M48461_IG19:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0800 {x11}, byref
+            ; byrRegs +[x11]
             ldr     x1, [x11]
             ; gcrRegs +[x1]
             ldr     w1, [x1, #0x10]
@@ -258,24 +244,24 @@ G_M48461_IG20:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0800 {x11}
             str     w1, [x11, #0x08]
             str     wzr, [x11, #0x10]
                        ;; size=20 bbWeight=0.01 PerfScore 0.09
-G_M48461_IG21:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+G_M48461_IG20:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x11]
             ldr     x1, [x0]
             cmp     x1, x21
-            bne     G_M48461_IG26
+            bne     G_M48461_IG25
                       ;; size=12 bbWeight=1 PerfScore 4.50
-G_M48461_IG22:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48461_IG21:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             ; GC ptr vars -{V02}
             mov     w0, w20
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M48461_IG23:        ; bbWeight=1, epilog, nogc, extend
+G_M48461_IG22:        ; bbWeight=1, epilog, nogc, extend
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=16 bbWeight=1 PerfScore 4.00
-G_M48461_IG24:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48461_IG23:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
@@ -289,7 +275,7 @@ G_M48461_IG24:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ; gcrRegs +[x0]
             b       G_M48461_IG03
                        ;; size=40 bbWeight=0 PerfScore 0.00
-G_M48461_IG25:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M48461_IG24:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0] +[x19]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -302,7 +288,7 @@ G_M48461_IG25:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; gcr arg pop 0
             b       G_M48461_IG03
                        ;; size=28 bbWeight=0 PerfScore 0.00
-G_M48461_IG26:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref
+G_M48461_IG25:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref
             ; GC ptr vars +{V02 V05}
             movz    x11, #96      // code for <unknown method>
             movk    x11, #0xD1FFAB1E LSL #16
@@ -312,9 +298,9 @@ G_M48461_IG26:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=000
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            b       G_M48461_IG22
+            b       G_M48461_IG21
                       ;; size=24 bbWeight=0 PerfScore 0.00
-G_M48461_IG27:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+G_M48461_IG26:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
             ; GC ptr vars +{V02 V05}
             stp     fp, lr, [sp, #-0x40]!
             stp     x19, x20, [sp, #0x20]
@@ -322,16 +308,16 @@ G_M48461_IG27:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=000
             add     x3, fp, #64
             str     x3, [sp, #0x18]
                        ;; size=20 bbWeight=0 PerfScore 0.00
...
  
-12 (-4.55%) : 450399.dasm - Test.BB:TestEntryPoint() (FullOpts)
@@ -8,29 +8,28 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T08] (  2,  0   )     ref  ->  [fp+0x18]  class-hnd exact EH-live single-def <<unknown class>>
+;  V00 loc0         [V00,T07] (  2,  0   )     ref  ->  [fp+0x10]  class-hnd exact EH-live single-def <<unknown class>>
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V02 tmp1         [V02    ] (  0,  0   )   float  ->  zero-ref    "bubbling QMark2"
 ;  V03 tmp2         [V03,T00] (  4, 38   )     ref  ->   x1         "CASTCLASS eval op1"
-;  V04 tmp3         [V04,T02] (  3, 10   )    long  ->   x2         "fgMakeTemp is creating a new local variable"
+;  V04 tmp3         [V04,T01] (  3, 10   )    long  ->   x2         "fgMakeTemp is creating a new local variable"
 ;* V05 tmp4         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <double[]>
 ;* V06 tmp5         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
-;  V07 tmp6         [V07,T09] (  2,  0   )   float  ->  [fp+0x24]  spill-single-def "bubbling QMark2"
-;  V08 tmp7         [V08,T06] (  3,  0   )     ref  ->  x20         single-def "CASTCLASS eval op1"
-;  V09 tmp8         [V09,T07] (  3,  0   )    long  ->   x2         "fgMakeTemp is creating a new local variable"
-;  V10 tmp9         [V10,T05] (  5,  0   )     ref  ->   x0         class-hnd "spilling QMark2" <double[]>
-;  V11 PSPSym       [V11,T04] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
-;  V12 cse0         [V12,T01] (  5, 24   )     ref  ->  x20         multi-def "CSE - aggressive"
-;  V13 cse1         [V13,T03] (  5,  4   )    long  ->  x19         multi-def "CSE - aggressive"
+;  V07 tmp6         [V07,T08] (  2,  0   )   float  ->  [fp+0x1C]  spill-single-def "bubbling QMark2"
+;  V08 tmp7         [V08,T05] (  3,  0   )     ref  ->   x1         single-def "CASTCLASS eval op1"
+;  V09 tmp8         [V09,T06] (  3,  0   )    long  ->   x3         "fgMakeTemp is creating a new local variable"
+;  V10 tmp9         [V10,T04] (  5,  0   )     ref  ->   x0         class-hnd "spilling QMark2" <double[]>
+;  V11 PSPSym       [V11,T03] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
+;  V12 cse0         [V12,T02] (  5,  4   )    long  ->  x19         multi-def "CSE - aggressive"
 ;
-; Lcl frame size = 32
+; Lcl frame size = 24
 
 G_M52695_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x30]
+            stp     fp, lr, [sp, #-0x30]!
+            str     x19, [sp, #0x28]
             mov     fp, sp
-            add     x0, sp, #64
-            str     x0, [fp, #0x28]    // [V11 PSPSym]
+            add     x0, sp, #48
+            str     x0, [fp, #0x20]    // [V11 PSPSym]
                      ;; size=20 bbWeight=1 PerfScore 4.00
 G_M52695_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x19, #0xD1FFAB1E
@@ -41,10 +40,10 @@ G_M52695_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_NEWARR_1_VC
             ; gcrRegs +[x0]
             ; gcr arg pop 0
-            str     x0, [fp, #0x18]   // [V00 loc0]
+            str     x0, [fp, #0x10]  // [V00 loc0]
             ; GC ptr vars +{V00}
                        ;; size=28 bbWeight=1 PerfScore 4.50
-G_M52695_IG03:        ; bbWeight=8, gcVars=0000000000000100 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M52695_IG03:        ; bbWeight=8, gcVars=0000000000000080 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0]
             mov     w0, #2
             cmp     w0, #3
@@ -52,19 +51,17 @@ G_M52695_IG03:        ; bbWeight=8, gcVars=0000000000000100 {V00}, gcrefRegs=000
             movz    x0, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
-            ldr     x20, [x0]
-            ; gcrRegs +[x20]
-            mov     x1, x20
+            ldr     x1, [x0]
             ; gcrRegs +[x1]
-            cbz     x1, G_M52695_IG07
-                       ;; size=36 bbWeight=8 PerfScore 64.00
-G_M52695_IG04:        ; bbWeight=2, gcrefRegs=100002 {x1 x20}, byrefRegs=0000 {}, byref, isz
+            cbz     x1, G_M52695_IG03
+                       ;; size=32 bbWeight=8 PerfScore 60.00
+G_M52695_IG04:        ; bbWeight=2, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x1]
             add     x2, x19, #0xD1FFAB1E
             cmp     x0, x2
             beq     G_M52695_IG07
                        ;; size=16 bbWeight=2 PerfScore 10.00
-G_M52695_IG05:        ; bbWeight=1, gcrefRegs=100002 {x1 x20}, byrefRegs=0000 {}, byref
+G_M52695_IG05:        ; bbWeight=1, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
             mov     x0, x2
             bl      CORINFO_HELP_CHKCASTARRAY
             ; gcrRegs -[x1] +[x0]
@@ -72,60 +69,53 @@ G_M52695_IG05:        ; bbWeight=1, gcrefRegs=100002 {x1 x20}, byrefRegs=0000 {}
             b       G_M52695_IG07
                        ;; size=12 bbWeight=1 PerfScore 2.50
 G_M52695_IG06:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0 x20]
+            ; gcrRegs -[x0]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M52695_IG07:        ; bbWeight=8, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x20]
-            cbz     x20, G_M52695_IG03
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M52695_IG08:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, epilog, nogc
-            ; gcrRegs -[x20]
+G_M52695_IG07:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, epilog, nogc
             ; GC ptr vars -{V00}
-            ldp     x19, x20, [sp, #0x30]
-            ldp     fp, lr, [sp], #0x40
+            ldr     x19, [sp, #0x28]
+            ldp     fp, lr, [sp], #0x30
             ret     lr
-                        ;; size=12 bbWeight=1 PerfScore 3.00
-G_M52695_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
-            stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x20]
-            add     x3, fp, #64
-            str     x3, [sp, #0x18]
+                      ;; size=12 bbWeight=1 PerfScore 4.00
+G_M52695_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+            stp     fp, lr, [sp, #-0x20]!
+            str     x19, [sp, #0x18]
+            add     x3, fp, #48
+            str     x3, [sp, #0x10]
                         ;; size=16 bbWeight=0 PerfScore 0.00
-G_M52695_IG10:        ; bbWeight=0, gcVars=0000000000000100 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; GC ptr vars +{V00 V08}
-            ldr     x0, [fp, #0x18]    // [V00 loc0]
+G_M52695_IG09:        ; bbWeight=0, gcVars=0000000000000080 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; GC ptr vars +{V00 V07}
+            ldr     x0, [fp, #0x10]    // [V00 loc0]
             ; gcrRegs +[x0]
             ldr     s0, [x0, #0x10]
-            str     s0, [fp, #0x24]   // [V07 tmp6]
+            str     s0, [fp, #0x1C]  // [V07 tmp6]
             movz    x0, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
             ; gcrRegs -[x0]
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
-            ldr     x20, [x0]
-            ; gcrRegs +[x20]
-            mov     x0, x20
-            ; gcrRegs +[x0]
-            cbz     x0, G_M52695_IG11
             ldr     x1, [x0]
+            ; gcrRegs +[x1]
+            mov     x0, x1
+            ; gcrRegs +[x0]
+            cbz     x0, G_M52695_IG10
+            ldr     x2, [x0]
             movz    x19, #0xD1FFAB1E
             movk    x19, #0xD1FFAB1E LSL #16
             movk    x19, #1 LSL #32
-            add     x2, x19, #0xD1FFAB1E
-            cmp     x1, x2
-            beq     G_M52695_IG11
-            mov     x0, x2
+            add     x3, x19, #0xD1FFAB1E
+            cmp     x2, x3
+            beq     G_M52695_IG10
+            mov     x0, x3
             ; gcrRegs -[x0]
-            mov     x1, x20
-            ; gcrRegs +[x1]
-            ; GC ptr vars -{V00 V08}
+            ; GC ptr vars -{V00 V07}
             bl      CORINFO_HELP_CHKCASTARRAY
-            ; gcrRegs -[x1 x20] +[x0]
+            ; gcrRegs -[x1] +[x0]
             ; gcr arg pop 0
-                     ;; size=76 bbWeight=0 PerfScore 0.00
-G_M52695_IG11:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            ldr     s0, [fp, #0x24]    // [V07 tmp6]
+                     ;; size=72 bbWeight=0 PerfScore 0.00
+G_M52695_IG10:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldr     s0, [fp, #0x1C]    // [V07 tmp6]
             movz    x1, #0xD1FFAB1E      // code for Test.BB:Method1(float,double[])
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #1 LSL #32
@@ -133,15 +123,15 @@ G_M52695_IG11:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            adr     x0, [G_M52695_IG08]
+            adr     x0, [G_M52695_IG07]
                       ;; size=28 bbWeight=0 PerfScore 0.00
-G_M52695_IG12:        ; bbWeight=0, funclet epilog, nogc, extend
-            ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x30
+G_M52695_IG11:        ; bbWeight=0, funclet epilog, nogc, extend
+            ldr     x19, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x20
             ret     lr
                        ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 264, prolog size 20, PerfScore 96.00, instruction count 66, allocated bytes for code 264 (MethodHash=459c3228) for method Test.BB:TestEntryPoint() (FullOpts)
+; Total bytes of code 252, prolog size 20, PerfScore 85.00, instruction count 63, allocated bytes for code 252 (MethodHash=459c3228) for method Test.BB:TestEntryPoint() (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -152,7 +142,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 33 (0x00021) Actual length = 132 (0x000084)
+  Function Length   : 31 (0x0001f) Actual length = 124 (0x00007c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -160,8 +150,8 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    C8 06       save_regp X#0 Z#6 (0x06); stp x19, x20, [sp, #48]
-    87          save_fplr_x #7 (0x07); stp fp, lr, [sp, #-64]!
+    D0 05       save_reg X#0 Z#5 (0x05); str x19, [sp, #40]
+    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
     E4          end
     E4          end
@@ -175,14 +165,14 @@ Unwind Info:
   E bit             : 1
   X bit             : 0
   Vers              : 0
-  Function Length   : 33 (0x00021) Actual length = 132 (0x000084)
+  Function Length   : 32 (0x00020) Actual length = 128 (0x000080)
   --- One epilog, unwind codes at 0
   ---- Unwind codes ----
     ---- Epilog start at index 0 ----
-    C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
-    85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
+    D0 03       save_reg X#0 Z#3 (0x03); str x19, [sp, #24]
+    83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
     E4          end
 
 *************** EH table for Test.BB:TestEntryPoint()
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M52695_IG03..G_M52695_IG08) handled by [G_M52695_IG09..END) (class: 1000008)
+EH#0: try [G_M52695_IG03..G_M52695_IG07) handled by [G_M52695_IG08..END) (class: 1000008)
  
+0 (0.00%) : 447555.dasm - System.Xml.Xsl.IlGen.XmlILModule:DefineMethod(System.String,System.Type,System.Type[],System.String[],int):System.Reflection.MethodInfo:this (FullOpts)
@@ -241,7 +241,7 @@ G_M15401_IG02:        ; bbWeight=1, gcVars=00000000000000000000000000008000 {V04
             blr     x2
             ; gcrRegs -[x1]
             ; gcr arg pop 0
-            cbz     x0, G_M15401_IG27
+            cbz     x0, G_M15401_IG26
                       ;; size=76 bbWeight=1 PerfScore 22.00
 G_M15401_IG03:        ; bbWeight=4, gcrefRegs=9600000 {x21 x22 x24 x27}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0 x19]
@@ -281,11 +281,11 @@ G_M15401_IG05:        ; bbWeight=4, gcrefRegs=9600000 {x21 x22 x24 x27}, byrefRe
             str     wzr, [fp, #0xC8]   // [V11 loc5+0x10]
             strb    wzr, [fp, #0xCC]   // [V11 loc5+0x14]
             ldrb    w0, [fp, #0xCC]    // [V11 loc5+0x14]
-            cbnz    w0, G_M15401_IG23
+            cbnz    w0, G_M15401_IG28
                         ;; size=24 bbWeight=4 PerfScore 28.00
 G_M15401_IG06:        ; bbWeight=2, gcrefRegs=9600000 {x21 x22 x24 x27}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x2]
-            cbz     x27, G_M15401_IG23
+            cbz     x27, G_M15401_IG28
                         ;; size=4 bbWeight=2 PerfScore 2.00
 G_M15401_IG07:        ; bbWeight=2.00, gcrefRegs=9600000 {x21 x22 x24 x27}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [fp, #0xC8]    // [V11 loc5+0x10]
@@ -323,7 +323,7 @@ G_M15401_IG09:        ; bbWeight=2.00, gcrefRegs=9600000 {x21 x22 x24 x27}, byre
             str     w3, [fp, #0x94]    // [V178 cse10]
             ldr     w2, [fp, #0xB4]    // [V36 tmp21]
             cmp     w3, w2
-            bhi     G_M15401_IG23
+            bhi     G_M15401_IG28
                        ;; size=20 bbWeight=2.00 PerfScore 15.00
 G_M15401_IG10:        ; bbWeight=1.99, gcrefRegs=9600000 {x21 x22 x24 x27}, byrefRegs=80000 {x19}, byref
             add     x1, x27, #12
@@ -380,7 +380,7 @@ G_M15401_IG13:        ; bbWeight=2.00, gcrefRegs=9600000 {x21 x22 x24 x27}, byre
 G_M15401_IG14:        ; bbWeight=4.00, gcrefRegs=9600000 {x21 x22 x24 x27}, byrefRegs=80000 {x19}, byref, isz
             ldr     w2, [fp, #0xB0]    // [V49 tmp34]
             cmp     w2, #2
-            blo     G_M15401_IG29
+            blo     G_M15401_IG31
                        ;; size=12 bbWeight=4.00 PerfScore 14.00
 G_M15401_IG15:        ; bbWeight=1.99, gcrefRegs=9600000 {x21 x22 x24 x27}, byrefRegs=80000 {x19}, byref
             movz    x0, #0xD1FFAB1E
@@ -436,7 +436,7 @@ G_M15401_IG18:        ; bbWeight=2.00, gcrefRegs=9600000 {x21 x22 x24 x27}, byre
                        ;; size=40 bbWeight=2.00 PerfScore 16.00
 G_M15401_IG19:        ; bbWeight=4.00, gcrefRegs=9600000 {x21 x22 x24 x27}, byrefRegs=80000 {x19}, byref, isz
             ldr     w2, [fp, #0xAC]    // [V60 tmp45]
-            cbz     w2, G_M15401_IG32
+            cbz     w2, G_M15401_IG34
                         ;; size=8 bbWeight=4.00 PerfScore 12.00
 G_M15401_IG20:        ; bbWeight=1.99, gcrefRegs=9600000 {x21 x22 x24 x27}, byrefRegs=80000 {x19}, byref
             movz    x0, #0xD1FFAB1E
@@ -458,7 +458,7 @@ G_M15401_IG21:        ; bbWeight=4, gcrefRegs=9600000 {x21 x22 x24 x27}, byrefRe
             ; byrRegs +[x2]
             str     x2, [fp, #0x68]    // [V74 tmp59]
             ; GC ptr vars +{V74}
-            tbz     w19, #31, G_M15401_IG24
+            tbz     w19, #31, G_M15401_IG23
                      ;; size=28 bbWeight=4 PerfScore 38.00
 G_M15401_IG22:        ; bbWeight=2, gcVars=00000000000000000000000000008800 {V04 V74}, gcrefRegs=9600000 {x21 x22 x24 x27}, byrefRegs=0000 {}, gcvars, byref
             ; byrRegs -[x2]
@@ -480,24 +480,20 @@ G_M15401_IG22:        ; bbWeight=2, gcVars=00000000000000000000000000008800 {V04
             blr     x3
             ; gcrRegs -[x0-x2]
             ; gcr arg pop 0
-            b       G_M15401_IG33
-                       ;; size=52 bbWeight=2 PerfScore 21.00
-G_M15401_IG23:        ; bbWeight=0.01, gcVars=00000000000000000000000000008000 {V04}, gcrefRegs=9600000 {x21 x22 x24 x27}, byrefRegs=0000 {}, gcvars, byref
-            ; GC ptr vars -{V74 V175}
-            add     x0, fp, #184   // [V11 loc5]
-            mov     x1, x27
+            ldr     x0, [fp, #0x58]   // [V175 cse7]
+            ; gcrRegs +[x0]
+            mov     x1, x0
             ; gcrRegs +[x1]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #1 LSL #32
             ldr     x2, [x2]
+            ; GC ptr vars -{V175}
             blr     x2
-            ; gcrRegs -[x1]
+            ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            b       G_M15401_IG11
-                       ;; size=32 bbWeight=0.01 PerfScore 0.05
-G_M15401_IG24:        ; bbWeight=4, gcVars=00000000000000000000000000008800 {V04 V74}, gcrefRegs=9600000 {x21 x22 x24 x27}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; GC ptr vars +{V74}
+                     ;; size=76 bbWeight=2 PerfScore 35.00
+G_M15401_IG23:        ; bbWeight=4, gcrefRegs=9600000 {x21 x22 x24 x27}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [fp, #0x68]  // [V74 tmp59]
             ; byrRegs +[x0]
             sxtw    w1, w19
@@ -513,9 +509,9 @@ G_M15401_IG24:        ; bbWeight=4, gcVars=00000000000000000000000000008800 {V04
             stp     xzr, xzr, [fp, #0xB8]
             stp     xzr, xzr, [fp, #0xC8]
             str     xzr, [fp, #0xD8]
-            cbz     x1, G_M15401_IG26
+            cbz     x1, G_M15401_IG25
                      ;; size=36 bbWeight=4 PerfScore 40.00
-G_M15401_IG25:        ; bbWeight=1.93, gcrefRegs=9680002 {x1 x19 x21 x22 x24 x27}, byrefRegs=0000 {}, byref
+G_M15401_IG24:        ; bbWeight=1.93, gcrefRegs=9680002 {x1 x19 x21 x22 x24 x27}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             movz    x0, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
             movk    x0, #0xD1FFAB1E LSL #16
@@ -532,7 +528,7 @@ G_M15401_IG25:        ; bbWeight=1.93, gcrefRegs=9680002 {x1 x19 x21 x22 x24 x27
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
                        ;; size=44 bbWeight=1.93 PerfScore 26.11
-G_M15401_IG26:        ; bbWeight=4, gcrefRegs=9680000 {x19 x21 x22 x24 x27}, byrefRegs=0000 {}, byref, isz
+G_M15401_IG25:        ; bbWeight=4, gcrefRegs=9680000 {x19 x21 x22 x24 x27}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x21, #0x10]
             ; gcrRegs +[x0]
             mov     x1, x19
@@ -545,11 +541,11 @@ G_M15401_IG26:        ; bbWeight=4, gcrefRegs=9680000 {x19 x21 x22 x24 x27}, byr
             ; gcr arg pop 0
             cbnz    x0, G_M15401_IG03
                        ;; size=28 bbWeight=4 PerfScore 58.00
-G_M15401_IG27:        ; bbWeight=1, gcrefRegs=1680000 {x19 x21 x22 x24}, byrefRegs=0000 {}, byref, isz
+G_M15401_IG26:        ; bbWeight=1, gcrefRegs=1680000 {x19 x21 x22 x24}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0 x27]
-            cbnz    w28, G_M15401_IG34
+            cbnz    w28, G_M15401_IG38
                         ;; size=4 bbWeight=1 PerfScore 1.00
-G_M15401_IG28:        ; bbWeight=0.50, gcrefRegs=1680000 {x19 x21 x22 x24}, byrefRegs=0000 {}, byref, isz
+G_M15401_IG27:        ; bbWeight=0.50, gcrefRegs=1680000 {x19 x21 x22 x24}, byrefRegs=0000 {}, byref, isz
             ldr     w1, [x22, #0x08]
             add     w1, w1, #1
             sxtw    x1, w1
@@ -583,23 +579,23 @@ G_M15401_IG28:        ; bbWeight=0.50, gcrefRegs=1680000 {x19 x21 x22 x24}, byre
             ; gcr arg pop 0
             mov     x22, x26
             ; gcrRegs +[x22]
-            b       G_M15401_IG34
+            b       G_M15401_IG38
                      ;; size=108 bbWeight=0.50 PerfScore 13.00
-G_M15401_IG29:        ; bbWeight=0.01, gcrefRegs=9600000 {x21 x22 x24 x27}, byrefRegs=0000 {}, byref
+G_M15401_IG28:        ; bbWeight=0.01, gcrefRegs=9600000 {x21 x22 x24 x27}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19 x26] +[x27]
             add     x0, fp, #184   // [V11 loc5]
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #1 LSL #32
+            mov     x1, x27
+            ; gcrRegs +[x1]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #1 LSL #32
             ldr     x2, [x2]
             blr     x2
+            ; gcrRegs -[x1]
             ; gcr arg pop 0
-            b       G_M15401_IG16
-                       ;; size=40 bbWeight=0.01 PerfScore 0.07
-G_M15401_IG30:        ; bbWeight=0.50, gcVars=00000000000000000000000000818000 {V00 V04 V12}, gcrefRegs=8080000 {x19 x27}, byrefRegs=0000 {}, gcvars, byref, isz
+            b       G_M15401_IG11
+                       ;; size=32 bbWeight=0.01 PerfScore 0.05
+G_M15401_IG29:        ; bbWeight=0.50, gcVars=00000000000000000000000000818000 {V00 V04 V12}, gcrefRegs=8080000 {x19 x27}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x21-x22 x24] +[x19]
             ; GC ptr vars +{V00 V12 V16 V23}
             mov     w22, wzr
@@ -607,13 +603,13 @@ G_M15401_IG30:        ; bbWeight=0.50, gcVars=00000000000000000000000000818000 {
             ; gcrRegs +[x20]
             ldr     w0, [x20, #0x08]
             cmp     w0, #0
-            ble     G_M15401_IG51
+            ble     G_M15401_IG36
                        ;; size=20 bbWeight=0.50 PerfScore 3.50
-G_M15401_IG31:        ; bbWeight=0.25, gcVars=00000000000000000000000000810000 {V00 V12}, gcrefRegs=8180000 {x19 x20 x27}, byrefRegs=0000 {}, gcvars, byref
+G_M15401_IG30:        ; bbWeight=0.25, gcVars=00000000000000000000000000810000 {V00 V12}, gcrefRegs=8180000 {x19 x20 x27}, byrefRegs=0000 {}, gcvars, byref
             ; GC ptr vars -{V04 V16 V23}
-            b       G_M15401_IG45
+            b       G_M15401_IG32
                      ;; size=4 bbWeight=0.25 PerfScore 0.25
-G_M15401_IG32:        ; bbWeight=0.01, gcVars=00000000000000000000000000008000 {V04}, gcrefRegs=9600000 {x21 x22 x24 x27}, byrefRegs=0000 {}, gcvars, byref
+G_M15401_IG31:        ; bbWeight=0.01, gcVars=00000000000000000000000000008000 {V04}, gcrefRegs=9600000 {x21 x22 x24 x27}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x19-x20] +[x21-x22 x24]
             ; GC ptr vars -{V00 V12} +{V04}
             add     x0, fp, #184   // [V11 loc5]
@@ -626,46 +622,99 @@ G_M15401_IG32:        ; bbWeight=0.01, gcVars=00000000000000000000000000008000 {
             ldr     x2, [x2]
             blr     x2
             ; gcr arg pop 0
-            b       G_M15401_IG21
+            b       G_M15401_IG16
                       ;; size=40 bbWeight=0.01 PerfScore 0.07
-G_M15401_IG33:        ; bbWeight=2, gcVars=00000000000000000000000000008820 {V04 V74 V175}, gcrefRegs=9600000 {x21 x22 x24 x27}, byrefRegs=0000 {}, gcvars, byref
-            ; GC ptr vars +{V05 V74 V175}
-            ldr     x0, [fp, #0x58]    // [V175 cse7]
+G_M15401_IG32:        ; bbWeight=4, gcVars=00000000000000000000000000810000 {V00 V12}, gcrefRegs=8180000 {x19 x20 x27}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs -[x21-x22 x24] +[x19-x20]
+            ; GC ptr vars -{V04} +{V00 V12 V16 V23}
+            add     x0, x20, #16
+            ; byrRegs +[x0]
+            ldr     x3, [x0, w22, UXTW #3]
+            ; gcrRegs +[x3]
+            mov     x0, x3
             ; gcrRegs +[x0]
-            mov     x1, x0
-            ; gcrRegs +[x1]
+            ; byrRegs -[x0]
+            cbz     x0, G_M15401_IG35
+                       ;; size=16 bbWeight=4 PerfScore 20.00
+G_M15401_IG33:        ; bbWeight=1.88, gcrefRegs=8180009 {x0 x3 x19 x20 x27}, byrefRegs=0000 {}, byref
+            b       G_M15401_IG49
+                       ;; size=4 bbWeight=1.88 PerfScore 1.88
+G_M15401_IG34:        ; bbWeight=0.01, gcVars=00000000000000000000000000008000 {V04}, gcrefRegs=9600000 {x21 x22 x24 x27}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0 x3 x19-x20] +[x21-x22 x24]
+            ; GC ptr vars -{V00 V12 V16 V23} +{V04}
+            add     x0, fp, #184   // [V11 loc5]
+            movz    x1, #0xD1FFAB1E
+            movk    x1, #0xD1FFAB1E LSL #16
+            movk    x1, #1 LSL #32
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #1 LSL #32
             ldr     x2, [x2]
-            ; GC ptr vars -{V05 V175}
             blr     x2
-            ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            b       G_M15401_IG24
-                       ;; size=32 bbWeight=2 PerfScore 18.00
-G_M15401_IG34:        ; bbWeight=1, gcVars=00000000000000000000000000008000 {V04}, gcrefRegs=1680000 {x19 x21 x22 x24}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs -[x27] +[x19]
-            ; GC ptr vars -{V74}
+            b       G_M15401_IG21
+                       ;; size=40 bbWeight=0.01 PerfScore 0.07
+G_M15401_IG35:        ; bbWeight=4, gcVars=00000000000000000000000000810000 {V00 V12}, gcrefRegs=8180000 {x19 x20 x27}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs -[x21-x22 x24] +[x19-x20]
+            ; GC ptr vars -{V04} +{V00 V12 V16 V23}
+            add     w22, w22, #1
+            ldr     w0, [x20, #0x08]
+            cmp     w0, w22
+            bgt     G_M15401_IG32
+                       ;; size=16 bbWeight=4 PerfScore 20.00
+G_M15401_IG36:        ; bbWeight=1, gcVars=00000000000000000000000000010000 {V00}, gcrefRegs=8080000 {x19 x27}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x20]
+            ; GC ptr vars -{V12 V16 V23}
+            ldr     x21, [fp, #0x88]   // [V00 this]
+            ; gcrRegs +[x21]
+            ldr     x0, [x21, #0x10]
+            ; gcrRegs +[x0]
+            mov     x1, x19
+            ; gcrRegs +[x1]
+            mov     x2, x27
+            ; gcrRegs +[x2]
+            ldr     x3, [x0]
+            ldr     x3, [x3, #0x50]
+            ldr     x3, [x3, #0x28]
+            ; GC ptr vars -{V00}
+            blr     x3
...
  
+4 (+0.08%) : 421672.dasm - GenClass1[int]:DoTest_Inner[System.__Canon,System.__Canon,System.__Canon](int,GenClass1[System.Canon],GenClass1[System.__Canon],GenClass1[System.Canon]) (FullOpts)
@@ -15,20 +15,20 @@
 ;  V04 arg3         [V04,T56] (  3,  6   )     ref  ->  x22         class-hnd single-def <GenClass`1[System.__Canon]>
 ;  V05 loc0         [V05,T06] (  7, 23   )     int  ->  x24        
 ;  V06 loc1         [V06    ] (153,301.89)  struct (40) [fp+0x10]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
-;  V07 loc2         [V07,T07] (  7, 23   )     int  ->  x26        
+;  V07 loc2         [V07,T07] (  7, 23   )     int  ->  x27        
 ;  V08 loc3         [V08,T08] (  7, 23   )     int  ->  x25        
-;  V09 loc4         [V09,T09] (  7, 23   )     int  ->  x26        
+;  V09 loc4         [V09,T09] (  7, 23   )     int  ->  x27        
 ;# V10 OutArgs      [V10    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V11 tmp1         [V11,T38] (  5, 12   )     ref  ->  x25        
 ;* V12 tmp2         [V12    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V13 tmp3         [V13,T34] (  7, 12   )     ref  ->  x26        
-;  V14 tmp4         [V14,T39] (  5, 12   )     ref  ->  x27        
+;  V14 tmp4         [V14,T39] (  5, 12   )     ref  ->  x28        
 ;* V15 tmp5         [V15    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V16 tmp6         [V16,T35] (  6, 12   )     ref  ->   x1        
-;  V17 tmp7         [V17,T40] (  5, 12   )     ref  ->  x28        
+;  V17 tmp7         [V17,T40] (  5, 12   )     ref  ->  x26        
 ;* V18 tmp8         [V18    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V19 tmp9         [V19,T36] (  6, 12   )     ref  ->   x1        
-;  V20 tmp10        [V20,T41] (  5, 12   )     ref  ->  x27        
+;  V20 tmp10        [V20,T41] (  5, 12   )     ref  ->  x28        
 ;* V21 tmp11        [V21    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V22 tmp12        [V22,T37] (  6, 12   )     ref  ->  x24        
 ;* V23 tmp13        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.Buffers.SharedArrayPool`1[ushort]>
@@ -134,8 +134,8 @@
 ;* V123 tmp113      [V123    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V124 tmp114      [V124,T25] (  4, 16.00)     int  ->   x0         "Inlining Arg"
 ;* V125 tmp115      [V125    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V126 tmp116      [V126,T46] (  3, 12.00)     int  ->  x24         "Inlining Arg"
-;  V127 tmp117      [V127,T94] (  2,  7.98)   byref  ->  x21         "Inlining Arg"
+;  V126 tmp116      [V126,T46] (  3, 12.00)     int  ->  x21         "Inlining Arg"
+;  V127 tmp117      [V127,T94] (  2,  7.98)   byref  ->  x26         "Inlining Arg"
 ;* V128 tmp118      [V128    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V129 tmp119      [V129    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V130 tmp120      [V130,T185] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
@@ -206,7 +206,7 @@
 ;  V195 tmp185      [V195,T29] (  4, 16.00)     int  ->   x0         "Inlining Arg"
 ;* V196 tmp186      [V196    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V197 tmp187      [V197,T50] (  3, 12.00)     int  ->  x21         "Inlining Arg"
-;  V198 tmp188      [V198,T98] (  2,  7.98)   byref  ->  x27         "Inlining Arg"
+;  V198 tmp188      [V198,T98] (  2,  7.98)   byref  ->  x28         "Inlining Arg"
 ;* V199 tmp189      [V199    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V200 tmp190      [V200    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V201 tmp191      [V201,T189] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
@@ -273,7 +273,7 @@
 ;  V262 tmp252      [V262,T33] (  4, 16.00)     int  ->   x0         "Inlining Arg"
 ;* V263 tmp253      [V263    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V264 tmp254      [V264,T54] (  3, 12.00)     int  ->  x20         "Inlining Arg"
-;  V265 tmp255      [V265,T102] (  2,  7.98)   byref  ->  x28         "Inlining Arg"
+;  V265 tmp255      [V265,T102] (  2,  7.98)   byref  ->  x26         "Inlining Arg"
 ;* V266 tmp256      [V266,T193] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V267 tmp257      [V267    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V268 tmp258      [V268    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
@@ -294,7 +294,7 @@
 ;* V283 tmp273      [V283    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V284 tmp274      [V284    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
 ;  V285 tmp275      [V285,T90] (  2,  8   )     int  ->  x24         "Inlining Arg"
-;  V286 tmp276      [V286,T66] (  2,  8   )   byref  ->  x27         "Inlining Arg"
+;  V286 tmp276      [V286,T66] (  2,  8   )   byref  ->  x28         "Inlining Arg"
 ;  V287 tmp277      [V287,T120] (  3,  4.00)   byref  ->  x26         "field V28._reference (fldOffset=0x0)" P-INDEP
 ;  V288 tmp278      [V288,T128] (  3,  4.00)     int  ->  x27         "field V28._length (fldOffset=0x8)" P-INDEP
 ;* V289 tmp279      [V289    ] (  0,  0   )   byref  ->  zero-ref    "field V29._reference (fldOffset=0x0)" P-INDEP
@@ -351,8 +351,8 @@
 ;  V340 tmp330      [V340,T169] (  2,  4   )     int  ->   x3         "field V111._length (fldOffset=0x8)" P-INDEP
 ;* V341 tmp331      [V341    ] (  0,  0   )   byref  ->  zero-ref    "field V112._reference (fldOffset=0x0)" P-INDEP
 ;* V342 tmp332      [V342    ] (  0,  0   )     int  ->  zero-ref    "field V112._length (fldOffset=0x8)" P-INDEP
-;  V343 tmp333      [V343,T122] (  3,  4.00)   byref  ->  x28         "field V122._reference (fldOffset=0x0)" P-INDEP
-;  V344 tmp334      [V344,T130] (  3,  4.00)     int  ->   x2         "field V122._length (fldOffset=0x8)" P-INDEP
+;  V343 tmp333      [V343,T122] (  3,  4.00)   byref  ->   x2         "field V122._reference (fldOffset=0x0)" P-INDEP
+;  V344 tmp334      [V344,T130] (  3,  4.00)     int  ->   x3         "field V122._length (fldOffset=0x8)" P-INDEP
 ;* V345 tmp335      [V345    ] (  0,  0   )   byref  ->  zero-ref    "field V123._reference (fldOffset=0x0)" P-INDEP
 ;* V346 tmp336      [V346    ] (  0,  0   )     int  ->  zero-ref    "field V123._length (fldOffset=0x8)" P-INDEP
 ;* V347 tmp337      [V347    ] (  0,  0   )   byref  ->  zero-ref    "field V125._reference (fldOffset=0x0)" P-INDEP
@@ -560,7 +560,7 @@ G_M13079_IG03:        ; bbWeight=4, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=00
             mov     x25, x0
             ; gcrRegs +[x25]
             str     xzr, [fp, #0x10]   // [V06 loc1]
-            cbz     w24, G_M13079_IG28
+            cbz     w24, G_M13079_IG31
                        ;; size=60 bbWeight=4 PerfScore 88.00
 G_M13079_IG04:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -625,7 +625,7 @@ G_M13079_IG06:        ; bbWeight=2.00, gcrefRegs=2700000 {x20 x21 x22 x25}, byre
                        ;; size=64 bbWeight=2.00 PerfScore 30.00
 G_M13079_IG07:        ; bbWeight=2.00, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=4000000 {x26}, byref, isz
             cmp     w27, #8
-            blo     G_M13079_IG18
+            blo     G_M13079_IG21
                       ;; size=8 bbWeight=2.00 PerfScore 3.00
 G_M13079_IG08:        ; bbWeight=1.99, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=4000000 {x26}, byref
             movz    x0, #0xD1FFAB1E
@@ -677,7 +677,7 @@ G_M13079_IG10:        ; bbWeight=2.00, gcrefRegs=2700000 {x20 x21 x22 x25}, byre
                        ;; size=64 bbWeight=2.00 PerfScore 30.00
 G_M13079_IG11:        ; bbWeight=2.00, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=4000000 {x26}, byref, isz
             cmp     w27, #3
-            blo     G_M13079_IG20
+            blo     G_M13079_IG26
                       ;; size=8 bbWeight=2.00 PerfScore 3.00
 G_M13079_IG12:        ; bbWeight=1.99, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=4000000 {x26}, byref
             movz    x0, #0xD1FFAB1E
@@ -739,7 +739,7 @@ G_M13079_IG14:        ; bbWeight=2.00, gcrefRegs=2700000 {x20 x21 x22 x25}, byre
             ; gcrRegs -[x0-x1]
                        ;; size=64 bbWeight=2.00 PerfScore 30.00
 G_M13079_IG15:        ; bbWeight=2.00, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=4000000 {x26}, byref, isz
-            cbz     w27, G_M13079_IG21
+            cbz     w27, G_M13079_IG28
                         ;; size=4 bbWeight=2.00 PerfScore 2.00
 G_M13079_IG16:        ; bbWeight=1.99, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=4000000 {x26}, byref
             movz    x0, #0xD1FFAB1E
@@ -759,7 +759,7 @@ G_M13079_IG17:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRe
             bhi     G_M13079_IG105
             ldr     x27, [fp, #0x28]   // [V06 loc1+0x18]
             ; byrRegs +[x27]
-            tbz     w26, #31, G_M13079_IG25
+            tbz     w26, #31, G_M13079_IG18
             movz    x28, #0xD1FFAB1E
             movk    x28, #0xD1FFAB1E LSL #16
             movk    x28, #1 LSL #32
@@ -773,25 +773,6 @@ G_M13079_IG17:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRe
             ldr     x2, [x2]
             blr     x2
             ; gcrRegs -[x0-x1] +[x28]
-            b       G_M13079_IG24
-                       ;; size=68 bbWeight=2 PerfScore 35.00
-G_M13079_IG18:        ; bbWeight=0.01, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x28]
-            ; byrRegs -[x27]
-            add     x0, fp, #16    // [V06 loc1]
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #1 LSL #32
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #1 LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            b       G_M13079_IG09
-                       ;; size=40 bbWeight=0.01 PerfScore 0.07
-G_M13079_IG19:        ; bbWeight=2, gcrefRegs=12700000 {x20 x21 x22 x25 x28}, byrefRegs=8000000 {x27}, byref
-            ; gcrRegs +[x28]
-            ; byrRegs +[x27]
             mov     x0, x28
             ; gcrRegs +[x0]
             mov     x1, x28
@@ -802,35 +783,8 @@ G_M13079_IG19:        ; bbWeight=2, gcrefRegs=12700000 {x20 x21 x22 x25 x28}, by
             ldr     x2, [x2]
             blr     x2
             ; gcrRegs -[x0-x1 x28]
-            b       G_M13079_IG22
-                       ;; size=32 bbWeight=2 PerfScore 15.00
-G_M13079_IG20:        ; bbWeight=0.01, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x27]
-            add     x0, fp, #16    // [V06 loc1]
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #1 LSL #32
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #1 LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            b       G_M13079_IG13
-                       ;; size=40 bbWeight=0.01 PerfScore 0.07
-G_M13079_IG21:        ; bbWeight=0.01, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=0000 {}, byref
-            add     x0, fp, #16    // [V06 loc1]
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #1 LSL #32
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #1 LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            b       G_M13079_IG17
-                       ;; size=40 bbWeight=0.01 PerfScore 0.07
-G_M13079_IG22:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=8000000 {x27}, byref, isz
-            ; byrRegs +[x27]
+                     ;; size=92 bbWeight=2 PerfScore 46.00
+G_M13079_IG18:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=8000000 {x27}, byref, isz
             mov     x0, x27
             ; byrRegs +[x0]
             sxtw    w1, w26
@@ -844,43 +798,9 @@ G_M13079_IG22:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRe
             stp     xzr, xzr, [fp, #0x10]
             stp     xzr, xzr, [fp, #0x20]
             str     xzr, [fp, #0x30]
-            cbz     x1, G_M13079_IG31
+            cbz     x1, G_M13079_IG20
                      ;; size=36 bbWeight=2 PerfScore 17.00
-G_M13079_IG23:        ; bbWeight=1.93, gcrefRegs=6700002 {x1 x20 x21 x22 x25 x26}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0]
-            b       G_M13079_IG30
-                       ;; size=4 bbWeight=1.93 PerfScore 1.93
-G_M13079_IG24:        ; bbWeight=2, gcrefRegs=12700000 {x20 x21 x22 x25 x28}, byrefRegs=8000000 {x27}, byref
-            ; gcrRegs -[x1 x26] +[x28]
-            ; byrRegs +[x27]
-            mov     x0, x28
-            ; gcrRegs +[x0]
-            mov     x1, x28
-            ; gcrRegs +[x1]
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #1 LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            ; gcrRegs -[x0-x1 x28]
-                       ;; size=28 bbWeight=2 PerfScore 13.00
-G_M13079_IG25:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=8000000 {x27}, byref, isz
-            mov     x0, x27
-            ; byrRegs +[x0]
-            sxtw    w1, w26
-            bl      <unknown method>
-            ; gcrRegs +[x0]
-            ; byrRegs -[x0 x27]
-            mov     x26, x0
-            ; gcrRegs +[x26]
-            ldr     x1, [fp, #0x18]    // [V06 loc1+0x08]
-            ; gcrRegs +[x1]
-            stp     xzr, xzr, [fp, #0x10]
-            stp     xzr, xzr, [fp, #0x20]
-            str     xzr, [fp, #0x30]
-            cbz     x1, G_M13079_IG27
-                       ;; size=36 bbWeight=2 PerfScore 17.00
-G_M13079_IG26:        ; bbWeight=1.93, gcrefRegs=6700002 {x1 x20 x21 x22 x25 x26}, byrefRegs=0000 {}, byref
+G_M13079_IG19:        ; bbWeight=1.93, gcrefRegs=6700002 {x1 x20 x21 x22 x25 x26}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             movz    x0, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
             movk    x0, #0xD1FFAB1E LSL #16
@@ -896,35 +816,29 @@ G_M13079_IG26:        ; bbWeight=1.93, gcrefRegs=6700002 {x1 x20 x21 x22 x25 x26
             blr     x3
             ; gcrRegs -[x0-x1]
                        ;; size=44 bbWeight=1.93 PerfScore 26.11
-G_M13079_IG27:        ; bbWeight=2, gcrefRegs=6700000 {x20 x21 x22 x25 x26}, byrefRegs=0000 {}, byref
-            b       G_M13079_IG31
+G_M13079_IG20:        ; bbWeight=2, gcrefRegs=6700000 {x20 x21 x22 x25 x26}, byrefRegs=0000 {}, byref
+            b       G_M13079_IG29
                       ;; size=4 bbWeight=2 PerfScore 2.00
-G_M13079_IG28:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=0000 {}, byref, isz
+G_M13079_IG21:        ; bbWeight=0.01, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x26]
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #1 LSL #32
-            mov     w1, #11
-            bl      CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
-            movz    x0, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #2 LSL #32
...
  
+4 (+0.35%) : 414146.dasm - System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
@@ -8,13 +8,13 @@
 ; 3 inlinees with PGO data; 13 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T21] (  5,  2   )     ref  ->  x21         class-hnd single-def <System.Reflection.MethodInfo>
+;  V00 arg0         [V00,T20] (  5,  2   )     ref  ->  x21         class-hnd single-def <System.Reflection.MethodInfo>
 ;  V01 arg1         [V01,T11] (  7,  8.21)     ref  ->  x20         class-hnd single-def <System.Reflection.ParameterInfo[]>
 ;  V02 arg2         [V02,T04] (  9, 27.26)   byref  ->  x19         single-def
-;  V03 arg3         [V03,T22] (  4,  2   )     ref  ->  x22         class-hnd single-def <System.String>
+;  V03 arg3         [V03,T21] (  4,  2   )     ref  ->  x22         class-hnd single-def <System.String>
 ;  V04 loc0         [V04,T05] (  8, 29.22)     ref  ->  x22         class-hnd <<unknown class>>
 ;  V05 loc1         [V05,T02] ( 14, 50   )     int  ->  x23        
-;  V06 loc2         [V06,T19] (  3,  4.96)     int  ->  x25        
+;  V06 loc2         [V06,T18] (  3,  4.96)     int  ->  x25        
 ;  V07 loc3         [V07,T07] ( 11, 25.74)     ref  ->  x26         ld-addr-op class-hnd <System.Linq.Expressions.Expression>
 ;  V08 loc4         [V08,T10] (  3, 11.88)     ref  ->  x27         class-hnd <System.Reflection.ParameterInfo>
 ;  V09 loc5         [V09,T03] ( 13, 30.05)     ref  ->  x27         class-hnd <System.Type>
@@ -22,10 +22,10 @@
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V12 tmp1         [V12    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V13 tmp2         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Linq.Expressions.Expression>
-;  V14 tmp3         [V14,T25] (  3,  3   )     ref  ->   x0         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V14 tmp3         [V14,T24] (  3,  3   )     ref  ->   x0         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V15 tmp4         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.ObjectModel.ReadOnlyCollection`1[System.__Canon]>
 ;* V16 tmp5         [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.ObjectModel.ReadOnlyCollection`1[System.__Canon]>
-;  V17 tmp6         [V17,T23] (  2,  3.96)     int  ->   x0         "guarded devirt return temp"
+;  V17 tmp6         [V17,T22] (  2,  3.96)     int  ->   x0         "guarded devirt return temp"
 ;* V18 tmp7         [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.RuntimeType>
 ;* V19 tmp8         [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;  V20 tmp9         [V20,T13] (  2,  3.96)   ubyte  ->   x0         "Inline return value spill temp"
@@ -33,11 +33,11 @@
 ;  V22 tmp11        [V22,T14] (  2,  7.92)   ubyte  ->   x0         "Inline return value spill temp"
 ;* V23 tmp12        [V23,T26] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V24 tmp13        [V24,T27] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
-;  V25 tmp14        [V25,T18] (  2,  3.96)   ubyte  ->   x0         "Inline return value spill temp"
-;  V26 tmp15        [V26,T24] (  2,  3.96)   ubyte  ->   x2         "Inline return value spill temp"
-;  V27 tmp16        [V27,T17] (  4,  5.94)   ubyte  ->   x2         "Inline return value spill temp"
+;  V25 tmp14        [V25,T17] (  2,  3.96)   ubyte  ->   x0         "Inline return value spill temp"
+;  V26 tmp15        [V26,T23] (  2,  3.96)   ubyte  ->   x2         "Inline return value spill temp"
+;  V27 tmp16        [V27,T19] (  4,  4.46)   ubyte  ->   x2         "Inline return value spill temp"
 ;* V28 tmp17        [V28    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.RuntimeType>
-;* V29 tmp18        [V29,T20] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
+;* V29 tmp18        [V29,T25] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.RuntimeType>
 ;* V30 tmp19        [V30    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.ObjectModel.ReadOnlyCollection`1[System.__Canon]>
 ;* V31 tmp20        [V31    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.ObjectModel.ReadOnlyCollection`1[System.__Canon]>
 ;* V32 tmp21        [V32    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Collections.ObjectModel.ReadOnlyCollection`1[System.__Canon]>
@@ -73,7 +73,7 @@ G_M61964_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=44 bbWeight=1 PerfScore 8.50
 G_M61964_IG02:        ; bbWeight=1, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=80000 {x19}, byref, isz
             ldr     w0, [x20, #0x08]
-            cbz     w0, G_M61964_IG24
+            cbz     w0, G_M61964_IG25
                      ;; size=8 bbWeight=1 PerfScore 4.00
 G_M61964_IG03:        ; bbWeight=0.50, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=80000 {x19}, byref, isz
             ldr     w23, [x20, #0x08]
@@ -88,7 +88,7 @@ G_M61964_IG03:        ; bbWeight=0.50, gcrefRegs=700000 {x20 x21 x22}, byrefRegs
             blr     x1
             ; gcrRegs -[x0]
             cmp     w23, w0
-            bne     G_M61964_IG26
+            bne     G_M61964_IG27
             mov     x22, xzr
             mov     w23, wzr
             ldr     w25, [x20, #0x08]
@@ -149,7 +149,7 @@ G_M61964_IG06:        ; bbWeight=1.98, gcrefRegs=C700000 {x20 x21 x22 x26 x27},
             bl      <unknown method>
             ; gcrRegs -[x0]
             cmp     w0, #16
-            beq     G_M61964_IG27
+            beq     G_M61964_IG28
                       ;; size=16 bbWeight=1.98 PerfScore 5.94
 G_M61964_IG07:        ; bbWeight=3.96, gcrefRegs=C700000 {x20 x21 x22 x26 x27}, byrefRegs=80000 {x19}, byref, isz
             mov     x0, x27
@@ -255,7 +255,7 @@ G_M61964_IG13:        ; bbWeight=3.96, gcrefRegs=700000 {x20 x21 x22}, byrefRegs
                        ;; size=12 bbWeight=3.96 PerfScore 7.92
 G_M61964_IG14:        ; bbWeight=0.50, gcrefRegs=400000 {x22}, byrefRegs=80000 {x19}, byref, isz
             ; gcrRegs -[x20-x21]
-            cbz     x22, G_M61964_IG25
+            cbz     x22, G_M61964_IG26
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
@@ -294,7 +294,7 @@ G_M61964_IG16:        ; bbWeight=1.98, gcVars=0000000000000000 {}, gcrefRegs=C70
             ldr     x1, [x1, #0x18]
             blr     x1
             ; gcrRegs -[x0]
-            cbnz    w0, G_M61964_IG27
+            cbnz    w0, G_M61964_IG28
             b       G_M61964_IG07
                        ;; size=24 bbWeight=1.98 PerfScore 18.81
 G_M61964_IG17:        ; bbWeight=1.98, gcVars=0000000000000040 {V21}, gcrefRegs=C700000 {x20 x21 x22 x26 x27}, byrefRegs=80000 {x19}, gcvars, byref, isz
@@ -333,21 +333,15 @@ G_M61964_IG18:        ; bbWeight=1.98, gcrefRegs=C700000 {x20 x21 x22 x26 x27},
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #1 LSL #32
             cmp     x28, x1
-            beq     G_M61964_IG19
-            mov     w2, wzr
-            b       G_M61964_IG22
-                       ;; size=40 bbWeight=1.98 PerfScore 11.88
-G_M61964_IG19:        ; bbWeight=1.98, gcrefRegs=C700001 {x0 x20 x21 x22 x26 x27}, byrefRegs=80000 {x19}, byref, isz
-            ; gcrRegs +[x0]
+            bne     G_M61964_IG22
             cmp     x27, x0
-            bne     G_M61964_IG21
-                       ;; size=8 bbWeight=1.98 PerfScore 2.97
-G_M61964_IG20:        ; bbWeight=1.63, gcrefRegs=C700000 {x20 x21 x22 x26 x27}, byrefRegs=80000 {x19}, byref
-            ; gcrRegs -[x0]
+            bne     G_M61964_IG20
+                       ;; size=40 bbWeight=1.98 PerfScore 11.88
+G_M61964_IG19:        ; bbWeight=1.63, gcrefRegs=C700000 {x20 x21 x22 x26 x27}, byrefRegs=80000 {x19}, byref
             mov     w2, #1
-            b       G_M61964_IG22
+            b       G_M61964_IG21
                        ;; size=8 bbWeight=1.63 PerfScore 2.45
-G_M61964_IG21:        ; bbWeight=0.35, gcrefRegs=C700001 {x0 x20 x21 x22 x26 x27}, byrefRegs=80000 {x19}, byref
+G_M61964_IG20:        ; bbWeight=0.35, gcrefRegs=C700001 {x0 x20 x21 x22 x26 x27}, byrefRegs=80000 {x19}, byref
             ; gcrRegs +[x0]
             mov     x1, x27
             ; gcrRegs +[x1]
@@ -355,8 +349,8 @@ G_M61964_IG21:        ; bbWeight=0.35, gcrefRegs=C700001 {x0 x20 x21 x22 x26 x27
             ; gcrRegs -[x0-x1]
             sxtw    w2, w0
                        ;; size=12 bbWeight=0.35 PerfScore 0.70
-G_M61964_IG22:        ; bbWeight=1.98, gcrefRegs=C700000 {x20 x21 x22 x26 x27}, byrefRegs=80000 {x19}, byref, isz
-            cbnz    w2, G_M61964_IG23
+G_M61964_IG21:        ; bbWeight=1.98, gcrefRegs=C700000 {x20 x21 x22 x26 x27}, byrefRegs=80000 {x19}, byref, isz
+            cbnz    w2, G_M61964_IG24
             mov     x0, x27
             ; gcrRegs +[x0]
             movz    x1, #0xD1FFAB1E
@@ -366,9 +360,16 @@ G_M61964_IG22:        ; bbWeight=1.98, gcrefRegs=C700000 {x20 x21 x22 x26 x27},
             ldr     x2, [x2, #0x18]
             blr     x2
             ; gcrRegs -[x0]
-            cbz     w0, G_M61964_IG28
+            b       G_M61964_IG23
                       ;; size=36 bbWeight=1.98 PerfScore 21.78
+G_M61964_IG22:        ; bbWeight=0.49, gcrefRegs=C700000 {x20 x21 x22 x26 x27}, byrefRegs=80000 {x19}, byref
+            mov     w2, wzr
+            b       G_M61964_IG21
+                       ;; size=8 bbWeight=0.49 PerfScore 0.74
 G_M61964_IG23:        ; bbWeight=1.98, gcrefRegs=C700000 {x20 x21 x22 x26 x27}, byrefRegs=80000 {x19}, byref, isz
+            cbz     w0, G_M61964_IG29
+                       ;; size=4 bbWeight=1.98 PerfScore 1.98
+G_M61964_IG24:        ; bbWeight=1.98, gcrefRegs=C700000 {x20 x21 x22 x26 x27}, byrefRegs=80000 {x19}, byref, isz
             mov     x0, x27
             ; gcrRegs +[x0]
             mov     x1, x26
@@ -377,7 +378,7 @@ G_M61964_IG23:        ; bbWeight=1.98, gcrefRegs=C700000 {x20 x21 x22 x26 x27},
             ldr     x2, [x28, #0x08]
             blr     x2
             ; gcrRegs -[x0-x1]
-            cbz     w0, G_M61964_IG28
+            cbz     w0, G_M61964_IG29
             mov     x0, x26
             ; gcrRegs +[x0]
             movz    x1, #0xD1FFAB1E      // code for System.Linq.Expressions.Expression:Quote(System.Linq.Expressions.Expression):System.Linq.Expressions.UnaryExpression
@@ -390,7 +391,7 @@ G_M61964_IG23:        ; bbWeight=1.98, gcrefRegs=C700000 {x20 x21 x22 x26 x27},
             ; gcrRegs +[x26]
             b       G_M61964_IG08
                        ;; size=56 bbWeight=1.98 PerfScore 30.69
-G_M61964_IG24:        ; bbWeight=0.50, gcrefRegs=600000 {x21 x22}, byrefRegs=80000 {x19}, byref, isz
+G_M61964_IG25:        ; bbWeight=0.50, gcrefRegs=600000 {x21 x22}, byrefRegs=80000 {x19}, byref, isz
             ; gcrRegs -[x0 x20 x26]
             ldr     x0, [x19]
             ; gcrRegs +[x0]
@@ -404,9 +405,9 @@ G_M61964_IG24:        ; bbWeight=0.50, gcrefRegs=600000 {x21 x22}, byrefRegs=800
             ; gcrRegs -[x0]
             ; byrRegs -[x19]
             cmp     w0, #0
-            bgt     G_M61964_IG29
+            bgt     G_M61964_IG30
                        ;; size=40 bbWeight=0.50 PerfScore 6.75
-G_M61964_IG25:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M61964_IG26:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x21-x22]
             ldp     x27, x28, [sp, #0x60]
             ldp     x25, x26, [sp, #0x50]
@@ -416,7 +417,7 @@ G_M61964_IG25:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ldp     fp, lr, [sp], #0x70
             ret     lr
                        ;; size=28 bbWeight=0.50 PerfScore 3.50
-G_M61964_IG26:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=600000 {x21 x22}, byrefRegs=0000 {}, gcvars, byref
+G_M61964_IG27:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=600000 {x21 x22}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs +[x21-x22]
             mov     x0, x21
             ; gcrRegs +[x0]
@@ -431,7 +432,7 @@ G_M61964_IG26:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=600000
             bl      CORINFO_HELP_THROW
             ; gcrRegs -[x0]
                        ;; size=32 bbWeight=0 PerfScore 0.00
-G_M61964_IG27:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M61964_IG28:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
@@ -447,7 +448,7 @@ G_M61964_IG27:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_THROW
             ; gcrRegs -[x0]
                        ;; size=48 bbWeight=0 PerfScore 0.00
-G_M61964_IG28:        ; bbWeight=0, gcrefRegs=C200000 {x21 x26 x27}, byrefRegs=0000 {}, byref
+G_M61964_IG29:        ; bbWeight=0, gcrefRegs=C200000 {x21 x26 x27}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x21 x26-x27]
             mov     x0, x26
             ; gcrRegs +[x0]
@@ -482,7 +483,7 @@ G_M61964_IG28:        ; bbWeight=0, gcrefRegs=C200000 {x21 x26 x27}, byrefRegs=0
             bl      CORINFO_HELP_THROW
             ; gcrRegs -[x0]
                        ;; size=88 bbWeight=0 PerfScore 0.00
-G_M61964_IG29:        ; bbWeight=0, gcrefRegs=600000 {x21 x22}, byrefRegs=0000 {}, byref
+G_M61964_IG30:        ; bbWeight=0, gcrefRegs=600000 {x21 x22}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x21-x22]
             mov     x0, x21
             ; gcrRegs +[x0]
@@ -499,7 +500,7 @@ G_M61964_IG29:        ; bbWeight=0, gcrefRegs=600000 {x21 x22}, byrefRegs=0000 {
             brk_unix #0
                        ;; size=36 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1128, prolog size 28, PerfScore 800.26, instruction count 282, allocated bytes for code 1128 (MethodHash=154b0df3) for method System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
+; Total bytes of code 1132, prolog size 28, PerfScore 800.02, instruction count 283, allocated bytes for code 1132 (MethodHash=154b0df3) for method System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -510,7 +511,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 282 (0x0011a) Actual length = 1128 (0x000468)
+  Function Length   : 283 (0x0011b) Actual length = 1132 (0x00046c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
  
libraries.crossgen2.osx.arm64.checked.mch
-20 (-11.11%) : 254963.dasm - System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
@@ -8,27 +8,26 @@
 ; No matching PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T02] (  4, 14   )     ref  ->  x20         this class-hnd single-def <System.Net.HttpEndPointListener>
-;  V01 arg1         [V01,T01] (  5, 22   )     ref  ->  x19         class-hnd single-def <System.Net.Sockets.SocketAsyncEventArgs>
-;  V02 loc0         [V02,T00] (  3, 24   )   ubyte  ->  x21        
+;  V00 this         [V00,T01] (  4, 18   )     ref  ->  x20         this class-hnd single-def <System.Net.HttpEndPointListener>
+;  V01 arg1         [V01,T00] (  5, 26   )     ref  ->  x19         class-hnd single-def <System.Net.Sockets.SocketAsyncEventArgs>
+;  V02 loc0         [V02,T02] (  2, 16   )   ubyte  ->   x0        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
-;  V05 PSPSym       [V05,T03] (  1,  1   )    long  ->  [fp+0x10]  do-not-enreg[V] "PSPSym"
+;  V05 PSPSym       [V05,T03] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 16
 
 G_M14120_IG01:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     x19, x20, [sp, #0x20]
             mov     fp, sp
             add     x2, sp, #48
-            str     x2, [fp, #0x10]   // [V05 PSPSym]
+            str     x2, [fp, #0x18]    // [V05 PSPSym]
             mov     x20, x0
             ; gcrRegs +[x20]
             mov     x19, x1
             ; gcrRegs +[x19]
-                     ;; size=32 bbWeight=8 PerfScore 48.00
+                     ;; size=28 bbWeight=8 PerfScore 40.00
 G_M14120_IG02:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -52,12 +51,9 @@ G_M14120_IG02:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            sxtw    w21, w0
-                       ;; size=60 bbWeight=8 PerfScore 168.00
+                        ;; size=56 bbWeight=8 PerfScore 164.00
 G_M14120_IG03:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            cbnz    w21, G_M14120_IG05
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M14120_IG04:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+            cbnz    w0, G_M14120_IG04
             mov     x0, x20
             ; gcrRegs +[x0]
             mov     x1, x19
@@ -68,35 +64,30 @@ G_M14120_IG04:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-                      ;; size=24 bbWeight=4 PerfScore 24.00
-G_M14120_IG05:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            cbz     w21, G_M14120_IG02
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M14120_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            b       G_M14120_IG02
+                       ;; size=32 bbWeight=8 PerfScore 64.00
+G_M14120_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x19-x20]
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
+            ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x30
             ret     lr
-                       ;; size=16 bbWeight=1 PerfScore 5.00
-G_M14120_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                        ;; size=12 bbWeight=1 PerfScore 3.00
+G_M14120_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     x19, x20, [sp, #0x20]
             add     x3, fp, #48
-            str     x3, [sp, #0x10]
-                       ;; size=20 bbWeight=0 PerfScore 0.00
-G_M14120_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            adr     x0, [G_M14120_IG06]
+            str     x3, [sp, #0x18]
+                       ;; size=16 bbWeight=0 PerfScore 0.00
+G_M14120_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+            adr     x0, [G_M14120_IG04]
                         ;; size=4 bbWeight=0 PerfScore 0.00
-G_M14120_IG09:        ; bbWeight=0, funclet epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
+G_M14120_IG07:        ; bbWeight=0, funclet epilog, nogc, extend
+            ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x30
             ret     lr
-                       ;; size=16 bbWeight=0 PerfScore 0.00
+                      ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 180, prolog size 32, PerfScore 261.00, instruction count 45, allocated bytes for code 180 (MethodHash=c2bdc8d7) for method System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
+; Total bytes of code 160, prolog size 28, PerfScore 271.00, instruction count 40, allocated bytes for code 160 (MethodHash=c2bdc8d7) for method System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -107,7 +98,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 35 (0x00023) Actual length = 140 (0x00008c)
+  Function Length   : 32 (0x00020) Actual length = 128 (0x000080)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -115,31 +106,29 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
+    C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
     85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
     E4          end
+    E4          end
+    E4          end
 
 Unwind Info:
   >> Start offset   : 0xd1ffab1e (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 2
+  Code Words        : 1
   Epilog Count      : 0
   E bit             : 1
   X bit             : 0
   Vers              : 0
-  Function Length   : 10 (0x0000a) Actual length = 40 (0x000028)
+  Function Length   : 8 (0x00008) Actual length = 32 (0x000020)
   --- One epilog, unwind codes at 0
   ---- Unwind codes ----
     ---- Epilog start at index 0 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
+    C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
     85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
-    E4          end
-    E4          end
 
 *************** EH table for System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M14120_IG02..G_M14120_IG03) handled by [G_M14120_IG07..END) (class: 100003E)
+EH#0: try [G_M14120_IG02..G_M14120_IG03) handled by [G_M14120_IG05..END) (class: 100003E)
  
-24 (-4.65%) : 22481.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
@@ -9,10 +9,10 @@
 ; 0 inlinees with PGO data; 12 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] (  3,  3   )    long  ->  x19         single-def
-;  V01 arg1         [V01,T19] (  3,  3   )    long  ->  x20         single-def
-;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x20]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T20] (  4, 11   )    long  ->  x20        
+;  V00 arg0         [V00,T19] (  3,  3   )    long  ->  x19         single-def
+;  V01 arg1         [V01,T20] (  3,  3   )    long  ->  x20         single-def
+;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x28]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
+;  V03 loc1         [V03,T21] (  4, 11   )    long  ->  x20        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
@@ -20,14 +20,14 @@
 ;  V08 tmp1         [V08,T10] (  7, 84   )     ref  ->  x19         class-hnd single-def "non-inline candidate call" <<unknown class>>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V11 tmp4         [V11,T29] (  2,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V12 tmp5         [V12,T22] (  2,  4   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp4         [V11,T30] (  2,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp5         [V12,T23] (  2,  4   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp10        [V17,T08] (  2, 16   )     int  ->   x3         "Inlining Arg"
-;  V18 tmp11        [V18,T07] (  2, 16   )   byref  ->  x11         "Inlining Arg"
+;  V17 tmp10        [V17,T07] (  2, 16   )     int  ->   x3         "Inlining Arg"
+;  V18 tmp11        [V18,T06] (  2, 16   )   byref  ->  x11         "Inlining Arg"
 ;* V19 tmp12        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V21 tmp14        [V21,T12] (  2,  8   )   ubyte  ->   x0         "Inline return value spill temp"
@@ -41,30 +41,30 @@
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V30 tmp23        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V32 tmp25        [V32,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V32 tmp25        [V32,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V33 tmp26        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V34 tmp27        [V34,T23] (  3, 17   )     ref  ->  x14         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V35 tmp28        [V35,T21] (  4, 18   )     int  ->  x15         "Inline stloc first use temp"
-;  V36 tmp29        [V36,T17] (  3, 20   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [fp+0x10]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
-;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
-;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
-;  V40 tmp33        [V40,T02] (  4, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V41 tmp34        [V41,T03] (  4, 20   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V34 tmp27        [V34,T24] (  3, 17   )     ref  ->  x14         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V35 tmp28        [V35,T22] (  4, 18   )     int  ->  x15         "Inline stloc first use temp"
+;  V36 tmp29        [V36,T18] (  3, 20   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [fp+0x18]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
+;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
+;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
+;  V40 tmp33        [V40,T03] (  4, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V41 tmp34        [V41,T02] (  4, 20   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V42 tmp35        [V42,T00] (  6, 41   )     int  ->  x22         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V43 tmp36        [V43,T05] (  3, 17   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
-;  V44 tmp37        [V44,T13] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp38        [V45,T15] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp36        [V43,T13] (  2,  9   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
+;  V44 tmp37        [V44,T14] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp38        [V45,T16] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V46 tmp39        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V47 tmp40        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V48 tmp41        [V48,T24] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;  V48 tmp41        [V48,T25] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V49 tmp42        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V50 tmp43        [V50,T27] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
-;  V51 tmp44        [V51,T25] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
+;* V50 tmp43        [V50,T28] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
+;  V51 tmp44        [V51,T26] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
 ;  V52 tmp45        [V52,T11] (  3, 12   )   byref  ->  x11         "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V53 tmp46        [V53,T06] (  4, 16   )     int  ->   x3         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V54 tmp47        [V54,T14] (  2,  8   )   byref  ->  x11         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V55 tmp48        [V55,T16] (  2,  8   )     int  ->   x3         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V53 tmp46        [V53,T05] (  4, 16   )     int  ->   x3         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V54 tmp47        [V54,T15] (  2,  8   )   byref  ->  x11         "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V55 tmp48        [V55,T17] (  2,  8   )     int  ->   x3         "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp50        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V58 tmp51        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
@@ -80,27 +80,27 @@
 ;* V68 tmp61        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V69 tmp62        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;  V70 tmp63        [V70,T01] (  3, 48   )     ref  ->   x2         "arr expr"
-;  V71 tmp64        [V71,T30] (  2,  0   )     ref  ->   x0         single-def "argument with side effect"
-;  V72 PSPSym       [V72,T28] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
-;  V73 cse0         [V73,T04] (  3, 24   )     int  ->  x23         "CSE - aggressive"
-;  V74 cse1         [V74,T26] (  2, 16   )     int  ->  x12         "CSE - moderate"
+;  V71 tmp64        [V71,T31] (  2,  0   )     ref  ->   x0         single-def "argument with side effect"
+;  V72 PSPSym       [V72,T29] (  1,  1   )    long  ->  [fp+0x38]  do-not-enreg[V] "PSPSym"
+;  V73 cse0         [V73,T09] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V74 cse1         [V74,T04] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V75 cse2         [V75,T27] (  2, 16   )     int  ->  x12         "CSE - moderate"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 48
 
 G_M19804_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x38]
-            stp     x21, x22, [sp, #0x48]
-            str     x23, [sp, #0x58]
+            stp     x19, x20, [sp, #0x40]
+            stp     x21, x22, [sp, #0x50]
             mov     fp, sp
-            str     xzr, [fp, #0x20]  // [V02 loc0]
+            str     xzr, [fp, #0x28] // [V02 loc0]
             add     x2, sp, #96
-            str     x2, [fp, #0x30]   // [V72 PSPSym]
+            str     x2, [fp, #0x38]    // [V72 PSPSym]
             mov     x19, x0
             mov     x20, x1
-                      ;; size=40 bbWeight=1 PerfScore 8.00
+                      ;; size=36 bbWeight=1 PerfScore 7.00
 G_M19804_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x0, fp, #16    // [V37 tmp30]
+            add     x0, fp, #24 // [V37 tmp30]
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x1, x1, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x1]
@@ -115,9 +115,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             blr     x1
             ; byrRegs +[x0]
             ; gcr arg pop 0
-            stp     x0, x1, [fp, #0x20]   // [V02 loc0], [V02 loc0+0x08]
+            stp     x0, x1, [fp, #0x28] // [V02 loc0], [V02 loc0+0x08]
             ldrb    w2, [x20, #0x08]
-            cbz     w2, G_M19804_IG11
+            cbz     w2, G_M19804_IG10
             ldr     x19, [x20]
             ; gcrRegs +[x19]
             ldr     w21, [x19, #0x14]
@@ -127,9 +127,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M19804_IG04:        ; bbWeight=4, gcrefRegs=80004 {x2 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x2]
             ; byrRegs -[x0]
-            ldr     x0, [fp, #0x20]   // [V38 tmp31]
+            ldr     x0, [fp, #0x28] // [V38 tmp31]
             ; byrRegs +[x0]
-            ldr     w1, [fp, #0x28]  // [V39 tmp32]
+            ldr     w1, [fp, #0x30] // [V39 tmp32]
             cbnz    x2, G_M19804_IG05
             mov     x11, xzr
             ; byrRegs +[x11]
@@ -156,15 +156,15 @@ G_M19804_IG06:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0801 {x0 x1
             blr     x3
             ; byrRegs -[x0-x1]
             ; gcr arg pop 0
-            cbnz    w0, G_M19804_IG14
+            cbnz    w0, G_M19804_IG13
                       ;; size=36 bbWeight=4 PerfScore 36.00
 G_M19804_IG07:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            ldr     w23, [x19, #0x14]
-            cmp     w21, w23
-            bne     G_M19804_IG10
+            ldr     w2, [x19, #0x14]
+            cmp     w21, w2
+            bne     G_M19804_IG09
             ldr     w2, [x19, #0x10]
             cmp     w22, w2
-            bhs     G_M19804_IG11
+            bhs     G_M19804_IG10
             ldr     x2, [x19, #0x08]
             ; gcrRegs +[x2]
             ldr     w0, [x2, #0x08]
@@ -196,13 +196,9 @@ G_M19804_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=20 bbWeight=0 PerfScore 0.00
 G_M19804_IG10:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            cmp     w21, w23
-            bne     G_M19804_IG09
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldr     x19, [x20]
             ; gcrRegs +[x19]
-            add     x0, fp, #32  // [V02 loc0]
+            add     x0, fp, #40  // [V02 loc0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x11]
@@ -218,9 +214,9 @@ G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x14]
             ldr     w12, [x14, #0x08]
             cmp     w12, w15
-            bls     G_M19804_IG13
+            bls     G_M19804_IG12
                      ;; size=56 bbWeight=8 PerfScore 168.00
-G_M19804_IG12:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG11:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             add     w12, w15, #1
             str     w12, [x19, #0x10]
@@ -236,9 +232,9 @@ G_M19804_IG12:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000
             blr     x12
             ; gcrRegs -[x1 x15 x19]
             ; byrRegs -[x14]
-            b       G_M19804_IG14
+            b       G_M19804_IG13
                      ;; size=40 bbWeight=1 PerfScore 9.50
-G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG12:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x1 x19]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -249,31 +245,29 @@ G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {},
             ; gcrRegs -[x0-x1 x19]
             ; gcr arg pop 0
                        ;; size=20 bbWeight=1 PerfScore 5.50
-G_M19804_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x0, fp, #16    // [V37 tmp30]
+G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            add     x0, fp, #24    // [V37 tmp30]
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x1, x1, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x1]
             blr     x1
             ; gcr arg pop 0
                        ;; size=20 bbWeight=1 PerfScore 5.50
-G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x23, [sp, #0x58]
-            ldp     x21, x22, [sp, #0x48]
-            ldp     x19, x20, [sp, #0x38]
+G_M19804_IG14:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x50]
+            ldp     x19, x20, [sp, #0x40]
             ldp     fp, lr, [sp], #0x60
             ret     lr
-                       ;; size=20 bbWeight=1 PerfScore 6.00
-G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                      ;; size=16 bbWeight=1 PerfScore 4.00
+G_M19804_IG15:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             ; gcrRegs +[x0]
             stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            str     x23, [sp, #0x38]
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
             add     x3, fp, #96
-            str     x3, [sp, #0x10]
-                       ;; size=24 bbWeight=0 PerfScore 0.00
-G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
+            str     x3, [sp, #0x18]
+                       ;; size=20 bbWeight=0 PerfScore 0.00
+G_M19804_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
...
  
-24 (-2.87%) : 20531.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
@@ -9,74 +9,75 @@
 ; 0 inlinees with PGO data; 23 single block inlinees; 10 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T17] (  7,  7   )     ref  ->  [fp+0x20]  class-hnd EH-live single-def <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;  V01 arg1         [V01,T14] (  3, 10   )     int  ->  x19         single-def
+;  V00 arg0         [V00,T18] (  7,  7   )     ref  ->  [fp+0x18]  class-hnd EH-live single-def <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
+;  V01 arg1         [V01,T15] (  3, 10   )     int  ->  x19         single-def
 ;* V02 arg2         [V02    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Threading.CancellationToken>
-;  V03 loc0         [V03,T15] (  4, 11   )   ubyte  ->  [fp+0x2C]  do-not-enreg[Z] EH-live
-;  V04 loc1         [V04,T05] (  7, 28   )     ref  ->  [fp+0x18]  class-hnd exact EH-live spill-single-def <System.Threading.Tasks.Task+SetOnCountdownMres>
+;  V03 loc0         [V03,T16] (  4, 11   )   ubyte  ->  [fp+0x24]  do-not-enreg[Z] EH-live
+;  V04 loc1         [V04,T04] (  7, 28   )     ref  ->  [fp+0x10]  class-hnd exact EH-live spill-single-def <System.Threading.Tasks.Task+SetOnCountdownMres>
 ;* V05 loc2         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V06 loc3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
 ;* V07 loc4         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V08 loc5         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V10 tmp1         [V10,T19] (  4,  8   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task+SetOnCountdownMres>
+;  V10 tmp1         [V10,T21] (  4,  8   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task+SetOnCountdownMres>
 ;* V11 tmp2         [V11    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V12 tmp3         [V12    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V13 tmp4         [V13    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V14 tmp5         [V14,T20] (  3,  6   )     int  ->  x22         "Inlining Arg"
+;  V14 tmp5         [V14,T22] (  3,  6   )     int  ->  x22         "Inlining Arg"
 ;* V15 tmp6         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V16 tmp7         [V16    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V17 tmp8         [V17    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V18 tmp9         [V18    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V19 tmp10        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V20 tmp11        [V20,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V20 tmp11        [V20,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V21 tmp12        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
 ;* V22 tmp13        [V22    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V23 tmp14        [V23    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;* V24 tmp15        [V24,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V24 tmp15        [V24,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V25 tmp16        [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;  V26 tmp17        [V26,T16] (  2,  9   )     ref  ->  x20         single-def "field V02._source (fldOffset=0x0)" P-INDEP
-;  V27 tmp18        [V27,T04] (  4, 25   )     ref  ->  x22         single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V26 tmp17        [V26,T17] (  2,  9   )     ref  ->  x20         single-def "field V02._source (fldOffset=0x0)" P-INDEP
+;  V27 tmp18        [V27,T05] (  4, 25   )     ref  ->  x22         single-def "field V05._list (fldOffset=0x0)" P-INDEP
 ;  V28 tmp19        [V28,T07] (  3, 16   )     ref  ->   x1         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V29 tmp20        [V29,T00] (  6, 41   )     int  ->  x24         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V30 tmp21        [V30,T11] (  3, 17   )     int  ->  x23         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V30 tmp21        [V30,T19] (  2,  9   )     int  ->  x23         "field V05._version (fldOffset=0x14)" P-INDEP
 ;  V31 tmp22        [V31,T06] (  4, 25   )     ref  ->  x19         single-def "field V07._list (fldOffset=0x0)" P-INDEP
 ;  V32 tmp23        [V32,T08] (  3, 16   )     ref  ->   x0         "field V07._current (fldOffset=0x8)" P-INDEP
 ;  V33 tmp24        [V33,T01] (  6, 41   )     int  ->  x21         "field V07._index (fldOffset=0x10)" P-INDEP
-;  V34 tmp25        [V34,T18] (  2,  9   )     int  ->  x20         "field V07._version (fldOffset=0x14)" P-INDEP
-;  V35 tmp26        [V35,T22] (  3,  3   )     ref  ->  x22         single-def "field V17._list (fldOffset=0x0)" P-INDEP
+;  V34 tmp25        [V34,T20] (  2,  9   )     int  ->  x20         "field V07._version (fldOffset=0x14)" P-INDEP
+;  V35 tmp26        [V35,T24] (  3,  3   )     ref  ->  x22         single-def "field V17._list (fldOffset=0x0)" P-INDEP
 ;* V36 tmp27        [V36    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V17._current (fldOffset=0x8)" P-INDEP
-;* V37 tmp28        [V37,T26] (  0,  0   )     int  ->  zero-ref    "field V17._index (fldOffset=0x10)" P-INDEP
-;  V38 tmp29        [V38,T24] (  2,  2   )     int  ->  x23         "field V17._version (fldOffset=0x14)" P-INDEP
-;  V39 tmp30        [V39,T23] (  3,  3   )     ref  ->  x19         single-def "field V22._list (fldOffset=0x0)" P-INDEP
+;* V37 tmp28        [V37,T28] (  0,  0   )     int  ->  zero-ref    "field V17._index (fldOffset=0x10)" P-INDEP
+;  V38 tmp29        [V38,T26] (  2,  2   )     int  ->  x23         "field V17._version (fldOffset=0x14)" P-INDEP
+;  V39 tmp30        [V39,T25] (  3,  3   )     ref  ->  x19         single-def "field V22._list (fldOffset=0x0)" P-INDEP
 ;* V40 tmp31        [V40    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V22._current (fldOffset=0x8)" P-INDEP
-;* V41 tmp32        [V41,T27] (  0,  0   )     int  ->  zero-ref    "field V22._index (fldOffset=0x10)" P-INDEP
-;  V42 tmp33        [V42,T25] (  2,  2   )     int  ->  x20         "field V22._version (fldOffset=0x14)" P-INDEP
-;  V43 tmp34        [V43,T21] (  2,  4   )     int  ->   x2         "argument with side effect"
+;* V41 tmp32        [V41,T29] (  0,  0   )     int  ->  zero-ref    "field V22._index (fldOffset=0x10)" P-INDEP
+;  V42 tmp33        [V42,T27] (  2,  2   )     int  ->  x20         "field V22._version (fldOffset=0x14)" P-INDEP
+;  V43 tmp34        [V43,T23] (  2,  4   )     int  ->   x2         "argument with side effect"
 ;  V44 tmp35        [V44,T02] (  3, 48   )     ref  ->   x1         "arr expr"
 ;  V45 tmp36        [V45,T03] (  3, 48   )     ref  ->   x0         "arr expr"
-;  V46 PSPSym       [V46,T28] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
-;  V47 cse0         [V47,T09] (  3, 24   )     int  ->  x25         "CSE - aggressive"
-;  V48 cse1         [V48,T10] (  2, 16   )     int  ->   x0         "CSE - aggressive"
+;  V46 PSPSym       [V46,T30] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
+;  V47 cse0         [V47,T13] (  2, 16   )     int  ->   x1         "CSE - aggressive"
+;  V48 cse1         [V48,T09] (  2, 16   )     int  ->   x1         "CSE - aggressive"
+;  V49 cse2         [V49,T14] (  2, 16   )     int  ->   x0         "CSE - aggressive"
+;  V50 cse3         [V50,T10] (  2, 16   )     int  ->   x0         "CSE - aggressive"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 32
 
 G_M12834_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x70]!
-            stp     x19, x20, [sp, #0x38]
-            stp     x21, x22, [sp, #0x48]
-            stp     x23, x24, [sp, #0x58]
-            str     x25, [sp, #0x68]
+            stp     fp, lr, [sp, #-0x60]!
+            stp     x19, x20, [sp, #0x30]
+            stp     x21, x22, [sp, #0x40]
+            stp     x23, x24, [sp, #0x50]
             mov     fp, sp
-            add     x3, sp, #112
-            str     x3, [fp, #0x30]    // [V46 PSPSym]
-            str     x0, [fp, #0x20]    // [V00 arg0]
+            add     x3, sp, #96
+            str     x3, [fp, #0x28]    // [V46 PSPSym]
+            str     x0, [fp, #0x18]    // [V00 arg0]
             ; GC ptr vars +{V00}
             mov     w19, w1
             mov     x20, x2
             ; gcrRegs +[x20]
-                     ;; size=44 bbWeight=1 PerfScore 9.00
-G_M12834_IG02:        ; bbWeight=1, gcVars=0000000000020000 {V00}, gcrefRegs=100001 {x0 x20}, byrefRegs=0000 {}, gcvars, byref, isz
+                      ;; size=40 bbWeight=1 PerfScore 8.00
+G_M12834_IG02:        ; bbWeight=1, gcVars=0000000000040000 {V00}, gcrefRegs=100001 {x0 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x0]
             cbnz    x0, G_M12834_IG03
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]      // const ptr
@@ -96,7 +97,7 @@ G_M12834_IG02:        ; bbWeight=1, gcVars=0000000000020000 {V00}, gcrefRegs=100
             ; gcr arg pop 0
                        ;; size=52 bbWeight=1 PerfScore 20.00
 G_M12834_IG03:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
-            ldr     x0, [fp, #0x20] // [V00 arg0]
+            ldr     x0, [fp, #0x18]  // [V00 arg0]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x10]
             cmp     w1, #0
@@ -118,7 +119,7 @@ G_M12834_IG03:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, b
             ; gcr arg pop 0
                        ;; size=64 bbWeight=1 PerfScore 25.50
 G_M12834_IG04:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
-            str     wzr, [fp, #0x2C]    // [V03 loc0]
+            str     wzr, [fp, #0x24] // [V03 loc0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x11]
@@ -127,7 +128,7 @@ G_M12834_IG04:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, b
             ; gcr arg pop 0
             mov     x21, x0
             ; gcrRegs +[x21]
-            ldr     x0, [fp, #0x20]  // [V00 arg0]
+            ldr     x0, [fp, #0x18]  // [V00 arg0]
             ldr     w22, [x0, #0x10]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
@@ -168,11 +169,11 @@ G_M12834_IG04:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, b
                        ;; size=132 bbWeight=1 PerfScore 46.00
 G_M12834_IG05:        ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
             str     w22, [x21, #0x1C]
-            str     x21, [fp, #0x18]    // [V04 loc1]
+            str     x21, [fp, #0x10] // [V04 loc1]
             ; GC ptr vars +{V04}
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M12834_IG06:        ; bbWeight=1, gcVars=0000000000020020 {V00 V04}, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, gcvars, byref
-            ldr     x0, [fp, #0x20]    // [V00 arg0]
+G_M12834_IG06:        ; bbWeight=1, gcVars=0000000000040010 {V00 V04}, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, gcvars, byref
+            ldr     x0, [fp, #0x18]    // [V00 arg0]
             ; gcrRegs +[x0]
             mov     x22, x0
             ; gcrRegs +[x22]
@@ -232,12 +233,12 @@ G_M12834_IG08:        ; bbWeight=4, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=00
             ; gcr arg pop 0
                        ;; size=56 bbWeight=4 PerfScore 92.00
 G_M12834_IG09:        ; bbWeight=8, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0000 {}, byref, isz
-            ldr     w25, [x22, #0x14]
-            cmp     w23, w25
-            bne     G_M12834_IG12
+            ldr     w1, [x22, #0x14]
+            cmp     w23, w1
+            bne     G_M12834_IG11
             ldr     w1, [x22, #0x10]
             cmp     w24, w1
-            bhs     G_M12834_IG13
+            bhs     G_M12834_IG12
             ldr     x1, [x22, #0x08]
             ; gcrRegs +[x1]
             ldr     w11, [x1, #0x08]
@@ -269,12 +270,8 @@ G_M12834_IG11:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, b
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=20 bbWeight=0 PerfScore 0.00
-G_M12834_IG12:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M12834_IG12:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x20]
-            cmp     w23, w25
-            bne     G_M12834_IG11
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M12834_IG13:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
             mov     x0, x21
             ; gcrRegs +[x0]
             mov     x2, x20
@@ -286,56 +283,54 @@ G_M12834_IG13:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {
             blr     x3
             ; gcrRegs -[x0 x2 x20]
             ; gcr arg pop 0
-            str     w0, [fp, #0x2C]   // [V03 loc0]
+            str     w0, [fp, #0x24]  // [V03 loc0]
                        ;; size=32 bbWeight=8 PerfScore 60.00
-G_M12834_IG14:        ; bbWeight=1, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
-            ldr     x0, [fp, #0x30]    // [V46 PSPSym]
-            bl      G_M12834_IG18
+G_M12834_IG13:        ; bbWeight=1, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
+            ldr     x0, [fp, #0x28]    // [V46 PSPSym]
+            bl      G_M12834_IG17
                       ;; size=8 bbWeight=1 PerfScore 3.00
-G_M12834_IG15:        ; bbWeight=1, nogc, extend
+G_M12834_IG14:        ; bbWeight=1, nogc, extend
             nop     
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M12834_IG16:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M12834_IG15:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x21]
             ; GC ptr vars -{V00 V04}
-            ldr     w0, [fp, #0x2C]  // [V03 loc0]
+            ldr     w0, [fp, #0x24]  // [V03 loc0]
                        ;; size=4 bbWeight=1 PerfScore 2.00
-G_M12834_IG17:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x25, [sp, #0x68]
-            ldp     x23, x24, [sp, #0x58]
-            ldp     x21, x22, [sp, #0x48]
-            ldp     x19, x20, [sp, #0x38]
-            ldp     fp, lr, [sp], #0x70
+G_M12834_IG16:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x23, x24, [sp, #0x50]
+            ldp     x21, x22, [sp, #0x40]
+            ldp     x19, x20, [sp, #0x30]
+            ldp     fp, lr, [sp], #0x60
             ret     lr
-                        ;; size=24 bbWeight=1 PerfScore 7.00
-G_M12834_IG18:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                        ;; size=20 bbWeight=1 PerfScore 5.00
+G_M12834_IG17:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             stp     fp, lr, [sp, #-0x50]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            stp     x23, x24, [sp, #0x38]
-            str     x25, [sp, #0x48]
-            add     x3, fp, #112
-            str     x3, [sp, #0x10]
-                       ;; size=28 bbWeight=1 PerfScore 6.50
-G_M12834_IG19:        ; bbWeight=1, gcVars=0000000000020020 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
+            stp     x23, x24, [sp, #0x40]
+            add     x3, fp, #96
+            str     x3, [sp, #0x18]
+                       ;; size=24 bbWeight=1 PerfScore 5.50
+G_M12834_IG18:        ; bbWeight=1, gcVars=0000000000040010 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ; GC ptr vars +{V00 V04}
-            ldr     w0, [fp, #0x2C]   // [V03 loc0]
-            cbnz    w0, G_M12834_IG24
-            ldr     x0, [fp, #0x20]    // [V00 arg0]
+            ldr     w0, [fp, #0x24]  // [V03 loc0]
+            cbnz    w0, G_M12834_IG23
+            ldr     x0, [fp, #0x18]    // [V00 arg0]
             ; gcrRegs +[x0]
             mov     x19, x0
             ; gcrRegs +[x19]
             ldr     w20, [x19, #0x14]
...
  
+0 (0.00%) : 243245.dasm - ParallelRunner:BuildProjects(int,int,int,int,System.Collections.Generic.List`1[ProcessInfo],ReadyToRunJittedMethods,int) (FullOpts)
@@ -10,36 +10,36 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T26] (  4,   4   )     int  ->  x24         single-def
-;  V01 arg1         [V01,T14] (  4,  35   )     int  ->  x19         single-def
-;  V02 arg2         [V02,T16] (  3,  34   )     int  ->  x21         single-def
-;  V03 arg3         [V03    ] (  5, 354   )     int  ->  [fp+0x34]  do-not-enreg[X] addr-exposed ld-addr-op single-def
-;  V04 arg4         [V04,T24] (  3,   6   )     ref  ->  x23         class-hnd single-def <System.Collections.Generic.List`1[ProcessInfo]>
-;  V05 arg5         [V05,T15] (  3,  34   )     ref  ->  x20         class-hnd single-def <ReadyToRunJittedMethods>
-;  V06 arg6         [V06,T23] (  7,   8.50)     int  ->  x22         single-def
-;  V07 loc0         [V07,T22] (  7,  15   )     ref  ->  [fp+0x18]  class-hnd exact EH-live single-def <System.Threading.AutoResetEvent>
+;  V01 arg1         [V01,T20] (  4,   7   )     int  ->  x20         single-def
+;  V02 arg2         [V02,T23] (  3,   6   )     int  ->  x23         single-def
+;  V03 arg3         [V03    ] (  5, 326   )     int  ->  [fp+0x34]  do-not-enreg[X] addr-exposed ld-addr-op single-def
+;  V04 arg4         [V04,T21] (  3,   6   )     ref  ->  x21         class-hnd single-def <System.Collections.Generic.List`1[ProcessInfo]>
+;  V05 arg5         [V05,T22] (  3,   6   )     ref  ->  x22         class-hnd single-def <ReadyToRunJittedMethods>
+;  V06 arg6         [V06,T19] (  7,   8.50)     int  ->  x19         single-def
+;  V07 loc0         [V07,T18] (  7,  15   )     ref  ->  [fp+0x18]  class-hnd exact EH-live single-def <System.Threading.AutoResetEvent>
 ;  V08 loc1         [V08,T07] (  8, 125.50)     ref  ->  x26         class-hnd exact single-def <<unknown class>>
-;  V09 loc2         [V09    ] (  4, 353   )     int  ->  [fp+0x28]  do-not-enreg[X] must-init addr-exposed ld-addr-op
-;  V10 loc3         [V10,T20] (  3,  24   )   ubyte  ->  x22        
-;  V11 loc4         [V11,T21] ( 12,  21.04)     int  ->  x27        
-;  V12 loc5         [V12,T10] (  7, 134   )     int  ->  x24        
-;  V13 loc6         [V13,T17] (  2,  36   )     ref  ->  x22         class-hnd <ProcessInfo>
-;  V14 loc7         [V14,T06] (  4, 196   )     ref  ->  x27         class-hnd <ParallelRunner+ProcessSlot>
-;* V15 loc8         [V15,T19] (  0,   0   )     ref  ->  zero-ref    class-hnd exact <<unknown class>>
+;  V09 loc2         [V09    ] (  4, 325   )     int  ->  [fp+0x28]  do-not-enreg[X] must-init addr-exposed ld-addr-op
+;  V10 loc3         [V10,T15] (  3,  24   )   ubyte  ->  x19        
+;  V11 loc4         [V11,T17] ( 12,  21.04)     int  ->  x27        
+;  V12 loc5         [V12,T16] (  7,  22   )     int  ->  x24        
+;  V13 loc6         [V13,T24] (  2,   8   )     ref  ->  x19         class-hnd <ProcessInfo>
+;  V14 loc7         [V14,T06] (  4, 168   )     ref  ->  x27         class-hnd <ParallelRunner+ProcessSlot>
+;* V15 loc8         [V15,T14] (  0,   0   )     ref  ->  zero-ref    class-hnd exact <<unknown class>>
 ;  V16 loc9         [V16,T04] (  5, 288   )     int  ->  x28        
 ;  V17 loc10        [V17,T01] (  5, 768   )     ref  ->  [fp+0x10]  class-hnd spill-single-def <ParallelRunner+ProcessSlot>
 ;* V18 loc11        [V18,T25] (  0,   0   )     ref  ->  zero-ref    class-hnd exact <<unknown class>>
-;  V19 loc12        [V19,T12] (  5,  72   )     int  ->  x24        
+;  V19 loc12        [V19,T11] (  5,  72   )     int  ->  x24        
 ;  V20 loc13        [V20,T09] (  4, 160   )     ref  ->  x27         class-hnd <ParallelRunner+ProcessSlot>
 ;# V21 OutArgs      [V21    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V22 tmp1         [V22,T27] (  3,   6   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Threading.AutoResetEvent>
-;  V23 tmp2         [V23,T18] (  8,  32   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <ParallelRunner+ProcessSlot>
+;  V23 tmp2         [V23,T13] (  8,  32   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <ParallelRunner+ProcessSlot>
 ;* V24 tmp3         [V24,T05] (  0,   0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V25 tmp4         [V25,T00] (  4,2048   )     ref  ->  x27         class-hnd "Inlining Arg" <ProcessRunner>
-;* V26 tmp5         [V26,T13] (  0,   0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V27 tmp6         [V27,T02] (  4, 512   )     ref  ->  x19         class-hnd "Inlining Arg" <ProcessRunner>
+;* V26 tmp5         [V26,T12] (  0,   0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V27 tmp6         [V27,T02] (  4, 512   )     ref  ->  x20         class-hnd "Inlining Arg" <ProcessRunner>
 ;  V28 PSPSym       [V28,T28] (  1,   1   )    long  ->  [fp+0x38]  do-not-enreg[V] "PSPSym"
 ;  V29 cse0         [V29,T03] (  3, 384   )     ref  ->   x0         "CSE - aggressive"
-;  V30 cse1         [V30,T11] (  3,  96   )     ref  ->   x0         "CSE - aggressive"
+;  V30 cse1         [V30,T10] (  3,  96   )     ref  ->   x0         "CSE - aggressive"
 ;  V31 cse2         [V31,T08] (  9, 161.04)     int  ->  [fp+0x24]  multi-def "CSE - aggressive"
 ;
 ; Lcl frame size = 48
@@ -57,15 +57,15 @@ G_M64833_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             str     x7, [fp, #0x38]    // [V28 PSPSym]
             str     w3, [fp, #0x34]    // [V03 arg3]
             mov     w24, w0
-            mov     w19, w1
-            mov     w21, w2
-            mov     x23, x4
-            ; gcrRegs +[x23]
-            mov     x20, x5
-            ; gcrRegs +[x20]
-            mov     w22, w6
+            mov     w20, w1
+            mov     w23, w2
+            mov     x21, x4
+            ; gcrRegs +[x21]
+            mov     x22, x5
+            ; gcrRegs +[x22]
+            mov     w19, w6
                         ;; size=68 bbWeight=1 PerfScore 13.00
-G_M64833_IG02:        ; bbWeight=1, gcrefRegs=900000 {x20 x23}, byrefRegs=0000 {}, byref
+G_M64833_IG02:        ; bbWeight=1, gcrefRegs=600000 {x21 x22}, byrefRegs=0000 {}, byref
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x11]
@@ -84,8 +84,8 @@ G_M64833_IG02:        ; bbWeight=1, gcrefRegs=900000 {x20 x23}, byrefRegs=0000 {
             str     x25, [fp, #0x18]   // [V07 loc0]
             ; GC ptr vars +{V07}
                        ;; size=44 bbWeight=1 PerfScore 12.00
-G_M64833_IG03:        ; bbWeight=1, gcVars=0000000000400000 {V07}, gcrefRegs=2900000 {x20 x23 x25}, byrefRegs=0000 {}, gcvars, byref, isz
-            sxtw    x0, w22
+G_M64833_IG03:        ; bbWeight=1, gcVars=0000000000040000 {V07}, gcrefRegs=2600000 {x21 x22 x25}, byrefRegs=0000 {}, gcvars, byref, isz
+            sxtw    x0, w19
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x11]
@@ -95,16 +95,16 @@ G_M64833_IG03:        ; bbWeight=1, gcVars=0000000000400000 {V07}, gcrefRegs=290
             mov     x26, x0
             ; gcrRegs +[x26]
             mov     w27, wzr
-            cmp     w22, #0
+            cmp     w19, #0
             ble     G_M64833_IG06
                        ;; size=36 bbWeight=1 PerfScore 8.00
-G_M64833_IG04:        ; bbWeight=0.50, gcrefRegs=6900000 {x20 x23 x25 x26}, byrefRegs=0000 {}, byref, isz
+G_M64833_IG04:        ; bbWeight=0.50, gcrefRegs=6600000 {x21 x22 x25 x26}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
             ldr     w28, [x26, #0x08]
-            cmp     w28, w22
+            cmp     w28, w19
             blt     G_M64833_IG14
                        ;; size=12 bbWeight=0.50 PerfScore 2.25
-G_M64833_IG05:        ; bbWeight=3.96, gcrefRegs=6900000 {x20 x23 x25 x26}, byrefRegs=0000 {}, byref, isz
+G_M64833_IG05:        ; bbWeight=3.96, gcrefRegs=6600000 {x21 x22 x25 x26}, byrefRegs=0000 {}, byref, isz
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x11]
@@ -134,16 +134,16 @@ G_M64833_IG05:        ; bbWeight=3.96, gcrefRegs=6900000 {x20 x23 x25 x26}, byre
             ; gcrRegs -[x0 x15]
             ; byrRegs -[x14]
             add     w27, w27, #1
-            cmp     w27, w22
+            cmp     w27, w19
             blt     G_M64833_IG05
                        ;; size=84 bbWeight=3.96 PerfScore 83.16
-G_M64833_IG06:        ; bbWeight=1, gcrefRegs=6900000 {x20 x23 x25 x26}, byrefRegs=0000 {}, byref, isz
+G_M64833_IG06:        ; bbWeight=1, gcrefRegs=6600000 {x21 x22 x25 x26}, byrefRegs=0000 {}, byref, isz
             str     w24, [fp, #0x28]    // [V09 loc2]
-            cmp     w24, w19
+            cmp     w24, w20
             bge     G_M64833_IG19
                        ;; size=12 bbWeight=1 PerfScore 2.50
-G_M64833_IG07:        ; bbWeight=4, gcrefRegs=6900000 {x20 x23 x25 x26}, byrefRegs=0000 {}, byref
-            mov     x0, x23
+G_M64833_IG07:        ; bbWeight=4, gcrefRegs=6600000 {x21 x22 x25 x26}, byrefRegs=0000 {}, byref
+            mov     x0, x21
             ; gcrRegs +[x0]
             mov     w1, w24
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -152,12 +152,12 @@ G_M64833_IG07:        ; bbWeight=4, gcrefRegs=6900000 {x20 x23 x25 x26}, byrefRe
             ldr     x2, [x11]
             blr     x2
             ; gcr arg pop 0
-            mov     x22, x0
-            ; gcrRegs +[x22]
+            mov     x19, x0
+            ; gcrRegs +[x19]
             mov     x27, xzr
             ; gcrRegs +[x27]
                        ;; size=36 bbWeight=4 PerfScore 40.00
-G_M64833_IG08:        ; bbWeight=32, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, byref, isz
+G_M64833_IG08:        ; bbWeight=32, gcrefRegs=E680000 {x19 x21 x22 x25 x26 x27}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
             mov     w28, wzr
             ldr     w0, [x26, #0x08]
@@ -166,7 +166,7 @@ G_M64833_IG08:        ; bbWeight=32, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}
             cmp     w3, #0
             ble     G_M64833_IG11
                        ;; size=24 bbWeight=32 PerfScore 208.00
-G_M64833_IG09:        ; bbWeight=64, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, byref, isz
+G_M64833_IG09:        ; bbWeight=64, gcrefRegs=E680000 {x19 x21 x22 x25 x26 x27}, byrefRegs=0000 {}, byref, isz
             add     x0, x26, #16
             ; byrRegs +[x0]
             ldr     x4, [x0, w28, UXTW #3]
@@ -178,17 +178,17 @@ G_M64833_IG09:        ; bbWeight=64, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}
             ; byrRegs -[x0]
             cbnz    x0, G_M64833_IG15
                        ;; size=20 bbWeight=64 PerfScore 544.00
-G_M64833_IG10:        ; bbWeight=128, gcVars=0000000000400002 {V07 V17}, gcrefRegs=6D00010 {x4 x20 x22 x23 x25 x26}, byrefRegs=0000 {}, gcvars, byref
+G_M64833_IG10:        ; bbWeight=128, gcVars=0000000000040002 {V07 V17}, gcrefRegs=6680010 {x4 x19 x21 x22 x25 x26}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0 x27]
             mov     x27, x4
             ; gcrRegs +[x27]
                        ;; size=4 bbWeight=128 PerfScore 64.00
-G_M64833_IG11:        ; bbWeight=32, gcVars=0000000000400000 {V07}, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M64833_IG11:        ; bbWeight=32, gcVars=0000000000040000 {V07}, gcrefRegs=E680000 {x19 x21 x22 x25 x26 x27}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x4]
             ; GC ptr vars -{V17}
             cbnz    x27, G_M64833_IG18
                        ;; size=4 bbWeight=32 PerfScore 32.00
-G_M64833_IG12:        ; bbWeight=8, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, byref
+G_M64833_IG12:        ; bbWeight=8, gcrefRegs=E680000 {x19 x21 x22 x25 x26 x27}, byrefRegs=0000 {}, byref
             mov     x0, x25
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -201,15 +201,15 @@ G_M64833_IG12:        ; bbWeight=8, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27},
             b       G_M64833_IG08
                        ;; size=28 bbWeight=8 PerfScore 56.00
 G_M64833_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x20 x22-x23 x25-x27]
+            ; gcrRegs -[x19 x21-x22 x25-x27]
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x0]
             blr     x0
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M64833_IG14:        ; bbWeight=0.04, gcrefRegs=6900000 {x20 x23 x25 x26}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x20 x23 x25-x26]
+G_M64833_IG14:        ; bbWeight=0.04, gcrefRegs=6600000 {x21 x22 x25 x26}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs +[x21-x22 x25-x26]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x11]
@@ -241,12 +241,12 @@ G_M64833_IG14:        ; bbWeight=0.04, gcrefRegs=6900000 {x20 x23 x25 x26}, byre
             ; gcrRegs -[x0 x15]
             ; byrRegs -[x14]
             add     w27, w27, #1
-            cmp     w27, w22
+            cmp     w27, w19
             blt     G_M64833_IG14
             b       G_M64833_IG06
                        ;; size=96 bbWeight=0.04 PerfScore 0.94
-G_M64833_IG15:        ; bbWeight=256, gcVars=0000000000400002 {V07 V17}, gcrefRegs=ED00011 {x0 x4 x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x0 x4 x22 x27]
+G_M64833_IG15:        ; bbWeight=256, gcVars=0000000000040002 {V07 V17}, gcrefRegs=E680011 {x0 x4 x19 x21 x22 x25 x26 x27}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs +[x0 x4 x19 x27]
             ; GC ptr vars +{V01 V17}
             add     x2, fp, #52    // [V03 arg3]
             add     x1, fp, #40    // [V09 loc2]
@@ -283,7 +283,7 @@ G_M64833_IG15:        ; bbWeight=256, gcVars=0000000000400002 {V07 V17}, gcrefRe
             ; gcrRegs +[x4]
             b       G_M64833_IG10
                        ;; size=96 bbWeight=256 PerfScore 8064.00
-G_M64833_IG16:        ; bbWeight=64, gcVars=0000000000400000 {V07}, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M64833_IG16:        ; bbWeight=64, gcVars=0000000000040000 {V07}, gcrefRegs=E680000 {x19 x21 x22 x25 x26 x27}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x4 x28] +[x27]
             ; GC ptr vars -{V01 V17}
             add     w28, w28, #1
@@ -292,33 +292,33 @@ G_M64833_IG16:        ; bbWeight=64, gcVars=0000000000400000 {V07}, gcrefRegs=ED
             str     w2, [fp, #0x24]    // [V31 cse2]
             bgt     G_M64833_IG09
                        ;; size=20 bbWeight=64 PerfScore 320.00
-G_M64833_IG17:        ; bbWeight=32, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, byref
+G_M64833_IG17:        ; bbWeight=32, gcrefRegs=E680000 {x19 x21 x22 x25 x26 x27}, byrefRegs=0000 {}, byref
             b       G_M64833_IG11
                        ;; size=4 bbWeight=32 PerfScore 32.00
-G_M64833_IG18:        ; bbWeight=32, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, byref, isz
+G_M64833_IG18:        ; bbWeight=4, gcrefRegs=E680000 {x19 x21 x22 x25 x26 x27}, byrefRegs=0000 {}, byref, isz
             add     w3, w24, #1
             mov     x0, x27
             ; gcrRegs +[x0]
             ldr     w6, [fp, #0x34]    // [V03 arg3]
-            mov     x1, x22
+            mov     x1, x19
             ; gcrRegs +[x1]
-            mov     x2, x20
+            mov     x2, x22
             ; gcrRegs +[x2]
-            mov     w4, w21
+            mov     w4, w23
             ldr     w5, [fp, #0x28]    // [V09 loc2]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x7, [x11]
...
  
+8 (+0.09%) : 22066.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
@@ -23,9 +23,9 @@
 ;* V11 loc10        [V11    ] (  0,  0   )     int  ->  zero-ref    ptr
 ;* V12 loc11        [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact ptr <System.Diagnostics.Tracing.ManifestBuilder+ChannelInfo>
 ;  V13 loc12        [V13,T63] (  5, 14   )     ref  ->  x24         class-hnd <System.String>
-;  V14 loc13        [V14,T90] (  3,  8   )   ubyte  ->  x25        
-;  V15 loc14        [V15,T82] (  4, 10   )     ref  ->  x26         class-hnd <System.String>
-;  V16 loc15        [V16,T87] (  4,  8   )     ref  ->  x25         class-hnd exact <System.Diagnostics.Tracing.EventChannelAttribute>
+;  V14 loc13        [V14,T89] (  3,  8   )   ubyte  ->  x25        
+;  V15 loc14        [V15,T81] (  4, 10   )     ref  ->  x26         class-hnd <System.String>
+;  V16 loc15        [V16,T86] (  4,  8   )     ref  ->  x25         class-hnd exact <System.Diagnostics.Tracing.EventChannelAttribute>
 ;  V17 loc16        [V17,T148] (  2,  4   )     int  ->  x24         ld-addr-op
 ;* V18 loc17        [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def ptr <System.Collections.Generic.List`1[int]>
 ;* V19 loc18        [V19    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[int]>
@@ -34,7 +34,7 @@
 ;  V22 loc21        [V22,T23] (  7, 28   )     ref  ->  x21         class-hnd <System.Type>
 ;  V23 loc22        [V23,T58] (  3, 16   )   ubyte  ->  x22        
 ;  V24 loc23        [V24,T51] (  7, 16   )     ref  ->  x23         class-hnd <System.String>
-;  V25 loc24        [V25,T92] (  2,  8   )     ref  ->  x24         class-hnd <System.Reflection.FieldInfo[]>
+;  V25 loc24        [V25,T91] (  2,  8   )     ref  ->  x24         class-hnd <System.Reflection.FieldInfo[]>
 ;  V26 loc25        [V26,T59] (  3, 16   )   ubyte  ->  x25        
 ;  V27 loc26        [V27,T32] (  3, 24   )     ref  ->  x24         class-hnd <System.Reflection.FieldInfo[]>
 ;  V28 loc27        [V28,T06] (  5, 68   )     int  ->  x26        
@@ -50,22 +50,22 @@
 ;* V38 loc37        [V38    ] (  0,  0   )    long  ->  zero-ref    ld-addr-op ptr
 ;  V39 loc38        [V39    ] (  2,  4   )     int  ->  [fp+0x88]  do-not-enreg[X] addr-exposed ld-addr-op ptr
 ;* V40 loc39        [V40    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[ushort]>
-;  V41 loc40        [V41,T83] (  4, 10   )     ref  ->  x20         class-hnd exact single-def <<unknown class>>
-;  V42 loc41        [V42,T48] (  5, 17   )     int  ->  x22        
+;  V41 loc40        [V41,T82] (  4, 10   )     ref  ->  x20         class-hnd exact single-def <<unknown class>>
+;  V42 loc41        [V42,T49] (  5, 17   )     int  ->  x22        
 ;  V43 loc42        [V43,T64] (  5, 14   )     ref  ->  x23         class-hnd exact <System.String>
-;  V44 loc43        [V44,T84] (  4, 10   )     ref  ->  x24         class-hnd exact <System.String>
+;  V44 loc43        [V44,T83] (  4, 10   )     ref  ->  x24         class-hnd exact <System.String>
 ;# V45 OutArgs      [V45    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V46 tmp1         [V46    ] (  1,  1   )  struct (32) [fp+0xF8]  do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
 ;* V47 tmp2         [V47    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V48 tmp3         [V48,T106] (  4,  6   )     ref  ->  x21         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
 ;* V49 tmp4         [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def ptr
-;  V50 tmp5         [V50,T80] (  5, 10   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[int]>
+;  V50 tmp5         [V50,T79] (  5, 10   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[int]>
 ;  V51 tmp6         [V51,T70] (  3, 12   )     ref  ->   x0         class-hnd exact "dup spill" <System.Text.StringBuilder>
 ;* V52 tmp7         [V52    ] (  0,  0   )     ref  ->  zero-ref    ptr
-;  V53 tmp8         [V53,T38] (  5, 20   )     ref  ->  x25         class-hnd exact "impAppendStmt" <System.Text.StringBuilder>
-;  V54 tmp9         [V54,T39] (  5, 20   )     ref  ->  x25         class-hnd exact "dup spill" <System.Text.StringBuilder>
+;  V53 tmp8         [V53,T39] (  5, 20   )     ref  ->  x25         class-hnd exact "impAppendStmt" <System.Text.StringBuilder>
+;  V54 tmp9         [V54,T40] (  5, 20   )     ref  ->  x25         class-hnd exact "dup spill" <System.Text.StringBuilder>
 ;* V55 tmp10        [V55    ] (  0,  0   )     ref  ->  zero-ref    ptr
-;  V56 tmp11        [V56,T45] (  4, 18   )     ref  ->  x21         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
+;  V56 tmp11        [V56,T46] (  4, 18   )     ref  ->  x21         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
 ;* V57 tmp12        [V57    ] (  0,  0   )     ref  ->  zero-ref    single-def ptr
 ;  V58 tmp13        [V58,T107] (  4,  6   )     ref  ->  x20         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
 ;* V59 tmp14        [V59    ] (  0,  0   )     ref  ->  zero-ref    single-def ptr
@@ -116,18 +116,18 @@
 ;  V104 tmp59       [V104,T126] (  5,  5   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[ulong]>
 ;  V105 tmp60       [V105,T71] (  3, 12   )     ref  ->   x0         class-hnd exact "dup spill" <System.Text.StringBuilder>
 ;* V106 tmp61       [V106    ] (  0,  0   )     ref  ->  zero-ref    ptr
-;  V107 tmp62       [V107,T40] (  5, 20   )     ref  ->  x25         class-hnd exact "impAppendStmt" <System.Text.StringBuilder>
+;  V107 tmp62       [V107,T41] (  5, 20   )     ref  ->  x25         class-hnd exact "impAppendStmt" <System.Text.StringBuilder>
 ;* V108 tmp63       [V108    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <System.Span`1[ushort]>
 ;* V109 tmp64       [V109    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V110 tmp65       [V110,T14] (  8, 32   )     ref  ->  x25         class-hnd exact "dup spill" <System.Text.StringBuilder>
 ;* V111 tmp66       [V111    ] (  0,  0   )     ref  ->  zero-ref    ptr
 ;* V112 tmp67       [V112    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact ptr "impAppendStmt" <System.Text.StringBuilder>
 ;* V113 tmp68       [V113    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V114 tmp69       [V114,T46] (  4, 18   )     ref  ->  x20         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
+;  V114 tmp69       [V114,T47] (  4, 18   )     ref  ->  x20         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
 ;* V115 tmp70       [V115    ] (  0,  0   )     ref  ->  zero-ref    single-def ptr
 ;  V116 tmp71       [V116,T136] (  4,  4   )     ref  ->  x21         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
 ;* V117 tmp72       [V117    ] (  0,  0   )     ref  ->  zero-ref    single-def ptr
-;  V118 tmp73       [V118,T88] (  3,  8   )     ref  ->  x23        
+;  V118 tmp73       [V118,T87] (  3,  8   )     ref  ->  x23        
 ;  V119 tmp74       [V119,T11] (  8, 40   )     ref  ->  x24         class-hnd exact "dup spill" <System.Text.StringBuilder>
 ;* V120 tmp75       [V120    ] (  0,  0   )     ref  ->  zero-ref    ptr
 ;* V121 tmp76       [V121    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact ptr "non-inline candidate call" <System.Text.StringBuilder>
@@ -156,10 +156,10 @@
 ;  V144 tmp99       [V144,T127] (  5,  5   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[int]>
 ;  V145 tmp100      [V145,T73] (  3, 12   )     ref  ->   x0         class-hnd exact "dup spill" <System.Text.StringBuilder>
 ;* V146 tmp101      [V146    ] (  0,  0   )     ref  ->  zero-ref    ptr
-;  V147 tmp102      [V147,T41] (  5, 20   )     ref  ->  x25         class-hnd exact "impAppendStmt" <System.Text.StringBuilder>
+;  V147 tmp102      [V147,T42] (  5, 20   )     ref  ->  x25         class-hnd exact "impAppendStmt" <System.Text.StringBuilder>
 ;  V148 tmp103      [V148,T53] (  4, 16   )     ref  ->  x25         class-hnd exact "dup spill" <System.Text.StringBuilder>
 ;* V149 tmp104      [V149    ] (  0,  0   )     ref  ->  zero-ref    ptr
-;  V150 tmp105      [V150,T47] (  4, 18   )     ref  ->  x21         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
+;  V150 tmp105      [V150,T48] (  4, 18   )     ref  ->  x21         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
 ;* V151 tmp106      [V151    ] (  0,  0   )     ref  ->  zero-ref    single-def ptr
 ;  V152 tmp107      [V152,T139] (  4,  4   )     ref  ->  x21         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
 ;* V153 tmp108      [V153    ] (  0,  0   )     ref  ->  zero-ref    single-def ptr
@@ -175,8 +175,8 @@
 ;* V163 tmp118      [V163    ] (  0,  0   )     ref  ->  zero-ref    ptr
 ;* V164 tmp119      [V164    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V165 tmp120      [V165    ] (  0,  0   )     ref  ->  zero-ref    ptr
-;  V166 tmp121      [V166,T81] (  5, 10   )     ref  ->   x2        
-;  V167 tmp122      [V167,T42] (  5, 20   )     ref  ->  x22         class-hnd exact "dup spill" <System.Text.StringBuilder>
+;  V166 tmp121      [V166,T80] (  5, 10   )     ref  ->   x2        
+;  V167 tmp122      [V167,T43] (  5, 20   )     ref  ->  x22         class-hnd exact "dup spill" <System.Text.StringBuilder>
 ;* V168 tmp123      [V168    ] (  0,  0   )     ref  ->  zero-ref    ptr
 ;  V169 tmp124      [V169,T74] (  3, 12   )     ref  ->  x26         class-hnd exact "impAppendStmt" <<unknown class>>
 ;  V170 tmp125      [V170,T75] (  3, 12   )     ref  ->   x0         class-hnd exact "Single-def Box Helper" <<unknown class>>
@@ -186,7 +186,7 @@
 ;  V174 tmp129      [V174,T141] (  4,  4   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V175 tmp130      [V175,T152] (  3,  3   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;  V176 tmp131      [V176,T164] (  2,  2   )  struct (40) [fp+0x60]  do-not-enreg[SF] must-init ld-addr-op ptr "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+Enumerator[int,System.Diagnostics.Tracing.ManifestBuilder+ChannelInfo]>
-;  V177 tmp132      [V177,T85] (  3, 10   )     ref  ->  x14         class-hnd exact "Inline stloc first use temp" <<unknown class>>
+;  V177 tmp132      [V177,T84] (  3, 10   )     ref  ->  x14         class-hnd exact "Inline stloc first use temp" <<unknown class>>
 ;  V178 tmp133      [V178,T66] (  4, 12   )     int  ->  x15         "Inline stloc first use temp"
 ;  V179 tmp134      [V179,T165] (  2,  2   )  struct (32) [fp+0x40]  do-not-enreg[SF] must-init ld-addr-op ptr "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Collections.Generic.KeyValuePair`2[int,System.Diagnostics.Tracing.ManifestBuilder+ChannelInfo]]>
 ;* V180 tmp135      [V180    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <<unknown class>>
@@ -195,7 +195,7 @@
 ;* V183 tmp138      [V183    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[int]>
 ;  V184 tmp139      [V184,T28] (  6, 24   )     ref  ->  x26         class-hnd "Inlining Arg" <System.__Canon>
 ;  V185 tmp140      [V185,T55] (  4, 16   )     ref  ->  x24         class-hnd exact "Inlining Arg" <System.Text.StringBuilder>
-;* V186 tmp141      [V186,T97] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V186 tmp141      [V186,T96] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V187 tmp142      [V187    ] (  0,  0   )     ref  ->  zero-ref    class-hnd ptr "Inline stloc first use temp" <System.Collections.Generic.List`1[int]>
 ;* V188 tmp143      [V188    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.Dictionary`2+ValueCollection[System.__Canon,System.__Canon]>
 ;* V189 tmp144      [V189    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.String,System.Type]>
@@ -229,7 +229,7 @@
 ;* V217 tmp172      [V217    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[int]>
 ;  V218 tmp173      [V218,T29] (  6, 24   )     ref  ->  x26         class-hnd "Inlining Arg" <System.__Canon>
 ;  V219 tmp174      [V219,T57] (  4, 16   )     ref  ->  x24         class-hnd exact "Inlining Arg" <System.Text.StringBuilder>
-;* V220 tmp175      [V220,T98] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V220 tmp175      [V220,T97] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V221 tmp176      [V221    ] (  0,  0   )     ref  ->  zero-ref    class-hnd ptr "Inline stloc first use temp" <System.Collections.Generic.List`1[int]>
 ;* V222 tmp177      [V222    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[ulong]>
 ;  V223 tmp178      [V223,T30] (  6, 24   )     ref  ->  x26         class-hnd "Inlining Arg" <System.__Canon>
@@ -239,10 +239,10 @@
 ;* V227 tmp182      [V227    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V228 tmp183      [V228    ] (  0,  0   )     int  ->  zero-ref   
 ;* V229 tmp184      [V229    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;  V230 tmp185      [V230,T99] (  2,  8   )    long  ->   x0         "Inlining Arg"
+;  V230 tmp185      [V230,T98] (  2,  8   )    long  ->   x0         "Inlining Arg"
 ;* V231 tmp186      [V231    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V232 tmp187      [V232    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V233 tmp188      [V233,T43] (  5, 20   )     int  ->  x24         "Inlining Arg"
+;  V233 tmp188      [V233,T44] (  5, 20   )     int  ->  x24         "Inlining Arg"
 ;* V234 tmp189      [V234    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;* V235 tmp190      [V235    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V236 tmp191      [V236    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -255,7 +255,7 @@
 ;* V243 tmp198      [V243    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V244 tmp199      [V244    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V245 tmp200      [V245    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V246 tmp201      [V246,T100] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V246 tmp201      [V246,T99] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V247 tmp202      [V247    ] (  0,  0   )     ref  ->  zero-ref    class-hnd ptr "Inline stloc first use temp" <System.Collections.Generic.List`1[ulong]>
 ;* V248 tmp203      [V248    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.Dictionary`2+KeyCollection[System.__Canon,System.__Canon]>
 ;  V249 tmp204      [V249,T122] (  3,  6   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <<unknown class>>
@@ -265,8 +265,8 @@
 ;* V253 tmp208      [V253,T179] (  0,  0   )     int  ->  zero-ref    "field V01._length (fldOffset=0x8)" P-INDEP
 ;* V254 tmp209      [V254    ] (  0,  0   )   byref  ->  zero-ref    "field V05._reference (fldOffset=0x0)" P-INDEP
 ;* V255 tmp210      [V255    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
-;  V256 tmp211      [V256,T89] (  3,  8   )     ref  ->   x1         "field V08.value (fldOffset=0x0)" P-INDEP
-;  V257 tmp212      [V257,T91] (  3,  8   )     int  ->   x2         "field V08.key (fldOffset=0x8)" P-INDEP
+;  V256 tmp211      [V256,T88] (  3,  8   )     ref  ->   x1         "field V08.value (fldOffset=0x0)" P-INDEP
+;  V257 tmp212      [V257,T90] (  3,  8   )     int  ->   x2         "field V08.key (fldOffset=0x8)" P-INDEP
 ;  V258 tmp213      [V258,T27] (  7, 24   )     ref  ->  x22         "field V10.value (fldOffset=0x0)" P-INDEP
 ;  V259 tmp214      [V259,T123] (  2,  6   )     int  ->  x23         "field V10.key (fldOffset=0x8)" P-INDEP
 ;  V260 tmp215      [V260,T65] (  4, 12.50)     ref  ->  x21         single-def "field V19._list (fldOffset=0x0)" P-INDEP
@@ -279,9 +279,9 @@
 ;  V267 tmp222      [V267    ] (  3,  5   )     int  ->  [fp+0xAC]  do-not-enreg[X] addr-exposed ptr "field V21._version (fldOffset=0x14)" P-DEP
 ;* V268 tmp223      [V268    ] (  0,  0   )   byref  ->  zero-ref    ptr "field V33._reference (fldOffset=0x0)" P-INDEP
 ;* V269 tmp224      [V269    ] (  0,  0   )     int  ->  zero-ref    ptr "field V33._length (fldOffset=0x8)" P-INDEP
-;  V270 tmp225      [V270,T49] (  4, 17   )     ref  ->  x21         single-def "field V34._list (fldOffset=0x0)" P-INDEP
+;  V270 tmp225      [V270,T38] (  4, 17   )     ref  ->  x21         single-def "field V34._list (fldOffset=0x0)" P-INDEP
 ;  V271 tmp226      [V271,T24] (  6, 21   )     int  ->  x23         "field V34._index (fldOffset=0x8)" P-INDEP
-;  V272 tmp227      [V272,T86] (  2,  9   )     int  ->  x22         "field V34._version (fldOffset=0xc)" P-INDEP
+;  V272 tmp227      [V272,T85] (  2,  9   )     int  ->  x22         "field V34._version (fldOffset=0xc)" P-INDEP
 ;  V273 tmp228      [V273,T68] (  3,  8   )     int  ->  x24         "field V34._current (fldOffset=0x10)" P-INDEP
 ;  V274 tmp229      [V274,T50] (  4, 12.50)     ref  ->  x21         single-def "field V37._list (fldOffset=0x0)" P-INDEP
 ;  V275 tmp230      [V275,T69] (  3,  8   )    long  ->  x24         "field V37._current (fldOffset=0x8)" P-INDEP
@@ -360,7 +360,7 @@
 ;  V348 tmp303      [V348,T178] (  2,  1   )     int  ->   x1         "V179.[012..016)"
 ;  V349 tmp304      [V349,T77] (  3, 12   )   byref  ->   x0         "BlockOp address local"
 ;  V350 tmp305      [V350,T160] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
-;  V351 tmp306      [V351,T93] (  2,  8   )     ref  ->   x0         "argument with side effect"
+;  V351 tmp306      [V351,T92] (  2,  8   )     ref  ->   x0         "argument with side effect"
 ;  V352 tmp307      [V352,T161] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
 ;  V353 tmp308      [V353,T33] (  3, 24   )     ref  ->   x1         "arr expr"
 ;  V354 tmp309      [V354,T62] (  2, 16   )     ref  ->   x1         "argument with side effect"
@@ -369,9 +369,9 @@
 ;  V357 tmp312      [V357,T18] (  2, 32   )     ref  ->   x4         "argument with side effect"
 ;  V358 tmp313      [V358,T19] (  2, 32   )     ref  ->  [fp+0x18]  spill-single-def ptr "argument with side effect"
 ;  V359 tmp314      [V359,T20] (  2, 32   )     ref  ->  x25         "argument with side effect"
-;  V360 tmp315      [V360,T94] (  2,  8   )     ref  ->   x0         "argument with side effect"
-;  V361 tmp316      [V361,T95] (  2,  8   )     ref  ->   x3         "argument with side effect"
-;  V362 tmp317      [V362,T96] (  2,  8   )     ref  ->  x22         "argument with side effect"
+;  V360 tmp315      [V360,T93] (  2,  8   )     ref  ->   x0         "argument with side effect"
+;  V361 tmp316      [V361,T94] (  2,  8   )     ref  ->   x3         "argument with side effect"
+;  V362 tmp317      [V362,T95] (  2,  8   )     ref  ->  x22         "argument with side effect"
 ;  V363 tmp318      [V363,T146] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
 ;  V364 tmp319      [V364,T34] (  3, 24   )     ref  ->   x1         "arr expr"
 ;  V365 tmp320      [V365,T162] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
@@ -383,9 +383,9 @@
 ;  V371 cse1        [V371,T04] ( 18, 72   )     ref  ->   x0         multi-def "CSE - aggressive"
 ;  V372 cse2        [V372,T130] (  3,  5   )    long  ->  x22         "CSE - conservative"
 ;  V373 cse3        [V373,T131] (  3,  5   )    long  ->  x21         "CSE - conservative"
-;  V374 cse4        [V374,T44] (  3, 20   )    long  ->   x1         "CSE - moderate"
-;  V375 cse5        [V375,T78] (  2,  8   )     int  ->   x1         "CSE - conservative"
-;  V376 cse6        [V376,T79] (  2,  8   )     int  ->   x1         "CSE - conservative"
+;  V374 cse4        [V374,T45] (  3, 20   )    long  ->   x1         "CSE - moderate"
+;  V375 cse5        [V375,T100] (  2,  8   )     int  ->   x1         "CSE - conservative"
+;  V376 cse6        [V376,T78] (  2,  8   )     int  ->   x1         "CSE - conservative"
 ;  V377 cse7        [V377,T36] (  3, 24   )     int  ->  x27         "CSE - moderate"
 ;  V378 cse8        [V378,T00] (149,220   )    long  ->  [fp+0x38]  multi-def "CSE - aggressive"
 ;
@@ -1802,6 +1802,7 @@ G_M21650_IG67:        ; bbWeight=8, gcrefRegs=11A80000 {x19 x21 x23 x24 x28}, by
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
+            ldr     wzr, [x0]
             ldr     x1, [x11]
             blr     x1
             str     x0, [fp, #0x20]    // [V356 tmp311]
@@ -1889,7 +1890,7 @@ G_M21650_IG67:        ; bbWeight=8, gcrefRegs=11A80000 {x19 x21 x23 x24 x28}, by
             blr     x3
             ; gcrRegs -[x0 x25]
             ; byrRegs -[x1]
-                      ;; size=260 bbWeight=8 PerfScore 684.00
+                       ;; size=264 bbWeight=8 PerfScore 708.00
 G_M21650_IG68:        ; bbWeight=8, gcrefRegs=1A80000 {x19 x21 x23 x24}, byrefRegs=100000 {x20}, byref
             mov     w25, #1
                        ;; size=4 bbWeight=8 PerfScore 4.00
@@ -1930,6 +1931,7 @@ G_M21650_IG72:        ; bbWeight=2, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=10
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
+            ldr     wzr, [x0]
             ldr     x1, [x11]
             blr     x1
             ; gcrRegs -[x21]
@@ -2000,7 +2002,7 @@ G_M21650_IG72:        ; bbWeight=2, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=10
             blr     x3
             ; gcrRegs -[x0 x21]
             ; byrRegs -[x1]
-                      ;; size=212 bbWeight=2 PerfScore 144.00
+                       ;; size=216 bbWeight=2 PerfScore 150.00
 G_M21650_IG73:        ; bbWeight=4, gcrefRegs=880000 {x19 x23}, byrefRegs=100000 {x20}, byref, isz
             ldr     x21, [x19, #0x38]
             ; gcrRegs +[x21]
@@ -3761,7 +3763,7 @@ G_M21650_IG150:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_unix #0
                        ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 8476, prolog size 80, PerfScore 5811.50, instruction count 2119, allocated bytes for code 8476 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
+; Total bytes of code 8484, prolog size 80, PerfScore 5841.50, instruction count 2121, allocated bytes for code 8484 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -3772,7 +3774,7 @@ Unwind Info:
   E bit             : 0
...
  
+12 (+0.54%) : 200009.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
@@ -9,54 +9,55 @@
 ; 0 inlinees with PGO data; 18 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T15] ( 15, 14.50)     ref  ->  x23         class-hnd <System.Reflection.MemberInfo>
+;  V00 arg0         [V00,T16] ( 15, 14.50)     ref  ->  x23         class-hnd <System.Reflection.MemberInfo>
 ;  V01 arg1         [V01,T07] ( 12, 39.50)     ref  ->  registers   class-hnd <System.Reflection.ParameterInfo[]>
-;  V02 arg2         [V02,T13] (  6, 19.50)     int  ->  x22         single-def
-;  V03 arg3         [V03,T10] (  8, 29.50)   ubyte  ->  x20         single-def
-;  V04 arg4         [V04,T30] (  3,  2.50)     ref  ->  x25         class-hnd single-def <System.Object[]>
-;  V05 arg5         [V05,T12] (  4, 20   )     int  ->  x21         single-def
-;  V06 arg6         [V06,T31] (  3,  2.50)     ref  ->  x26         class-hnd single-def <System.String[]>
-;  V07 arg7         [V07,T32] (  3,  2.50)     ref  ->  x27         class-hnd single-def <System.Type[]>
-;  V08 arg8         [V08,T40] (  1,  1   )   ubyte  ->  [fp+0xD0]  single-def
-;  V09 arg9         [V09,T16] (  6, 14   )     ref  ->  x24         class-hnd single-def <System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
-;  V10 arg10        [V10,T33] (  2,  4   )     ref  ->  x28         class-hnd single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Container>
-;  V11 loc0         [V11,T28] (  9,  5   )     ref  ->  [fp+0x48]  class-hnd <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V12 loc1         [V12,T14] (  6, 18.50)     ref  ->  [fp+0x40]  class-hnd spill-single-def <System.Reflection.MethodBase>
-;  V13 loc2         [V13,T27] (  5,  5.50)   ubyte  ->  [fp+0x7C] 
-;  V14 loc3         [V14,T29] (  3,  5   )     int  ->  x26         single-def
+;  V02 arg2         [V02,T14] (  6, 19.50)     int  ->  x22         single-def
+;  V03 arg3         [V03,T13] (  7, 21.50)   ubyte  ->  x21         single-def
+;  V04 arg4         [V04,T31] (  3,  2.50)     ref  ->  x25         class-hnd single-def <System.Object[]>
+;  V05 arg5         [V05,T12] (  4, 20   )     int  ->  x20         single-def
+;  V06 arg6         [V06,T32] (  3,  2.50)     ref  ->  x26         class-hnd single-def <System.String[]>
+;  V07 arg7         [V07,T33] (  3,  2.50)     ref  ->  x27         class-hnd single-def <System.Type[]>
+;  V08 arg8         [V08,T41] (  1,  1   )   ubyte  ->  [fp+0xD0]  single-def
+;  V09 arg9         [V09,T17] (  6, 14   )     ref  ->  x24         class-hnd single-def <System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
+;  V10 arg10        [V10,T34] (  2,  4   )     ref  ->  x28         class-hnd single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Container>
+;  V11 loc0         [V11,T29] (  9,  5   )     ref  ->  [fp+0x48]  class-hnd <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V12 loc1         [V12,T15] (  6, 18.50)     ref  ->  [fp+0x40]  class-hnd spill-single-def <System.Reflection.MethodBase>
+;  V13 loc2         [V13,T28] (  5,  5.50)   ubyte  ->  [fp+0x7C] 
+;  V14 loc3         [V14,T30] (  3,  5   )     int  ->  x26         single-def
 ;  V15 loc4         [V15,T11] (  6, 24.50)     int  ->  x27        
-;  V16 loc5         [V16,T02] ( 15, 82   )     ref  ->  [fp+0x38]  class-hnd exact spill-single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V16 loc5         [V16,T02] ( 15, 74   )     ref  ->  [fp+0x38]  class-hnd exact spill-single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
 ;  V17 loc6         [V17,T08] (  3, 34   )     ref  ->  [fp+0x30]  class-hnd spill-single-def <System.Reflection.ParameterInfo[]>
 ;  V18 loc7         [V18,T09] (  9, 32   )     ref  ->  [fp+0x28]  class-hnd <System.Reflection.MethodBase>
 ;  V19 loc8         [V19,T00] (  8, 84   )     int  ->  [fp+0x78] 
 ;  V20 loc9         [V20,T01] (  8, 84   )     int  ->  [fp+0x74] 
-;* V21 loc10        [V21,T37] (  0,  0   )     int  ->  zero-ref   
-;  V22 loc11        [V22,T06] (  4, 50   )     int  ->  [fp+0x70] 
+;* V21 loc10        [V21,T38] (  0,  0   )     int  ->  zero-ref   
+;  V22 loc11        [V22,T05] (  4, 50   )     int  ->  [fp+0x70] 
 ;  V23 loc12        [V23    ] (  3, 48   )   ubyte  ->  [fp+0x68]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V24 loc13        [V24    ] (  3, 48   )   ubyte  ->  [fp+0x60]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V25 loc14        [V25    ] (  3, 48   )   ubyte  ->  [fp+0x58]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V26 OutArgs      [V26    ] (  1,  1   )  struct (16) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V27 tmp1         [V27,T17] (  9,  9   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V28 tmp2         [V28,T19] (  8,  8   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V27 tmp1         [V27,T18] (  9,  9   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V28 tmp2         [V28,T20] (  8,  8   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
 ;* V29 tmp3         [V29    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V30 tmp4         [V30    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Reflection.ParameterInfo[]>
 ;* V31 tmp5         [V31    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Type>
-;  V32 tmp6         [V32,T18] (  9,  9   )     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V33 tmp7         [V33,T38] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V34 tmp8         [V34,T39] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V35 tmp9         [V35,T34] (  3,  3   )     ref  ->  x25         class-hnd single-def "Inlining Arg" <System.Reflection.MethodBase>
-;  V36 tmp10        [V36,T25] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V37 tmp11        [V37,T26] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V38 tmp12        [V38,T36] (  2,  2   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Reflection.PropertyInfo>
-;  V39 tmp13        [V39,T35] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Reflection.MethodBase>
+;  V32 tmp6         [V32,T19] (  9,  9   )     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V33 tmp7         [V33,T39] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V34 tmp8         [V34,T40] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V35 tmp9         [V35,T35] (  3,  3   )     ref  ->  x25         class-hnd single-def "Inlining Arg" <System.Reflection.MethodBase>
+;  V36 tmp10        [V36,T26] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V37 tmp11        [V37,T27] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V38 tmp12        [V38,T37] (  2,  2   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Reflection.PropertyInfo>
+;  V39 tmp13        [V39,T36] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Reflection.MethodBase>
 ;  V40 tmp14        [V40,T03] (  2, 64   )     ref  ->   x1         "argument with side effect"
 ;  V41 tmp15        [V41,T04] (  2, 64   )     ref  ->   x4         "argument with side effect"
-;  V42 tmp16        [V42,T23] (  2,  8   )     int  ->   x3         "argument with side effect"
-;  V43 tmp17        [V43,T24] (  2,  8   )     int  ->  [fp+0x54]  spill-single-def "argument with side effect"
-;  V44 tmp18        [V44,T20] (  2,  8   )     ref  ->  [fp+0x20]  spill-single-def "argument with side effect"
-;  V45 tmp19        [V45,T21] (  2,  8   )     ref  ->   x0         "argument with side effect"
-;  V46 tmp20        [V46,T22] (  2,  8   )     ref  ->   x0         "argument with side effect"
-;  V47 cse0         [V47,T05] (  5, 52   )     int  ->   x4         multi-def "CSE - aggressive"
+;  V42 tmp16        [V42,T24] (  2,  8   )     int  ->   x3         "argument with side effect"
+;  V43 tmp17        [V43,T25] (  2,  8   )     int  ->  [fp+0x54]  spill-single-def "argument with side effect"
+;  V44 tmp18        [V44,T21] (  2,  8   )     ref  ->  [fp+0x20]  spill-single-def "argument with side effect"
+;  V45 tmp19        [V45,T22] (  2,  8   )     ref  ->   x0         "argument with side effect"
+;  V46 tmp20        [V46,T23] (  2,  8   )     ref  ->   x0         "argument with side effect"
+;  V47 cse0         [V47,T10] (  5, 28   )     int  ->   x4         multi-def "CSE - aggressive"
+;  V48 cse1         [V48,T06] (  5, 44   )     int  ->  [fp+0x50]  multi-def "CSE - aggressive"
 ;  TEMP_01                                     ref  ->  [fp+0x18]
 ;
 ; Lcl frame size = 128
@@ -78,10 +79,10 @@ G_M30168_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             mov     x19, x1
             ; gcrRegs +[x19]
             mov     w22, w2
-            mov     w20, w3
+            mov     w21, w3
             mov     x25, x4
             ; gcrRegs +[x25]
-            mov     w21, w5
+            mov     w20, w5
             mov     x26, x6
             ; gcrRegs +[x26]
             mov     x27, x7
@@ -96,7 +97,7 @@ G_M30168_IG02:        ; bbWeight=1, gcrefRegs=1F880000 {x19 x23 x24 x25 x26 x27
             tst     w0, #255
             bne     G_M30168_IG36
                        ;; size=16 bbWeight=1 PerfScore 4.50
-G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000000010000000 {V11}, gcrefRegs=1F880000 {x19 x23 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000000020000000 {V11}, gcrefRegs=1F880000 {x19 x23 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             mov     x0, x23
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -167,7 +168,7 @@ G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000000010000000 {V11}, gcrefRegs=
             ; gcrRegs -[x15 x19]
             ; byrRegs -[x14]
             str     w22, [x1, #0x48]
-            strb    w20, [x1, #0x4C]
+            strb    w21, [x1, #0x4C]
             mov     w14, #1
             strb    w14, [x1, #0x4F]
             add     x14, x1, #8
@@ -229,7 +230,7 @@ G_M30168_IG04:        ; bbWeight=0.50, gcrefRegs=11080000 {x19 x24 x28}, byrefRe
             ; GC ptr vars +{V11}
             mov     x19, x25
                        ;; size=48 bbWeight=0.50 PerfScore 7.50
-G_M30168_IG05:        ; bbWeight=0.50, gcVars=0000000010004000 {V11 V12}, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG05:        ; bbWeight=0.50, gcVars=0000000020008000 {V11 V12}, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0 x25]
             cbz     x23, G_M30168_IG06
             mov     x0, x23
@@ -306,7 +307,7 @@ G_M30168_IG07:        ; bbWeight=4, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefR
             ; GC ptr vars +{V16}
             cbz     x1, G_M30168_IG35
                        ;; size=36 bbWeight=4 PerfScore 34.00
-G_M30168_IG08:        ; bbWeight=2, gcVars=0000000010004004 {V11 V12 V16}, gcrefRegs=11880002 {x1 x19 x23 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG08:        ; bbWeight=2, gcVars=0000000020008004 {V11 V12 V16}, gcrefRegs=11880002 {x1 x19 x23 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0]
             ldr     x2, [x1, #0x18]
             ; gcrRegs +[x2]
@@ -349,7 +350,7 @@ G_M30168_IG10:        ; bbWeight=2, gcrefRegs=11880100 {x8 x19 x23 x24 x28}, byr
             mov     w13, wzr
             mov     w14, #1
             str     w14, [fp, #0x70]   // [V22 loc11]
-            cmp     w21, #0
+            cmp     w20, #0
             ble     G_M30168_IG26
                        ;; size=40 bbWeight=2 PerfScore 21.00
 G_M30168_IG11:        ; bbWeight=16, gcrefRegs=11880300 {x8 x9 x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
@@ -382,7 +383,9 @@ G_M30168_IG11:        ; bbWeight=16, gcrefRegs=11880300 {x8 x9 x19 x23 x24 x28},
             add     x6, fp, #104   // [V23 loc12]
             str     x6, [sp, #0x08]    // [V26 OutArgs+0x08]
             ldrb    w6, [x9, #0x4C]
-            uxtb    w3, w20
+            uxtb    w15, w21
+            str     w15, [fp, #0x50]   // [V48 cse1]
+            mov     w3, w15
             add     x7, fp, #96 // [V24 loc13]
             ldr     x2, [fp, #0x40]    // [V12 loc1]
             ; gcrRegs +[x2]
@@ -394,8 +397,8 @@ G_M30168_IG11:        ; bbWeight=16, gcrefRegs=11880300 {x8 x9 x19 x23 x24 x28},
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             mov     x0, xzr
             ; gcrRegs +[x0]
-            ldr     x15, [x11]
-            blr     x15
+            ldr     xip0, [x11]
+            blr     xip0
             ; gcrRegs -[x0-x2 x4-x5 x8-x9 x12]
             ldrb    w0, [fp, #0x68]    // [V23 loc12]
             ldrb    w11, [fp, #0x60]   // [V24 loc13]
@@ -406,11 +409,11 @@ G_M30168_IG11:        ; bbWeight=16, gcrefRegs=11880300 {x8 x9 x19 x23 x24 x28},
             ldr     w1, [fp, #0x78]    // [V19 loc8]
             cmp     w1, w22
             bne     G_M30168_IG13
-                        ;; size=160 bbWeight=16 PerfScore 808.00
+                      ;; size=168 bbWeight=16 PerfScore 832.00
 G_M30168_IG12:        ; bbWeight=8, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
-            tst     w20, #255
-            bne     G_M30168_IG14
-                       ;; size=8 bbWeight=8 PerfScore 12.00
+            ldr     w2, [fp, #0x50]   // [V48 cse1]
+            cbnz    w2, G_M30168_IG14
+                       ;; size=8 bbWeight=8 PerfScore 24.00
 G_M30168_IG13:        ; bbWeight=8, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
             adds    w1, w1, #1
             bvs     G_M30168_IG43
@@ -418,48 +421,48 @@ G_M30168_IG13:        ; bbWeight=8, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefR
             ldr     w1, [fp, #0x78]    // [V19 loc8]
                        ;; size=16 bbWeight=8 PerfScore 36.00
 G_M30168_IG14:        ; bbWeight=16, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
-            ldr     x2, [fp, #0x38]  // [V16 loc5]
-            ; gcrRegs +[x2]
-            ldr     w0, [x2, #0x48]
-            ldr     w3, [fp, #0x74]    // [V20 loc9]
-            cmp     w3, w0
+            ldr     x3, [fp, #0x38]    // [V16 loc5]
+            ; gcrRegs +[x3]
+            ldr     w0, [x3, #0x48]
+            ldr     w4, [fp, #0x74]    // [V20 loc9]
+            cmp     w4, w0
             bne     G_M30168_IG17
                        ;; size=20 bbWeight=16 PerfScore 136.00
-G_M30168_IG15:        ; bbWeight=8, gcrefRegs=11880004 {x2 x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
-            ldrb    w0, [x2, #0x4C]
+G_M30168_IG15:        ; bbWeight=8, gcrefRegs=11880008 {x3 x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
+            ldrb    w0, [x3, #0x4C]
             cbnz    w0, G_M30168_IG18
                        ;; size=8 bbWeight=8 PerfScore 32.00
 G_M30168_IG16:        ; bbWeight=4, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x2]
-            ldr     x2, [fp, #0x38]    // [V16 loc5]
-            ; gcrRegs +[x2]
+            ; gcrRegs -[x3]
+            ldr     x3, [fp, #0x38]    // [V16 loc5]
+            ; gcrRegs +[x3]
                         ;; size=4 bbWeight=4 PerfScore 8.00
-G_M30168_IG17:        ; bbWeight=8, gcrefRegs=11880004 {x2 x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
-            adds    w3, w3, #1
+G_M30168_IG17:        ; bbWeight=8, gcrefRegs=11880008 {x3 x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
+            adds    w4, w4, #1
             bvs     G_M30168_IG43
-            str     w3, [fp, #0x74]   // [V20 loc9]
-            ldr     w3, [fp, #0x74]    // [V20 loc9]
+            str     w4, [fp, #0x74]  // [V20 loc9]
+            ldr     w4, [fp, #0x74]    // [V20 loc9]
                        ;; size=16 bbWeight=8 PerfScore 36.00
 G_M30168_IG18:        ; bbWeight=16, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x2]
+            ; gcrRegs -[x3]
             ldr     w0, [fp, #0x70]  // [V22 loc11]
             adds    w0, w0, #1
             bvs     G_M30168_IG43
-            cmp     w0, w21
+            cmp     w0, w20
             str     w0, [fp, #0x70] // [V22 loc11]
             ble     G_M30168_IG25
                        ;; size=24 bbWeight=16 PerfScore 96.00
-G_M30168_IG19:        ; bbWeight=8, gcVars=0000000010004204 {V11 V12 V16 V18}, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, gcvars, byref
+G_M30168_IG19:        ; bbWeight=8, gcVars=0000000020008204 {V11 V12 V16 V18}, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, gcvars, byref
             ; GC ptr vars -{V17}
-            stp     w3, w1, [fp, #0x74]   // [V20 loc9], [V19 loc8]
+            stp     w4, w1, [fp, #0x74]  // [V20 loc9], [V19 loc8]
                        ;; size=4 bbWeight=8 PerfScore 8.00
 G_M30168_IG20:        ; bbWeight=2, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
             mov     x0, x23
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
-            ldr     x4, [x11]
-            blr     x4
+            ldr     x2, [x11]
...
  
  
libraries.pmi.osx.arm64.checked.mch
-20 (-11.90%) : 297351.dasm - System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
@@ -8,9 +8,9 @@
 ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] (  4, 14   )     ref  ->  x20         this class-hnd single-def <System.Net.HttpEndPointListener>
-;  V01 arg1         [V01,T02] (  5, 22   )     ref  ->  x19         class-hnd single-def <System.Net.Sockets.SocketAsyncEventArgs>
-;  V02 loc0         [V02,T01] (  3, 24   )   ubyte  ->  x21        
+;  V00 this         [V00,T02] (  4, 18   )     ref  ->  x20         this class-hnd single-def <System.Net.HttpEndPointListener>
+;  V01 arg1         [V01,T01] (  5, 26   )     ref  ->  x19         class-hnd single-def <System.Net.Sockets.SocketAsyncEventArgs>
+;  V02 loc0         [V02,T03] (  2, 16   )   ubyte  ->   x0        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
 ;  V05 tmp2         [V05,T00] (  3, 48   )     ref  ->   x0         class-hnd "Inlining Arg" <System.Net.Sockets.Socket>
@@ -18,22 +18,21 @@
 ;* V07 tmp4         [V07    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
 ;* V08 tmp5         [V08    ] (  0,  0   )     ref  ->  zero-ref    "field V06._source (fldOffset=0x0)" P-INDEP
 ;* V09 tmp6         [V09,T04] (  0,  0   )     ref  ->  zero-ref    "field V07._source (fldOffset=0x0)" P-INDEP
-;  V10 PSPSym       [V10,T05] (  1,  1   )    long  ->  [fp+0x10]  do-not-enreg[V] "PSPSym"
+;  V10 PSPSym       [V10,T05] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 16
 
 G_M14120_IG01:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     x19, x20, [sp, #0x20]
             mov     fp, sp
             add     x2, sp, #48
-            str     x2, [fp, #0x10]   // [V10 PSPSym]
+            str     x2, [fp, #0x18]    // [V10 PSPSym]
             mov     x20, x0
             ; gcrRegs +[x20]
             mov     x19, x1
             ; gcrRegs +[x19]
-                     ;; size=32 bbWeight=8 PerfScore 48.00
+                     ;; size=28 bbWeight=8 PerfScore 40.00
 G_M14120_IG02:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             str     xzr, [x19, #0x08]
             ldr     x0, [x20, #0x18]
@@ -49,12 +48,9 @@ G_M14120_IG02:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             blr     x3
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            sxtw    w21, w0
-                       ;; size=44 bbWeight=8 PerfScore 112.00
+                        ;; size=40 bbWeight=8 PerfScore 108.00
 G_M14120_IG03:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            cbnz    w21, G_M14120_IG05
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M14120_IG04:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+            cbnz    w0, G_M14120_IG04
             mov     x0, x20
             ; gcrRegs +[x0]
             mov     x1, x19
@@ -66,35 +62,30 @@ G_M14120_IG04:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-                      ;; size=28 bbWeight=4 PerfScore 26.00
-G_M14120_IG05:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            cbz     w21, G_M14120_IG02
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M14120_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            b       G_M14120_IG02
+                       ;; size=36 bbWeight=8 PerfScore 68.00
+G_M14120_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x19-x20]
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
+            ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x30
             ret     lr
-                       ;; size=16 bbWeight=1 PerfScore 5.00
-G_M14120_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                        ;; size=12 bbWeight=1 PerfScore 3.00
+G_M14120_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     x19, x20, [sp, #0x20]
             add     x3, fp, #48
-            str     x3, [sp, #0x10]
-                       ;; size=20 bbWeight=0 PerfScore 0.00
-G_M14120_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            adr     x0, [G_M14120_IG06]
+            str     x3, [sp, #0x18]
+                       ;; size=16 bbWeight=0 PerfScore 0.00
+G_M14120_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+            adr     x0, [G_M14120_IG04]
                         ;; size=4 bbWeight=0 PerfScore 0.00
-G_M14120_IG09:        ; bbWeight=0, funclet epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
+G_M14120_IG07:        ; bbWeight=0, funclet epilog, nogc, extend
+            ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x30
             ret     lr
-                       ;; size=16 bbWeight=0 PerfScore 0.00
+                      ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 168, prolog size 32, PerfScore 207.00, instruction count 42, allocated bytes for code 168 (MethodHash=c2bdc8d7) for method System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
+; Total bytes of code 148, prolog size 28, PerfScore 219.00, instruction count 37, allocated bytes for code 148 (MethodHash=c2bdc8d7) for method System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -105,7 +96,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 32 (0x00020) Actual length = 128 (0x000080)
+  Function Length   : 29 (0x0001d) Actual length = 116 (0x000074)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -113,31 +104,29 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
+    C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
     85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
     E4          end
+    E4          end
+    E4          end
 
 Unwind Info:
   >> Start offset   : 0xd1ffab1e (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 2
+  Code Words        : 1
   Epilog Count      : 0
   E bit             : 1
   X bit             : 0
   Vers              : 0
-  Function Length   : 10 (0x0000a) Actual length = 40 (0x000028)
+  Function Length   : 8 (0x00008) Actual length = 32 (0x000020)
   --- One epilog, unwind codes at 0
   ---- Unwind codes ----
     ---- Epilog start at index 0 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
+    C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
     85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
-    E4          end
-    E4          end
 
 *************** EH table for System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M14120_IG02..G_M14120_IG03) handled by [G_M14120_IG07..END) (class: 100003E)
+EH#0: try [G_M14120_IG02..G_M14120_IG03) handled by [G_M14120_IG05..END) (class: 100003E)
  
-40 (-7.94%) : 239167.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:MostSpecificProcedure(System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],byref,System.Object[],System.String[]):Microsoft.VisualBasic.CompilerServices.Symbols+Method (FullOpts)
@@ -8,57 +8,59 @@
 ; 0 inlinees with PGO data; 9 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T03] ( 10, 68   )     ref  ->  x19         class-hnd single-def <System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
-;  V01 arg1         [V01,T11] (  4, 18   )   byref  ->  x20         single-def
-;  V02 arg2         [V02,T13] (  3, 10   )     ref  ->  x21         class-hnd single-def <System.Object[]>
-;  V03 arg3         [V03,T14] (  3, 10   )     ref  ->  x22         class-hnd single-def <System.String[]>
-;  V04 loc0         [V04,T22] (  3,  2   )     ref  ->   x0         class-hnd <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V00 arg0         [V00,T03] (  9, 67   )     ref  ->  x19         class-hnd single-def <System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
+;  V01 arg1         [V01,T12] (  4, 18   )   byref  ->  x20         single-def
+;  V02 arg2         [V02,T15] (  3, 10   )     ref  ->  x21         class-hnd single-def <System.Object[]>
+;  V03 arg3         [V03,T16] (  3, 10   )     ref  ->  x22         class-hnd single-def <System.String[]>
+;  V04 loc0         [V04,T23] (  3,  2   )     ref  ->   x0         class-hnd <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
 ;* V05 loc1         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
 ;  V06 loc2         [V06,T04] ( 10, 54.50)     ref  ->  x26         class-hnd exact <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V07 loc3         [V07,T07] (  3, 26   )   ubyte  ->  x27        
+;  V07 loc3         [V07,T08] (  3, 26   )   ubyte  ->  x27        
 ;* V08 loc4         [V08    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
 ;* V09 loc5         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V10 loc6         [V10,T09] (  3, 24   )     ref  ->   x0         class-hnd exact <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V11 loc7         [V11    ] (  2, 16   )   ubyte  ->  [fp+0x28]  do-not-enreg[X] must-init addr-exposed ld-addr-op
+;  V10 loc6         [V10,T10] (  3, 24   )     ref  ->   x0         class-hnd exact <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V11 loc7         [V11    ] (  2, 16   )   ubyte  ->  [fp+0x18]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;# V12 OutArgs      [V12    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V13 tmp1         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
 ;* V14 tmp2         [V14    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
 ;* V15 tmp3         [V15,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V16 tmp4         [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
-;* V17 tmp5         [V17,T18] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V17 tmp5         [V17,T20] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V18 tmp6         [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
-;  V19 tmp7         [V19,T21] (  2,  3   )     ref  ->  x24         single-def "field V05._list (fldOffset=0x0)" P-INDEP
-;  V20 tmp8         [V20,T16] (  2,  6   )     ref  ->  x26         "field V05._current (fldOffset=0x8)" P-INDEP
-;  V21 tmp9         [V21,T08] (  6, 21   )     int  ->  x25         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V22 tmp10        [V22,T17] (  2,  9   )     int  ->  x23         single-def "field V05._version (fldOffset=0x14)" P-INDEP
-;* V23 tmp11        [V23,T25] (  0,  0   )     ref  ->  zero-ref    "field V08._list (fldOffset=0x0)" P-INDEP
-;  V24 tmp12        [V24,T01] (  9, 80   )     ref  ->  [fp+0x18]  "field V08._current (fldOffset=0x8)" P-INDEP
-;  V25 tmp13        [V25,T00] (  6, 82   )     int  ->  [fp+0x24]  "field V08._index (fldOffset=0x10)" P-INDEP
-;  V26 tmp14        [V26,T12] (  2, 18   )     int  ->  x28         "field V08._version (fldOffset=0x14)" P-INDEP
-;  V27 tmp15        [V27,T23] (  2,  2   )     ref  ->   x5         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;* V19 tmp7         [V19,T22] (  0,  0   )     ref  ->  zero-ref    single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V20 tmp8         [V20,T18] (  2,  6   )     ref  ->  x26         "field V05._current (fldOffset=0x8)" P-INDEP
+;  V21 tmp9         [V21,T09] (  6, 21   )     int  ->  x24         "field V05._index (fldOffset=0x10)" P-INDEP
+;  V22 tmp10        [V22,T19] (  2,  9   )     int  ->  x23         single-def "field V05._version (fldOffset=0x14)" P-INDEP
+;* V23 tmp11        [V23,T26] (  0,  0   )     ref  ->  zero-ref    "field V08._list (fldOffset=0x0)" P-INDEP
+;  V24 tmp12        [V24,T01] (  9, 80   )     ref  ->  [fp+0x10]  "field V08._current (fldOffset=0x8)" P-INDEP
+;  V25 tmp13        [V25,T00] (  6, 82   )     int  ->  x28         "field V08._index (fldOffset=0x10)" P-INDEP
+;  V26 tmp14        [V26,T14] (  2, 18   )     int  ->  x25         "field V08._version (fldOffset=0x14)" P-INDEP
+;  V27 tmp15        [V27,T24] (  2,  2   )     ref  ->   x5         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V28 tmp16        [V28    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V29 tmp17        [V29,T27] (  0,  0   )     int  ->  zero-ref    single-def "field V13._index (fldOffset=0x10)" P-INDEP
-;  V30 tmp18        [V30,T24] (  2,  2   )     int  ->  x23         single-def "field V13._version (fldOffset=0x14)" P-INDEP
-;  V31 tmp19        [V31,T19] (  2,  4   )     ref  ->   x5         "field V14._list (fldOffset=0x0)" P-INDEP
+;* V29 tmp17        [V29,T29] (  0,  0   )     int  ->  zero-ref    single-def "field V13._index (fldOffset=0x10)" P-INDEP
+;  V30 tmp18        [V30,T25] (  2,  2   )     int  ->  x23         single-def "field V13._version (fldOffset=0x14)" P-INDEP
+;* V31 tmp19        [V31,T27] (  0,  0   )     ref  ->  zero-ref    "field V14._list (fldOffset=0x0)" P-INDEP
 ;* V32 tmp20        [V32    ] (  0,  0   )     ref  ->  zero-ref    "field V14._current (fldOffset=0x8)" P-INDEP
-;* V33 tmp21        [V33,T26] (  0,  0   )     int  ->  zero-ref    "field V14._index (fldOffset=0x10)" P-INDEP
-;  V34 tmp22        [V34,T20] (  2,  4   )     int  ->  x28         "field V14._version (fldOffset=0x14)" P-INDEP
-;  V35 tmp23        [V35,T10] (  3, 24   )     ref  ->   x5         "arr expr"
+;* V33 tmp21        [V33,T28] (  0,  0   )     int  ->  zero-ref    "field V14._index (fldOffset=0x10)" P-INDEP
+;  V34 tmp22        [V34,T21] (  2,  4   )     int  ->  x25         "field V14._version (fldOffset=0x14)" P-INDEP
+;  V35 tmp23        [V35,T11] (  3, 24   )     ref  ->   x5         "arr expr"
 ;  V36 tmp24        [V36,T02] (  3, 96   )     ref  ->   x5         "arr expr"
-;  V37 cse0         [V37,T05] (  2, 32   )     int  ->   x5         "CSE - aggressive"
-;  V38 cse1         [V38,T15] (  2,  8   )     int  ->   x5         "CSE - aggressive"
+;  V37 cse0         [V37,T07] (  2, 32   )     int  ->   x5         "CSE - aggressive"
+;  V38 cse1         [V38,T05] (  2, 32   )     int  ->   x5         "CSE - aggressive"
+;  V39 cse2         [V39,T13] (  3, 18   )     int  ->  x25         "CSE - aggressive"
+;  V40 cse3         [V40,T17] (  2,  8   )     int  ->   x5         "CSE - aggressive"
 ;
-; Lcl frame size = 32
+; Lcl frame size = 16
 
 G_M47424_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x80]!
-            stp     x19, x20, [sp, #0x30]
-            stp     x21, x22, [sp, #0x40]
-            stp     x23, x24, [sp, #0x50]
-            stp     x25, x26, [sp, #0x60]
-            stp     x27, x28, [sp, #0x70]
+            stp     fp, lr, [sp, #-0x70]!
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
+            stp     x23, x24, [sp, #0x40]
+            stp     x25, x26, [sp, #0x50]
+            stp     x27, x28, [sp, #0x60]
             mov     fp, sp
-            str     xzr, [fp, #0x28]  // [V11 loc7]
+            str     xzr, [fp, #0x18] // [V11 loc7]
             mov     x19, x0
             ; gcrRegs +[x19]
             mov     x20, x1
@@ -72,55 +74,46 @@ G_M47424_IG02:        ; bbWeight=1, gcrefRegs=680000 {x19 x21 x22}, byrefRegs=10
             mov     x5, x19
             ; gcrRegs +[x5]
             ldr     w23, [x5, #0x14]
-            mov     x24, x19
-            ; gcrRegs +[x24]
-            mov     w25, wzr
-            b       G_M47424_IG12
-                       ;; size=20 bbWeight=1 PerfScore 5.50
-G_M47424_IG03:        ; bbWeight=2, gcrefRegs=5680000 {x19 x21 x22 x24 x26}, byrefRegs=100000 {x20}, byref, isz
+            mov     w24, wzr
+            b       G_M47424_IG10
+                       ;; size=16 bbWeight=1 PerfScore 5.00
+G_M47424_IG03:        ; bbWeight=2, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=100000 {x20}, byref, isz
             ; gcrRegs -[x5] +[x26]
             ldrb    w5, [x26, #0x4D]
-            cbnz    w5, G_M47424_IG12
+            cbnz    w5, G_M47424_IG10
             ldrb    w5, [x26, #0x4E]
-            cbnz    w5, G_M47424_IG12
+            cbnz    w5, G_M47424_IG10
             mov     w27, #1
-            mov     x5, x24
-            ; gcrRegs +[x5]
-            ldr     w28, [x5, #0x14]
-            mov     w7, wzr
-            b       G_M47424_IG10
-                       ;; size=36 bbWeight=2 PerfScore 27.00
-G_M47424_IG04:        ; bbWeight=8, gcrefRegs=5680100 {x8 x19 x21 x22 x24 x26}, byrefRegs=100000 {x20}, byref, isz
-            ; gcrRegs -[x5] +[x8]
-            ldrb    w5, [x8, #0x4D]
-            ldr     w7, [fp, #0x24]    // [V25 tmp13]
-            cbnz    w5, G_M47424_IG10
-            ldrb    w5, [x8, #0x4E]
-            cbnz    w5, G_M47424_IG10
-            ldr     x5, [x8, #0x08]
+            mov     w28, wzr
+            b       G_M47424_IG08
+                       ;; size=28 bbWeight=2 PerfScore 20.00
+G_M47424_IG04:        ; bbWeight=8, gcrefRegs=4680080 {x7 x19 x21 x22 x26}, byrefRegs=100000 {x20}, byref, isz
+            ; gcrRegs +[x7]
+            ldrb    w5, [x7, #0x4D]
+            cbnz    w5, G_M47424_IG08
+            ldrb    w5, [x7, #0x4E]
+            cbnz    w5, G_M47424_IG08
+            ldr     x5, [x7, #0x08]
             ; gcrRegs +[x5]
             ldr     x0, [x26, #0x08]
             ; gcrRegs +[x0]
             cmp     x5, x0
-            bne     G_M47424_IG07
-            ldrb    w5, [x8, #0x4C]
+            bne     G_M47424_IG05
+            ldrb    w5, [x7, #0x4C]
             ; gcrRegs -[x5]
             ldrb    w0, [x26, #0x4C]
             ; gcrRegs -[x0]
             cmp     w5, w0
-            beq     G_M47424_IG10
-                       ;; size=52 bbWeight=8 PerfScore 200.00
-G_M47424_IG05:        ; bbWeight=4, gcrefRegs=5680100 {x8 x19 x21 x22 x24 x26}, byrefRegs=100000 {x20}, byref
-            str     w7, [fp, #0x24]    // [V25 tmp13]
-                       ;; size=4 bbWeight=4 PerfScore 4.00
-G_M47424_IG06:        ; bbWeight=8, gcrefRegs=5680100 {x8 x19 x21 x22 x24 x26}, byrefRegs=100000 {x20}, byref, isz
-            str     wzr, [fp, #0x28]   // [V11 loc7]
-            add     x5, fp, #40    // [V11 loc7]
+            beq     G_M47424_IG08
+                       ;; size=48 bbWeight=8 PerfScore 184.00
+G_M47424_IG05:        ; bbWeight=8, gcrefRegs=4680080 {x7 x19 x21 x22 x26}, byrefRegs=100000 {x20}, byref, isz
+            str     wzr, [fp, #0x18]   // [V11 loc7]
+            add     x5, fp, #24    // [V11 loc7]
             mov     x0, x26
             ; gcrRegs +[x0]
-            str     x8, [fp, #0x18]   // [V24 tmp12]
+            str     x7, [fp, #0x10] // [V24 tmp12]
             ; GC ptr vars +{V24}
-            mov     x1, x8
+            mov     x1, x7
             ; gcrRegs +[x1]
             mov     x2, x21
             ; gcrRegs +[x2]
@@ -128,134 +121,125 @@ G_M47424_IG06:        ; bbWeight=8, gcrefRegs=5680100 {x8 x19 x21 x22 x24 x26},
             ; gcrRegs +[x3]
             mov     w4, wzr
             mov     w6, #1
-            movz    x9, #0xD1FFAB1E      // code for <unknown method>
-            movk    x9, #0xD1FFAB1E LSL #16
-            movk    x9, #1 LSL #32
-            ldr     x9, [x9]
-            blr     x9
-            ; gcrRegs -[x1-x3 x8]
+            movz    x8, #0xD1FFAB1E      // code for <unknown method>
+            movk    x8, #0xD1FFAB1E LSL #16
+            movk    x8, #1 LSL #32
+            ldr     x8, [x8]
+            blr     x8
+            ; gcrRegs -[x1-x3 x7]
             ; gcr arg pop 0
             cmp     x0, x26
-            bne     G_M47424_IG08
-            ldr     x8, [fp, #0x18]    // [V24 tmp12]
-            ; gcrRegs +[x8]
-            ldrb    w0, [x8, #0x50]
+            bne     G_M47424_IG06
+            ldr     x7, [fp, #0x10]    // [V24 tmp12]
+            ; gcrRegs +[x7]
+            ldrb    w0, [x7, #0x50]
             ; gcrRegs -[x0]
-            ldr     w7, [fp, #0x24]    // [V25 tmp13]
-            cbnz    w0, G_M47424_IG10
+            cbnz    w0, G_M47424_IG08
             mov     w0, #1
-            strb    w0, [x8, #0x50]
-            b       G_M47424_IG09
-                       ;; size=92 bbWeight=8 PerfScore 184.00
-G_M47424_IG07:        ; bbWeight=4, gcVars=0000000000000000 {}, gcrefRegs=5680100 {x8 x19 x21 x22 x24 x26}, byrefRegs=100000 {x20}, gcvars, byref
-            ; GC ptr vars -{V24}
-            str     w7, [fp, #0x24]    // [V25 tmp13]
-            b       G_M47424_IG06
-                       ;; size=8 bbWeight=4 PerfScore 8.00
-G_M47424_IG08:        ; bbWeight=8, gcVars=0000000000000002 {V24}, gcrefRegs=5680001 {x0 x19 x21 x22 x24 x26}, byrefRegs=100000 {x20}, gcvars, byref, isz
-            ; gcrRegs -[x8] +[x0]
-            ; GC ptr vars +{V01 V24}
+            strb    w0, [x7, #0x50]
+            b       G_M47424_IG07
+                       ;; size=88 bbWeight=8 PerfScore 168.00
+G_M47424_IG06:        ; bbWeight=8, gcrefRegs=4680001 {x0 x19 x21 x22 x26}, byrefRegs=100000 {x20}, byref, isz
+            ; gcrRegs -[x7] +[x0]
             mov     w27, wzr
-            ldr     x8, [fp, #0x18] // [V24 tmp12]
-            ; gcrRegs +[x8]
-            cmp     x0, x8
-            ldr     w7, [fp, #0x24]    // [V25 tmp13]
-            bne     G_M47424_IG10
+            ldr     x7, [fp, #0x10] // [V24 tmp12]
+            ; gcrRegs +[x7]
+            cmp     x0, x7
+            bne     G_M47424_IG08
             ldrb    w0, [x26, #0x50]
             ; gcrRegs -[x0]
-            cbnz    w0, G_M47424_IG10
+            cbnz    w0, G_M47424_IG08
             mov     w0, #1
             strb    w0, [x26, #0x50]
-                     ;; size=36 bbWeight=8 PerfScore 92.00
-G_M47424_IG09:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=5680000 {x19 x21 x22 x24 x26}, byrefRegs=100000 {x20}, gcvars, byref, isz
-            ; gcrRegs -[x8]
-            ; GC ptr vars -{V01 V24}
+                     ;; size=32 bbWeight=8 PerfScore 76.00
+G_M47424_IG07:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=4680000 {x19 x21 x22 x26}, byrefRegs=100000 {x20}, gcvars, byref, isz
+            ; gcrRegs -[x7]
+            ; GC ptr vars -{V24}
             ldr     w0, [x20]
             subs    w0, w0, #1
-            bvs     G_M47424_IG17
+            bvs     G_M47424_IG15
...
  
-28 (-7.00%) : 261307.dasm - Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
@@ -8,66 +8,66 @@
 ; 0 inlinees with PGO data; 7 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T10] (  4,  4   )     ref  ->  x21         this class-hnd single-def <Xunit.AggregateMessageSink>
-;  V01 arg1         [V01,T07] (  3,  6   )     ref  ->  x19         class-hnd single-def <Xunit.Abstractions.IMessageSinkMessage>
-;  V02 arg2         [V02,T08] (  3,  6   )     ref  ->  x20         class-hnd single-def <System.Collections.Generic.HashSet`1[System.String]>
+;  V00 this         [V00,T11] (  4,  4   )     ref  ->  x21         this class-hnd single-def <Xunit.AggregateMessageSink>
+;  V01 arg1         [V01,T08] (  3,  6   )     ref  ->  x19         class-hnd single-def <Xunit.Abstractions.IMessageSinkMessage>
+;  V02 arg2         [V02,T09] (  3,  6   )     ref  ->  x20         class-hnd single-def <System.Collections.Generic.HashSet`1[System.String]>
 ;  V03 loc0         [V03,T06] (  4, 10   )   ubyte  ->  x22        
-;  V04 loc1         [V04,T15] (  4,  1.50)     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
-;  V05 loc2         [V05    ] (  5,  4   )   ubyte  ->  [fp+0x18]  do-not-enreg[X] must-init addr-exposed ld-addr-op
+;  V04 loc1         [V04,T16] (  4,  1.50)     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
+;  V05 loc2         [V05    ] (  5,  4   )   ubyte  ->  [fp+0x20]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;* V06 loc3         [V06    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[Xunit.IMessageSinkWithTypes]>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V08 tmp1         [V08,T12] (  2,  4   )   ubyte  ->   x0         "Inlining Arg"
-;  V09 tmp2         [V09,T11] (  2,  4   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
+;  V08 tmp1         [V08,T13] (  2,  4   )   ubyte  ->   x0         "Inlining Arg"
+;  V09 tmp2         [V09,T12] (  2,  4   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[Xunit.IMessageSinkWithTypes]>
-;* V11 tmp4         [V11,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V11 tmp4         [V11,T10] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V12 tmp5         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
 ;  V13 tmp6         [V13,T02] (  4, 17   )     ref  ->  x21         single-def "field V06._list (fldOffset=0x0)" P-INDEP
-;  V14 tmp7         [V14,T05] (  2,  8   )     ref  ->   x0         "field V06._current (fldOffset=0x8)" P-INDEP
+;  V14 tmp7         [V14,T04] (  2,  8   )     ref  ->   x0         "field V06._current (fldOffset=0x8)" P-INDEP
 ;  V15 tmp8         [V15,T00] (  6, 21   )     int  ->  x24         "field V06._index (fldOffset=0x10)" P-INDEP
-;  V16 tmp9         [V16,T04] (  3, 13   )     int  ->  x23         single-def "field V06._version (fldOffset=0x14)" P-INDEP
-;  V17 tmp10        [V17,T13] (  3,  3   )     ref  ->  x21         single-def "field V10._list (fldOffset=0x0)" P-INDEP
+;  V16 tmp9         [V16,T07] (  2,  9   )     int  ->  x23         single-def "field V06._version (fldOffset=0x14)" P-INDEP
+;  V17 tmp10        [V17,T14] (  3,  3   )     ref  ->  x21         single-def "field V10._list (fldOffset=0x0)" P-INDEP
 ;* V18 tmp11        [V18    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V10._current (fldOffset=0x8)" P-INDEP
-;* V19 tmp12        [V19,T17] (  0,  0   )     int  ->  zero-ref    single-def "field V10._index (fldOffset=0x10)" P-INDEP
-;  V20 tmp13        [V20,T14] (  2,  2   )     int  ->  x23         single-def "field V10._version (fldOffset=0x14)" P-INDEP
+;* V19 tmp12        [V19,T18] (  0,  0   )     int  ->  zero-ref    single-def "field V10._index (fldOffset=0x10)" P-INDEP
+;  V20 tmp13        [V20,T15] (  2,  2   )     int  ->  x23         single-def "field V10._version (fldOffset=0x14)" P-INDEP
 ;  V21 tmp14        [V21,T01] (  3, 24   )     ref  ->   x0         "arr expr"
-;  V22 PSPSym       [V22,T18] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
-;  V23 cse0         [V23,T03] (  3, 20   )     int  ->  x25         "CSE - aggressive"
-;  V24 cse1         [V24,T16] (  3,  1.50)     ref  ->   x1         "CSE - moderate"
+;  V22 PSPSym       [V22,T19] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
+;  V23 cse0         [V23,T05] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V24 cse1         [V24,T03] (  2, 16   )     int  ->   x0         "CSE - aggressive"
+;  V25 cse2         [V25,T17] (  3,  1.50)     ref  ->   x1         "CSE - moderate"
 ;
-; Lcl frame size = 24
+; Lcl frame size = 32
 
 G_M52679_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x28]
-            stp     x21, x22, [sp, #0x38]
-            stp     x23, x24, [sp, #0x48]
-            str     x25, [sp, #0x58]
+            stp     x19, x20, [sp, #0x30]
+            stp     x21, x22, [sp, #0x40]
+            stp     x23, x24, [sp, #0x50]
             mov     fp, sp
-            str     xzr, [fp, #0x18]  // [V05 loc2]
+            str     xzr, [fp, #0x20] // [V05 loc2]
             add     x3, sp, #96
-            str     x3, [fp, #0x20]   // [V22 PSPSym]
+            str     x3, [fp, #0x28]    // [V22 PSPSym]
             mov     x21, x0
             ; gcrRegs +[x21]
             mov     x19, x1
             ; gcrRegs +[x19]
             mov     x20, x2
             ; gcrRegs +[x20]
-                     ;; size=48 bbWeight=1 PerfScore 9.50
+                      ;; size=44 bbWeight=1 PerfScore 8.50
 G_M52679_IG02:        ; bbWeight=1, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
             mov     w22, #1
             ldr     x0, [x21, #0x08]
             ; gcrRegs +[x0]
-            str     x0, [fp, #0x10]   // [V04 loc1]
+            str     x0, [fp, #0x18]  // [V04 loc1]
             ; GC ptr vars +{V04}
                        ;; size=12 bbWeight=1 PerfScore 4.50
-G_M52679_IG03:        ; bbWeight=1, gcVars=0000000000008000 {V04}, gcrefRegs=380001 {x0 x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
-            ldrb    w1, [fp, #0x18]    // [V05 loc2]
+G_M52679_IG03:        ; bbWeight=1, gcVars=0000000000010000 {V04}, gcrefRegs=380001 {x0 x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+            ldrb    w1, [fp, #0x20]    // [V05 loc2]
             cbnz    w1, G_M52679_IG08
-            add     x1, fp, #24 // [V05 loc2]
+            add     x1, fp, #32  // [V05 loc2]
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            ldrb    w0, [fp, #0x18]   // [V05 loc2]
+            ldrb    w0, [fp, #0x20]  // [V05 loc2]
             cbnz    w0, G_M52679_IG05
                        ;; size=24 bbWeight=1 PerfScore 7.50
 G_M52679_IG04:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
@@ -90,19 +90,19 @@ G_M52679_IG05:        ; bbWeight=1, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
             mov     w24, wzr
                        ;; size=12 bbWeight=1 PerfScore 6.50
 G_M52679_IG06:        ; bbWeight=8, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
-            ldr     w25, [x21, #0x14]
-            cmp     w23, w25
-            bne     G_M52679_IG09
+            ldr     w0, [x21, #0x14]
+            cmp     w23, w0
+            bne     G_M52679_IG10
                       ;; size=12 bbWeight=8 PerfScore 36.00
 G_M52679_IG07:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x21, #0x10]
             cmp     w24, w0
-            bhs     G_M52679_IG12
+            bhs     G_M52679_IG11
             ldr     x0, [x21, #0x08]
             ; gcrRegs +[x0]
             ldr     w2, [x0, #0x08]
             cmp     w24, w2
-            bhs     G_M52679_IG10
+            bhs     G_M52679_IG09
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
@@ -135,16 +135,11 @@ G_M52679_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M52679_IG09:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            cmp     w23, w25
-            bne     G_M52679_IG11
-            b       G_M52679_IG12
-                       ;; size=12 bbWeight=4 PerfScore 10.00
-G_M52679_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52679_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M52679_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52679_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
@@ -153,70 +148,67 @@ G_M52679_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M52679_IG12:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            ldrb    w0, [fp, #0x18]    // [V05 loc2]
-            cbz     w0, G_M52679_IG14
+G_M52679_IG11:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            ldrb    w0, [fp, #0x20]    // [V05 loc2]
+            cbz     w0, G_M52679_IG13
                       ;; size=8 bbWeight=1 PerfScore 3.00
-G_M52679_IG13:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ldr     x0, [fp, #0x10]    // [V04 loc1]
+G_M52679_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ldr     x0, [fp, #0x18]    // [V04 loc1]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V04}
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=8 bbWeight=0.50 PerfScore 1.50
-G_M52679_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52679_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, w22
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M52679_IG15:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x25, [sp, #0x58]
-            ldp     x23, x24, [sp, #0x48]
-            ldp     x21, x22, [sp, #0x38]
-            ldp     x19, x20, [sp, #0x28]
+G_M52679_IG14:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x23, x24, [sp, #0x50]
+            ldp     x21, x22, [sp, #0x40]
+            ldp     x19, x20, [sp, #0x30]
             ldp     fp, lr, [sp], #0x60
             ret     lr
-                       ;; size=24 bbWeight=1 PerfScore 7.00
-G_M52679_IG16:        ; bbWeight=0, gcVars=0000000000008000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-            ; GC ptr vars +{V04 V15}
+                     ;; size=20 bbWeight=1 PerfScore 5.00
+G_M52679_IG15:        ; bbWeight=0, gcVars=0000000000010000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+            ; GC ptr vars +{V04 V16}
             stp     fp, lr, [sp, #-0x50]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            stp     x23, x24, [sp, #0x38]
-            str     x25, [sp, #0x48]
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
+            stp     x23, x24, [sp, #0x40]
             add     x3, fp, #96
-            str     x3, [sp, #0x10]
-                       ;; size=28 bbWeight=0 PerfScore 0.00
-G_M52679_IG17:        ; bbWeight=0, gcVars=0000000000008000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            ldrb    w0, [fp, #0x18]    // [V05 loc2]
-            cbz     w0, G_M52679_IG18
-            ldr     x0, [fp, #0x10]    // [V04 loc1]
+            str     x3, [sp, #0x18]
+                       ;; size=24 bbWeight=0 PerfScore 0.00
+G_M52679_IG16:        ; bbWeight=0, gcVars=0000000000010000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+            ldrb    w0, [fp, #0x20]    // [V05 loc2]
+            cbz     w0, G_M52679_IG17
+            ldr     x0, [fp, #0x18]    // [V04 loc1]
             ; gcrRegs +[x0]
-            ; GC ptr vars -{V04 V15}
+            ; GC ptr vars -{V04 V16}
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M52679_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
-            ldr     x25, [sp, #0x48]
-            ldp     x23, x24, [sp, #0x38]
-            ldp     x21, x22, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
+G_M52679_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+            ldp     x23, x24, [sp, #0x40]
+            ldp     x21, x22, [sp, #0x30]
+            ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x50
             ret     lr
-                       ;; size=24 bbWeight=0 PerfScore 0.00
+                      ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 400, prolog size 48, PerfScore 187.75, instruction count 100, allocated bytes for code 400 (MethodHash=39853238) for method Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
+; Total bytes of code 372, prolog size 44, PerfScore 174.75, instruction count 93, allocated bytes for code 372 (MethodHash=39853238) for method Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 3
+  Code Words        : 2
   Epilog Count      : 1
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 83 (0x00053) Actual length = 332 (0x00014c)
+  Function Length   : 78 (0x0004e) Actual length = 312 (0x000138)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -224,15 +216,12 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D1 8B       save_reg X#6 Z#11 (0x0B); str x25, [sp, #88]
     E6          save_next
     E6          save_next
-    C8 05       save_regp X#0 Z#5 (0x05); stp x19, x20, [sp, #40]
...
  
+8 (+0.28%) : 221307.dasm - System.Xml.Xsl.Xslt.XsltLoader:ParseModeListAttribute(int):System.Xml.Xsl.Qil.QilName:this (FullOpts)
@@ -8,81 +8,81 @@
 ; 0 inlinees with PGO data; 75 single block inlinees; 20 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T21] ( 21, 16.50)     ref  ->  x19         this class-hnd single-def <System.Xml.Xsl.Xslt.XsltLoader>
-;  V01 arg1         [V01,T42] (  4,  4   )     int  ->   x1         single-def
-;  V02 loc0         [V02,T89] (  6,  2.38)     ref  ->  x21         class-hnd exact single-def <System.String>
-;  V03 loc1         [V03,T105] (  3,  1.50)     ref  ->  x22         class-hnd exact single-def <System.String[]>
-;  V04 loc2         [V04,T02] ( 23, 85   )     ref  ->  x23         class-hnd exact single-def <<unknown class>>
-;  V05 loc3         [V05,T46] (  2,  4.50)     ref  ->  x22         class-hnd exact single-def <System.String[]>
-;  V06 loc4         [V06,T22] (  5, 16.50)     int  ->  x21        
-;  V07 loc5         [V07,T26] (  8, 17.50)     ref  ->  x25         class-hnd exact <System.String>
-;  V08 loc6         [V08,T23] (  5, 16   )     ref  ->  x26         class-hnd <System.Xml.Xsl.Qil.QilName>
-;  V09 loc7         [V09,T09] (  4, 36   )   ubyte  ->  x27        
+;  V00 this         [V00,T22] ( 21, 16.50)     ref  ->  x19         this class-hnd single-def <System.Xml.Xsl.Xslt.XsltLoader>
+;  V01 arg1         [V01,T44] (  4,  4   )     int  ->   x1         single-def
+;  V02 loc0         [V02,T90] (  6,  2.38)     ref  ->  x21         class-hnd exact single-def <System.String>
+;  V03 loc1         [V03,T106] (  3,  1.50)     ref  ->  x22         class-hnd exact single-def <System.String[]>
+;  V04 loc2         [V04,T02] ( 22, 83   )     ref  ->  x23         class-hnd exact single-def <<unknown class>>
+;  V05 loc3         [V05,T47] (  2,  4.50)     ref  ->  x22         class-hnd exact single-def <System.String[]>
+;  V06 loc4         [V06,T23] (  5, 16.50)     int  ->  x21        
+;  V07 loc5         [V07,T27] (  8, 17.50)     ref  ->  x25         class-hnd exact <System.String>
+;  V08 loc6         [V08,T24] (  5, 16   )     ref  ->  x26         class-hnd <System.Xml.Xsl.Qil.QilName>
+;  V09 loc7         [V09,T10] (  4, 36   )   ubyte  ->  x27        
 ;* V10 loc8         [V10    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Xml.Xsl.Qil.QilName]>
-;  V11 loc9         [V11,T11] (  4, 32   )     ref  ->  [fp+0x18]  class-hnd exact spill-single-def <System.Xml.Xsl.Qil.QilName>
+;  V11 loc9         [V11,T12] (  4, 32   )     ref  ->  [fp+0x18]  class-hnd exact spill-single-def <System.Xml.Xsl.Qil.QilName>
 ;# V12 OutArgs      [V12    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V13 tmp1         [V13,T60] (  3,  3   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V14 tmp2         [V14,T27] (  3, 12   )     ref  ->  x27         class-hnd exact "dup spill" <System.String[]>
-;  V15 tmp3         [V15,T33] (  2,  8   )     ref  ->  x26         class-hnd exact "impAppendStmt" <System.String>
-;  V16 tmp4         [V16,T91] (  2,  2   )     ref  ->  x21         class-hnd exact "impAppendStmt" <System.String>
-;  V17 tmp5         [V17,T92] (  2,  2   )     ref  ->   x0         class-hnd exact single-def "impAppendStmt" <System.Xml.Xsl.Xslt.Compiler>
-;  V18 tmp6         [V18,T93] (  2,  2   )     ref  ->  x22         class-hnd exact single-def "impAppendStmt" <System.String>
-;  V19 tmp7         [V19,T31] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.Xml.Xsl.Xslt.XsltInput>
-;  V20 tmp8         [V20,T61] (  3,  3   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Xml.Xsl.Xslt.XsltInput>
+;  V13 tmp1         [V13,T61] (  3,  3   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V14 tmp2         [V14,T28] (  3, 12   )     ref  ->  x27         class-hnd exact "dup spill" <System.String[]>
+;  V15 tmp3         [V15,T35] (  2,  8   )     ref  ->  x26         class-hnd exact "impAppendStmt" <System.String>
+;  V16 tmp4         [V16,T92] (  2,  2   )     ref  ->  x21         class-hnd exact "impAppendStmt" <System.String>
+;  V17 tmp5         [V17,T93] (  2,  2   )     ref  ->   x0         class-hnd exact single-def "impAppendStmt" <System.Xml.Xsl.Xslt.Compiler>
+;  V18 tmp6         [V18,T94] (  2,  2   )     ref  ->  x22         class-hnd exact single-def "impAppendStmt" <System.String>
+;  V19 tmp7         [V19,T33] (  4,  8   )     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.Xml.Xsl.Xslt.XsltInput>
+;  V20 tmp8         [V20,T62] (  3,  3   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Xml.Xsl.Xslt.XsltInput>
 ;* V21 tmp9         [V21    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
-;* V22 tmp10        [V22,T112] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
-;  V23 tmp11        [V23,T62] (  3,  3   )     ref  ->  x21         class-hnd exact single-def "dup spill" <System.String[]>
-;  V24 tmp12        [V24,T94] (  2,  2   )     ref  ->  x20         class-hnd exact single-def "impAppendStmt" <System.String>
+;* V22 tmp10        [V22,T113] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
+;  V23 tmp11        [V23,T63] (  3,  3   )     ref  ->  x21         class-hnd exact single-def "dup spill" <System.String[]>
+;  V24 tmp12        [V24,T95] (  2,  2   )     ref  ->  x20         class-hnd exact single-def "impAppendStmt" <System.String>
 ;* V25 tmp13        [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Xml.Xsl.Xslt.XsltInput>
-;  V26 tmp14        [V26,T63] (  3,  3   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <<unknown class>>
-;  V27 tmp15        [V27,T47] (  4,  4   )     ref  ->  x22         class-hnd exact single-def "impAppendStmt" <System.Xml.Xsl.Xslt.Compiler>
-;  V28 tmp16        [V28,T95] (  2,  2   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <System.Xml.Xsl.ISourceLineInfo>
-;  V29 tmp17        [V29,T113] (  2,  1   )     ref  ->   x1         class-hnd exact single-def "Inline stloc first use temp" <System.Xml.Xsl.Xslt.CompilerError>
-;  V30 tmp18        [V30,T64] (  3,  3   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Xml.Xsl.Xslt.CompilerErrorCollection>
-;  V31 tmp19        [V31,T48] (  4,  4   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <ushort[]>
+;  V26 tmp14        [V26,T64] (  3,  3   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V27 tmp15        [V27,T48] (  4,  4   )     ref  ->  x22         class-hnd exact single-def "impAppendStmt" <System.Xml.Xsl.Xslt.Compiler>
+;  V28 tmp16        [V28,T96] (  2,  2   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <System.Xml.Xsl.ISourceLineInfo>
+;  V29 tmp17        [V29,T114] (  2,  1   )     ref  ->   x1         class-hnd exact single-def "Inline stloc first use temp" <System.Xml.Xsl.Xslt.CompilerError>
+;  V30 tmp18        [V30,T65] (  3,  3   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Xml.Xsl.Xslt.CompilerErrorCollection>
+;  V31 tmp19        [V31,T49] (  4,  4   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <ushort[]>
 ;* V32 tmp20        [V32    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V33 tmp21        [V33    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;  V34 tmp22        [V34,T65] (  3,  3   )     ref  ->  x21         class-hnd exact single-def "Inlining Arg" <System.Xml.Xsl.Xslt.Compiler>
+;  V34 tmp22        [V34,T66] (  3,  3   )     ref  ->  x21         class-hnd exact single-def "Inlining Arg" <System.Xml.Xsl.Xslt.Compiler>
 ;* V35 tmp23        [V35    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Xml.Xsl.Xslt.CompilerErrorCollection>
-;  V36 tmp24        [V36,T49] (  4,  4   )     ref  ->  x21         class-hnd exact single-def "impAppendStmt" <System.Xml.Xsl.Xslt.Compiler>
-;  V37 tmp25        [V37,T96] (  2,  2   )     ref  ->  x24         class-hnd exact single-def "Inlining Arg" <System.String[]>
-;  V38 tmp26        [V38,T97] (  2,  2   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <System.Xml.Xsl.ISourceLineInfo>
-;  V39 tmp27        [V39,T114] (  2,  1   )     ref  ->   x1         class-hnd exact single-def "Inline stloc first use temp" <System.Xml.Xsl.Xslt.CompilerError>
-;  V40 tmp28        [V40,T66] (  3,  3   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Xml.Xsl.Xslt.CompilerErrorCollection>
+;  V36 tmp24        [V36,T50] (  4,  4   )     ref  ->  x21         class-hnd exact single-def "impAppendStmt" <System.Xml.Xsl.Xslt.Compiler>
+;  V37 tmp25        [V37,T97] (  2,  2   )     ref  ->  x24         class-hnd exact single-def "Inlining Arg" <System.String[]>
+;  V38 tmp26        [V38,T98] (  2,  2   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <System.Xml.Xsl.ISourceLineInfo>
+;  V39 tmp27        [V39,T115] (  2,  1   )     ref  ->   x1         class-hnd exact single-def "Inline stloc first use temp" <System.Xml.Xsl.Xslt.CompilerError>
+;  V40 tmp28        [V40,T67] (  3,  3   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Xml.Xsl.Xslt.CompilerErrorCollection>
 ;* V41 tmp29        [V41    ] (  0,  0   )     ref  ->  zero-ref    "spilling varStr"
-;  V42 tmp30        [V42,T29] (  2,  8   )     int  ->   x5         "spilling unroll qmark"
+;  V42 tmp30        [V42,T31] (  2,  8   )     int  ->   x5         "spilling unroll qmark"
 ;* V43 tmp31        [V43    ] (  0,  0   )     ref  ->  zero-ref    "spilling varStr"
-;  V44 tmp32        [V44,T30] (  2,  8   )     int  ->   x5         "spilling unroll qmark"
-;  V45 tmp33        [V45,T67] (  3,  3   )     ref  ->  x22         class-hnd exact "dup spill" <System.String[]>
-;  V46 tmp34        [V46,T98] (  2,  2   )     ref  ->  x21         class-hnd exact "impAppendStmt" <System.String>
+;  V44 tmp32        [V44,T32] (  2,  8   )     int  ->   x5         "spilling unroll qmark"
+;  V45 tmp33        [V45,T68] (  3,  3   )     ref  ->  x22         class-hnd exact "dup spill" <System.String[]>
+;  V46 tmp34        [V46,T99] (  2,  2   )     ref  ->  x21         class-hnd exact "impAppendStmt" <System.String>
 ;* V47 tmp35        [V47    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Xml.Xsl.Xslt.XsltInput>
-;  V48 tmp36        [V48,T68] (  3,  3   )     ref  ->   x0         class-hnd exact "Inlining Arg" <<unknown class>>
-;  V49 tmp37        [V49,T50] (  4,  4   )     ref  ->  x24         class-hnd exact "impAppendStmt" <System.Xml.Xsl.Xslt.Compiler>
-;  V50 tmp38        [V50,T99] (  2,  2   )     ref  ->   x1         class-hnd "Inlining Arg" <System.Xml.Xsl.ISourceLineInfo>
-;  V51 tmp39        [V51,T115] (  2,  1   )     ref  ->   x1         class-hnd exact "Inline stloc first use temp" <System.Xml.Xsl.Xslt.CompilerError>
-;  V52 tmp40        [V52,T69] (  3,  3   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Xml.Xsl.Xslt.CompilerErrorCollection>
+;  V48 tmp36        [V48,T69] (  3,  3   )     ref  ->   x0         class-hnd exact "Inlining Arg" <<unknown class>>
+;  V49 tmp37        [V49,T51] (  4,  4   )     ref  ->  x24         class-hnd exact "impAppendStmt" <System.Xml.Xsl.Xslt.Compiler>
+;  V50 tmp38        [V50,T100] (  2,  2   )     ref  ->   x1         class-hnd "Inlining Arg" <System.Xml.Xsl.ISourceLineInfo>
+;  V51 tmp39        [V51,T116] (  2,  1   )     ref  ->   x1         class-hnd exact "Inline stloc first use temp" <System.Xml.Xsl.Xslt.CompilerError>
+;  V52 tmp40        [V52,T70] (  3,  3   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Xml.Xsl.Xslt.CompilerErrorCollection>
 ;* V53 tmp41        [V53    ] (  0,  0   )     ref  ->  zero-ref    "spilling varStr"
-;* V54 tmp42        [V54,T45] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
-;  V55 tmp43        [V55,T51] (  4,  4   )     ref  ->  x24         class-hnd exact "impAppendStmt" <System.Xml.Xsl.Xslt.Compiler>
-;  V56 tmp44        [V56,T100] (  2,  2   )     ref  ->  x22         class-hnd exact "Inlining Arg" <System.String[]>
-;  V57 tmp45        [V57,T101] (  2,  2   )     ref  ->   x1         class-hnd "Inlining Arg" <System.Xml.Xsl.ISourceLineInfo>
-;  V58 tmp46        [V58,T116] (  2,  1   )     ref  ->   x1         class-hnd exact "Inline stloc first use temp" <System.Xml.Xsl.Xslt.CompilerError>
-;  V59 tmp47        [V59,T70] (  3,  3   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Xml.Xsl.Xslt.CompilerErrorCollection>
-;  V60 tmp48        [V60,T55] (  2,  4   )     ref  ->  x26         class-hnd exact "Inline return value spill temp" <System.Xml.Xsl.Qil.QilName>
+;* V54 tmp42        [V54,T46] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
+;  V55 tmp43        [V55,T52] (  4,  4   )     ref  ->  x24         class-hnd exact "impAppendStmt" <System.Xml.Xsl.Xslt.Compiler>
+;  V56 tmp44        [V56,T101] (  2,  2   )     ref  ->  x22         class-hnd exact "Inlining Arg" <System.String[]>
+;  V57 tmp45        [V57,T102] (  2,  2   )     ref  ->   x1         class-hnd "Inlining Arg" <System.Xml.Xsl.ISourceLineInfo>
+;  V58 tmp46        [V58,T117] (  2,  1   )     ref  ->   x1         class-hnd exact "Inline stloc first use temp" <System.Xml.Xsl.Xslt.CompilerError>
+;  V59 tmp47        [V59,T71] (  3,  3   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Xml.Xsl.Xslt.CompilerErrorCollection>
+;  V60 tmp48        [V60,T56] (  2,  4   )     ref  ->  x26         class-hnd exact "Inline return value spill temp" <System.Xml.Xsl.Qil.QilName>
 ;  V61 tmp49        [V61    ] (  3,  6   )     ref  ->  [fp+0x38]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
 ;  V62 tmp50        [V62    ] (  3,  6   )     ref  ->  [fp+0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
 ;  V63 tmp51        [V63    ] (  3,  6   )     ref  ->  [fp+0x28]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.String>
-;  V64 tmp52        [V64,T34] (  2,  8   )     ref  ->  x27         class-hnd exact "Inlining Arg" <System.String>
-;  V65 tmp53        [V65,T35] (  2,  8   )     ref  ->  x28         class-hnd exact "Inlining Arg" <System.String>
-;  V66 tmp54        [V66,T36] (  2,  8   )     ref  ->  x26         class-hnd exact "Inlining Arg" <System.String>
+;  V64 tmp52        [V64,T36] (  2,  8   )     ref  ->  x27         class-hnd exact "Inlining Arg" <System.String>
+;  V65 tmp53        [V65,T37] (  2,  8   )     ref  ->  x28         class-hnd exact "Inlining Arg" <System.String>
+;  V66 tmp54        [V66,T38] (  2,  8   )     ref  ->  x26         class-hnd exact "Inlining Arg" <System.String>
 ;* V67 tmp55        [V67    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Xml.Xsl.Qil.QilName]>
-;  V68 tmp56        [V68,T18] (  3, 24   )   ubyte  ->   x4         "Inline return value spill temp"
-;  V69 tmp57        [V69,T12] (  4, 32   )     ref  ->  [fp+0x10]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.Xml.Xsl.Qil.QilName>
-;* V70 tmp58        [V70,T25] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V68 tmp56        [V68,T19] (  3, 24   )   ubyte  ->   x4         "Inline return value spill temp"
+;  V69 tmp57        [V69,T13] (  4, 32   )     ref  ->  [fp+0x10]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.Xml.Xsl.Qil.QilName>
+;* V70 tmp58        [V70,T26] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V71 tmp59        [V71,T03] (  5, 80   )     ref  ->   x2         class-hnd exact "Inlining Arg" <System.String>
 ;  V72 tmp60        [V72,T04] (  5, 80   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
-;  V73 tmp61        [V73,T13] (  2, 16   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V74 tmp62        [V74,T15] (  2, 32   )   byref  ->   x6         "impAppendStmt"
+;  V73 tmp61        [V73,T14] (  2, 16   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V74 tmp62        [V74,T16] (  2, 32   )   byref  ->   x6         "impAppendStmt"
 ;* V75 tmp63        [V75    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V76 tmp64        [V76    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V77 tmp65        [V77    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -90,77 +90,78 @@
 ;* V79 tmp67        [V79    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V80 tmp68        [V80,T05] (  5, 80   )     ref  ->   x2         class-hnd exact "Inlining Arg" <System.String>
 ;  V81 tmp69        [V81,T06] (  5, 80   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
-;  V82 tmp70        [V82,T14] (  4, 32   )   ubyte  ->   x4         "Inline return value spill temp"
-;  V83 tmp71        [V83,T16] (  2, 32   )   byref  ->   x4         "impAppendStmt"
+;  V82 tmp70        [V82,T15] (  4, 32   )   ubyte  ->   x4         "Inline return value spill temp"
+;  V83 tmp71        [V83,T17] (  2, 32   )   byref  ->   x4         "impAppendStmt"
 ;* V84 tmp72        [V84    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V85 tmp73        [V85    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V86 tmp74        [V86    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V87 tmp75        [V87    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V88 tmp76        [V88    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V89 tmp77        [V89,T17] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V89 tmp77        [V89,T18] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V90 tmp78        [V90    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V91 tmp79        [V91,T24] (  4, 16   )     ref  ->  x25         class-hnd exact "impAppendStmt" <System.Xml.Xsl.Xslt.Compiler>
-;  V92 tmp80        [V92,T37] (  2,  8   )     ref  ->   x1         class-hnd "Inlining Arg" <System.Xml.Xsl.ISourceLineInfo>
-;  V93 tmp81        [V93,T56] (  2,  4   )     ref  ->   x1         class-hnd exact "Inline stloc first use temp" <System.Xml.Xsl.Xslt.CompilerError>
-;  V94 tmp82        [V94,T28] (  3, 12   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Xml.Xsl.Xslt.CompilerErrorCollection>
-;  V95 tmp83        [V95,T43] (  3,  6   )     ref  ->  x14         class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V96 tmp84        [V96,T32] (  4,  8   )     int  ->   x4         "Inline stloc first use temp"
+;  V91 tmp79        [V91,T25] (  4, 16   )     ref  ->  x25         class-hnd exact "impAppendStmt" <System.Xml.Xsl.Xslt.Compiler>
+;  V92 tmp80        [V92,T39] (  2,  8   )     ref  ->   x1         class-hnd "Inlining Arg" <System.Xml.Xsl.ISourceLineInfo>
+;  V93 tmp81        [V93,T57] (  2,  4   )     ref  ->   x1         class-hnd exact "Inline stloc first use temp" <System.Xml.Xsl.Xslt.CompilerError>
+;  V94 tmp82        [V94,T29] (  3, 12   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Xml.Xsl.Xslt.CompilerErrorCollection>
+;  V95 tmp83        [V95,T34] (  4,  8   )     ref  ->  x14         class-hnd "Inline stloc first use temp" <<unknown class>>
+;  V96 tmp84        [V96,T30] (  5, 10   )     int  ->   x5         "Inline stloc first use temp"
 ;* V97 tmp85        [V97    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Xml.Xsl.Xslt.XsltInput>
-;  V98 tmp86        [V98,T71] (  3,  3   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <<unknown class>>
-;  V99 tmp87        [V99,T108] (  3,  1.50)     int  ->   x2         "Inline stloc first use temp"
-;  V100 tmp88       [V100,T106] (  3,  1.50)     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
-;  V101 tmp89       [V101,T88] (  5,  2.50)     int  ->  x15         "Inline stloc first use temp"
-;  V102 tmp90       [V102,T72] (  3,  3   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Xml.Xsl.Qil.QilName>
-;  V103 tmp91       [V103,T73] (  3,  3   )     ref  ->  x23         class-hnd exact single-def "dup spill" <System.String[]>
-;  V104 tmp92       [V104,T102] (  2,  2   )     ref  ->  x20         class-hnd exact single-def "impAppendStmt" <System.String>
+;  V98 tmp86        [V98,T72] (  3,  3   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V99 tmp87        [V99,T109] (  3,  1.50)     int  ->   x2         "Inline stloc first use temp"
+;  V100 tmp88       [V100,T107] (  3,  1.50)     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
+;  V101 tmp89       [V101,T89] (  5,  2.50)     int  ->  x15         "Inline stloc first use temp"
+;  V102 tmp90       [V102,T73] (  3,  3   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Xml.Xsl.Qil.QilName>
+;  V103 tmp91       [V103,T74] (  3,  3   )     ref  ->  x23         class-hnd exact single-def "dup spill" <System.String[]>
+;  V104 tmp92       [V104,T103] (  2,  2   )     ref  ->  x20         class-hnd exact single-def "impAppendStmt" <System.String>
 ;* V105 tmp93       [V105    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Xml.Xsl.Xslt.XsltInput>
-;  V106 tmp94       [V106,T74] (  3,  3   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <<unknown class>>
-;  V107 tmp95       [V107,T52] (  4,  4   )     ref  ->  x21         class-hnd exact single-def "impAppendStmt" <System.Xml.Xsl.Xslt.Compiler>
-;  V108 tmp96       [V108,T103] (  2,  2   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <System.Xml.Xsl.ISourceLineInfo>
-;  V109 tmp97       [V109,T117] (  2,  1   )     ref  ->   x1         class-hnd exact single-def "Inline stloc first use temp" <System.Xml.Xsl.Xslt.CompilerError>
-;  V110 tmp98       [V110,T75] (  3,  3   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Xml.Xsl.Xslt.CompilerErrorCollection>
-;  V111 tmp99       [V111,T54] (  3,  4   )     ref  ->   x0         "Single return block return value"
-;* V112 tmp100      [V112,T57] (  0,  0   )     ref  ->  zero-ref    "field V10._list (fldOffset=0x0)" P-INDEP
-;  V113 tmp101      [V113,T08] (  2, 24   )     ref  ->   x4         "field V10._current (fldOffset=0x8)" P-INDEP
+;  V106 tmp94       [V106,T75] (  3,  3   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V107 tmp95       [V107,T53] (  4,  4   )     ref  ->  x21         class-hnd exact single-def "impAppendStmt" <System.Xml.Xsl.Xslt.Compiler>
+;  V108 tmp96       [V108,T104] (  2,  2   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <System.Xml.Xsl.ISourceLineInfo>
+;  V109 tmp97       [V109,T118] (  2,  1   )     ref  ->   x1         class-hnd exact single-def "Inline stloc first use temp" <System.Xml.Xsl.Xslt.CompilerError>
+;  V110 tmp98       [V110,T76] (  3,  3   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Xml.Xsl.Xslt.CompilerErrorCollection>
+;  V111 tmp99       [V111,T55] (  3,  4   )     ref  ->   x0         "Single return block return value"
+;* V112 tmp100      [V112,T58] (  0,  0   )     ref  ->  zero-ref    "field V10._list (fldOffset=0x0)" P-INDEP
+;  V113 tmp101      [V113,T09] (  2, 24   )     ref  ->   x4         "field V10._current (fldOffset=0x8)" P-INDEP
 ;  V114 tmp102      [V114,T00] (  6, 84   )     int  ->  [fp+0x24]  "field V10._index (fldOffset=0x10)" P-INDEP
-;  V115 tmp103      [V115,T10] (  2, 36   )     int  ->  x28         "field V10._version (fldOffset=0x14)" P-INDEP
+;  V115 tmp103      [V115,T11] (  2, 36   )     int  ->  x28         "field V10._version (fldOffset=0x14)" P-INDEP
 ;* V116 tmp104      [V116    ] (  0,  0   )   byref  ->  zero-ref    "field V32._reference (fldOffset=0x0)" P-INDEP
 ;* V117 tmp105      [V117    ] (  0,  0   )     int  ->  zero-ref    "field V32._length (fldOffset=0x8)" P-INDEP
-;  V118 tmp106      [V118,T107] (  3,  1.50)   byref  ->  registers   "field V33._reference (fldOffset=0x0)" P-INDEP
-;  V119 tmp107      [V119,T109] (  3,  1.50)     int  ->  registers   "field V33._length (fldOffset=0x8)" P-INDEP
-;  V120 tmp108      [V120,T38] (  2,  8   )     ref  ->   x2         "field V67._list (fldOffset=0x0)" P-INDEP
+;  V118 tmp106      [V118,T108] (  3,  1.50)   byref  ->  registers   "field V33._reference (fldOffset=0x0)" P-INDEP
+;  V119 tmp107      [V119,T110] (  3,  1.50)     int  ->  registers   "field V33._length (fldOffset=0x8)" P-INDEP
+;  V120 tmp108      [V120,T40] (  2,  8   )     ref  ->   x2         "field V67._list (fldOffset=0x0)" P-INDEP
 ;* V121 tmp109      [V121    ] (  0,  0   )     ref  ->  zero-ref    "field V67._current (fldOffset=0x8)" P-INDEP
-;* V122 tmp110      [V122,T58] (  0,  0   )     int  ->  zero-ref    "field V67._index (fldOffset=0x10)" P-INDEP
-;  V123 tmp111      [V123,T40] (  2,  8   )     int  ->  x28         "field V67._version (fldOffset=0x14)" P-INDEP
-;  V124 tmp112      [V124,T44] (  3,  6   )     ref  ->   x3         single-def "arr expr"
-;  V125 tmp113      [V125,T76] (  3,  3   )     ref  ->   x2         single-def "arr expr"
-;  V126 tmp114      [V126,T83] (  3,  3   )     int  ->   x1         "index expr"
-;  V127 tmp115      [V127,T77] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
-;  V128 tmp116      [V128,T39] (  2,  8   )     ref  ->   x0         "argument with side effect"
-;  V129 tmp117      [V129,T78] (  3,  3   )     ref  ->   x1         "arr expr"
-;  V130 tmp118      [V130,T84] (  3,  3   )     int  ->   x0         "index expr"
+;* V122 tmp110      [V122,T59] (  0,  0   )     int  ->  zero-ref    "field V67._index (fldOffset=0x10)" P-INDEP
+;  V123 tmp111      [V123,T42] (  2,  8   )     int  ->  x28         "field V67._version (fldOffset=0x14)" P-INDEP
+;  V124 tmp112      [V124,T45] (  3,  6   )     ref  ->   x3         single-def "arr expr"
+;  V125 tmp113      [V125,T77] (  3,  3   )     ref  ->   x2         single-def "arr expr"
+;  V126 tmp114      [V126,T84] (  3,  3   )     int  ->   x1         "index expr"
+;  V127 tmp115      [V127,T78] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
+;  V128 tmp116      [V128,T41] (  2,  8   )     ref  ->   x0         "argument with side effect"
+;  V129 tmp117      [V129,T79] (  3,  3   )     ref  ->   x1         "arr expr"
+;  V130 tmp118      [V130,T85] (  3,  3   )     int  ->   x0         "index expr"
 ;  V131 tmp119      [V131,T01] (  3, 96   )     ref  ->   x2         "arr expr"
-;  V132 tmp120      [V132,T79] (  3,  3   )     ref  ->   x2         single-def "arr expr"
-;  V133 tmp121      [V133,T85] (  3,  3   )     int  ->   x1         "index expr"
-;  V134 tmp122      [V134,T104] (  2,  2   )     int  ->   x1         "argument with side effect"
-;  V135 tmp123      [V135,T80] (  3,  3   )     ref  ->   x0         single-def "arr expr"
-;  V136 tmp124      [V136,T81] (  3,  3   )     ref  ->   x1         single-def "arr expr"
-;  V137 tmp125      [V137,T86] (  3,  3   )     int  ->   x0         "index expr"
-;  V138 tmp126      [V138,T82] (  3,  3   )     ref  ->   x1         single-def "arr expr"
-;  V139 tmp127      [V139,T87] (  3,  3   )     int  ->   x0         "index expr"
-;  V140 cse0        [V140,T41] (  5,  6   )     int  ->  x24         "CSE - moderate"
-;  V141 cse1        [V141,T110] (  3,  1.50)     int  ->  x12         "CSE - conservative"
-;  V142 cse2        [V142,T07] (  3, 34   )     int  ->   x4         "CSE - aggressive"
-;  V143 cse3        [V143,T59] (  4,  3   )     ref  ->   x0         "CSE - conservative"
-;  V144 cse4        [V144,T111] (  3,  1.50)     int  ->  x20         "CSE - conservative"
-;  V145 cse5        [V145,T19] (  3, 24   )     int  ->   x0         "CSE - moderate"
+;  V132 tmp120      [V132,T80] (  3,  3   )     ref  ->   x2         single-def "arr expr"
+;  V133 tmp121      [V133,T86] (  3,  3   )     int  ->   x1         "index expr"
+;  V134 tmp122      [V134,T105] (  2,  2   )     int  ->   x1         "argument with side effect"
+;  V135 tmp123      [V135,T81] (  3,  3   )     ref  ->   x0         single-def "arr expr"
+;  V136 tmp124      [V136,T82] (  3,  3   )     ref  ->   x1         single-def "arr expr"
...
  
+16 (+0.60%) : 234402.dasm - System.Runtime.Serialization.SchemaImporter:ImportType(System.Xml.Schema.XmlSchemaType,System.Xml.XmlQualifiedName,ubyte):System.Runtime.Serialization.DataContracts.DataContract:this (FullOpts)
@@ -8,32 +8,32 @@
 ; 0 inlinees with PGO data; 56 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T07] ( 24, 17   )     ref  ->  [fp+0x30]  this class-hnd EH-live single-def <System.Runtime.Serialization.SchemaImporter>
-;  V01 arg1         [V01,T10] ( 11, 14   )     ref  ->  [fp+0x28]  class-hnd EH-live single-def <System.Xml.Schema.XmlSchemaType>
-;  V02 arg2         [V02,T03] ( 32, 25   )     ref  ->  [fp+0x20]  class-hnd EH-live single-def <System.Xml.XmlQualifiedName>
-;  V03 arg3         [V03,T25] (  5,  3   )   ubyte  ->  [fp+0x44]  EH-live single-def
-;  V04 loc0         [V04,T12] ( 17, 15   )     ref  ->  [fp+0x18]  do-not-enreg[M] class-hnd EH-live <System.Runtime.Serialization.DataContracts.DataContract>
+;  V00 this         [V00,T07] ( 24, 17   )     ref  ->  [fp+0x38]  this class-hnd EH-live single-def <System.Runtime.Serialization.SchemaImporter>
+;  V01 arg1         [V01,T09] ( 11, 14   )     ref  ->  [fp+0x30]  class-hnd EH-live single-def <System.Xml.Schema.XmlSchemaType>
+;  V02 arg2         [V02,T02] ( 32, 25   )     ref  ->  [fp+0x28]  class-hnd EH-live single-def <System.Xml.XmlQualifiedName>
+;  V03 arg3         [V03,T26] (  5,  3   )   ubyte  ->  [fp+0x4C]  EH-live single-def
+;  V04 loc0         [V04,T12] ( 17, 15   )     ref  ->  [fp+0x20]  do-not-enreg[M] class-hnd EH-live <System.Runtime.Serialization.DataContracts.DataContract>
 ;* V05 loc1         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <<unknown class>>
-;  V06 loc2         [V06    ] (  3,  0   )     ref  ->  [fp+0x38]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Type>
-;  V07 loc3         [V07,T65] (  3,  0   )     ref  ->  x19         class-hnd exact single-def <<unknown class>>
-;  V08 loc4         [V08,T08] (  5, 19   )     ref  ->  x20         class-hnd single-def <System.Xml.Schema.XmlSchemaSimpleType>
+;  V06 loc2         [V06    ] (  3,  0   )     ref  ->  [fp+0x40]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Type>
+;  V07 loc3         [V07,T66] (  3,  0   )     ref  ->  x20         class-hnd exact single-def <<unknown class>>
+;  V08 loc4         [V08,T08] (  5, 19   )     ref  ->  x21         class-hnd single-def <System.Xml.Schema.XmlSchemaSimpleType>
 ;* V09 loc5         [V09    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Xml.Schema.XmlSchemaRedefine]>
 ;* V10 loc6         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Xml.Schema.XmlSchemaRedefine>
-;  V11 loc7         [V11,T19] (  6,  6   )     ref  ->  x21         class-hnd single-def <System.Xml.Schema.XmlSchemaSimpleTypeContent>
-;  V12 loc8         [V12,T24] (  5,  5   )     ref  ->  x21         class-hnd single-def <System.Xml.Schema.XmlSchemaSimpleTypeRestriction>
-;  V13 loc9         [V13,T16] ( 10, 10   )     ref  ->  x20         class-hnd single-def <System.Xml.Schema.XmlSchemaComplexType>
-;  V14 loc10        [V14,T58] (  3,  3   )     ref  ->  x21         class-hnd single-def <System.Xml.Schema.XmlSchemaContentModel>
-;  V15 loc11        [V15,T20] (  6,  6   )     ref  ->  x21         class-hnd single-def <System.Xml.Schema.XmlSchemaComplexContent>
-;  V16 loc12        [V16,T21] (  6,  6   )     ref  ->   x0         class-hnd single-def <System.Xml.Schema.XmlSchemaComplexContentExtension>
-;  V17 loc13        [V17,T22] (  6,  6   )     ref  ->  x21         class-hnd single-def <System.Xml.Schema.XmlSchemaComplexContentRestriction>
+;  V11 loc7         [V11,T20] (  6,  6   )     ref  ->  x22         class-hnd single-def <System.Xml.Schema.XmlSchemaSimpleTypeContent>
+;  V12 loc8         [V12,T25] (  5,  5   )     ref  ->  x22         class-hnd single-def <System.Xml.Schema.XmlSchemaSimpleTypeRestriction>
+;  V13 loc9         [V13,T16] ( 10, 10   )     ref  ->  x21         class-hnd single-def <System.Xml.Schema.XmlSchemaComplexType>
+;  V14 loc10        [V14,T59] (  3,  3   )     ref  ->  x22         class-hnd single-def <System.Xml.Schema.XmlSchemaContentModel>
+;  V15 loc11        [V15,T21] (  6,  6   )     ref  ->  x22         class-hnd single-def <System.Xml.Schema.XmlSchemaComplexContent>
+;  V16 loc12        [V16,T22] (  6,  6   )     ref  ->   x0         class-hnd single-def <System.Xml.Schema.XmlSchemaComplexContentExtension>
+;  V17 loc13        [V17,T23] (  6,  6   )     ref  ->  x22         class-hnd single-def <System.Xml.Schema.XmlSchemaComplexContentRestriction>
 ;* V18 loc14        [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Xml.XmlQualifiedName>
 ;* V19 loc15        [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.Runtime.Serialization.DataContracts.DataContract>
 ;* V20 loc16        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
 ;# V21 OutArgs      [V21    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V22 tmp1         [V22,T70] (  2,  0   )     ref  ->  x20         class-hnd exact "impAppendStmt" <System.String>
-;  V23 tmp2         [V23,T71] (  2,  0   )     ref  ->  x21         class-hnd exact "impAppendStmt" <System.String>
+;  V22 tmp1         [V22,T71] (  2,  0   )     ref  ->  x21         class-hnd exact "impAppendStmt" <System.String>
+;  V23 tmp2         [V23,T72] (  2,  0   )     ref  ->  x22         class-hnd exact "impAppendStmt" <System.String>
 ;* V24 tmp3         [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.String>
-;  V25 tmp4         [V25,T72] (  2,  0   )     ref  ->  x20         class-hnd exact single-def "impAppendStmt" <System.String>
+;  V25 tmp4         [V25,T73] (  2,  0   )     ref  ->  x21         class-hnd exact single-def "impAppendStmt" <System.String>
 ;* V26 tmp5         [V26    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.String>
 ;* V27 tmp6         [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.String>
 ;* V28 tmp7         [V28    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.String>
@@ -53,103 +53,107 @@
 ;* V42 tmp21        [V42    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Xml.Schema.XmlSchemaParticle>
 ;* V43 tmp22        [V43    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Xml.Schema.XmlSchemaObjectCollection>
 ;* V44 tmp23        [V44    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Xml.Schema.XmlSchemaAnyAttribute>
-;  V45 tmp24        [V45,T57] (  2,  4   )    long  ->   x0         "fgMakeTemp is creating a new local variable"
+;  V45 tmp24        [V45,T58] (  2,  4   )    long  ->   x0         "fgMakeTemp is creating a new local variable"
 ;  V46 tmp25        [V46,T17] (  5, 10   )     ref  ->   x2         class-hnd "spilling QMark2" <<unknown class>>
 ;* V47 tmp26        [V47    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.String>
 ;* V48 tmp27        [V48    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.String>
 ;* V49 tmp28        [V49    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.String>
-;  V50 tmp29        [V50,T73] (  2,  0   )     ref  ->  [fp+0x10]  class-hnd EH-live single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V51 tmp30        [V51,T66] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "impAppendStmt" <System.Runtime.Serialization.DataContracts.DataContractSet>
+;  V50 tmp29        [V50,T74] (  2,  0   )     ref  ->  [fp+0x18]  class-hnd EH-live single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V51 tmp30        [V51,T67] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "impAppendStmt" <System.Runtime.Serialization.DataContracts.DataContractSet>
 ;* V52 tmp31        [V52    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline return value spill temp" <System.Collections.Generic.List`1[System.Xml.Schema.XmlSchemaRedefine]>
-;  V53 tmp32        [V53,T28] (  2,  4   )     ref  ->  x20         class-hnd single-def "dup spill" <System.Collections.Generic.List`1[System.Xml.Schema.XmlSchemaRedefine]>
-;  V54 tmp33        [V54,T26] (  4,  4   )     ref  ->  x20        
-;  V55 tmp34        [V55,T23] (  3,  6   )     ref  ->  x20         class-hnd single-def "dup spill" <System.Collections.Generic.List`1[System.Xml.Schema.XmlSchemaRedefine]>
+;  V53 tmp32        [V53,T29] (  2,  4   )     ref  ->  x21         class-hnd single-def "dup spill" <System.Collections.Generic.List`1[System.Xml.Schema.XmlSchemaRedefine]>
+;  V54 tmp33        [V54,T27] (  4,  4   )     ref  ->  x21        
+;  V55 tmp34        [V55,T24] (  3,  6   )     ref  ->  x21         class-hnd single-def "dup spill" <System.Collections.Generic.List`1[System.Xml.Schema.XmlSchemaRedefine]>
 ;* V56 tmp35        [V56    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Xml.Schema.XmlSchemaRedefine]>
 ;* V57 tmp36        [V57    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Xml.Schema.XmlSchemaRedefine]>
 ;  V58 tmp37        [V58,T13] (  2,  8   )     ref  ->   x1         class-hnd "Inline return value spill temp" <System.Xml.Schema.XmlSchemaObject>
 ;* V59 tmp38        [V59    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Xml.Schema.XmlSchemaObjectTable>
 ;  V60 tmp39        [V60,T14] (  2,  8   )     ref  ->   x1         ld-addr-op class-hnd "Inline ldloca(s) first use temp" <System.Xml.Schema.XmlSchemaObject>
-;* V61 tmp40        [V61,T18] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V61 tmp40        [V61,T19] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V62 tmp41        [V62,T04] (  3, 24   )     ref  ->   x1         class-hnd "Inlining Arg" <<unknown class>>
 ;  V63 tmp42        [V63,T15] (  3, 12   )   byref  ->  registers   "Inline stloc first use temp"
-;  V64 tmp43        [V64,T74] (  2,  0   )     ref  ->  x22         class-hnd exact "Inlining Arg" <System.String>
-;* V65 tmp44        [V65,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V64 tmp43        [V64,T75] (  2,  0   )     ref  ->  x23         class-hnd exact "Inlining Arg" <System.String>
+;* V65 tmp44        [V65,T10] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V66 tmp45        [V66    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Xml.Schema.XmlSchemaRedefine]>
-;  V67 tmp46        [V67,T75] (  2,  0   )     ref  ->  x21         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V67 tmp46        [V67,T76] (  2,  0   )     ref  ->  x22         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V68 tmp47        [V68    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Xml.XmlQualifiedName>
 ;* V69 tmp48        [V69    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Xml.XmlQualifiedName>
-;  V70 tmp49        [V70,T67] (  3,  0   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Runtime.Serialization.DataContracts.DataContractSet>
-;* V71 tmp50        [V71,T81] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V72 tmp51        [V72,T68] (  3,  0   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V73 tmp52        [V73,T76] (  2,  0   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <System.Xml.XmlQualifiedName>
-;  V74 tmp53        [V74,T27] (  4,  4   )     ref  ->   x0         "Single return block return value"
-;  V75 tmp54        [V75,T02] (  4, 25   )     ref  ->  x20         single-def "field V09._list (fldOffset=0x0)" P-INDEP
+;  V70 tmp49        [V70,T68] (  3,  0   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Runtime.Serialization.DataContracts.DataContractSet>
+;* V71 tmp50        [V71,T82] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V72 tmp51        [V72,T69] (  3,  0   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V73 tmp52        [V73,T77] (  2,  0   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <System.Xml.XmlQualifiedName>
+;  V74 tmp53        [V74,T28] (  4,  4   )     ref  ->   x0         "Single return block return value"
+;  V75 tmp54        [V75,T03] (  4, 25   )     ref  ->  x21         single-def "field V09._list (fldOffset=0x0)" P-INDEP
 ;  V76 tmp55        [V76,T06] (  2, 12   )     ref  ->   x1         "field V09._current (fldOffset=0x8)" P-INDEP
-;  V77 tmp56        [V77,T00] (  6, 41   )     int  ->  x22         "field V09._index (fldOffset=0x10)" P-INDEP
-;  V78 tmp57        [V78,T09] (  3, 17   )     int  ->  x21         "field V09._version (fldOffset=0x14)" P-INDEP
-;  V79 tmp58        [V79,T59] (  3,  3   )     ref  ->  x20         single-def "field V57._list (fldOffset=0x0)" P-INDEP
+;  V77 tmp56        [V77,T00] (  6, 41   )     int  ->  x23         "field V09._index (fldOffset=0x10)" P-INDEP
+;  V78 tmp57        [V78,T18] (  2,  9   )     int  ->  x22         "field V09._version (fldOffset=0x14)" P-INDEP
+;  V79 tmp58        [V79,T60] (  3,  3   )     ref  ->  x21         single-def "field V57._list (fldOffset=0x0)" P-INDEP
 ;* V80 tmp59        [V80    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V57._current (fldOffset=0x8)" P-INDEP
-;* V81 tmp60        [V81,T63] (  0,  0   )     int  ->  zero-ref    "field V57._index (fldOffset=0x10)" P-INDEP
-;  V82 tmp61        [V82,T62] (  2,  2   )     int  ->  x21         "field V57._version (fldOffset=0x14)" P-INDEP
+;* V81 tmp60        [V81,T64] (  0,  0   )     int  ->  zero-ref    "field V57._index (fldOffset=0x10)" P-INDEP
+;  V82 tmp61        [V82,T63] (  2,  2   )     int  ->  x22         "field V57._version (fldOffset=0x14)" P-INDEP
 ;  V83 tmp62        [V83,T01] (  3, 48   )     ref  ->   x1         "arr expr"
-;  V84 tmp63        [V84,T77] (  2,  0   )     ref  ->  x22         "argument with side effect"
-;  V85 tmp64        [V85,T78] (  2,  0   )     ref  ->   x1         "argument with side effect"
-;  V86 tmp65        [V86,T79] (  2,  0   )     ref  ->   x0         "argument with side effect"
-;  V87 tmp66        [V87,T29] (  2,  4   )     ref  ->  x24         single-def "argument with side effect"
-;  V88 tmp67        [V88,T30] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
-;  V89 tmp68        [V89,T31] (  2,  4   )     ref  ->   x2         single-def "argument with side effect"
-;  V90 tmp69        [V90,T32] (  2,  4   )     ref  ->  x23         single-def "argument with side effect"
-;  V91 tmp70        [V91,T33] (  2,  4   )     ref  ->  x22         single-def "argument with side effect"
-;  V92 tmp71        [V92,T34] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
-;  V93 tmp72        [V93,T35] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
-;  V94 tmp73        [V94,T36] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
-;  V95 tmp74        [V95,T37] (  2,  4   )     ref  ->  x22         single-def "argument with side effect"
-;  V96 tmp75        [V96,T38] (  2,  4   )     ref  ->  x22         single-def "argument with side effect"
-;  V97 tmp76        [V97,T39] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
-;  V98 tmp77        [V98,T40] (  2,  4   )     ref  ->   x2         single-def "argument with side effect"
-;  V99 tmp78        [V99,T41] (  2,  4   )     ref  ->  x21         single-def "argument with side effect"
-;  V100 tmp79       [V100,T42] (  2,  4   )     ref  ->  x20         single-def "argument with side effect"
-;  V101 tmp80       [V101,T43] (  2,  4   )     ref  ->  x22         single-def "argument with side effect"
-;  V102 tmp81       [V102,T44] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
-;  V103 tmp82       [V103,T45] (  2,  4   )     ref  ->   x2         single-def "argument with side effect"
-;  V104 tmp83       [V104,T46] (  2,  4   )     ref  ->  x20         single-def "argument with side effect"
-;  V105 tmp84       [V105,T47] (  2,  4   )     ref  ->  x21         single-def "argument with side effect"
-;  V106 tmp85       [V106,T48] (  2,  4   )     ref  ->   x3         single-def "argument with side effect"
-;  V107 tmp86       [V107,T49] (  2,  4   )     ref  ->  x21         single-def "argument with side effect"
-;  V108 tmp87       [V108,T50] (  2,  4   )     ref  ->  x22         single-def "argument with side effect"
-;  V109 tmp88       [V109,T51] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
-;  V110 tmp89       [V110,T52] (  2,  4   )     ref  ->   x2         single-def "argument with side effect"
-;  V111 tmp90       [V111,T53] (  2,  4   )     ref  ->  x20         single-def "argument with side effect"
-;  V112 tmp91       [V112,T54] (  2,  4   )     ref  ->  x21         single-def "argument with side effect"
-;  V113 tmp92       [V113,T80] (  2,  0   )     ref  ->   x0         single-def "argument with side effect"
-;  V114 tmp93       [V114,T55] (  2,  4   )     ref  ->   x0         single-def "argument with side effect"
-;  V115 tmp94       [V115,T56] (  2,  4   )     ref  ->  x20         single-def "argument with side effect"
-;  V116 tmp95       [V116,T69] (  3,  0   )     ref  ->   x0         single-def "argument with side effect"
-;  V117 PSPSym      [V117,T64] (  1,  1   )    long  ->  [fp+0x48]  do-not-enreg[V] "PSPSym"
-;  V118 cse0        [V118,T61] (  3,  3   )    long  ->  x22         "CSE - moderate"
-;  V119 cse1        [V119,T05] (  3, 24   )     int  ->  x23         "CSE - aggressive"
-;  V120 cse2        [V120,T60] (  3,  3   )     ref  ->  x21         "CSE - moderate"
+;  V84 tmp63        [V84,T78] (  2,  0   )     ref  ->  x23         "argument with side effect"
+;  V85 tmp64        [V85,T79] (  2,  0   )     ref  ->   x1         "argument with side effect"
+;  V86 tmp65        [V86,T80] (  2,  0   )     ref  ->   x0         "argument with side effect"
+;  V87 tmp66        [V87,T30] (  2,  4   )     ref  ->  x25         single-def "argument with side effect"
+;  V88 tmp67        [V88,T31] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
+;  V89 tmp68        [V89,T32] (  2,  4   )     ref  ->   x2         single-def "argument with side effect"
+;  V90 tmp69        [V90,T33] (  2,  4   )     ref  ->  x24         single-def "argument with side effect"
+;  V91 tmp70        [V91,T34] (  2,  4   )     ref  ->  x23         single-def "argument with side effect"
+;  V92 tmp71        [V92,T35] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
+;  V93 tmp72        [V93,T36] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
+;  V94 tmp73        [V94,T37] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
+;  V95 tmp74        [V95,T38] (  2,  4   )     ref  ->  x23         single-def "argument with side effect"
+;  V96 tmp75        [V96,T39] (  2,  4   )     ref  ->  x23         single-def "argument with side effect"
+;  V97 tmp76        [V97,T40] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
+;  V98 tmp77        [V98,T41] (  2,  4   )     ref  ->   x2         single-def "argument with side effect"
+;  V99 tmp78        [V99,T42] (  2,  4   )     ref  ->  x22         single-def "argument with side effect"
+;  V100 tmp79       [V100,T43] (  2,  4   )     ref  ->  x21         single-def "argument with side effect"
+;  V101 tmp80       [V101,T44] (  2,  4   )     ref  ->  x23         single-def "argument with side effect"
+;  V102 tmp81       [V102,T45] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
+;  V103 tmp82       [V103,T46] (  2,  4   )     ref  ->   x2         single-def "argument with side effect"
+;  V104 tmp83       [V104,T47] (  2,  4   )     ref  ->  x21         single-def "argument with side effect"
+;  V105 tmp84       [V105,T48] (  2,  4   )     ref  ->  x22         single-def "argument with side effect"
+;  V106 tmp85       [V106,T49] (  2,  4   )     ref  ->   x3         single-def "argument with side effect"
+;  V107 tmp86       [V107,T50] (  2,  4   )     ref  ->  x22         single-def "argument with side effect"
+;  V108 tmp87       [V108,T51] (  2,  4   )     ref  ->  x23         single-def "argument with side effect"
+;  V109 tmp88       [V109,T52] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
+;  V110 tmp89       [V110,T53] (  2,  4   )     ref  ->   x2         single-def "argument with side effect"
+;  V111 tmp90       [V111,T54] (  2,  4   )     ref  ->  x21         single-def "argument with side effect"
+;  V112 tmp91       [V112,T55] (  2,  4   )     ref  ->  x22         single-def "argument with side effect"
+;  V113 tmp92       [V113,T81] (  2,  0   )     ref  ->   x0         single-def "argument with side effect"
+;  V114 tmp93       [V114,T56] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
+;  V115 tmp94       [V115,T57] (  2,  4   )     ref  ->  x21         single-def "argument with side effect"
+;  V116 tmp95       [V116,T70] (  3,  0   )     ref  ->   x0         single-def "argument with side effect"
+;  V117 PSPSym      [V117,T65] (  1,  1   )    long  ->  [fp+0x50]  do-not-enreg[V] "PSPSym"
+;  V118 cse0        [V118,T62] (  3,  3   )    long  ->  x23         "CSE - moderate"
+;  V119 cse1        [V119,T11] (  2, 16   )     int  ->   x1         "CSE - aggressive"
+;  V120 cse2        [V120,T05] (  2, 16   )     int  ->   x1         "CSE - aggressive"
+;  V121 cse3        [V121,T61] (  3,  3   )     ref  ->  x22         "CSE - moderate"
 ;
-; Lcl frame size = 64
+; Lcl frame size = 72
 
 G_M196_IG01:        ; bbWeight=1, gcVars=00000000000000000000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x80]!
-            stp     x19, x20, [sp, #0x50]
-            stp     x21, x22, [sp, #0x60]
-            stp     x23, x24, [sp, #0x70]
+            stp     fp, lr, [sp, #-0x90]!
+            stp     x19, x20, [sp, #0x58]
+            stp     x21, x22, [sp, #0x68]
+            stp     x23, x24, [sp, #0x78]
+            str     x25, [sp, #0x88]
             mov     fp, sp
-            str     xzr, [fp, #0x38]   // [V06 loc2]
-            add     x4, sp, #128
-            str     x4, [fp, #0x48]    // [V117 PSPSym]
-            stp     x1, x0, [fp, #0x28]    // [V01 arg1], [V00 this]
+            str     xzr, [fp, #0x40] // [V06 loc2]
+            add     x4, sp, #144
+            str     x4, [fp, #0x50]    // [V117 PSPSym]
+            stp     x1, x0, [fp, #0x30]    // [V01 arg1], [V00 this]
             ; GC ptr vars +{V00 V01}
-            str     x2, [fp, #0x20]  // [V02 arg2]
+            str     x2, [fp, #0x28]  // [V02 arg2]
             ; GC ptr vars +{V02}
-            str     w3, [fp, #0x44]  // [V03 arg3]
+            str     w3, [fp, #0x4C]  // [V03 arg3]
+            mov     x20, x1
+            ; gcrRegs +[x20]
             mov     x19, x2
             ; gcrRegs +[x19]
-                     ;; size=48 bbWeight=1 PerfScore 10.50
-G_M196_IG02:        ; bbWeight=1, gcVars=00000000000000000000000000000488 {V00 V01 V02}, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, gcvars, byref, isz
+                     ;; size=56 bbWeight=1 PerfScore 12.00
+G_M196_IG02:        ; bbWeight=1, gcVars=00000000000000000000000000000284 {V00 V01 V02}, gcrefRegs=180001 {x0 x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x0]
             ldr     x0, [x0, #0x08]
             mov     x1, x19
@@ -162,45 +166,45 @@ G_M196_IG02:        ; bbWeight=1, gcVars=00000000000000000000000000000488 {V00 V
             blr     x2
             ; gcrRegs -[x1]
             ; gcr arg pop 0
-            str     x0, [fp, #0x18]   // [V04 loc0]
+            str     x0, [fp, #0x20]  // [V04 loc0]
             ; GC ptr vars +{V04}
-            ldr     x0, [fp, #0x18]  // [V04 loc0]
+            ldr     x0, [fp, #0x20]  // [V04 loc0]
             cbz     x0, G_M196_IG03
-            b       G_M196_IG27
+            b       G_M196_IG26
                       ;; size=48 bbWeight=1 PerfScore 17.00
-G_M196_IG03:        ; bbWeight=1, gcVars=00000000000000000000000000001488 {V00 V01 V02 V04}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M196_IG03:        ; bbWeight=1, gcVars=00000000000000000000000000001284 {V00 V01 V02 V04}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0]
-            ldr     x0, [fp, #0x30]    // [V00 this]
+            ldr     x0, [fp, #0x38]  // [V00 this]
             ; gcrRegs +[x0]
-            ldr     x20, [x0, #0x30]
...
  
+28 (+1.14%) : 239147.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
@@ -8,77 +8,77 @@
 ; 0 inlinees with PGO data; 17 single block inlinees; 12 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] ( 21, 18   )     ref  ->  x24         class-hnd <System.Reflection.MemberInfo>
+;  V00 arg0         [V00,T19] ( 23, 19   )     ref  ->  x24         class-hnd <System.Reflection.MemberInfo>
 ;  V01 arg1         [V01,T10] ( 12, 39.50)     ref  ->  registers   class-hnd <System.Reflection.ParameterInfo[]>
-;  V02 arg2         [V02,T17] (  6, 19.50)     int  ->  x23         single-def
-;  V03 arg3         [V03,T13] (  8, 29.50)   ubyte  ->  x21         single-def
-;  V04 arg4         [V04,T38] (  3,  2.50)     ref  ->  x25         class-hnd single-def <System.Object[]>
-;  V05 arg5         [V05,T15] (  4, 20   )     int  ->  x22         single-def
-;  V06 arg6         [V06,T39] (  3,  2.50)     ref  ->  x26         class-hnd single-def <System.String[]>
-;  V07 arg7         [V07,T40] (  3,  2.50)     ref  ->  x27         class-hnd single-def <System.Type[]>
+;  V02 arg2         [V02,T18] (  6, 19.50)     int  ->  x23         single-def
+;  V03 arg3         [V03,T17] (  7, 21.50)   ubyte  ->  x22         single-def
+;  V04 arg4         [V04,T39] (  3,  2.50)     ref  ->  x25         class-hnd single-def <System.Object[]>
+;  V05 arg5         [V05,T15] (  4, 20   )     int  ->  x21         single-def
+;  V06 arg6         [V06,T40] (  3,  2.50)     ref  ->  x26         class-hnd single-def <System.String[]>
+;  V07 arg7         [V07,T41] (  3,  2.50)     ref  ->  x27         class-hnd single-def <System.Type[]>
 ;  V08 arg8         [V08,T62] (  1,  1   )   ubyte  ->  [fp+0xF0]  single-def
 ;  V09 arg9         [V09,T04] ( 27, 69.50)     ref  ->  x19         class-hnd single-def <System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
-;  V10 arg10        [V10,T42] (  2,  4   )     ref  ->  x28         class-hnd single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Container>
-;  V11 loc0         [V11,T35] ( 10,  5.50)     ref  ->  [fp+0x48]  class-hnd <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V12 loc1         [V12,T19] (  7, 19   )     ref  ->  [fp+0x40]  class-hnd spill-single-def <System.Reflection.MethodBase>
-;  V13 loc2         [V13,T36] (  5,  5.50)   ubyte  ->  [fp+0x9C] 
-;  V14 loc3         [V14,T37] (  3,  5   )     int  ->  x25         single-def
+;  V10 arg10        [V10,T43] (  2,  4   )     ref  ->  x28         class-hnd single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Container>
+;  V11 loc0         [V11,T36] ( 10,  5.50)     ref  ->  [fp+0x40]  class-hnd <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V12 loc1         [V12,T20] (  7, 19   )     ref  ->  [fp+0x38]  class-hnd spill-single-def <System.Reflection.MethodBase>
+;  V13 loc2         [V13,T37] (  5,  5.50)   ubyte  ->  [fp+0x9C] 
+;  V14 loc3         [V14,T38] (  3,  5   )     int  ->  x25         single-def
 ;  V15 loc4         [V15,T07] ( 11, 60.50)     int  ->  x27        
-;  V16 loc5         [V16,T01] ( 16, 84   )     ref  ->  [fp+0x38]  class-hnd exact spill-single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V17 loc6         [V17,T12] (  3, 34   )     ref  ->  [fp+0x30]  class-hnd spill-single-def <System.Reflection.ParameterInfo[]>
-;  V18 loc7         [V18,T11] ( 11, 36   )     ref  ->  [fp+0x28]  class-hnd <System.Reflection.MethodBase>
-;  V19 loc8         [V19,T02] (  8, 84   )     int  ->  [fp+0x98] 
-;  V20 loc9         [V20,T03] (  8, 84   )     int  ->  [fp+0x94] 
+;  V16 loc5         [V16,T03] ( 16, 76   )     ref  ->  [fp+0x30]  class-hnd exact spill-single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V17 loc6         [V17,T12] (  3, 34   )     ref  ->  [fp+0x28]  class-hnd spill-single-def <System.Reflection.ParameterInfo[]>
+;  V18 loc7         [V18,T11] ( 11, 36   )     ref  ->  [fp+0x20]  class-hnd <System.Reflection.MethodBase>
+;  V19 loc8         [V19,T01] (  8, 84   )     int  ->  [fp+0x98] 
+;  V20 loc9         [V20,T02] (  8, 84   )     int  ->  [fp+0x94] 
 ;* V21 loc10        [V21,T52] (  0,  0   )     int  ->  zero-ref   
-;  V22 loc11        [V22,T09] (  4, 50   )     int  ->  [fp+0x90] 
+;  V22 loc11        [V22,T08] (  4, 50   )     int  ->  [fp+0x90] 
 ;  V23 loc12        [V23    ] (  3, 48   )   ubyte  ->  [fp+0x88]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V24 loc13        [V24    ] (  3, 48   )   ubyte  ->  [fp+0x80]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V25 loc14        [V25    ] (  3, 48   )   ubyte  ->  [fp+0x78]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V26 OutArgs      [V26    ] (  1,  1   )  struct (16) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V27 tmp1         [V27,T44] (  3,  2.50)    long  ->   x0         "fgMakeTemp is creating a new local variable"
-;  V28 tmp2         [V28,T43] (  4,  3   )     ref  ->  x25         class-hnd "spilling QMark2" <System.Reflection.MethodBase>
-;  V29 tmp3         [V29,T26] ( 10, 10   )     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V30 tmp4         [V30,T45] (  3,  2.50)    long  ->   x0         "fgMakeTemp is creating a new local variable"
-;  V31 tmp5         [V31,T51] (  3,  2   )     ref  ->  x22         class-hnd "spilling QMark2" <System.Reflection.PropertyInfo>
-;  V32 tmp6         [V32,T27] (  9,  9   )     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V27 tmp1         [V27,T45] (  3,  2.50)    long  ->   x1         "fgMakeTemp is creating a new local variable"
+;  V28 tmp2         [V28,T44] (  4,  3   )     ref  ->  x25         class-hnd "spilling QMark2" <System.Reflection.MethodBase>
+;  V29 tmp3         [V29,T27] ( 10, 10   )     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V30 tmp4         [V30,T46] (  3,  2.50)    long  ->   x1         "fgMakeTemp is creating a new local variable"
+;  V31 tmp5         [V31,T51] (  3,  2   )     ref  ->  x21         class-hnd "spilling QMark2" <System.Reflection.PropertyInfo>
+;  V32 tmp6         [V32,T28] (  9,  9   )     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
 ;* V33 tmp7         [V33    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V34 tmp8         [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Reflection.ParameterInfo[]>
 ;* V35 tmp9         [V35    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Type>
-;  V36 tmp10        [V36,T28] (  9,  9   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V36 tmp10        [V36,T29] (  9,  9   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
 ;  V37 tmp11        [V37,T57] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V38 tmp12        [V38,T58] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V39 tmp13        [V39,T41] (  4,  4   )     ref  ->  x25         class-hnd single-def "Inlining Arg" <System.Reflection.MethodBase>
+;  V39 tmp13        [V39,T42] (  4,  4   )     ref  ->  x25         class-hnd single-def "Inlining Arg" <System.Reflection.MethodBase>
 ;* V40 tmp14        [V40,T53] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V41 tmp15        [V41,T33] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V42 tmp16        [V42,T34] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V41 tmp15        [V41,T34] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V42 tmp16        [V42,T35] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V43 tmp17        [V43,T54] (  3,  1.50)     ref  ->   x3         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
-;  V44 tmp18        [V44,T46] (  4,  2   )     int  ->   x2         single-def "Inline stloc first use temp"
+;  V44 tmp18        [V44,T47] (  4,  2   )     int  ->   x2         single-def "Inline stloc first use temp"
 ;  V45 tmp19        [V45,T55] (  3,  1.50)     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
-;  V46 tmp20        [V46,T47] (  4,  2   )     int  ->  x15         single-def "Inline stloc first use temp"
+;  V46 tmp20        [V46,T48] (  4,  2   )     int  ->  x15         single-def "Inline stloc first use temp"
 ;  V47 tmp21        [V47,T56] (  3,  1.50)     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
-;  V48 tmp22        [V48,T48] (  4,  2   )     int  ->  x15         single-def "Inline stloc first use temp"
+;  V48 tmp22        [V48,T49] (  4,  2   )     int  ->  x15         single-def "Inline stloc first use temp"
 ;  V49 tmp23        [V49,T16] (  3, 24   )     ref  ->   x0         "arr expr"
-;  V50 tmp24        [V50,T21] (  3, 12   )     ref  ->   x0         "argument with side effect"
-;  V51 tmp25        [V51,T22] (  3, 12   )     ref  ->   x0         "argument with side effect"
+;  V50 tmp24        [V50,T22] (  3, 12   )     ref  ->   x0         "argument with side effect"
+;  V51 tmp25        [V51,T23] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V52 tmp26        [V52,T05] (  2, 64   )     ref  ->   x4         "argument with side effect"
 ;  V53 tmp27        [V53,T06] (  2, 64   )     ref  ->   x6         "argument with side effect"
-;  V54 tmp28        [V54,T30] (  2,  8   )     int  ->  [fp+0x74]  spill-single-def "argument with side effect"
-;  V55 tmp29        [V55,T31] (  2,  8   )     int  ->   x3         "argument with side effect"
-;  V56 tmp30        [V56,T29] (  2,  8   )     ref  ->  [fp+0x20]  spill-single-def "argument with side effect"
-;  V57 tmp31        [V57,T23] (  3, 12   )     ref  ->   x2         "argument with side effect"
-;  V58 tmp32        [V58,T24] (  3, 12   )     ref  ->   x0         "argument with side effect"
+;  V54 tmp28        [V54,T31] (  2,  8   )     int  ->  [fp+0x74]  spill-single-def "argument with side effect"
+;  V55 tmp29        [V55,T32] (  2,  8   )     int  ->   x3         "argument with side effect"
+;  V56 tmp30        [V56,T30] (  2,  8   )     ref  ->  [fp+0x18]  spill-single-def "argument with side effect"
+;  V57 tmp31        [V57,T24] (  3, 12   )     ref  ->   x2         "argument with side effect"
+;  V58 tmp32        [V58,T25] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V59 tmp33        [V59,T00] (  3, 96   )     ref  ->   x3         "arr expr"
-;  V60 tmp34        [V60,T25] (  3, 12   )     ref  ->   x0         "arr expr"
-;  V61 cse0         [V61,T20] (  6, 12   )    long  ->  [fp+0x68]  multi-def "CSE - moderate"
-;  V62 cse1         [V62,T32] (  5,  7   )    long  ->  [fp+0x60]  multi-def "CSE - moderate"
+;  V60 tmp34        [V60,T26] (  3, 12   )     ref  ->   x0         "arr expr"
+;  V61 cse0         [V61,T21] (  6, 12   )    long  ->  [fp+0x68]  multi-def "CSE - moderate"
+;  V62 cse1         [V62,T33] (  5,  7   )    long  ->  [fp+0x60]  multi-def "CSE - moderate"
 ;  V63 cse2         [V63,T59] (  3,  1.50)    long  ->  [fp+0x58]  spill-single-def "CSE - conservative"
 ;  V64 cse3         [V64,T60] (  3,  1.50)    long  ->  x26         "CSE - conservative"
-;  V65 cse4         [V65,T08] (  5, 52   )     int  ->   x0         multi-def "CSE - aggressive"
-;  V66 cse5         [V66,T49] (  4,  2   )     int  ->  x25         multi-def "CSE - moderate"
+;  V65 cse4         [V65,T13] (  5, 28   )     int  ->   x0         multi-def "CSE - aggressive"
+;  V66 cse5         [V66,T50] (  4,  2   )     int  ->  x25         multi-def "CSE - moderate"
 ;  V67 cse6         [V67,T61] (  2,  1   )     int  ->   x0         "CSE - conservative"
-;  V68 cse7         [V68,T50] (  4,  2   )    long  ->  x22         "CSE - moderate"
-;  V69 cse8         [V69,T14] (  4, 26   )    long  ->  [fp+0x50]  spill-single-def "CSE - aggressive"
-;  TEMP_01                                     ref  ->  [fp+0x18]
+;  V68 cse7         [V68,T09] (  5, 44   )     int  ->  [fp+0x54]  multi-def "CSE - aggressive"
+;  V69 cse8         [V69,T14] (  4, 26   )    long  ->  [fp+0x48]  spill-single-def "CSE - aggressive"
+;  TEMP_01                                     ref  ->  [fp+0x10]
 ;
 ; Lcl frame size = 160
 
@@ -93,16 +93,16 @@ G_M30168_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             add     fp, sp, #16
             stp     xzr, xzr, [fp, #0x80]  // [V24 loc13], [V23 loc12]
             str     xzr, [fp, #0x78]   // [V25 loc14]
-            str     xzr, [fp, #0x18]    // [TEMP_01]
+            str     xzr, [fp, #0x10]  // [TEMP_01]
             mov     x24, x0
             ; gcrRegs +[x24]
             mov     x20, x1
             ; gcrRegs +[x20]
             mov     w23, w2
-            mov     w21, w3
+            mov     w22, w3
             mov     x25, x4
             ; gcrRegs +[x25]
-            mov     w22, w5
+            mov     w21, w5
             mov     x26, x6
             ; gcrRegs +[x26]
             mov     x27, x7
@@ -111,13 +111,13 @@ G_M30168_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x19 x28]
                        ;; size=80 bbWeight=1 PerfScore 17.00
 G_M30168_IG02:        ; bbWeight=1, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, byref, isz
-            str     xzr, [fp, #0x48]  // [V11 loc0]
+            str     xzr, [fp, #0x40] // [V11 loc0]
             ; GC ptr vars +{V11}
             ldrb    w1, [fp, #0xF0]    // [V08 arg8]
             tst     w1, #255
             bne     G_M30168_IG40
                        ;; size=16 bbWeight=1 PerfScore 4.50
-G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000000800000000 {V11}, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000001000000000 {V11}, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             mov     x1, x24
             ; gcrRegs +[x1]
             movz    x0, #0xD1FFAB1E
@@ -126,7 +126,7 @@ G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000000800000000 {V11}, gcrefRegs=
             bl      CORINFO_HELP_ISINSTANCEOFCLASS
             ; gcrRegs -[x1] +[x0]
             ; gcr arg pop 0
-            str     x0, [fp, #0x40]   // [V12 loc1]
+            str     x0, [fp, #0x38]  // [V12 loc1]
             ; GC ptr vars +{V12}
             str     wzr, [fp, #0x9C]   // [V13 loc2]
             mov     x0, x24
@@ -145,7 +145,7 @@ G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000000800000000 {V11}, gcrefRegs=
             tbz     w0, #0, G_M30168_IG55
                        ;; size=76 bbWeight=0.50 PerfScore 11.25
 G_M30168_IG04:        ; bbWeight=0.50, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, byref, isz
-            ldr     x0, [fp, #0x40]    // [V12 loc1]
+            ldr     x0, [fp, #0x38]  // [V12 loc1]
             ; gcrRegs +[x0]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x60]
@@ -155,7 +155,7 @@ G_M30168_IG04:        ; bbWeight=0.50, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x
             ; gcrRegs -[x0]
             ; gcr arg pop 0
             cbz     w0, G_M30168_IG06
-            ldr     x0, [fp, #0x40] // [V12 loc1]
+            ldr     x0, [fp, #0x38]  // [V12 loc1]
             ; gcrRegs +[x0]
             ldr     x1, [fp, #0x58]    // [V63 cse2]
             ldr     x1, [x1, #0x18]
@@ -187,19 +187,19 @@ G_M30168_IG04:        ; bbWeight=0.50, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x
             ; gcrRegs -[x15 x20]
             ; byrRegs -[x14]
             str     w23, [x2, #0x48]
-            strb    w21, [x2, #0x4C]
+            strb    w22, [x2, #0x4C]
             mov     w14, #1
             strb    w14, [x2, #0x4F]
             add     x14, x2, #8
             ; byrRegs +[x14]
-            ldr     x15, [fp, #0x40] // [V12 loc1]
+            ldr     x15, [fp, #0x38] // [V12 loc1]
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x15]
             ; byrRegs -[x14]
             add     x14, x2, #16
             ; byrRegs +[x14]
-            ldr     x15, [fp, #0x40] // [V12 loc1]
+            ldr     x15, [fp, #0x38] // [V12 loc1]
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x15]
@@ -242,11 +242,11 @@ G_M30168_IG05:        ; bbWeight=0.50, gcrefRegs=10180000 {x19 x20 x28}, byrefRe
             ldr     x0, [x20, #0x18]
             mov     x25, x0
             ; gcrRegs +[x25]
-            str     x20, [fp, #0x48] // [V11 loc0]
+            str     x20, [fp, #0x40] // [V11 loc0]
             ; GC ptr vars +{V11}
             mov     x20, x25
                        ;; size=52 bbWeight=0.50 PerfScore 6.50
-G_M30168_IG06:        ; bbWeight=0.50, gcVars=0000000800080000 {V11 V12}, gcrefRegs=11180000 {x19 x20 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG06:        ; bbWeight=0.50, gcVars=0000001000100000 {V11 V12}, gcrefRegs=11180000 {x19 x20 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0 x25]
             cbz     x24, G_M30168_IG08
             mov     x0, x24
@@ -318,18 +318,18 @@ G_M30168_IG09:        ; bbWeight=4, gcrefRegs=11180000 {x19 x20 x24 x28}, byrefR
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
             mov     w1, w27
-            str     x1, [fp, #0x50]   // [V69 cse8]
+            str     x1, [fp, #0x48]  // [V69 cse8]
             ldr     x2, [x0, x1, LSL #3]
             ; gcrRegs +[x2]
-            str     x2, [fp, #0x38]   // [V16 loc5]
+            str     x2, [fp, #0x30]  // [V16 loc5]
             ; GC ptr vars +{V16}
             cbz     x2, G_M30168_IG39
                        ;; size=52 bbWeight=4 PerfScore 76.00
-G_M30168_IG10:        ; bbWeight=2, gcVars=0000000800080002 {V11 V12 V16}, gcrefRegs=11180004 {x2 x19 x20 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG10:        ; bbWeight=2, gcVars=0000001000100008 {V11 V12 V16}, gcrefRegs=11180004 {x2 x19 x20 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             ; byrRegs -[x0]
             ldr     x3, [x2, #0x18]
             ; gcrRegs +[x3]
-            str     x3, [fp, #0x30]   // [V17 loc6]
+            str     x3, [fp, #0x28]  // [V17 loc6]
             ; GC ptr vars +{V17}
             ldr     x0, [x2, #0x08]
             ; gcrRegs +[x0]
@@ -341,7 +341,7 @@ G_M30168_IG10:        ; bbWeight=2, gcVars=0000000800080002 {V11 V12 V16}, gcref
             ; gcr arg pop 0
             cmp     w0, #8
...
  
  
libraries_tests.run.osx.arm64.Release.mch
-32 (-2.73%) : 58281.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (Instrumented Tier1)
@@ -8,27 +8,27 @@
 ; 8 inlinees with PGO data; 32 single block inlinees; 9 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T17] (  7,  7   )     ref  ->  [fp+0x18]  class-hnd EH-live single-def <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;  V01 arg1         [V01,T19] (  3,  3   )     int  ->  x19         single-def
+;  V00 arg0         [V00,T18] (  7,  7   )     ref  ->  [fp+0x18]  class-hnd EH-live single-def <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
+;  V01 arg1         [V01,T21] (  3,  3   )     int  ->  x19         single-def
 ;* V02 arg2         [V02    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Threading.CancellationToken>
-;  V03 loc0         [V03,T21] (  4,  4   )   ubyte  ->  [fp+0x24]  do-not-enreg[Z] EH-live
-;  V04 loc1         [V04,T12] (  8, 13   )     ref  ->  [fp+0x10]  class-hnd exact EH-live spill-single-def <System.Threading.Tasks.Task+SetOnCountdownMres>
+;  V03 loc0         [V03,T23] (  4,  4   )   ubyte  ->  [fp+0x24]  do-not-enreg[Z] EH-live
+;  V04 loc1         [V04,T14] (  8, 13   )     ref  ->  [fp+0x10]  class-hnd exact EH-live spill-single-def <System.Threading.Tasks.Task+SetOnCountdownMres>
 ;* V05 loc2         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V06 loc3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
 ;* V07 loc4         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V08 loc5         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V10 tmp1         [V10,T16] (  4,  8   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task+SetOnCountdownMres>
+;  V10 tmp1         [V10,T17] (  4,  8   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task+SetOnCountdownMres>
 ;* V11 tmp2         [V11    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V12 tmp3         [V12    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V13 tmp4         [V13    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V14 tmp5         [V14,T18] (  3,  6   )     int  ->  x22         "Inlining Arg"
+;  V14 tmp5         [V14,T20] (  3,  6   )     int  ->  x22         "Inlining Arg"
 ;* V15 tmp6         [V15    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V16 tmp7         [V16    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V17 tmp8         [V17    ] (  0,  0   )     int  ->  zero-ref   
 ;* V18 tmp9         [V18    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;* V19 tmp10        [V19,T27] (  0,  0   )     ref  ->  zero-ref    single-def
-;* V20 tmp11        [V20,T28] (  0,  0   )     int  ->  zero-ref   
+;* V19 tmp10        [V19,T29] (  0,  0   )     ref  ->  zero-ref    single-def
+;* V20 tmp11        [V20,T30] (  0,  0   )     int  ->  zero-ref   
 ;* V21 tmp12        [V21    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V22 tmp13        [V22    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V23 tmp14        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -36,39 +36,41 @@
 ;* V25 tmp16        [V25    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V26 tmp17        [V26    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V27 tmp18        [V27    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
-;  V28 tmp19        [V28,T13] (  2,  8   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V28 tmp19        [V28,T15] (  2,  8   )   ubyte  ->   x0         "Inline return value spill temp"
 ;* V29 tmp20        [V29    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V30 tmp21        [V30,T10] (  3, 24   )   byref  ->   x0         "Inlining Arg"
 ;* V31 tmp22        [V31    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V32 tmp23        [V32    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V33 tmp24        [V33,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V33 tmp24        [V33,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V34 tmp25        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
 ;* V35 tmp26        [V35    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V36 tmp27        [V36    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;* V37 tmp28        [V37,T05] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V37 tmp28        [V37,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V38 tmp29        [V38    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;  V39 tmp30        [V39,T22] (  2,  2   )     ref  ->  x20         single-def "field V02._source (fldOffset=0x0)" P-INDEP
-;  V40 tmp31        [V40,T08] (  5, 25   )     ref  ->  x21         single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V39 tmp30        [V39,T24] (  2,  2   )     ref  ->  x20         single-def "field V02._source (fldOffset=0x0)" P-INDEP
+;  V40 tmp31        [V40,T12] (  4, 23.79)     ref  ->  x21         single-def "field V05._list (fldOffset=0x0)" P-INDEP
 ;  V41 tmp32        [V41,T09] (  5, 22.79)     ref  ->  x24         "field V05._current (fldOffset=0x8)" P-INDEP
-;  V42 tmp33        [V42,T06] (  6, 36.15)     int  ->  x23         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V43 tmp34        [V43,T15] (  3, 10.21)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
-;  V44 tmp35        [V44,T02] (  5,129   )     ref  ->  x19         single-def "field V07._list (fldOffset=0x0)" P-INDEP
+;  V42 tmp33        [V42,T07] (  6, 36.15)     int  ->  x23         "field V05._index (fldOffset=0x10)" P-INDEP
+;  V43 tmp34        [V43,T19] (  2,  9   )     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V44 tmp35        [V44,T02] (  4,124.15)     ref  ->  x19         single-def "field V07._list (fldOffset=0x0)" P-INDEP
 ;  V45 tmp36        [V45,T04] (  3, 35.15)     ref  ->  x22         "field V07._current (fldOffset=0x8)" P-INDEP
 ;  V46 tmp37        [V46,T00] (  6,141.59)     int  ->  x21         "field V07._index (fldOffset=0x10)" P-INDEP
-;  V47 tmp38        [V47,T03] (  3, 69.85)     int  ->  x20         "field V07._version (fldOffset=0x14)" P-INDEP
-;  V48 tmp39        [V48,T23] (  3,  3   )     ref  ->  x21         single-def "field V27._list (fldOffset=0x0)" P-INDEP
+;  V47 tmp38        [V47,T05] (  2, 65   )     int  ->  x20         "field V07._version (fldOffset=0x14)" P-INDEP
+;  V48 tmp39        [V48,T25] (  3,  3   )     ref  ->  x21         single-def "field V27._list (fldOffset=0x0)" P-INDEP
 ;* V49 tmp40        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V27._current (fldOffset=0x8)" P-INDEP
-;* V50 tmp41        [V50,T29] (  0,  0   )     int  ->  zero-ref    "field V27._index (fldOffset=0x10)" P-INDEP
-;  V51 tmp42        [V51,T25] (  2,  2   )     int  ->  x22         "field V27._version (fldOffset=0x14)" P-INDEP
-;  V52 tmp43        [V52,T24] (  3,  3   )     ref  ->  x19         single-def "field V35._list (fldOffset=0x0)" P-INDEP
+;* V50 tmp41        [V50,T31] (  0,  0   )     int  ->  zero-ref    "field V27._index (fldOffset=0x10)" P-INDEP
+;  V51 tmp42        [V51,T27] (  2,  2   )     int  ->  x22         "field V27._version (fldOffset=0x14)" P-INDEP
+;  V52 tmp43        [V52,T26] (  3,  3   )     ref  ->  x19         single-def "field V35._list (fldOffset=0x0)" P-INDEP
 ;* V53 tmp44        [V53    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V35._current (fldOffset=0x8)" P-INDEP
-;* V54 tmp45        [V54,T30] (  0,  0   )     int  ->  zero-ref    "field V35._index (fldOffset=0x10)" P-INDEP
-;  V55 tmp46        [V55,T26] (  2,  2   )     int  ->  x20         "field V35._version (fldOffset=0x14)" P-INDEP
-;  V56 tmp47        [V56,T07] (  3, 40.72)     ref  ->   x2         "arr expr"
+;* V54 tmp45        [V54,T32] (  0,  0   )     int  ->  zero-ref    "field V35._index (fldOffset=0x10)" P-INDEP
+;  V55 tmp46        [V55,T28] (  2,  2   )     int  ->  x20         "field V35._version (fldOffset=0x14)" P-INDEP
+;  V56 tmp47        [V56,T08] (  3, 40.72)     ref  ->   x2         "arr expr"
 ;  V57 tmp48        [V57,T01] (  3,162.89)     ref  ->   x0         "arr expr"
-;  V58 PSPSym       [V58,T31] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
-;  V59 cse0         [V59,T14] (  3, 12   )   byref  ->   x0         "CSE - aggressive"
-;  V60 cse1         [V60,T20] (  4,  4   )   byref  ->   x1         "CSE - moderate"
+;  V58 PSPSym       [V58,T33] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
+;  V59 cse0         [V59,T03] (  2, 64   )     int  ->   x0         "CSE - aggressive"
+;  V60 cse1         [V60,T11] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V61 cse2         [V61,T16] (  3, 12   )   byref  ->   x0         "CSE - aggressive"
+;  V62 cse3         [V62,T22] (  4,  4   )   byref  ->   x1         "CSE - moderate"
 ;
 ; Lcl frame size = 32
 
@@ -86,7 +88,7 @@ G_M12834_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             mov     x20, x2
             ; gcrRegs +[x20]
                        ;; size=40 bbWeight=1 PerfScore 8.00
-G_M12834_IG02:        ; bbWeight=1, gcVars=0000000000020000 {V00}, gcrefRegs=100001 {x0 x20}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M12834_IG02:        ; bbWeight=1, gcVars=0000000000040000 {V00}, gcrefRegs=100001 {x0 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x0]
             cbnz    x0, G_M12834_IG03
             movz    x0, #0xD1FFAB1E
@@ -165,7 +167,7 @@ G_M12834_IG05:        ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {
             str     x21, [fp, #0x10]   // [V04 loc1]
             ; GC ptr vars +{V04}
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M12834_IG06:        ; bbWeight=1, gcVars=0000000000021000 {V00 V04}, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, gcvars, byref
+G_M12834_IG06:        ; bbWeight=1, gcVars=0000000000044000 {V00 V04}, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x21]
             ldr     x0, [fp, #0x18]    // [V00 arg0]
             ; gcrRegs +[x0]
@@ -196,13 +198,13 @@ G_M12834_IG08:        ; bbWeight=4, gcrefRegs=1300000 {x20 x21 x24}, byrefRegs=0
             ldapur  w0, [x24, #0x34]
             mov     w1, #0xD1FFAB1E
             tst     w0, w1
-            bne     G_M12834_IG17
+            bne     G_M12834_IG15
             add     x0, x24, #32
             ; byrRegs +[x0]
             ldapr   x1, [x0]
             ; gcrRegs +[x1]
             cbnz    x1, G_M12834_IG09
-            cbz     x0, G_M12834_IG15
+            cbz     x0, G_M12834_IG13
             ldr     x1, [fp, #0x10] // [V04 loc1]
             mov     x2, xzr
             bl      <unknown method>
@@ -225,22 +227,22 @@ G_M12834_IG09:        ; bbWeight=4, gcrefRegs=1300000 {x20 x21 x24}, byrefRegs=0
             blr     x3
             ; gcrRegs -[x0-x1 x24]
             ; gcr arg pop 0
-            cbz     w0, G_M12834_IG17
+            cbz     w0, G_M12834_IG15
                       ;; size=36 bbWeight=4 PerfScore 38.00
 G_M12834_IG10:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
             ldr     w2, [x21, #0x14]
             cmp     w22, w2
-            bne     G_M12834_IG12
+            bne     G_M12834_IG14
             ldr     w2, [x21, #0x10]
             cmp     w23, w2
-            bhs     G_M12834_IG19
+            bhs     G_M12834_IG17
                       ;; size=24 bbWeight=8 PerfScore 72.00
 G_M12834_IG11:        ; bbWeight=6.79, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
             ldr     x2, [x21, #0x08]
             ; gcrRegs +[x2]
             ldr     w3, [x2, #0x08]
             cmp     w23, w3
-            bhs     G_M12834_IG14
+            bhs     G_M12834_IG12
             add     x2, x2, #16
             ; gcrRegs -[x2]
             ; byrRegs +[x2]
@@ -249,23 +251,13 @@ G_M12834_IG11:        ; bbWeight=6.79, gcrefRegs=300000 {x20 x21}, byrefRegs=000
             add     w23, w23, #1
             b       G_M12834_IG08
                        ;; size=32 bbWeight=6.79 PerfScore 84.84
-G_M12834_IG12:        ; bbWeight=1.21, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x24]
+G_M12834_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x20-x21 x24]
             ; byrRegs -[x2]
-            ldr     w2, [x21, #0x14]
-            cmp     w22, w2
-            bne     G_M12834_IG16
-                       ;; size=12 bbWeight=1.21 PerfScore 5.46
-G_M12834_IG13:        ; bbWeight=8, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x21]
-            b       G_M12834_IG19
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M12834_IG14:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x20]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M12834_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M12834_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowNullReferenceException()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #2 LSL #32
@@ -274,7 +266,7 @@ G_M12834_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M12834_IG16:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M12834_IG14:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x2, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #2 LSL #32
@@ -283,7 +275,7 @@ G_M12834_IG16:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M12834_IG17:        ; bbWeight=0, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M12834_IG15:        ; bbWeight=0, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x20-x21]
             ldr     x1, [fp, #0x10]    // [V04 loc1]
             ; gcrRegs +[x1]
@@ -293,7 +285,7 @@ G_M12834_IG17:        ; bbWeight=0, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {
             ldaddal w2, w0, [x0]
             ; byrRegs -[x0]
             sub     w0, w0, #1
-            cbnz    w0, G_M12834_IG18
+            cbnz    w0, G_M12834_IG16
             mov     x0, x1
             ; gcrRegs +[x0]
             mov     w1, wzr
@@ -308,7 +300,7 @@ G_M12834_IG17:        ; bbWeight=0, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {
             ldr     x1, [fp, #0x10]    // [V04 loc1]
             ; gcrRegs +[x1]
                        ;; size=56 bbWeight=0 PerfScore 0.00
-G_M12834_IG18:        ; bbWeight=0, gcrefRegs=300002 {x1 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M12834_IG16:        ; bbWeight=0, gcrefRegs=300002 {x1 x20 x21}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x1, #0x1C]
             tbz     w0, #31, G_M12834_IG10
             movz    x0, #0xD1FFAB1E
@@ -326,7 +318,7 @@ G_M12834_IG18:        ; bbWeight=0, gcrefRegs=300002 {x1 x20 x21}, byrefRegs=000
             ; gcr arg pop 0
             b       G_M12834_IG10
                        ;; size=56 bbWeight=0 PerfScore 0.00
-G_M12834_IG19:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
+G_M12834_IG17:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -347,14 +339,14 @@ G_M12834_IG19:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, b
             ; gcr arg pop 0
             str     w0, [fp, #0x24]    // [V03 loc0]
                        ;; size=52 bbWeight=1 PerfScore 12.00
-G_M12834_IG20:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M12834_IG18:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ldr     x0, [fp, #0x28]  // [V58 PSPSym]
-            bl      G_M12834_IG30
+            bl      G_M12834_IG28
                        ;; size=8 bbWeight=1 PerfScore 3.00
-G_M12834_IG21:        ; bbWeight=1, nogc, extend
+G_M12834_IG19:        ; bbWeight=1, nogc, extend
             nop     
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M12834_IG22:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M12834_IG20:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; GC ptr vars -{V00 V04}
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -363,14 +355,14 @@ G_M12834_IG22:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
...
  
-32 (-1.97%) : 94646.dasm - Xunit.Sdk.XunitTheoryTestCaseRunner+d__11:MoveNext():this (Tier1-OSR)
@@ -14,7 +14,7 @@
 ;  V01 loc0         [V01,T45] (  2,   0   )     int  ->  [fp+0x1BC]  do-not-enreg[Z] EH-live tier0-frame
 ;  V02 loc1         [V02,T36] (  2,   1.57)     ref  ->  x19         class-hnd <Xunit.Sdk.XunitTheoryTestCaseRunner>
 ;  V03 loc2         [V03,T23] (  4,   4.52)     ref  ->  x20         class-hnd <Xunit.Sdk.RunSummary>
-;  V04 loc3         [V04,T25] (  3,   3.14)     ref  ->  x20         class-hnd exact <Xunit.Sdk.ExecutionTimer>
+;  V04 loc3         [V04,T24] (  3,   3.14)     ref  ->  x20         class-hnd exact <Xunit.Sdk.ExecutionTimer>
 ;  V05 loc4         [V05,T05] (  5, 492.14)     ref  ->   x0         class-hnd <Xunit.Sdk.RunSummary>
 ;  V06 loc5         [V06    ] (  7, 394.71)  struct ( 8) [fp+0x190]  do-not-enreg[XSF] addr-exposed ld-addr-op tier0-frame <System.Runtime.CompilerServices.TaskAwaiter`1[Xunit.Sdk.RunSummary]>
 ;  V07 loc6         [V07,T37] (  1,   1   )  struct (24) [fp+0x178]  do-not-enreg[SF] ld-addr-op tier0-frame <System.Collections.Generic.List`1+Enumerator[System.IDisposable]>
@@ -54,12 +54,12 @@
 ;  V41 tmp31        [V41    ] (  3, 590.57)  struct (16) [fp+0x58]  do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg" <System.Decimal>
 ;  V42 tmp32        [V42    ] (  2, 393.71)  struct (16) [fp+0x48]  do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg" <System.Decimal>
 ;* V43 tmp33        [V43    ] (  0,   0   )   byref  ->  zero-ref    "impAppendStmt"
-;  V44 tmp34        [V44,T14] (  2, 200   )   ubyte  ->   x1         "Inline return value spill temp"
-;  V45 tmp35        [V45,T00] ( 12,1961.47)   byref  ->  x20         "Inlining Arg"
+;  V44 tmp34        [V44,T14] (  2, 200   )   ubyte  ->  x14         "Inline return value spill temp"
+;  V45 tmp35        [V45,T00] ( 10,1884.28)   byref  ->   x1         "Inlining Arg"
 ;  V46 tmp36        [V46,T11] (  4, 380.73)     ref  ->  x14         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V47 tmp37        [V47,T19] (  3,   9.41)     ref  ->  x21         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V48 tmp38        [V48    ] (  0,   0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.IDisposable]>
-;  V49 tmp39        [V49,T26] (  3,   3.14)   ubyte  ->   x0         "Inline return value spill temp"
+;  V49 tmp39        [V49,T25] (  3,   3.14)   ubyte  ->   x0         "Inline return value spill temp"
 ;* V50 tmp40        [V50    ] (  0,   0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;* V51 tmp41        [V51    ] (  0,   0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V52 tmp42        [V52,T40] (  2,   6.27)  double  ->   d0         "Inlining Arg"
@@ -74,12 +74,12 @@
 ;* V61 tmp51        [V61    ] (  0,   0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
 ;* V62 tmp52        [V62    ] (  0,   0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <Xunit.Sdk.RunSummary>
 ;* V63 tmp53        [V63    ] (  0,   0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V64 tmp54        [V64,T27] (  2,   3.14)     int  ->  x24         single-def "field V19._flags (fldOffset=0x0)" P-INDEP
-;  V65 tmp55        [V65,T28] (  2,   3.14)     int  ->  x22         single-def "field V19._hi32 (fldOffset=0x4)" P-INDEP
-;  V66 tmp56        [V66,T29] (  2,   3.14)    long  ->  x23         single-def "field V19._lo64 (fldOffset=0x8)" P-INDEP
-;  V67 tmp57        [V67,T30] (  2,   3.14)     int  ->   x0         single-def "field V20._flags (fldOffset=0x0)" P-INDEP
-;  V68 tmp58        [V68,T31] (  2,   3.14)     int  ->   x1         single-def "field V20._hi32 (fldOffset=0x4)" P-INDEP
-;  V69 tmp59        [V69,T32] (  2,   3.14)    long  ->   x2         single-def "field V20._lo64 (fldOffset=0x8)" P-INDEP
+;  V64 tmp54        [V64,T26] (  2,   3.14)     int  ->  x24         single-def "field V19._flags (fldOffset=0x0)" P-INDEP
+;  V65 tmp55        [V65,T27] (  2,   3.14)     int  ->  x22         single-def "field V19._hi32 (fldOffset=0x4)" P-INDEP
+;  V66 tmp56        [V66,T28] (  2,   3.14)    long  ->  x23         single-def "field V19._lo64 (fldOffset=0x8)" P-INDEP
+;  V67 tmp57        [V67,T29] (  2,   3.14)     int  ->   x0         single-def "field V20._flags (fldOffset=0x0)" P-INDEP
+;  V68 tmp58        [V68,T30] (  2,   3.14)     int  ->   x1         single-def "field V20._hi32 (fldOffset=0x4)" P-INDEP
+;  V69 tmp59        [V69,T31] (  2,   3.14)    long  ->   x2         single-def "field V20._lo64 (fldOffset=0x8)" P-INDEP
 ;* V70 tmp60        [V70    ] (  0,   0   )     ref  ->  zero-ref    single-def "field V23._list (fldOffset=0x0)" P-INDEP
 ;* V71 tmp61        [V71    ] (  0,   0   )     ref  ->  zero-ref    single-def "field V23._current (fldOffset=0x8)" P-INDEP
 ;* V72 tmp62        [V72    ] (  0,   0   )     int  ->  zero-ref    single-def "field V23._index (fldOffset=0x10)" P-INDEP
@@ -95,7 +95,7 @@
 ;* V82 tmp72        [V82    ] (  0,   0   )     ref  ->  zero-ref    single-def "field V48._list (fldOffset=0x0)" P-INDEP
 ;* V83 tmp73        [V83    ] (  0,   0   )     ref  ->  zero-ref    single-def "field V48._current (fldOffset=0x8)" P-INDEP
 ;* V84 tmp74        [V84    ] (  0,   0   )     int  ->  zero-ref    single-def "field V48._index (fldOffset=0x10)" P-INDEP
-;  V85 tmp75        [V85,T33] (  2,   3.14)     int  ->  x22         single-def "field V48._version (fldOffset=0x14)" P-INDEP
+;  V85 tmp75        [V85,T32] (  2,   3.14)     int  ->  x22         single-def "field V48._version (fldOffset=0x14)" P-INDEP
 ;  V86 tmp76        [V86    ] (  3,   7.84)     int  ->  [fp+0x38]  do-not-enreg[X] addr-exposed "field V53._flags (fldOffset=0x0)" P-DEP
 ;  V87 tmp77        [V87    ] (  3,   7.84)     int  ->  [fp+0x3C]  do-not-enreg[X] addr-exposed "field V53._hi32 (fldOffset=0x4)" P-DEP
 ;  V88 tmp78        [V88    ] (  3,   7.84)    long  ->  [fp+0x40]  do-not-enreg[X] addr-exposed "field V53._lo64 (fldOffset=0x8)" P-DEP
@@ -106,10 +106,10 @@
 ;  V93 tmp83        [V93    ] (  2,   4.70)     int  ->  [fp+0x1C]  do-not-enreg[X] addr-exposed "field V55._hi32 (fldOffset=0x4)" P-DEP
 ;  V94 tmp84        [V94    ] (  2,   4.70)    long  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "field V55._lo64 (fldOffset=0x8)" P-DEP
 ;* V95 tmp85        [V95    ] (  0,   0   )     ref  ->  zero-ref    "field V61._source (fldOffset=0x0)" P-INDEP
-;  V96 tmp86        [V96,T22] (  6,   6.57)     ref  ->  x21         single-def "V07.[000..008)"
+;  V96 tmp86        [V96,T22] (  5,   6.27)     ref  ->  x21         single-def "V07.[000..008)"
 ;  V97 tmp87        [V97,T35] (  3,   1.57)     ref  ->  x24         "V07.[008..016)"
 ;  V98 tmp88        [V98,T20] (  7,   8.50)     int  ->  x23         "V07.[016..020)"
-;  V99 tmp89        [V99,T24] (  3,   3.44)     int  ->  x22         single-def "V07.[020..024)"
+;  V99 tmp89        [V99,T33] (  2,   3.14)     int  ->  x22         single-def "V07.[020..024)"
 ;  V100 tmp90       [V100,T06] (  3, 484.21)     ref  ->  x14         "arr expr"
 ;  V101 tmp91       [V101,T07] (  3, 484.21)     int  ->  x15         "index expr"
 ;  V102 tmp92       [V102,T44] (  2,   0   )     ref  ->   x2         "argument with side effect"
@@ -174,7 +174,7 @@ G_M18700_IG03:        ; bbWeight=98.43, gcrefRegs=80000 {x19}, byrefRegs=0001 {x
             ; gcr arg pop 0
             ldr     x0, [fp, #0x90]    // [V25 tmp15+0x28]
             ; gcrRegs +[x0]
-            cbz     x0, G_M18700_IG16
+            cbz     x0, G_M18700_IG15
                       ;; size=92 bbWeight=98.43 PerfScore 2706.78
 G_M18700_IG04:        ; bbWeight=98.43, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz
             ldrsb   wzr, [x0]
@@ -184,7 +184,7 @@ G_M18700_IG04:        ; bbWeight=98.43, gcrefRegs=80001 {x0 x19}, byrefRegs=0000
             ; gcrRegs -[x0]
             mov     w1, #0xD1FFAB1E
             tst     w0, w1
-            beq     G_M18700_IG15
+            beq     G_M18700_IG14
             ldr     x0, [fp, #0xD1FFAB1E]  // [V06 loc5]
             ; gcrRegs +[x0]
             ldapur  w1, [x0, #0x34]
@@ -192,7 +192,7 @@ G_M18700_IG04:        ; bbWeight=98.43, gcrefRegs=80001 {x0 x19}, byrefRegs=0000
             and     w1, w1, w2
             mov     w2, #0xD1FFAB1E
             cmp     w1, w2
-            bne     G_M18700_IG14
+            bne     G_M18700_IG13
                        ;; size=56 bbWeight=98.43 PerfScore 1870.14
 G_M18700_IG05:        ; bbWeight=98.43, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -262,65 +262,56 @@ G_M18700_IG07:        ; bbWeight=98.43, gcrefRegs=180000 {x19 x20}, byrefRegs=00
                        ;; size=120 bbWeight=98.43 PerfScore 4380.07
 G_M18700_IG08:        ; bbWeight=100, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0}, byref, isz
             ; byrRegs -[x20-x21]
-            add     x20, x0, #40
-            ; byrRegs +[x20]
-            ldr     x14, [x20]
+            add     x1, x0, #40
+            ; byrRegs +[x1]
+            ldr     x14, [x1]
             ; gcrRegs +[x14]
-            ldr     w15, [x20, #0x14]
+            ldr     w15, [x1, #0x14]
             ldr     w12, [x14, #0x14]
             cmp     w15, w12
-            bne     G_M18700_IG11
+            bne     G_M18700_IG16
                      ;; size=24 bbWeight=100 PerfScore 1100.00
-G_M18700_IG09:        ; bbWeight=100.03, gcrefRegs=84000 {x14 x19}, byrefRegs=100001 {x0 x20}, byref, isz
-            ldr     w15, [x20, #0x10]
+G_M18700_IG09:        ; bbWeight=100.03, gcrefRegs=84000 {x14 x19}, byrefRegs=0003 {x0 x1}, byref, isz
+            ldr     w15, [x1, #0x10]
             ldr     w12, [x14, #0x10]
             cmp     w15, w12
-            bhs     G_M18700_IG12
+            bhs     G_M18700_IG11
                      ;; size=16 bbWeight=100.03 PerfScore 750.23
-G_M18700_IG10:        ; bbWeight=80.70, gcrefRegs=84000 {x14 x19}, byrefRegs=100001 {x0 x20}, byref, isz
+G_M18700_IG10:        ; bbWeight=80.70, gcrefRegs=84000 {x14 x19}, byrefRegs=0003 {x0 x1}, byref, isz
             ldr     x14, [x14, #0x08]
             ldr     w12, [x14, #0x08]
             cmp     w15, w12
-            bhs     G_M18700_IG18
+            bhs     G_M18700_IG17
             add     x14, x14, #16
             ; gcrRegs -[x14]
             ; byrRegs +[x14]
             ldr     x15, [x14, w15, UXTW #3]
             ; gcrRegs +[x15]
-            add     x14, x20, #8
+            add     x14, x1, #8
             bl      CORINFO_HELP_CHECKED_ASSIGN_REF
             ; gcrRegs -[x15]
             ; byrRegs -[x14]
-            ldr     w14, [x20, #0x10]
+            ldr     w14, [x1, #0x10]
             add     w14, w14, #1
-            str     w14, [x20, #0x10]
+            str     w14, [x1, #0x10]
             b       G_M18700_IG03
                        ;; size=48 bbWeight=80.70 PerfScore 1452.64
-G_M18700_IG11:        ; bbWeight=19.30, gcrefRegs=80000 {x19}, byrefRegs=100001 {x0 x20}, byref, isz
-            ldr     w1, [x20, #0x14]
-            ldr     x2, [x20]
-            ; gcrRegs +[x2]
-            ldr     w2, [x2, #0x14]
-            ; gcrRegs -[x2]
-            cmp     w1, w2
-            bne     G_M18700_IG17
-                       ;; size=20 bbWeight=19.30 PerfScore 202.63
-G_M18700_IG12:        ; bbWeight=100, gcrefRegs=80000 {x19}, byrefRegs=100001 {x0 x20}, byref, isz
-            ldr     x1, [x20]
-            ; gcrRegs +[x1]
-            ldr     w1, [x1, #0x10]
-            ; gcrRegs -[x1]
-            add     w1, w1, #1
-            str     w1, [x20, #0x10]
-            str     xzr, [x20, #0x08]
-            mov     w1, wzr
-            cbnz    w1, G_M18700_IG03
+G_M18700_IG11:        ; bbWeight=100, gcrefRegs=80000 {x19}, byrefRegs=0003 {x0 x1}, byref, isz
+            ldr     x14, [x1]
+            ; gcrRegs +[x14]
+            ldr     w14, [x14, #0x10]
+            ; gcrRegs -[x14]
+            add     w14, w14, #1
+            str     w14, [x1, #0x10]
+            str     xzr, [x1, #0x08]
+            mov     w14, wzr
+            cbnz    w14, G_M18700_IG03
                      ;; size=28 bbWeight=100 PerfScore 1000.00
-G_M18700_IG13:        ; bbWeight=1.57, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0}, byref
-            ; byrRegs -[x20]
-            b       G_M18700_IG19
+G_M18700_IG12:        ; bbWeight=1.57, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0}, byref
+            ; byrRegs -[x1]
+            b       G_M18700_IG18
                       ;; size=4 bbWeight=1.57 PerfScore 1.57
-G_M18700_IG14:        ; bbWeight=0.08, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref
+G_M18700_IG13:        ; bbWeight=0.08, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0]
             ; byrRegs -[x0]
             mov     w1, wzr
@@ -333,7 +324,7 @@ G_M18700_IG14:        ; bbWeight=0.08, gcrefRegs=80001 {x0 x19}, byrefRegs=0000
             ; gcr arg pop 0
             b       G_M18700_IG05
                        ;; size=28 bbWeight=0.08 PerfScore 0.57
-G_M18700_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M18700_IG14:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
             str     wzr, [fp, #0xD1FFAB1E] // [V01 loc0]
             ldr     x21, [fp, #0xD1FFAB1E] // [V00 this]
@@ -357,7 +348,7 @@ G_M18700_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ldr     x3, [x3]
             blr     x3
             ; gcrRegs +[x0]
-            ; byrRegs -[x1-x2 x13-x14]
+            ; byrRegs -[x1-x2 x13-x14 x21]
             ; gcr arg pop 0
             mov     x2, x0
             ; gcrRegs +[x2]
@@ -373,11 +364,10 @@ G_M18700_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             blr     x3
             ; gcrRegs -[x2]
             ; gcr arg pop 0
-            b       G_M18700_IG29
+            b       G_M18700_IG27
                       ;; size=108 bbWeight=0 PerfScore 0.00
-G_M18700_IG16:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M18700_IG15:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x19]
-            ; byrRegs -[x21]
             add     x0, fp, #144   // [V25 tmp15+0x28]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
@@ -391,7 +381,7 @@ G_M18700_IG16:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; gcr arg pop 0
             b       G_M18700_IG04
                        ;; size=40 bbWeight=0 PerfScore 0.00
-G_M18700_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M18700_IG16:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0 x19]
             movz    x1, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x1, #0xD1FFAB1E LSL #16
@@ -401,12 +391,12 @@ G_M18700_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M18700_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M18700_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
-G_M18700_IG19:        ; bbWeight=1.57, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0}, byref
+G_M18700_IG18:        ; bbWeight=1.57, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0}, byref
             ; gcrRegs +[x19]
             ; byrRegs +[x0]
             stp     xzr, xzr, [x0, #0x28]
@@ -425,23 +415,23 @@ G_M18700_IG19:        ; bbWeight=1.57, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0
             ldr     w22, [x21, #0x14]
             mov     w23, wzr
                        ;; size=40 bbWeight=1.57 PerfScore 18.03
-G_M18700_IG20:        ; bbWeight=1.57, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M18700_IG19:        ; bbWeight=1.57, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
             ldr     w0, [x21, #0x14]
...
  
-20 (-1.93%) : 162452.dasm - System.Collections.Generic.List1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable1[System.__Canon]):this (Tier1)
@@ -32,7 +32,7 @@
 ;  V20 tmp15        [V20,T26] (  3,  2.08)     ref  ->   x4         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V21 tmp16        [V21,T19] (  4,  2.60)     int  ->   x0         "Inline stloc first use temp"
 ;  V22 tmp17        [V22,T17] (  3,  3.11)     ref  ->   x2         class-hnd "Inlining Arg" <System.__Canon>
-;  V23 tmp18        [V23,T00] ( 12, 11.93)   byref  ->  x22         "Inlining Arg"
+;  V23 tmp18        [V23,T00] ( 10, 11.14)   byref  ->  x22         "Inlining Arg"
 ;  V24 tmp19        [V24,T18] (  4,  2.98)     ref  ->  x14         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V25 tmp20        [V25,T09] (  2,  4   )    long  ->   x2         "argument with side effect"
 ;  V26 tmp21        [V26,T11] (  3,  3.58)     ref  ->  x14         "arr expr"
@@ -69,13 +69,13 @@ G_M57116_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=32 bbWeight=1 PerfScore 6.50
 G_M57116_IG02:        ; bbWeight=1, gcVars=0000000000000002 {V00}, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x0]
-            cbz     x19, G_M57116_IG41
+            cbz     x19, G_M57116_IG40
             ldr     x20, [x0]
             mov     x1, x20
             ldr     x2, [x1, #0x38]
             ldr     x2, [x2]
             ldr     x2, [x2, #0xA0]
-            cbz     x2, G_M57116_IG27
+            cbz     x2, G_M57116_IG26
                       ;; size=28 bbWeight=1 PerfScore 14.50
 G_M57116_IG03:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -94,7 +94,7 @@ G_M57116_IG04:        ; bbWeight=0.57, gcrefRegs=200000 {x21}, byrefRegs=0000 {}
             ldr     x0, [x20, #0x38]
             ldr     x0, [x0]
             ldr     x11, [x0, #0xB8]
-            cbz     x11, G_M57116_IG28
+            cbz     x11, G_M57116_IG27
                        ;; size=16 bbWeight=0.57 PerfScore 5.72
 G_M57116_IG05:        ; bbWeight=0.57, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref, isz
             mov     x0, x21
@@ -104,14 +104,14 @@ G_M57116_IG05:        ; bbWeight=0.57, gcrefRegs=200000 {x21}, byrefRegs=0000 {}
             ; gcrRegs -[x0]
             ; gcr arg pop 0
             sxtw    w19, w0
-            cbnz    w19, G_M57116_IG30
+            cbnz    w19, G_M57116_IG29
                         ;; size=20 bbWeight=0.57 PerfScore 3.43
 G_M57116_IG06:        ; bbWeight=0.57, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x21]
             ldr     x0, [x20, #0x38]
             ldr     x0, [x0]
             ldr     x0, [x0, #0x80]
-            cbz     x0, G_M57116_IG29
+            cbz     x0, G_M57116_IG28
                       ;; size=16 bbWeight=0.57 PerfScore 5.72
 G_M57116_IG07:        ; bbWeight=0.57, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
@@ -139,7 +139,7 @@ G_M57116_IG09:        ; bbWeight=0.43, gcVars=0000000000000002 {V00}, gcrefRegs=
             ldr     x0, [x20, #0x38]
             ldr     x0, [x0]
             ldr     x0, [x0, #0x80]
-            cbz     x0, G_M57116_IG37
+            cbz     x0, G_M57116_IG36
                       ;; size=16 bbWeight=0.43 PerfScore 4.28
 G_M57116_IG10:        ; bbWeight=0.43, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             bl      CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
@@ -157,7 +157,7 @@ G_M57116_IG10:        ; bbWeight=0.43, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             ldr     x0, [x20, #0x38]
             ldr     x0, [x0]
             ldr     x11, [x0, #0xA8]
-            cbz     x11, G_M57116_IG38
+            cbz     x11, G_M57116_IG37
                        ;; size=36 bbWeight=0.43 PerfScore 7.48
 G_M57116_IG11:        ; bbWeight=0.43, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             mov     x0, x19
@@ -227,11 +227,11 @@ G_M57116_IG17:        ; bbWeight=0.80, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b
             ldr     w15, [x22, #0x14]
             ldr     w12, [x14, #0x14]
             cmp     w15, w12
-            bne     G_M57116_IG25
+            bne     G_M57116_IG24
             ldr     w15, [x22, #0x10]
             ldr     w12, [x14, #0x10]
             cmp     w15, w12
-            bhs     G_M57116_IG26
+            bhs     G_M57116_IG25
                      ;; size=40 bbWeight=0.80 PerfScore 14.72
 G_M57116_IG18:        ; bbWeight=0.60, gcrefRegs=4000 {x14}, byrefRegs=400000 {x22}, byref, isz
             ; gcrRegs -[x0]
@@ -266,7 +266,7 @@ G_M57116_IG19:        ; bbWeight=1.21, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b
             cbnz    w0, G_M57116_IG13
                        ;; size=24 bbWeight=1.21 PerfScore 7.83
 G_M57116_IG20:        ; bbWeight=0.43, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            b       G_M57116_IG35
+            b       G_M57116_IG34
                        ;; size=4 bbWeight=0.43 PerfScore 0.43
 G_M57116_IG21:        ; bbWeight=0.16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     x0, x20
@@ -310,17 +310,8 @@ G_M57116_IG24:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M57116_IG25:        ; bbWeight=0.20, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, byref, isz
+G_M57116_IG25:        ; bbWeight=0.20, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, byref
             ; byrRegs +[x22]
-            ldr     w11, [x22, #0x14]
-            ldr     x1, [x22]
-            ; gcrRegs +[x1]
-            ldr     w1, [x1, #0x14]
-            ; gcrRegs -[x1]
-            cmp     w11, w1
-            bne     G_M57116_IG24
-                       ;; size=20 bbWeight=0.20 PerfScore 2.09
-G_M57116_IG26:        ; bbWeight=0.20, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, byref
             ldr     x11, [x22]
             ; gcrRegs +[x11]
             ldr     w11, [x11, #0x10]
@@ -328,9 +319,9 @@ G_M57116_IG26:        ; bbWeight=0.20, gcrefRegs=0000 {}, byrefRegs=400000 {x22}
             add     w11, w11, #1
             str     w11, [x22, #0x10]
             str     xzr, [x22, #0x08]
-            b       G_M57116_IG35
+            b       G_M57116_IG34
                         ;; size=24 bbWeight=0.20 PerfScore 1.89
-G_M57116_IG27:        ; bbWeight=0.20, gcVars=0000000000000002 {V00}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+G_M57116_IG26:        ; bbWeight=0.20, gcVars=0000000000000002 {V00}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs +[x19]
             ; byrRegs -[x22]
             ; GC ptr vars -{V04}
@@ -343,7 +334,7 @@ G_M57116_IG27:        ; bbWeight=0.20, gcVars=0000000000000002 {V00}, gcrefRegs=
             mov     x2, x0
             b       G_M57116_IG03
                        ;; size=28 bbWeight=0.20 PerfScore 0.90
-G_M57116_IG28:        ; bbWeight=0.11, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
+G_M57116_IG27:        ; bbWeight=0.11, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19] +[x21]
             mov     x0, x20
             movz    x1, #0xD1FFAB1E
@@ -354,7 +345,7 @@ G_M57116_IG28:        ; bbWeight=0.11, gcrefRegs=200000 {x21}, byrefRegs=0000 {}
             mov     x11, x0
             b       G_M57116_IG05
                        ;; size=28 bbWeight=0.11 PerfScore 0.52
-G_M57116_IG29:        ; bbWeight=0.11, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M57116_IG28:        ; bbWeight=0.11, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
             mov     x0, x20
             movz    x1, #0xD1FFAB1E
@@ -364,17 +355,17 @@ G_M57116_IG29:        ; bbWeight=0.11, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ; gcr arg pop 0
             b       G_M57116_IG07
                        ;; size=24 bbWeight=0.11 PerfScore 0.46
-G_M57116_IG30:        ; bbWeight=0.00, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref, isz
+G_M57116_IG29:        ; bbWeight=0.00, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x21]
             ldr     x1, [x20, #0x38]
             ldr     x1, [x1]
             ldr     x1, [x1, #0x88]
-            cbz     x1, G_M57116_IG39
+            cbz     x1, G_M57116_IG38
                       ;; size=16 bbWeight=0.00 PerfScore 0.00
-G_M57116_IG31:        ; bbWeight=0.00, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
+G_M57116_IG30:        ; bbWeight=0.00, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
             mov     x2, x1
                        ;; size=4 bbWeight=0.00 PerfScore 0.00
-G_M57116_IG32:        ; bbWeight=0.00, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref, isz
+G_M57116_IG31:        ; bbWeight=0.00, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref, isz
             sxtw    x1, w19
             mov     x0, x2
             bl      CORINFO_HELP_NEWARR_1_OBJ
@@ -392,9 +383,9 @@ G_M57116_IG32:        ; bbWeight=0.00, gcrefRegs=200000 {x21}, byrefRegs=0000 {}
             ldr     x0, [x20, #0x38]
             ldr     x0, [x0]
             ldr     x11, [x0, #0xC0]
-            cbz     x11, G_M57116_IG40
+            cbz     x11, G_M57116_IG39
                        ;; size=44 bbWeight=0.00 PerfScore 0.00
-G_M57116_IG33:        ; bbWeight=0.00, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
+G_M57116_IG32:        ; bbWeight=0.00, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
             ldr     x2, [fp, #0x18]    // [V00 this]
             ; gcrRegs +[x2]
             ldr     x1, [x2, #0x08]
@@ -411,13 +402,13 @@ G_M57116_IG33:        ; bbWeight=0.00, gcrefRegs=200000 {x21}, byrefRegs=0000 {}
             ; gcrRegs +[x2]
             str     w19, [x2, #0x10]
                        ;; size=32 bbWeight=0.00 PerfScore 0.00
-G_M57116_IG34:        ; bbWeight=0.00, epilog, nogc, extend
+G_M57116_IG33:        ; bbWeight=0.00, epilog, nogc, extend
             ldp     x21, x22, [sp, #0x40]
             ldp     x19, x20, [sp, #0x30]
             ldp     fp, lr, [sp], #0x50
             ret     lr
                        ;; size=16 bbWeight=0.00 PerfScore 0.00
-G_M57116_IG35:        ; bbWeight=0.43, gcVars=0000000000000402 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M57116_IG34:        ; bbWeight=0.43, gcVars=0000000000000402 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x2]
             ; GC ptr vars +{V04}
             ldr     x0, [fp, #0x10]    // [V04 loc2]
@@ -431,13 +422,13 @@ G_M57116_IG35:        ; bbWeight=0.43, gcVars=0000000000000402 {V00 V04}, gcrefR
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=24 bbWeight=0.43 PerfScore 3.21
-G_M57116_IG36:        ; bbWeight=0.43, epilog, nogc, extend
+G_M57116_IG35:        ; bbWeight=0.43, epilog, nogc, extend
             ldp     x21, x22, [sp, #0x40]
             ldp     x19, x20, [sp, #0x30]
             ldp     fp, lr, [sp], #0x50
             ret     lr
                        ;; size=16 bbWeight=0.43 PerfScore 1.71
-G_M57116_IG37:        ; bbWeight=0.09, gcVars=0000000000000002 {V00}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+G_M57116_IG36:        ; bbWeight=0.09, gcVars=0000000000000002 {V00}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs +[x19]
             mov     x0, x20
             movz    x1, #0xD1FFAB1E
@@ -447,7 +438,7 @@ G_M57116_IG37:        ; bbWeight=0.09, gcVars=0000000000000002 {V00}, gcrefRegs=
             ; gcr arg pop 0
             b       G_M57116_IG10
                        ;; size=24 bbWeight=0.09 PerfScore 0.34
-G_M57116_IG38:        ; bbWeight=0.09, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M57116_IG37:        ; bbWeight=0.09, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             mov     x0, x20
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
@@ -457,7 +448,7 @@ G_M57116_IG38:        ; bbWeight=0.09, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             mov     x11, x0
             b       G_M57116_IG11
                        ;; size=28 bbWeight=0.09 PerfScore 0.38
-G_M57116_IG39:        ; bbWeight=0.00, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
+G_M57116_IG38:        ; bbWeight=0.00, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19] +[x21]
             mov     x0, x20
             movz    x1, #0xD1FFAB1E
@@ -466,9 +457,9 @@ G_M57116_IG39:        ; bbWeight=0.00, gcrefRegs=200000 {x21}, byrefRegs=0000 {}
             bl      CORINFO_HELP_RUNTIMEHANDLE_CLASS
             ; gcr arg pop 0
             mov     x2, x0
-            b       G_M57116_IG32
+            b       G_M57116_IG31
                        ;; size=28 bbWeight=0.00 PerfScore 0.00
-G_M57116_IG40:        ; bbWeight=0.00, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
+G_M57116_IG39:        ; bbWeight=0.00, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
             mov     x0, x20
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
@@ -476,9 +467,9 @@ G_M57116_IG40:        ; bbWeight=0.00, gcrefRegs=200000 {x21}, byrefRegs=0000 {}
             bl      CORINFO_HELP_RUNTIMEHANDLE_CLASS
             ; gcr arg pop 0
             mov     x11, x0
-            b       G_M57116_IG33
+            b       G_M57116_IG32
                       ;; size=28 bbWeight=0.00 PerfScore 0.00
-G_M57116_IG41:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M57116_IG40:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
             mov     w0, #23
             movz    x1, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowArgumentNullException(int)
@@ -489,7 +480,7 @@ G_M57116_IG41:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
...
  
-4 (-0.09%) : 134632.dasm - System.Globalization.FormatProvider+Number:NumberToStringFormat(byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (Tier0-FullOpts)
@@ -10,7 +10,7 @@
 ;
 ;  V00 arg0         [V00,T01] ( 85,307.50)   byref  ->  x19         single-def
 ;  V01 arg1         [V01,T65] ( 12, 18   )   byref  ->  x21         single-def
-;  V02 arg2         [V02,T79] (  6, 12   )  struct (16) [fp+0xB8]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
+;  V02 arg2         [V02,T80] (  6, 12   )  struct (16) [fp+0xB8]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
 ;  V03 arg3         [V03,T62] ( 11, 21.50)     ref  ->  x20         class-hnd single-def <System.Globalization.NumberFormatInfo>
 ;  V04 loc0         [V04,T08] ( 15, 96   )     int  ->  x27        
 ;  V05 loc1         [V05,T16] ( 18, 56   )     int  ->  x28        
@@ -24,49 +24,49 @@
 ;  V13 loc9         [V13,T19] (  8, 48   )     int  ->   x7        
 ;  V14 loc10        [V14,T29] ( 11, 42   )     int  ->  [fp+0xA0]  ptr
 ;  V15 loc11        [V15,T69] (  5, 18   )     int  ->  x26        
-;  V16 loc12        [V16,T00] ( 57,909.50)     int  ->  registers   ptr
+;  V16 loc12        [V16,T00] ( 55,905.50)     int  ->  registers   ptr
 ;  V17 loc13        [V17,T72] (  6, 17   )    long  ->  x25        
 ;  V18 loc14        [V18,T05] ( 36,238   )  ushort  ->  [fp+0x9C]  ptr
 ;* V19 loc15        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[int]>
 ;  V20 loc16        [V20,T11] ( 16, 71   )     int  ->  [fp+0x98]  ptr
-;  V21 loc17        [V21,T125] (  3,  5   )   ubyte  ->  [fp+0x94] 
+;  V21 loc17        [V21,T126] (  3,  5   )   ubyte  ->  [fp+0x94] 
 ;  V22 loc18        [V22,T07] (  8,184   )    long  ->   x8        
 ;  V23 loc19        [V23    ] (  2, 16   )   byref  ->  [fp+0x88]  must-init pinned ptr
 ;* V24 loc20        [V24    ] (  0,  0   )     int  ->  zero-ref   
 ;* V25 loc21        [V25    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[int]>
-;  V26 loc22        [V26,T123] (  5,  5.50)     ref  ->  [fp+0x40]  class-hnd spill-single-def ptr <int[]>
-;  V27 loc23        [V27,T80] (  6, 12.50)     int  ->  [fp+0x84]  ptr
+;  V26 loc22        [V26,T124] (  5,  5.50)     ref  ->  [fp+0x40]  class-hnd spill-single-def ptr <int[]>
+;  V27 loc23        [V27,T81] (  6, 12.50)     int  ->  [fp+0x84]  ptr
 ;  V28 loc24        [V28,T71] (  7, 17.50)     int  ->  [fp+0x80]  ptr
-;  V29 loc25        [V29,T126] (  3,  5   )     int  ->  [fp+0x7C]  spill-single-def ptr
-;  V30 loc26        [V30,T91] (  5, 11   )     int  ->  [fp+0x78]  ptr
-;  V31 loc27        [V31,T148] (  3,  1.50)     int  ->   x1        
-;  V32 loc28        [V32,T127] (  3,  5   )     int  ->  [fp+0x74]  spill-single-def ptr
-;  V33 loc29        [V33,T92] (  5, 10   )     ref  ->  [fp+0x38]  class-hnd exact spill-single-def ptr <int[]>
+;  V29 loc25        [V29,T127] (  3,  5   )     int  ->  [fp+0x7C]  spill-single-def ptr
+;  V30 loc26        [V30,T92] (  5, 11   )     int  ->  [fp+0x78]  ptr
+;  V31 loc27        [V31,T149] (  3,  1.50)     int  ->   x1        
+;  V32 loc28        [V32,T128] (  3,  5   )     int  ->  [fp+0x74]  spill-single-def ptr
+;  V33 loc29        [V33,T93] (  5, 10   )     ref  ->  [fp+0x38]  class-hnd exact spill-single-def ptr <int[]>
 ;  V34 loc30        [V34,T12] ( 11, 65   )    long  ->  x22        
 ;  V35 loc31        [V35    ] (  2,  2   )   byref  ->  [fp+0x68]  must-init pinned ptr
 ;  V36 loc32        [V36,T37] (  8, 33   )    long  ->  [fp+0x60]  ptr
-;  V37 loc33        [V37,T113] (  3,  6   )   ubyte  ->   x5        
+;  V37 loc33        [V37,T114] (  3,  6   )   ubyte  ->   x5        
 ;  V38 loc34        [V38,T53] (  6, 24   )     int  ->   x6        
 ;* V39 loc35        [V39    ] (  0,  0   )     int  ->  zero-ref   
 ;# V40 OutArgs      [V40    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V41 tmp1         [V41    ] (  0,  0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
 ;* V42 tmp2         [V42    ] (  0,  0   )  struct (16) zero-ref    multireg-arg <System.ReadOnlySpan`1[ushort]>
-;  V43 tmp3         [V43,T144] (  3,  2   )     int  ->   x2        
-;  V44 tmp4         [V44,T146] (  2,  2   )     int  ->   x2        
-;  V45 tmp5         [V45,T147] (  2,  2   )     int  ->   x3        
-;  V46 tmp6         [V46,T149] (  2,  1   )     int  ->   x2        
+;  V43 tmp3         [V43,T145] (  3,  2   )     int  ->   x2        
+;  V44 tmp4         [V44,T147] (  2,  2   )     int  ->   x2        
+;  V45 tmp5         [V45,T148] (  2,  2   )     int  ->   x3        
+;  V46 tmp6         [V46,T150] (  2,  1   )     int  ->   x2        
 ;  V47 tmp7         [V47    ] (  1,  1   )  struct (16) [fp+0xC8]  do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
 ;* V48 tmp8         [V48    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;  V49 tmp9         [V49,T55] (  3, 24   )     int  ->   x1         "impSpillLclRefs"
-;  V50 tmp10        [V50,T77] (  2, 16   )     int  ->   x1         "dup spill"
-;  V51 tmp11        [V51,T109] (  2,  8   )     int  ->   x3         "impSpillLclRefs"
-;  V52 tmp12        [V52,T110] (  2,  8   )     int  ->   x3         "impSpillLclRefs"
+;  V50 tmp10        [V50,T78] (  2, 16   )     int  ->   x1         "dup spill"
+;  V51 tmp11        [V51,T110] (  2,  8   )     int  ->   x3         "impSpillLclRefs"
+;  V52 tmp12        [V52,T111] (  2,  8   )     int  ->   x3         "impSpillLclRefs"
 ;  V53 tmp13        [V53,T41] (  2, 32   )     int  ->   x3         "impSpillLclRefs"
 ;  V54 tmp14        [V54,T13] (  2, 64   )     int  ->  x26         "dup spill"
-;  V55 tmp15        [V55,T114] (  3,  6   )     int  ->   x9        
-;  V56 tmp16        [V56,T86] (  3, 12   )    long  ->   x1         "impSpillLclRefs"
-;  V57 tmp17        [V57,T103] (  4,  8   )     int  ->   x1        
-;  V58 tmp18        [V58,T115] (  3,  6   )     int  ->   x3        
+;  V55 tmp15        [V55,T115] (  3,  6   )     int  ->   x9        
+;  V56 tmp16        [V56,T87] (  3, 12   )    long  ->   x1         "impSpillLclRefs"
+;  V57 tmp17        [V57,T104] (  4,  8   )     int  ->   x1        
+;  V58 tmp18        [V58,T116] (  3,  6   )     int  ->   x3        
 ;  V59 tmp19        [V59,T42] (  2, 32   )     int  ->   x5         "impSpillLclRefs"
 ;* V60 tmp20        [V60    ] (  0,  0   )   byref  ->  zero-ref    ptr
 ;  V61 tmp21        [V61,T43] (  2, 32   )    long  ->   x0         "impSpillLclRefs"
@@ -74,27 +74,27 @@
 ;  V63 tmp23        [V63,T56] (  3, 24   )     int  ->   x4        
 ;* V64 tmp24        [V64    ] (  0,  0   )     int  ->  zero-ref   
 ;* V65 tmp25        [V65    ] (  0,  0   )     int  ->  zero-ref    ptr
-;  V66 tmp26        [V66,T150] (  2,  1   )     int  ->   x1        
-;  V67 tmp27        [V67,T151] (  2,  1   )     int  ->   x9        
+;  V66 tmp26        [V66,T151] (  2,  1   )     int  ->   x1        
+;  V67 tmp27        [V67,T152] (  2,  1   )     int  ->   x9        
 ;* V68 tmp28        [V68    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[int]>
 ;  V69 tmp29        [V69,T54] (  3, 24   )   byref  ->   x0         "dup spill"
-;  V70 tmp30        [V70,T106] (  3,  8   )     int  ->   x1        
+;  V70 tmp30        [V70,T107] (  3,  8   )     int  ->   x1        
 ;  V71 tmp31        [V71,T09] (  3, 96   )     int  ->   x0         "impSpillLclRefs"
 ;  V72 tmp32        [V72,T14] (  2, 64   )     int  ->  x10         "dup spill"
 ;  V73 tmp33        [V73,T03] (  2,256   )     int  ->   x9         "dup spill"
 ;  V74 tmp34        [V74,T04] (  2,256   )     int  ->   x0         "impSpillLclRefs"
 ;* V75 tmp35        [V75    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;  V76 tmp36        [V76,T140] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <int[]>
+;  V76 tmp36        [V76,T141] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <int[]>
 ;* V77 tmp37        [V77    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V78 tmp38        [V78    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;* V79 tmp39        [V79    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V80 tmp40        [V80    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
-;  V81 tmp41        [V81,T111] (  2,  8.00)    long  ->   x2         "Inlining Arg"
+;  V81 tmp41        [V81,T112] (  2,  8.00)    long  ->   x2         "Inlining Arg"
 ;* V82 tmp42        [V82    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V83 tmp43        [V83    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
-;  V84 tmp44        [V84,T124] (  5,  5   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V85 tmp45        [V85,T142] (  5,  2.50)     int  ->   x0         "Inline stloc first use temp"
-;  V86 tmp46        [V86,T141] (  3,  3   )   byref  ->   x2         single-def "Span.get_Item ptrToSpan"
+;  V84 tmp44        [V84,T125] (  5,  5   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V85 tmp45        [V85,T143] (  5,  2.50)     int  ->   x0         "Inline stloc first use temp"
+;  V86 tmp46        [V86,T142] (  3,  3   )   byref  ->   x2         single-def "Span.get_Item ptrToSpan"
 ;* V87 tmp47        [V87    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;  V88 tmp48        [V88,T38] (  4, 32   )     int  ->   x4         "Inline stloc first use temp"
 ;* V89 tmp49        [V89    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
@@ -115,50 +115,50 @@
 ;  V104 tmp64       [V104,T40] (  2, 32   )   byref  ->   x1         "Inlining Arg"
 ;  V105 tmp65       [V105,T44] (  2, 32   )    long  ->   x5         "Inlining Arg"
 ;* V106 tmp66       [V106    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;  V107 tmp67       [V107,T104] (  4,  8   )     int  ->   x1         "Inline stloc first use temp"
+;  V107 tmp67       [V107,T105] (  4,  8   )     int  ->   x1         "Inline stloc first use temp"
 ;* V108 tmp68       [V108    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;  V109 tmp69       [V109,T31] ( 10, 40   )     ref  ->  [fp+0x20]  class-hnd exact spill-single-def ptr "Inlining Arg" <System.String>
-;  V110 tmp70       [V110,T93] (  5, 10   )     int  ->   x1         "Inline stloc first use temp"
-;  V111 tmp71       [V111,T81] (  3, 12   )   byref  ->   x5         "Span.get_Item ptrToSpan"
-;  V112 tmp72       [V112,T94] (  5, 10.00)     int  ->  [fp+0x54]  spill-single-def ptr "Inline stloc first use temp"
+;  V110 tmp70       [V110,T94] (  5, 10   )     int  ->   x1         "Inline stloc first use temp"
+;  V111 tmp71       [V111,T82] (  3, 12   )   byref  ->   x5         "Span.get_Item ptrToSpan"
+;  V112 tmp72       [V112,T95] (  5, 10.00)     int  ->  [fp+0x54]  spill-single-def ptr "Inline stloc first use temp"
 ;* V113 tmp73       [V113    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
-;  V114 tmp74       [V114,T82] (  3, 12.00)   byref  ->   x1         "Inlining Arg"
+;  V114 tmp74       [V114,T83] (  3, 12.00)   byref  ->   x1         "Inlining Arg"
 ;* V115 tmp75       [V115    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V116 tmp76       [V116,T87] (  3, 12.00)     int  ->  [fp+0x50]  spill-single-def ptr "Inlining Arg"
-;  V117 tmp77       [V117,T107] (  2,  8.00)   byref  ->  [fp+0x18]  spill-single-def ptr "Inlining Arg"
+;  V116 tmp76       [V116,T88] (  3, 12.00)     int  ->  [fp+0x50]  spill-single-def ptr "Inlining Arg"
+;  V117 tmp77       [V117,T108] (  2,  8.00)   byref  ->  [fp+0x18]  spill-single-def ptr "Inlining Arg"
 ;* V118 tmp78       [V118    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V119 tmp79       [V119    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V120 tmp80       [V120    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V121 tmp81       [V121    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
-;  V122 tmp82       [V122,T108] (  2,  8   )   byref  ->   x1         "Inlining Arg"
-;  V123 tmp83       [V123,T112] (  2,  8   )    long  ->   x5         "Inlining Arg"
+;  V122 tmp82       [V122,T109] (  2,  8   )   byref  ->   x1         "Inlining Arg"
+;  V123 tmp83       [V123,T113] (  2,  8   )    long  ->   x5         "Inlining Arg"
 ;* V124 tmp84       [V124    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V125 tmp85       [V125,T66] (  5, 20   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
-;  V126 tmp86       [V126,T95] (  5, 10   )     int  ->   x2         "Inline stloc first use temp"
-;  V127 tmp87       [V127,T83] (  3, 12   )   byref  ->   x5         "Span.get_Item ptrToSpan"
+;  V126 tmp86       [V126,T96] (  5, 10   )     int  ->   x2         "Inline stloc first use temp"
+;  V127 tmp87       [V127,T84] (  3, 12   )   byref  ->   x5         "Span.get_Item ptrToSpan"
 ;  V128 tmp88       [V128,T67] (  5, 20   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
-;  V129 tmp89       [V129,T96] (  5, 10   )     int  ->   x3         "Inline stloc first use temp"
-;  V130 tmp90       [V130,T84] (  3, 12   )   byref  ->   x5         "Span.get_Item ptrToSpan"
+;  V129 tmp89       [V129,T97] (  5, 10   )     int  ->   x3         "Inline stloc first use temp"
+;  V130 tmp90       [V130,T85] (  3, 12   )   byref  ->   x5         "Span.get_Item ptrToSpan"
 ;  V131 tmp91       [V131,T52] (  6, 24   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
-;  V132 tmp92       [V132,T97] (  5, 10   )     int  ->   x3         "Inline stloc first use temp"
-;  V133 tmp93       [V133,T85] (  3, 12   )   byref  ->   x5         "Span.get_Item ptrToSpan"
+;  V132 tmp92       [V132,T98] (  5, 10   )     int  ->   x3         "Inline stloc first use temp"
+;  V133 tmp93       [V133,T86] (  3, 12   )   byref  ->   x5         "Span.get_Item ptrToSpan"
 ;  V134 tmp94       [V134,T34] (  5, 40   )     int  ->   x5         "Inline stloc first use temp"
 ;* V135 tmp95       [V135    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;  V136 tmp96       [V136,T24] (  3, 48   )  ushort  ->   x1         "Inlining Arg"
-;  V137 tmp97       [V137,T98] (  5, 10   )     int  ->   x3         "Inline stloc first use temp"
+;  V137 tmp97       [V137,T99] (  5, 10   )     int  ->   x3         "Inline stloc first use temp"
 ;* V138 tmp98       [V138    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
-;  V139 tmp99       [V139,T88] (  3, 12   )  ushort  ->   x1         "Inlining Arg"
-;  V140 tmp100      [V140,T99] (  5, 10   )     int  ->   x6         "Inline stloc first use temp"
+;  V139 tmp99       [V139,T89] (  3, 12   )  ushort  ->   x1         "Inlining Arg"
+;  V140 tmp100      [V140,T100] (  5, 10   )     int  ->   x6         "Inline stloc first use temp"
 ;* V141 tmp101      [V141    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
-;  V142 tmp102      [V142,T100] (  5, 10   )     int  ->   x1         "Inline stloc first use temp"
+;  V142 tmp102      [V142,T101] (  5, 10   )     int  ->   x1         "Inline stloc first use temp"
 ;* V143 tmp103      [V143    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
-;  V144 tmp104      [V144,T101] (  5, 10   )     int  ->   x3         "Inline stloc first use temp"
+;  V144 tmp104      [V144,T102] (  5, 10   )     int  ->   x3         "Inline stloc first use temp"
 ;* V145 tmp105      [V145    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;  V146 tmp106      [V146,T70] (  3, 18   )  ushort  ->   x1         "Inlining Arg"
 ;  V147 tmp107      [V147,T35] (  5, 40   )     int  ->   x3         "Inline stloc first use temp"
 ;* V148 tmp108      [V148    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;  V149 tmp109      [V149,T25] (  3, 48   )  ushort  ->   x1         "Inlining Arg"
-;  V150 tmp110      [V150,T102] (  5, 10   )     int  ->   x1         "Inline stloc first use temp"
+;  V150 tmp110      [V150,T103] (  5, 10   )     int  ->   x1         "Inline stloc first use temp"
 ;* V151 tmp111      [V151    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;  V152 tmp112      [V152,T68] (  6, 19   )   byref  ->  [fp+0x10]  ptr "field V19._reference (fldOffset=0x0)" P-INDEP
 ;  V153 tmp113      [V153,T49] (  9, 27   )     int  ->  [fp+0x4C]  ptr "field V19._length (fldOffset=0x8)" P-INDEP
@@ -166,75 +166,76 @@
 ;* V155 tmp115      [V155    ] (  0,  0   )     int  ->  zero-ref    "field V25._length (fldOffset=0x8)" P-INDEP
 ;* V156 tmp116      [V156    ] (  0,  0   )   byref  ->  zero-ref    "field V41._reference (fldOffset=0x0)" P-INDEP
 ;* V157 tmp117      [V157    ] (  0,  0   )     int  ->  zero-ref    "field V41._length (fldOffset=0x8)" P-INDEP
-;* V158 tmp118      [V158,T152] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V42._reference (fldOffset=0x0)" P-INDEP
-;* V159 tmp119      [V159,T153] (  0,  0   )     int  ->  zero-ref    ptr "field V42._length (fldOffset=0x8)" P-INDEP
-;  V160 tmp120      [V160,T145] (  2,  2   )   byref  ->   x5         single-def "field V48._reference (fldOffset=0x0)" P-INDEP
-;* V161 tmp121      [V161,T154] (  0,  0   )     int  ->  zero-ref    ptr "field V48._length (fldOffset=0x8)" P-INDEP
+;* V158 tmp118      [V158,T153] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V42._reference (fldOffset=0x0)" P-INDEP
+;* V159 tmp119      [V159,T154] (  0,  0   )     int  ->  zero-ref    ptr "field V42._length (fldOffset=0x8)" P-INDEP
+;  V160 tmp120      [V160,T146] (  2,  2   )   byref  ->   x5         single-def "field V48._reference (fldOffset=0x0)" P-INDEP
+;* V161 tmp121      [V161,T155] (  0,  0   )     int  ->  zero-ref    ptr "field V48._length (fldOffset=0x8)" P-INDEP
 ;* V162 tmp122      [V162    ] (  0,  0   )   byref  ->  zero-ref    "field V68._reference (fldOffset=0x0)" P-INDEP
 ;* V163 tmp123      [V163    ] (  0,  0   )     int  ->  zero-ref    "field V68._length (fldOffset=0x8)" P-INDEP
 ;* V164 tmp124      [V164    ] (  0,  0   )   byref  ->  zero-ref    ptr "field V75._reference (fldOffset=0x0)" P-INDEP
 ;* V165 tmp125      [V165    ] (  0,  0   )     int  ->  zero-ref    ptr "field V75._length (fldOffset=0x8)" P-INDEP
-;  V166 tmp126      [V166,T128] (  2,  4.00)   byref  ->   x0         "field V77._reference (fldOffset=0x0)" P-INDEP
-;  V167 tmp127      [V167,T136] (  2,  4   )     int  ->   x2         "field V77._length (fldOffset=0x8)" P-INDEP
+;  V166 tmp126      [V166,T129] (  2,  4.00)   byref  ->   x0         "field V77._reference (fldOffset=0x0)" P-INDEP
+;  V167 tmp127      [V167,T137] (  2,  4   )     int  ->   x2         "field V77._length (fldOffset=0x8)" P-INDEP
 ;* V168 tmp128      [V168    ] (  0,  0   )   byref  ->  zero-ref    ptr "field V78._reference (fldOffset=0x0)" P-INDEP
 ;* V169 tmp129      [V169    ] (  0,  0   )     int  ->  zero-ref    ptr "field V78._length (fldOffset=0x8)" P-INDEP
-;  V170 tmp130      [V170,T129] (  2,  4.00)   byref  ->   x1         "field V83._reference (fldOffset=0x0)" P-INDEP
-;  V171 tmp131      [V171,T137] (  2,  4.00)     int  ->   x4         "field V83._length (fldOffset=0x8)" P-INDEP
+;  V170 tmp130      [V170,T130] (  2,  4.00)   byref  ->   x1         "field V83._reference (fldOffset=0x0)" P-INDEP
+;  V171 tmp131      [V171,T138] (  2,  4.00)     int  ->   x4         "field V83._length (fldOffset=0x8)" P-INDEP
 ;* V172 tmp132      [V172    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "field V87._reference (fldOffset=0x0)" P-INDEP
 ;* V173 tmp133      [V173    ] (  0,  0   )     int  ->  zero-ref    ptr "field V87._length (fldOffset=0x8)" P-INDEP
-;  V174 tmp134      [V174,T74] (  2, 16   )   byref  ->   x5         "field V89._reference (fldOffset=0x0)" P-INDEP
-;  V175 tmp135      [V175,T78] (  2, 16   )     int  ->   x6         "field V89._length (fldOffset=0x8)" P-INDEP
+;  V174 tmp134      [V174,T75] (  2, 16   )   byref  ->   x5         "field V89._reference (fldOffset=0x0)" P-INDEP
+;  V175 tmp135      [V175,T79] (  2, 16   )     int  ->   x6         "field V89._length (fldOffset=0x8)" P-INDEP
 ;* V176 tmp136      [V176    ] (  0,  0   )   byref  ->  zero-ref    "field V95._reference (fldOffset=0x0)" P-INDEP
 ;* V177 tmp137      [V177    ] (  0,  0   )     int  ->  zero-ref    "field V95._length (fldOffset=0x8)" P-INDEP
 ;* V178 tmp138      [V178    ] (  0,  0   )   byref  ->  zero-ref    ptr "field V97._reference (fldOffset=0x0)" P-INDEP
 ;* V179 tmp139      [V179    ] (  0,  0   )     int  ->  zero-ref    ptr "field V97._length (fldOffset=0x8)" P-INDEP
 ;* V180 tmp140      [V180    ] (  0,  0   )   byref  ->  zero-ref    ptr "field V102._reference (fldOffset=0x0)" P-INDEP
 ;* V181 tmp141      [V181    ] (  0,  0   )     int  ->  zero-ref    ptr "field V102._length (fldOffset=0x8)" P-INDEP
-;  V182 tmp142      [V182,T130] (  2,  4   )   byref  ->   x5         "field V108._reference (fldOffset=0x0)" P-INDEP
-;  V183 tmp143      [V183,T138] (  2,  4   )     int  ->   x6         "field V108._length (fldOffset=0x8)" P-INDEP
+;  V182 tmp142      [V182,T131] (  2,  4   )   byref  ->   x5         "field V108._reference (fldOffset=0x0)" P-INDEP
+;  V183 tmp143      [V183,T139] (  2,  4   )     int  ->   x6         "field V108._length (fldOffset=0x8)" P-INDEP
 ;* V184 tmp144      [V184    ] (  0,  0   )   byref  ->  zero-ref    "field V113._reference (fldOffset=0x0)" P-INDEP
 ;* V185 tmp145      [V185    ] (  0,  0   )     int  ->  zero-ref    "field V113._length (fldOffset=0x8)" P-INDEP
 ;* V186 tmp146      [V186    ] (  0,  0   )   byref  ->  zero-ref    ptr "field V115._reference (fldOffset=0x0)" P-INDEP
 ;* V187 tmp147      [V187    ] (  0,  0   )     int  ->  zero-ref    ptr "field V115._length (fldOffset=0x8)" P-INDEP
 ;* V188 tmp148      [V188    ] (  0,  0   )   byref  ->  zero-ref    ptr "field V120._reference (fldOffset=0x0)" P-INDEP
 ;* V189 tmp149      [V189    ] (  0,  0   )     int  ->  zero-ref    ptr "field V120._length (fldOffset=0x8)" P-INDEP
-;  V190 tmp150      [V190,T75] (  2, 16   )   byref  ->   x6         "field V135._reference (fldOffset=0x0)" P-INDEP
+;  V190 tmp150      [V190,T76] (  2, 16   )   byref  ->   x6         "field V135._reference (fldOffset=0x0)" P-INDEP
 ;  V191 tmp151      [V191,T57] (  3, 24   )     int  ->   x9         "field V135._length (fldOffset=0x8)" P-INDEP
-;  V192 tmp152      [V192,T131] (  2,  4   )   byref  ->   x5         "field V138._reference (fldOffset=0x0)" P-INDEP
-;  V193 tmp153      [V193,T116] (  3,  6   )     int  ->   x6         "field V138._length (fldOffset=0x8)" P-INDEP
-;  V194 tmp154      [V194,T132] (  2,  4   )   byref  ->   x1         "field V141._reference (fldOffset=0x0)" P-INDEP
-;  V195 tmp155      [V195,T117] (  3,  6   )     int  ->   x5         "field V141._length (fldOffset=0x8)" P-INDEP
-;  V196 tmp156      [V196,T133] (  2,  4   )   byref  ->   x5         "field V143._reference (fldOffset=0x0)" P-INDEP
-;  V197 tmp157      [V197,T118] (  3,  6   )     int  ->   x6         "field V143._length (fldOffset=0x8)" P-INDEP
-;  V198 tmp158      [V198,T134] (  2,  4   )   byref  ->   x5         "field V145._reference (fldOffset=0x0)" P-INDEP
-;  V199 tmp159      [V199,T119] (  3,  6   )     int  ->   x6         "field V145._length (fldOffset=0x8)" P-INDEP
-;  V200 tmp160      [V200,T76] (  2, 16   )   byref  ->   x4         "field V148._reference (fldOffset=0x0)" P-INDEP
+;  V192 tmp152      [V192,T132] (  2,  4   )   byref  ->   x5         "field V138._reference (fldOffset=0x0)" P-INDEP
+;  V193 tmp153      [V193,T117] (  3,  6   )     int  ->   x6         "field V138._length (fldOffset=0x8)" P-INDEP
...
  
+0 (0.00%) : 3864.dasm - System.Globalization.Tests.InvariantModeTests:TestCasing():this (Tier1-OSR)
@@ -1398,7 +1398,7 @@ G_M5063_IG49:        ; bbWeight=32.74, gcVars=0000000000000000000000000008000000
 G_M5063_IG50:        ; bbWeight=8.18, gcrefRegs=1D900000 {x20 x23 x24 x26 x27 x28}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [fp, #0x8C]    // [V327 tmp316]
             cmp     w0, #9
-            blo     G_M5063_IG105
+            blo     G_M5063_IG104
                        ;; size=12 bbWeight=8.18 PerfScore 28.65
 G_M5063_IG51:        ; bbWeight=8.15, gcrefRegs=1D900000 {x20 x23 x24 x26 x27 x28}, byrefRegs=0000 {}, byref
             add     x0, x27, #12
@@ -2313,7 +2313,7 @@ G_M5063_IG102:        ; bbWeight=32.74, gcrefRegs=1D900000 {x20 x23 x24 x26 x27
             ; byrRegs +[x1]
             sxtw    w2, w25
             cmp     w2, #8
-            bge     G_M5063_IG103
+            bge     G_M5063_IG105
             movz    x3, #0xD1FFAB1E      // code for <unknown method>
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #2 LSL #32
@@ -2322,22 +2322,11 @@ G_M5063_IG102:        ; bbWeight=32.74, gcrefRegs=1D900000 {x20 x23 x24 x26 x27
             ; gcrRegs -[x23-x24]
             ; byrRegs -[x0-x1]
             sxtw    w22, w0
-            b       G_M5063_IG104
-                       ;; size=48 bbWeight=32.74 PerfScore 327.39
-G_M5063_IG103:        ; bbWeight=32.74, gcrefRegs=1C100000 {x20 x26 x27 x28}, byrefRegs=0003 {x0 x1}, byref
-            ; byrRegs +[x0-x1]
-            movz    x3, #0xD1FFAB1E      // code for <unknown method>
-            movk    x3, #0xD1FFAB1E LSL #16
-            movk    x3, #2 LSL #32
-            ldr     x3, [x3]
-            blr     x3
-            ; byrRegs -[x0-x1]
-            sxtw    w22, w0
-                       ;; size=24 bbWeight=32.74 PerfScore 196.44
-G_M5063_IG104:        ; bbWeight=32.74, gcrefRegs=1C100000 {x20 x26 x27 x28}, byrefRegs=0000 {}, byref
+                       ;; size=44 bbWeight=32.74 PerfScore 294.65
+G_M5063_IG103:        ; bbWeight=32.74, gcrefRegs=1C100000 {x20 x26 x27 x28}, byrefRegs=0000 {}, byref
             b       G_M5063_IG75
                        ;; size=4 bbWeight=32.74 PerfScore 32.74
-G_M5063_IG105:        ; bbWeight=0.03, gcrefRegs=1D900000 {x20 x23 x24 x26 x27 x28}, byrefRegs=0000 {}, byref
+G_M5063_IG104:        ; bbWeight=0.03, gcrefRegs=1D900000 {x20 x23 x24 x26 x27 x28}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x23-x24]
             add     x0, fp, #0xD1FFAB1E    // [V08 loc7]
             mov     x1, x27
@@ -2350,7 +2339,20 @@ G_M5063_IG105:        ; bbWeight=0.03, gcrefRegs=1D900000 {x20 x23 x24 x26 x27 x
             ; gcrRegs -[x1]
             b       G_M5063_IG52
                        ;; size=32 bbWeight=0.03 PerfScore 0.26
+G_M5063_IG105:        ; bbWeight=32.74, gcrefRegs=1C100000 {x20 x26 x27 x28}, byrefRegs=0003 {x0 x1}, byref
+            ; gcrRegs -[x23-x24]
+            ; byrRegs +[x0-x1]
+            movz    x3, #0xD1FFAB1E      // code for <unknown method>
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #2 LSL #32
+            ldr     x3, [x3]
+            blr     x3
+            ; byrRegs -[x0-x1]
+            sxtw    w22, w0
+            b       G_M5063_IG103
+                       ;; size=28 bbWeight=32.74 PerfScore 229.17
 G_M5063_IG106:        ; bbWeight=0.03, gcrefRegs=1D900000 {x20 x23 x24 x26 x27 x28}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x23-x24]
             add     x0, fp, #0xD1FFAB1E    // [V08 loc7]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
  
+12 (+0.18%) : 123695.dasm - System.Reflection.Metadata.Tests.LargeTablesAndHeapsTests:Strings():this (Tier1-OSR)
@@ -147,7 +147,7 @@
 ;  V134 tmp124      [V134,T50] (  2,   398.42)   byref  ->   x0         "Inlining Arg"
 ;* V135 tmp125      [V135    ] (  0,     0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.String>
 ;* V136 tmp126      [V136    ] (  0,     0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V137 tmp127      [V137,T25] (  5,  1799.82)     ref  ->  x27         class-hnd exact "Inline stloc first use temp" <System.String>
+;  V137 tmp127      [V137,T25] (  5,  1799.82)     ref  ->  x24         class-hnd exact "Inline stloc first use temp" <System.String>
 ;* V138 tmp128      [V138    ] (  0,     0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V139 tmp129      [V139,T34] (  4,   799.92)     int  ->  x24         "Inlining Arg"
 ;* V140 tmp130      [V140    ] (  0,     0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
@@ -160,20 +160,20 @@
 ;* V147 tmp137      [V147    ] (  0,     0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V148 tmp138      [V148    ] (  0,     0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V149 tmp139      [V149    ] (  0,     0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V150 tmp140      [V150,T41] ( 10,   470.33)     ref  ->  x28         class-hnd "Inline stloc first use temp" <ushort[]>
-;  V151 tmp141      [V151,T52] (  2,   386.71)     ref  ->  x24         class-hnd exact "spilling ret_expr" <System.Buffers.SharedArrayPool`1[ushort]>
-;  V152 tmp142      [V152,T79] (  6,   116.41)     ref  ->  x24         class-hnd exact "guarded devirt this exact temp" <System.Buffers.SharedArrayPool`1[ushort]>
-;  V153 tmp143      [V153,T51] (  8,   396.66)     int  ->  x25         "Inline stloc first use temp"
-;  V154 tmp144      [V154,T53] (  2,   386.71)     ref  ->  x26         class-hnd exact "dup spill" <System.Buffers.SharedArrayPoolThreadLocalArray[]>
-;  V155 tmp145      [V155,T54] (  5,   367.28)     ref  ->  x26        
+;  V150 tmp140      [V150,T41] ( 10,   470.33)     ref  ->  x25         class-hnd "Inline stloc first use temp" <ushort[]>
+;  V151 tmp141      [V151,T52] (  2,   386.71)     ref  ->  x26         class-hnd exact "spilling ret_expr" <System.Buffers.SharedArrayPool`1[ushort]>
+;  V152 tmp142      [V152,T79] (  6,   116.41)     ref  ->  x26         class-hnd exact "guarded devirt this exact temp" <System.Buffers.SharedArrayPool`1[ushort]>
+;  V153 tmp143      [V153,T51] (  8,   396.66)     int  ->  x27         "Inline stloc first use temp"
+;  V154 tmp144      [V154,T53] (  2,   386.71)     ref  ->  x28         class-hnd exact "dup spill" <System.Buffers.SharedArrayPoolThreadLocalArray[]>
+;  V155 tmp145      [V155,T54] (  5,   367.28)     ref  ->  x28        
 ;* V156 tmp146      [V156    ] (  0,     0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Buffers.SharedArrayPoolThreadLocalArray[]>
 ;  V157 tmp147      [V157,T74] (  4,   173.85)   ubyte  ->  [fp+0x54]  "Inline stloc first use temp"
 ;  V158 tmp148      [V158,T80] (  3,   106.65)   ubyte  ->  [fp+0x50]  "Inline stloc first use temp"
-;  V159 tmp149      [V159,T73] (  4,   174.02)     ref  ->  x26         class-hnd exact "Inline stloc first use temp" <System.Buffers.ArrayPoolEventSource>
+;  V159 tmp149      [V159,T73] (  4,   174.02)     ref  ->  [fp+0x20]  class-hnd exact "Inline stloc first use temp" <System.Buffers.ArrayPoolEventSource>
 ;  V160 tmp150      [V160,T159] (  2,     0   )     int  ->  [fp+0x4C]  spill-single-def "impAppendStmt"
 ;  V161 tmp151      [V161,T160] (  2,     0   )     int  ->  [fp+0x48]  spill-single-def "impAppendStmt"
 ;  V162 tmp152      [V162,T161] (  2,     0   )     int  ->  [fp+0x44]  spill-single-def "impAppendStmt"
-;  V163 tmp153      [V163,T162] (  2,     0   )     int  ->  x28         "impAppendStmt"
+;  V163 tmp153      [V163,T162] (  2,     0   )     int  ->  x25         "impAppendStmt"
 ;* V164 tmp154      [V164    ] (  0,     0   )     ref  ->  zero-ref   
 ;* V165 tmp155      [V165    ] (  0,     0   )     int  ->  zero-ref   
 ;* V166 tmp156      [V166    ] (  0,     0   )     int  ->  zero-ref   
@@ -196,7 +196,7 @@
 ;  V183 tmp173      [V183,T154] (  3,     0   )     int  ->   x5        
 ;  V184 tmp174      [V184,T56] (  2,   347.34)     int  ->  [fp+0x40]  spill-single-def "impAppendStmt"
 ;  V185 tmp175      [V185,T55] (  4,   347.34)   byref  ->   x0         "Inline stloc first use temp"
-;  V186 tmp176      [V186,T42] (  3,   487.93)     ref  ->  x26         class-hnd "Inline stloc first use temp" <System.Array>
+;  V186 tmp176      [V186,T42] (  3,   487.93)     ref  ->  x28         class-hnd "Inline stloc first use temp" <System.Array>
 ;* V187 tmp177      [V187    ] (  0,     0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Buffers.SharedArrayPoolThreadLocalArray>
 ;  V188 tmp178      [V188,T87] (  2,    78.57)     ref  ->   x2         class-hnd exact "dup spill" <System.Buffers.SharedArrayPoolPartitions>
 ;  V189 tmp179      [V189,T88] (  4,    58.94)     ref  ->   x2        
@@ -209,19 +209,19 @@
 ;* V196 tmp186      [V196    ] (  0,     0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V197 tmp187      [V197    ] (  0,     0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V198 tmp188      [V198,T72] (  3,   176.77)   ubyte  ->   x3         "Inline return value spill temp"
-;  V199 tmp189      [V199,T18] (  6,  2533.75)     ref  ->  [fp+0x20]  class-hnd exact spill-single-def "Inline stloc first use temp" <<unknown class>>
+;  V199 tmp189      [V199,T18] (  6,  2533.75)     ref  ->  [fp+0x18]  class-hnd exact spill-single-def "Inline stloc first use temp" <<unknown class>>
 ;  V200 tmp190      [V200,T13] (  7,  3456.89)     int  ->  [fp+0x38]  "Inline stloc first use temp"
 ;  V201 tmp191      [V201,T24] (  4,  1885.58)     int  ->  [fp+0x34]  "Inline stloc first use temp"
-;  V202 tmp192      [V202,T19] (  2,  2514.11)     int  ->   x1         "dup spill"
+;  V202 tmp192      [V202,T19] (  2,  2514.11)     int  ->   x2         "dup spill"
 ;* V203 tmp193      [V203    ] (  0,     0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;  V204 tmp194      [V204,T108] (  4,     0   )     int  ->  [fp+0x30]  "Inline return value spill temp"
 ;  V205 tmp195      [V205,T75] (  4,   117.85)     int  ->   x2         "dup spill"
 ;* V206 tmp196      [V206    ] (  0,     0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V207 tmp197      [V207    ] (  0,     0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V208 tmp198      [V208,T27] (  3,  1571.32)   ubyte  ->  [fp+0x2C]  "Inline stloc first use temp"
-;  V209 tmp199      [V209,T09] (  8,  8799.37)     ref  ->  [fp+0x18]  class-hnd exact spill-single-def "Inlining Arg" <System.Buffers.SharedArrayPoolPartitions+Partition>
-;  V210 tmp200      [V210,T26] (  3,  1571.32)     ref  ->  x14         class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V211 tmp201      [V211,T23] (  5,  2199.84)     int  ->   x0         "Inline stloc first use temp"
+;  V209 tmp199      [V209,T09] (  8,  8799.37)     ref  ->  [fp+0x10]  class-hnd exact spill-single-def "Inlining Arg" <System.Buffers.SharedArrayPoolPartitions+Partition>
+;  V210 tmp200      [V210,T26] (  3,  1571.32)     ref  ->   x2         class-hnd "Inline stloc first use temp" <<unknown class>>
+;  V211 tmp201      [V211,T23] (  5,  2199.84)     int  ->   x3         "Inline stloc first use temp"
 ;  V212 tmp202      [V212,T164] (  2,     0   )     int  ->   x4         "Inlining Arg"
 ;* V213 tmp203      [V213    ] (  0,     0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Reflection.Metadata.StringHandle>
 ;* V214 tmp204      [V214,T36] (  0,     0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
@@ -239,7 +239,7 @@
 ;* V226 tmp216      [V226    ] (  0,     0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V227 tmp217      [V227    ] (  0,     0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <ubyte[]>
 ;  V228 tmp218      [V228,T165] (  2,     0   )     int  ->  x24         "Inlining Arg"
-;  V229 tmp219      [V229,T111] (  3,     0   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <Xunit.Sdk.AssertEqualityComparer`1[int]>
+;  V229 tmp219      [V229,T111] (  3,     0   )     ref  ->  x26         class-hnd exact single-def "NewObj constructor temp" <Xunit.Sdk.AssertEqualityComparer`1[int]>
 ;  V230 tmp220      [V230,T166] (  2,     0   )     int  ->  x27         "Inlining Arg"
 ;  V231 tmp221      [V231,T112] (  3,     0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <Xunit.Sdk.AssertEqualityComparer`1[int]>
 ;  V232 tmp222      [V232,T167] (  2,     0   )     int  ->  x19         "Inlining Arg"
@@ -437,7 +437,7 @@ G_M20288_IG01:        ; bbWeight=0.01, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
                        ;; size=48 bbWeight=0.01 PerfScore 0.13
 G_M20288_IG02:        ; bbWeight=0.01, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             cmp     w20, #4, LSL #12
-            bge     G_M20288_IG93
+            bge     G_M20288_IG94
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #2 LSL #32
@@ -461,7 +461,7 @@ G_M20288_IG03:        ; bbWeight=99.99, gcrefRegs=A80000 {x19 x21 x23}, byrefReg
             blr     x2
             ; gcr arg pop 0
             str     x0, [fp, #0xD1FFAB1E]  // [V05 loc4+0x08]
-            cbz     x0, G_M20288_IG82
+            cbz     x0, G_M20288_IG83
             add     x24, x0, #16
             ; byrRegs +[x24]
             ldr     w25, [x0, #0x08]
@@ -475,7 +475,7 @@ G_M20288_IG04:        ; bbWeight=99.99, gcrefRegs=A80000 {x19 x21 x23}, byrefReg
             ldr     w0, [fp, #0xD1FFAB1E]  // [V05 loc4+0x10]
             ldr     w1, [fp, #0xD1FFAB1E]  // [V05 loc4+0x20]
             cmp     w0, w1
-            bhi     G_M20288_IG94
+            bhi     G_M20288_IG95
             ldr     x1, [fp, #0xD1FFAB1E]  // [V05 loc4+0x18]
             ; byrRegs +[x1]
             ubfiz   x2, x0, #1, #32
@@ -502,7 +502,7 @@ G_M20288_IG05:        ; bbWeight=399.96, gcrefRegs=A80000 {x19 x21 x23}, byrefRe
             ; gcr arg pop 0
                        ;; size=40 bbWeight=399.96 PerfScore 3199.68
 G_M20288_IG06:        ; bbWeight=99.99, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=1000000 {x24}, byref, isz
-            cbz     w25, G_M20288_IG41
+            cbz     w25, G_M20288_IG67
                         ;; size=4 bbWeight=99.99 PerfScore 99.99
 G_M20288_IG07:        ; bbWeight=99.60, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=1000000 {x24}, byref
             movz    x0, #0xD1FFAB1E
@@ -518,13 +518,13 @@ G_M20288_IG08:        ; bbWeight=99.99, gcrefRegs=A80000 {x19 x21 x23}, byrefReg
             ; byrRegs -[x24]
             sxtw    w24, w20
             ldrb    w0, [fp, #0xD1FFAB1E]  // [V05 loc4+0x14]
-            cbnz    w0, G_M20288_IG83
+            cbnz    w0, G_M20288_IG84
                         ;; size=12 bbWeight=99.99 PerfScore 349.97
 G_M20288_IG09:        ; bbWeight=99.99, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [fp, #0xD1FFAB1E]  // [V05 loc4+0x10]
             ldr     w1, [fp, #0xD1FFAB1E]  // [V05 loc4+0x20]
             cmp     w0, w1
-            bhi     G_M20288_IG94
+            bhi     G_M20288_IG95
             ldr     x1, [fp, #0xD1FFAB1E]  // [V05 loc4+0x18]
             ; byrRegs +[x1]
             ubfiz   x2, x0, #1, #32
@@ -558,7 +558,7 @@ G_M20288_IG11:        ; bbWeight=99.99, gcrefRegs=A80000 {x19 x21 x23}, byrefReg
             ldr     x0, [fp, #0xD1FFAB1E]  // [V05 loc4]
             ; gcrRegs +[x0]
             sxtw    w1, w24
-            tbnz    w1, #31, G_M20288_IG31
+            tbnz    w1, #31, G_M20288_IG54
                         ;; size=20 bbWeight=99.99 PerfScore 449.96
 G_M20288_IG12:        ; bbWeight=99.78, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=2000000 {x25}, byref, isz
             ; gcrRegs -[x0]
@@ -704,7 +704,7 @@ G_M20288_IG23:        ; bbWeight=99.78, gcrefRegs=A80000 {x19 x21 x23}, byrefReg
             str     xzr, [fp, #0x58]   // [V77 tmp67]
                        ;; size=4 bbWeight=99.78 PerfScore 99.78
 G_M20288_IG24:        ; bbWeight=99.99, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=0000 {}, byref, isz
-            cbz     w0, G_M20288_IG84
+            cbz     w0, G_M20288_IG85
             ldr     w0, [fp, #0xD1FFAB1E]   // [V05 loc4+0x10]
             ldr     w1, [fp, #0x60]    // [V39 tmp29]
             add     w0, w0, w1
@@ -714,7 +714,7 @@ G_M20288_IG25:        ; bbWeight=99.99, gcrefRegs=A80000 {x19 x21 x23}, byrefReg
             ldr     w0, [fp, #0xD1FFAB1E]  // [V05 loc4+0x10]
             ldr     w1, [fp, #0xD1FFAB1E]  // [V05 loc4+0x20]
             cmp     w0, w1
-            bhi     G_M20288_IG94
+            bhi     G_M20288_IG95
             ldr     x1, [fp, #0xD1FFAB1E]  // [V05 loc4+0x18]
             ; byrRegs +[x1]
             ubfiz   x2, x0, #1, #32
@@ -742,7 +742,7 @@ G_M20288_IG26:        ; bbWeight=399.96, gcrefRegs=A80000 {x19 x21 x23}, byrefRe
             ; gcr arg pop 0
                        ;; size=40 bbWeight=399.96 PerfScore 3199.68
 G_M20288_IG27:        ; bbWeight=99.99, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=1000000 {x24}, byref, isz
-            cbz     w25, G_M20288_IG54
+            cbz     w25, G_M20288_IG71
                         ;; size=4 bbWeight=99.99 PerfScore 99.99
 G_M20288_IG28:        ; bbWeight=99.60, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=1000000 {x24}, byref
             movz    x0, #0xD1FFAB1E
@@ -759,10 +759,10 @@ G_M20288_IG29:        ; bbWeight=99.99, gcrefRegs=A80000 {x19 x21 x23}, byrefReg
             ldr     w24, [fp, #0xD1FFAB1E] // [V05 loc4+0x10]
             ldr     w0, [fp, #0xD1FFAB1E]  // [V05 loc4+0x20]
             cmp     w24, w0
-            bhi     G_M20288_IG94
+            bhi     G_M20288_IG95
             ldr     x25, [fp, #0xD1FFAB1E]    // [V05 loc4+0x18]
             ; byrRegs +[x25]
-            tbz     w24, #31, G_M20288_IG56
+            tbz     w24, #31, G_M20288_IG31
                      ;; size=24 bbWeight=99.99 PerfScore 849.92
 G_M20288_IG30:        ; bbWeight=399.96, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=2000000 {x25}, byref
             movz    x26, #0xD1FFAB1E
@@ -779,14 +779,288 @@ G_M20288_IG30:        ; bbWeight=399.96, gcrefRegs=A80000 {x19 x21 x23}, byrefRe
             blr     x2
             ; gcrRegs -[x0-x1] +[x26]
             ; gcr arg pop 0
+            mov     x0, x26
+            ; gcrRegs +[x0]
+            mov     x1, x26
+            ; gcrRegs +[x1]
+            movz    x2, #0xD1FFAB1E      // code for <unknown method>
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #1 LSL #32
+            ldr     x2, [x2]
+            blr     x2
+            ; gcrRegs -[x0-x1 x26]
+            ; gcr arg pop 0
+                       ;; size=68 bbWeight=399.96 PerfScore 5799.42
+G_M20288_IG31:        ; bbWeight=99.99, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=2000000 {x25}, byref, isz
+            mov     x0, x25
+            ; byrRegs +[x0]
+            sxtw    w1, w24
+            bl      <unknown method>
+            ; gcrRegs +[x0]
+            ; byrRegs -[x0 x25]
+            ; gcr arg pop 0
+            mov     x24, x0
+            ; gcrRegs +[x24]
+            ldr     x25, [fp, #0xD1FFAB1E] // [V05 loc4+0x08]
+            ; gcrRegs +[x25]
+            stp     xzr, xzr, [fp, #0xD1FFAB1E]
+            stp     xzr, xzr, [fp, #0xD1FFAB1E]
+            str     xzr, [fp, #0xD1FFAB1E]
+            cbz     x25, G_M20288_IG39
+                       ;; size=36 bbWeight=99.99 PerfScore 849.92
+G_M20288_IG32:        ; bbWeight=96.68, gcrefRegs=3A80000 {x19 x21 x23 x24 x25}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x0]
+            mov     x26, x21
+            ; gcrRegs +[x26]
+            ldr     w0, [x25, #0x08]
+            sub     w0, w0, #1
+            orr     w0, w0, #15
+            clz     w0, w0
+            eor     w0, w0, #31
+            sub     w27, w0, #3
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #1 LSL #32
+            mov     w1, #13
+            bl      CORINFO_HELP_GETSHARED_GCTHREADSTATIC_BASE_DYNAMICCLASS
+            ; byrRegs +[x0]
+            ; gcr arg pop 0
+            ldr     x28, [x0]
+            ; gcrRegs +[x28]
+            cbz     x28, G_M20288_IG52
+                       ;; size=56 bbWeight=96.68 PerfScore 1256.82
+G_M20288_IG33:        ; bbWeight=87.01, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=0000 {}, byref, isz
+            ; byrRegs -[x0]
+            mov     w2, wzr
+            mov     w3, #1
+            str     w3, [fp, #0x50]    // [V158 tmp148]
+            ldr     w0, [x28, #0x08]
+            cmp     w0, w27
+            bls     G_M20288_IG38
+                       ;; size=24 bbWeight=87.01 PerfScore 565.57
+G_M20288_IG34:        ; bbWeight=86.83, gcrefRegs=17A80000 {x19 x21 x23 x24 x25 x26 x28}, byrefRegs=0000 {}, byref, isz
+            mov     w2, #1
+            str     w2, [fp, #0x54]    // [V157 tmp147]
+            ldr     w4, [x25, #0x08]
+            str     w4, [fp, #0x40]    // [V184 tmp174]
...
  
  
librariestestsnotieredcompilation.run.osx.arm64.Release.mch
-20 (-11.90%) : 147949.dasm - System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
@@ -8,9 +8,9 @@
 ; 0 inlinees with PGO data; 3 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] (  4, 14   )     ref  ->  x20         this class-hnd single-def <System.Net.HttpEndPointListener>
-;  V01 arg1         [V01,T02] (  5, 22   )     ref  ->  x19         class-hnd single-def <System.Net.Sockets.SocketAsyncEventArgs>
-;  V02 loc0         [V02,T01] (  3, 24   )   ubyte  ->  x21        
+;  V00 this         [V00,T02] (  4, 18   )     ref  ->  x20         this class-hnd single-def <System.Net.HttpEndPointListener>
+;  V01 arg1         [V01,T01] (  5, 26   )     ref  ->  x19         class-hnd single-def <System.Net.Sockets.SocketAsyncEventArgs>
+;  V02 loc0         [V02,T03] (  2, 16   )   ubyte  ->   x0        
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
 ;  V05 tmp2         [V05,T00] (  3, 48   )     ref  ->   x0         class-hnd "Inlining Arg" <System.Net.Sockets.Socket>
@@ -18,22 +18,21 @@
 ;* V07 tmp4         [V07    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
 ;* V08 tmp5         [V08    ] (  0,  0   )     ref  ->  zero-ref    "field V06._source (fldOffset=0x0)" P-INDEP
 ;* V09 tmp6         [V09,T04] (  0,  0   )     ref  ->  zero-ref    "field V07._source (fldOffset=0x0)" P-INDEP
-;  V10 PSPSym       [V10,T05] (  1,  1   )    long  ->  [fp+0x10]  do-not-enreg[V] "PSPSym"
+;  V10 PSPSym       [V10,T05] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 16
 
 G_M14120_IG01:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     x19, x20, [sp, #0x20]
             mov     fp, sp
             add     x2, sp, #48
-            str     x2, [fp, #0x10]   // [V10 PSPSym]
+            str     x2, [fp, #0x18]    // [V10 PSPSym]
             mov     x20, x0
             ; gcrRegs +[x20]
             mov     x19, x1
             ; gcrRegs +[x19]
-                     ;; size=32 bbWeight=8 PerfScore 48.00
+                     ;; size=28 bbWeight=8 PerfScore 40.00
 G_M14120_IG02:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             str     xzr, [x19, #0x08]
             ldr     x0, [x20, #0x18]
@@ -49,12 +48,9 @@ G_M14120_IG02:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             blr     x3
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            sxtw    w21, w0
-                       ;; size=44 bbWeight=8 PerfScore 112.00
+                        ;; size=40 bbWeight=8 PerfScore 108.00
 G_M14120_IG03:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            cbnz    w21, G_M14120_IG05
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M14120_IG04:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+            cbnz    w0, G_M14120_IG04
             mov     x0, x20
             ; gcrRegs +[x0]
             mov     x1, x19
@@ -66,35 +62,30 @@ G_M14120_IG04:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-                      ;; size=28 bbWeight=4 PerfScore 26.00
-G_M14120_IG05:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            cbz     w21, G_M14120_IG02
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M14120_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            b       G_M14120_IG02
+                       ;; size=36 bbWeight=8 PerfScore 68.00
+G_M14120_IG04:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x19-x20]
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
+            ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x30
             ret     lr
-                       ;; size=16 bbWeight=1 PerfScore 5.00
-G_M14120_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                        ;; size=12 bbWeight=1 PerfScore 3.00
+G_M14120_IG05:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             stp     fp, lr, [sp, #-0x30]!
-            stp     x19, x20, [sp, #0x18]
-            str     x21, [sp, #0x28]
+            stp     x19, x20, [sp, #0x20]
             add     x3, fp, #48
-            str     x3, [sp, #0x10]
-                       ;; size=20 bbWeight=0 PerfScore 0.00
-G_M14120_IG08:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            adr     x0, [G_M14120_IG06]
+            str     x3, [sp, #0x18]
+                       ;; size=16 bbWeight=0 PerfScore 0.00
+G_M14120_IG06:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+            adr     x0, [G_M14120_IG04]
                         ;; size=4 bbWeight=0 PerfScore 0.00
-G_M14120_IG09:        ; bbWeight=0, funclet epilog, nogc, extend
-            ldr     x21, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
+G_M14120_IG07:        ; bbWeight=0, funclet epilog, nogc, extend
+            ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x30
             ret     lr
-                       ;; size=16 bbWeight=0 PerfScore 0.00
+                      ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 168, prolog size 32, PerfScore 207.00, instruction count 42, allocated bytes for code 168 (MethodHash=c2bdc8d7) for method System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
+; Total bytes of code 148, prolog size 28, PerfScore 219.00, instruction count 37, allocated bytes for code 148 (MethodHash=c2bdc8d7) for method System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -105,7 +96,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 32 (0x00020) Actual length = 128 (0x000080)
+  Function Length   : 29 (0x0001d) Actual length = 116 (0x000074)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -113,31 +104,29 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
+    C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
     85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
     E4          end
+    E4          end
+    E4          end
 
 Unwind Info:
   >> Start offset   : 0xd1ffab1e (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 2
+  Code Words        : 1
   Epilog Count      : 0
   E bit             : 1
   X bit             : 0
   Vers              : 0
-  Function Length   : 10 (0x0000a) Actual length = 40 (0x000028)
+  Function Length   : 8 (0x00008) Actual length = 32 (0x000020)
   --- One epilog, unwind codes at 0
   ---- Unwind codes ----
     ---- Epilog start at index 0 ----
-    D0 85       save_reg X#2 Z#5 (0x05); str x21, [sp, #40]
-    C8 03       save_regp X#0 Z#3 (0x03); stp x19, x20, [sp, #24]
+    C8 04       save_regp X#0 Z#4 (0x04); stp x19, x20, [sp, #32]
     85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
-    E4          end
-    E4          end
 
 *************** EH table for System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M14120_IG02..G_M14120_IG03) handled by [G_M14120_IG07..END) (class: 100003E)
+EH#0: try [G_M14120_IG02..G_M14120_IG03) handled by [G_M14120_IG05..END) (class: 100003E)
  
-16 (-4.12%) : 216621.dasm - System.Security.Cryptography.X509Certificates.FindPal:LaxParseDecimalBigInteger(System.String):System.Numerics.BigInteger (FullOpts)
@@ -8,7 +8,7 @@
 ; 2 inlinees with PGO data; 9 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T11] (  3,  3   )     ref  ->  x19         class-hnd single-def <System.String>
+;  V00 arg0         [V00,T13] (  3,  3   )     ref  ->  x19         class-hnd single-def <System.String>
 ;  V01 loc0         [V01    ] (  3,  5   )  struct (16) [fp+0x38]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Numerics.BigInteger>
 ;* V02 loc1         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-ret <System.Numerics.BigInteger>
 ;  V03 loc2         [V03,T06] (  3,  6   )     ref  ->  x19         class-hnd exact single-def <System.String>
@@ -50,10 +50,10 @@
 ;* V39 tmp33        [V39    ] (  0,  0   )     int  ->  zero-ref    "field V12._sign (fldOffset=0x8)" P-DEP
 ;  V40 tmp34        [V40    ] (  3, 10   )     ref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V14._bits (fldOffset=0x0)" P-DEP
 ;  V41 tmp35        [V41    ] (  3, 10   )     int  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V14._sign (fldOffset=0x8)" P-DEP
-;  V42 tmp36        [V42,T12] (  3,  4   )   byref  ->  registers   "field V16._reference (fldOffset=0x0)" P-INDEP
-;  V43 tmp37        [V43,T14] (  3,  4   )     int  ->  registers   "field V16._length (fldOffset=0x8)" P-INDEP
-;  V44 tmp38        [V44,T13] (  3,  4   )   byref  ->   x4         "field V19._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp39        [V45,T15] (  3,  4   )     int  ->   x6         "field V19._length (fldOffset=0x8)" P-INDEP
+;  V42 tmp36        [V42,T11] (  3,  5.07)   byref  ->  registers   "field V16._reference (fldOffset=0x0)" P-INDEP
+;  V43 tmp37        [V43,T12] (  3,  5.07)     int  ->  registers   "field V16._length (fldOffset=0x8)" P-INDEP
+;  V44 tmp38        [V44,T14] (  3,  4   )   byref  ->   x3         "field V19._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp39        [V45,T15] (  3,  4   )     int  ->   x4         "field V19._length (fldOffset=0x8)" P-INDEP
 ;  V46 tmp40        [V46    ] (  3, 10   )     ref  ->  [fp+0x18]  do-not-enreg[X] addr-exposed "field V22._bits (fldOffset=0x0)" P-DEP
 ;  V47 tmp41        [V47    ] (  3, 10   )     int  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "field V22._sign (fldOffset=0x8)" P-DEP
 ;* V48 tmp42        [V48    ] (  0,  0   )     ref  ->  zero-ref    "field V23._bits (fldOffset=0x0)" P-DEP
@@ -108,7 +108,7 @@ G_M64460_IG04:        ; bbWeight=2, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {},
             ldr     x23, [fp, #0x38]   // [V24 tmp18]
             ; gcrRegs +[x23]
             ldr     w5, [fp, #0x40]    // [V25 tmp19]
-            cbnz    x0, G_M64460_IG06
+            cbnz    x0, G_M64460_IG08
             cbnz    x23, G_M64460_IG05
             stp     xzr, xzr, [fp, #0x28]
             smull   x1, w2, w5
@@ -126,52 +126,43 @@ G_M64460_IG04:        ; bbWeight=2, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {},
             ldr     w25, [fp, #0x30]   // [V41 tmp35]
             b       G_M64460_IG11
                        ;; size=60 bbWeight=2 PerfScore 40.00
-G_M64460_IG05:        ; bbWeight=0.93, gcrefRegs=880000 {x19 x23}, byrefRegs=0000 {}, byref
+G_M64460_IG05:        ; bbWeight=2, gcrefRegs=880000 {x19 x23}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x24] +[x23]
             mov     x0, xzr
             ; byrRegs +[x0]
             mov     w1, wzr
-            mov     w3, w1
-            mov     x1, x0
-            ; byrRegs +[x1]
-            b       G_M64460_IG07
-                       ;; size=20 bbWeight=0.93 PerfScore 2.80
-G_M64460_IG06:        ; bbWeight=1.07, gcrefRegs=880001 {x0 x19 x23}, byrefRegs=0000 {}, byref
-            ; gcrRegs +[x0]
-            ; byrRegs -[x0-x1]
+                       ;; size=8 bbWeight=2 PerfScore 2.00
+G_M64460_IG06:        ; bbWeight=2, gcrefRegs=880000 {x19 x23}, byrefRegs=0001 {x0}, byref, isz
+            cbnz    x23, G_M64460_IG09
+                       ;; size=4 bbWeight=2 PerfScore 2.00
+G_M64460_IG07:        ; bbWeight=0.93, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0}, byref
+            ; gcrRegs -[x23]
+            mov     x3, xzr
+            ; byrRegs +[x3]
+            mov     w4, wzr
+            b       G_M64460_IG10
+                       ;; size=12 bbWeight=0.93 PerfScore 1.87
+G_M64460_IG08:        ; bbWeight=1.07, gcrefRegs=880001 {x0 x19 x23}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x0 x23]
+            ; byrRegs -[x0 x3]
             add     x1, x0, #16
             ; byrRegs +[x1]
             ldr     w0, [x0, #0x08]
             ; gcrRegs -[x0]
             sxtw    w3, w0
-                       ;; size=12 bbWeight=1.07 PerfScore 4.27
-G_M64460_IG07:        ; bbWeight=2, gcrefRegs=880000 {x19 x23}, byrefRegs=0002 {x1}, byref, isz
-            cbnz    x23, G_M64460_IG09
-                       ;; size=4 bbWeight=2 PerfScore 2.00
-G_M64460_IG08:        ; bbWeight=0.93, gcrefRegs=80000 {x19}, byrefRegs=0002 {x1}, byref
-            ; gcrRegs -[x23]
-            mov     x4, xzr
-            ; byrRegs +[x4]
-            mov     w6, wzr
-            b       G_M64460_IG10
-                       ;; size=12 bbWeight=0.93 PerfScore 1.87
-G_M64460_IG09:        ; bbWeight=1.07, gcrefRegs=880000 {x19 x23}, byrefRegs=0002 {x1}, byref
-            ; gcrRegs +[x23]
-            ; byrRegs -[x4]
-            add     x4, x23, #16
-            ; byrRegs +[x4]
-            ldr     w6, [x23, #0x08]
-                       ;; size=8 bbWeight=1.07 PerfScore 3.74
-G_M64460_IG10:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0012 {x1 x4}, byref
-            ; gcrRegs -[x23]
             mov     x0, x1
             ; byrRegs +[x0]
             mov     w1, w3
             ; byrRegs -[x1]
-            mov     x3, x4
+            b       G_M64460_IG06
+                       ;; size=24 bbWeight=1.07 PerfScore 6.40
+G_M64460_IG09:        ; bbWeight=1.07, gcrefRegs=880000 {x19 x23}, byrefRegs=0001 {x0}, byref
+            add     x3, x23, #16
             ; byrRegs +[x3]
-            mov     w4, w6
-            ; byrRegs -[x4]
+            ldr     w4, [x23, #0x08]
+                       ;; size=8 bbWeight=1.07 PerfScore 3.74
+G_M64460_IG10:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0009 {x0 x3}, byref
+            ; gcrRegs -[x23]
             movz    x6, #0xD1FFAB1E      // code for <unknown method>
             movk    x6, #0xD1FFAB1E LSL #16
             movk    x6, #1 LSL #32
@@ -183,7 +174,7 @@ G_M64460_IG10:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0012 {x1 x4
             mov     x24, x0
             ; gcrRegs +[x24]
             mov     w25, w1
-                      ;; size=44 bbWeight=2 PerfScore 17.00
+                     ;; size=28 bbWeight=2 PerfScore 13.00
 G_M64460_IG11:        ; bbWeight=2, gcrefRegs=1080000 {x19 x24}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             stp     xzr, xzr, [fp, #0x18]
@@ -228,7 +219,7 @@ G_M64460_IG14:        ; bbWeight=1, epilog, nogc, extend
             ret     lr
                        ;; size=24 bbWeight=1 PerfScore 7.00
 
-; Total bytes of code 388, prolog size 44, PerfScore 167.67, instruction count 97, allocated bytes for code 388 (MethodHash=1fda0433) for method System.Security.Cryptography.X509Certificates.FindPal:LaxParseDecimalBigInteger(System.String):System.Numerics.BigInteger (FullOpts)
+; Total bytes of code 372, prolog size 44, PerfScore 165.00, instruction count 93, allocated bytes for code 372 (MethodHash=1fda0433) for method System.Security.Cryptography.X509Certificates.FindPal:LaxParseDecimalBigInteger(System.String):System.Numerics.BigInteger (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -239,7 +230,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 97 (0x00061) Actual length = 388 (0x000184)
+  Function Length   : 93 (0x0005d) Actual length = 372 (0x000174)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-16 (-4.12%) : 540.dasm - Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
@@ -8,30 +8,31 @@
 ; 3 inlinees with PGO data; 7 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T09] (  4,  4   )     ref  ->  x21         this class-hnd single-def <Xunit.AggregateMessageSink>
-;  V01 arg1         [V01,T06] (  3,  5.35)     ref  ->  x19         class-hnd single-def <Xunit.Abstractions.IMessageSinkMessage>
-;  V02 arg2         [V02,T07] (  3,  5.35)     ref  ->  x20         class-hnd single-def <System.Collections.Generic.HashSet`1[System.String]>
-;  V03 loc0         [V03,T05] (  4,  8.70)   ubyte  ->  x22        
-;  V04 loc1         [V04,T14] (  4,  1.50)     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
+;  V00 this         [V00,T10] (  4,  4   )     ref  ->  x21         this class-hnd single-def <Xunit.AggregateMessageSink>
+;  V01 arg1         [V01,T07] (  3,  5.35)     ref  ->  x19         class-hnd single-def <Xunit.Abstractions.IMessageSinkMessage>
+;  V02 arg2         [V02,T08] (  3,  5.35)     ref  ->  x20         class-hnd single-def <System.Collections.Generic.HashSet`1[System.String]>
+;  V03 loc0         [V03,T06] (  4,  8.70)   ubyte  ->  x22        
+;  V04 loc1         [V04,T15] (  4,  1.50)     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
 ;  V05 loc2         [V05    ] (  5,  4   )   ubyte  ->  [fp+0x20]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;* V06 loc3         [V06    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[Xunit.IMessageSinkWithTypes]>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V08 tmp1         [V08,T11] (  2,  4   )   ubyte  ->   x0         "Inlining Arg"
-;  V09 tmp2         [V09,T10] (  2,  4   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
+;  V08 tmp1         [V08,T12] (  2,  4   )   ubyte  ->   x0         "Inlining Arg"
+;  V09 tmp2         [V09,T11] (  2,  4   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[Xunit.IMessageSinkWithTypes]>
-;* V11 tmp4         [V11,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V11 tmp4         [V11,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V12 tmp5         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
-;  V13 tmp6         [V13,T01] (  5, 17.00)     ref  ->  x21         single-def "field V06._list (fldOffset=0x0)" P-INDEP
-;  V14 tmp7         [V14,T03] (  2,  6.70)     ref  ->   x0         "field V06._current (fldOffset=0x8)" P-INDEP
+;  V13 tmp6         [V13,T02] (  4, 16.34)     ref  ->  x21         single-def "field V06._list (fldOffset=0x0)" P-INDEP
+;  V14 tmp7         [V14,T04] (  2,  6.70)     ref  ->   x0         "field V06._current (fldOffset=0x8)" P-INDEP
 ;  V15 tmp8         [V15,T00] (  6, 18.39)     int  ->  x24         "field V06._index (fldOffset=0x10)" P-INDEP
-;  V16 tmp9         [V16,T04] (  3,  9.65)     int  ->  x23         single-def "field V06._version (fldOffset=0x14)" P-INDEP
-;  V17 tmp10        [V17,T12] (  3,  3   )     ref  ->  x21         single-def "field V10._list (fldOffset=0x0)" P-INDEP
+;  V16 tmp9         [V16,T05] (  2,  9   )     int  ->  x23         single-def "field V06._version (fldOffset=0x14)" P-INDEP
+;  V17 tmp10        [V17,T13] (  3,  3   )     ref  ->  x21         single-def "field V10._list (fldOffset=0x0)" P-INDEP
 ;* V18 tmp11        [V18    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V10._current (fldOffset=0x8)" P-INDEP
-;* V19 tmp12        [V19,T16] (  0,  0   )     int  ->  zero-ref    single-def "field V10._index (fldOffset=0x10)" P-INDEP
-;  V20 tmp13        [V20,T13] (  2,  2   )     int  ->  x23         single-def "field V10._version (fldOffset=0x14)" P-INDEP
-;  V21 tmp14        [V21,T02] (  3, 20.09)     ref  ->   x0         "arr expr"
-;  V22 PSPSym       [V22,T17] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
-;  V23 cse0         [V23,T15] (  3,  1.50)     ref  ->   x1         "CSE - moderate"
+;* V19 tmp12        [V19,T17] (  0,  0   )     int  ->  zero-ref    single-def "field V10._index (fldOffset=0x10)" P-INDEP
+;  V20 tmp13        [V20,T14] (  2,  2   )     int  ->  x23         single-def "field V10._version (fldOffset=0x14)" P-INDEP
+;  V21 tmp14        [V21,T01] (  3, 20.09)     ref  ->   x0         "arr expr"
+;  V22 PSPSym       [V22,T18] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
+;  V23 cse0         [V23,T03] (  2,  7.99)     int  ->   x0         "CSE - aggressive"
+;  V24 cse1         [V24,T16] (  3,  1.50)     ref  ->   x1         "CSE - moderate"
 ;
 ; Lcl frame size = 32
 
@@ -58,7 +59,7 @@ G_M52679_IG02:        ; bbWeight=1, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
             str     x0, [fp, #0x18]    // [V04 loc1]
             ; GC ptr vars +{V04}
                        ;; size=12 bbWeight=1 PerfScore 4.50
-G_M52679_IG03:        ; bbWeight=1, gcVars=0000000000004000 {V04}, gcrefRegs=380001 {x0 x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M52679_IG03:        ; bbWeight=1, gcVars=0000000000008000 {V04}, gcrefRegs=380001 {x0 x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w1, [fp, #0x20]   // [V05 loc2]
             cbnz    w1, G_M52679_IG09
             add     x1, fp, #32    // [V05 loc2]
@@ -90,19 +91,19 @@ G_M52679_IG05:        ; bbWeight=1, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
 G_M52679_IG06:        ; bbWeight=8, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x21, #0x14]
             cmp     w23, w0
-            bne     G_M52679_IG10
+            bne     G_M52679_IG11
                       ;; size=12 bbWeight=8 PerfScore 36.00
 G_M52679_IG07:        ; bbWeight=4.00, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x21, #0x10]
             cmp     w24, w0
-            bhs     G_M52679_IG14
+            bhs     G_M52679_IG12
                       ;; size=12 bbWeight=4.00 PerfScore 17.98
 G_M52679_IG08:        ; bbWeight=3.35, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x21, #0x08]
             ; gcrRegs +[x0]
             ldr     w2, [x0, #0x08]
             cmp     w24, w2
-            bhs     G_M52679_IG12
+            bhs     G_M52679_IG10
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
@@ -135,21 +136,11 @@ G_M52679_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M52679_IG10:        ; bbWeight=0.65, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x21]
-            ldr     w0, [x21, #0x14]
-            cmp     w23, w0
-            bne     G_M52679_IG13
-                       ;; size=12 bbWeight=0.65 PerfScore 2.93
-G_M52679_IG11:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x21]
-            b       G_M52679_IG14
-                       ;; size=4 bbWeight=4 PerfScore 4.00
-G_M52679_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52679_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M52679_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52679_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
@@ -158,11 +149,11 @@ G_M52679_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M52679_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M52679_IG12:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [fp, #0x20] // [V05 loc2]
-            cbz     w0, G_M52679_IG16
+            cbz     w0, G_M52679_IG14
                      ;; size=8 bbWeight=1 PerfScore 3.00
-G_M52679_IG15:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52679_IG13:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ldr     x0, [fp, #0x18]  // [V04 loc1]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V04}
@@ -170,18 +161,18 @@ G_M52679_IG15:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=8 bbWeight=0.50 PerfScore 1.50
-G_M52679_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52679_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, w22
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M52679_IG17:        ; bbWeight=1, epilog, nogc, extend
+G_M52679_IG15:        ; bbWeight=1, epilog, nogc, extend
             ldp     x23, x24, [sp, #0x50]
             ldp     x21, x22, [sp, #0x40]
             ldp     x19, x20, [sp, #0x30]
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=20 bbWeight=1 PerfScore 5.00
-G_M52679_IG18:        ; bbWeight=0, gcVars=0000000000004000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-            ; GC ptr vars +{V04 V14}
+G_M52679_IG16:        ; bbWeight=0, gcVars=0000000000008000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+            ; GC ptr vars +{V04 V15}
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
@@ -189,17 +180,17 @@ G_M52679_IG18:        ; bbWeight=0, gcVars=0000000000004000 {V04}, gcrefRegs=000
             add     x3, fp, #96
             str     x3, [sp, #0x18]
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M52679_IG19:        ; bbWeight=0, gcVars=0000000000004000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M52679_IG17:        ; bbWeight=0, gcVars=0000000000008000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w0, [fp, #0x20]   // [V05 loc2]
-            cbz     w0, G_M52679_IG20
+            cbz     w0, G_M52679_IG18
             ldr     x0, [fp, #0x18]  // [V04 loc1]
             ; gcrRegs +[x0]
-            ; GC ptr vars -{V04 V14}
+            ; GC ptr vars -{V04 V15}
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M52679_IG20:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M52679_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
@@ -207,7 +198,7 @@ G_M52679_IG20:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 388, prolog size 44, PerfScore 168.63, instruction count 97, allocated bytes for code 388 (MethodHash=39853238) for method Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
+; Total bytes of code 372, prolog size 44, PerfScore 161.70, instruction count 93, allocated bytes for code 372 (MethodHash=39853238) for method Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -218,7 +209,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 82 (0x00052) Actual length = 328 (0x000148)
+  Function Length   : 78 (0x0004e) Actual length = 312 (0x000138)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -255,4 +246,4 @@ Unwind Info:
 
 *************** EH table for Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M52679_IG03..G_M52679_IG14) handled by [G_M52679_IG18..END) (fault)
+EH#0: try [G_M52679_IG03..G_M52679_IG12) handled by [G_M52679_IG16..END) (fault)
  
+12 (+1.14%) : 53375.dasm - Microsoft.Extensions.Logging.Test.FormattedLogValuesTest:CachedFormattersAreCapped():this (FullOpts)
@@ -12,7 +12,7 @@
 ;  V01 loc0         [V01,T31] (  4,  4   )     ref  ->  x20         class-hnd <Microsoft.Extensions.Logging.LogValuesFormatter>
 ;  V02 loc1         [V02,T06] (  6, 21   )     int  ->  x19        
 ;  V03 loc2         [V03    ] (  1,  4   )  struct (24) [fp+0x98]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <Microsoft.Extensions.Logging.FormattedLogValues>
-;  V04 loc3         [V04    ] ( 18, 63.99)  struct (40) [fp+0x70]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
+;  V04 loc3         [V04    ] ( 20, 59.99)  struct (40) [fp+0x70]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
 ;* V05 loc4         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <Microsoft.Extensions.Logging.FormattedLogValues>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T03] (  3, 24   )     ref  ->  x23         class-hnd exact "dup spill" <<unknown class>>
@@ -50,7 +50,7 @@
 ;* V39 tmp33        [V39    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V40 tmp34        [V40,T15] (  2,  8   )     ref  ->  x21         class-hnd exact "Inline stloc first use temp" <System.String>
 ;* V41 tmp35        [V41    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
-;  V42 tmp36        [V42,T02] (  4, 32   )     int  ->  x21         "Inlining Arg"
+;  V42 tmp36        [V42,T02] (  6, 24.00)     int  ->  x21         "Inlining Arg"
 ;* V43 tmp37        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V44 tmp38        [V44,T08] (  2, 16   )   byref  ->  x22         "Inlining Arg"
 ;* V45 tmp39        [V45    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -165,7 +165,7 @@ G_M64132_IG05:        ; bbWeight=4.00, gcrefRegs=100000 {x20}, byrefRegs=200000
             ldr     w0, [fp, #0x80]    // [V04 loc3+0x10]
             ldr     w1, [fp, #0x90]    // [V04 loc3+0x20]
             cmp     w0, w1
-            bhi     G_M64132_IG21
+            bhi     G_M64132_IG18
                        ;; size=60 bbWeight=4.00 PerfScore 64.00
 G_M64132_IG06:        ; bbWeight=4.00, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
             ldr     x2, [fp, #0x88]    // [V04 loc3+0x18]
@@ -194,9 +194,9 @@ G_M64132_IG07:        ; bbWeight=2.00, gcrefRegs=100000 {x20}, byrefRegs=200000
                        ;; size=40 bbWeight=2.00 PerfScore 16.00
 G_M64132_IG08:        ; bbWeight=4.00, gcrefRegs=100000 {x20}, byrefRegs=200000 {x21}, byref, isz
             cmp     w22, #3
-            blo     G_M64132_IG12
+            blo     G_M64132_IG17
                       ;; size=8 bbWeight=4.00 PerfScore 6.00
-G_M64132_IG09:        ; bbWeight=1.99, gcrefRegs=100000 {x20}, byrefRegs=200000 {x21}, byref
+G_M64132_IG09:        ; bbWeight=1.99, gcrefRegs=100000 {x20}, byrefRegs=200000 {x21}, byref, isz
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
@@ -207,17 +207,17 @@ G_M64132_IG09:        ; bbWeight=1.99, gcrefRegs=100000 {x20}, byrefRegs=200000
             ldr     w0, [fp, #0x80]    // [V04 loc3+0x10]
             add     w0, w0, #3
             str     w0, [fp, #0x80]    // [V04 loc3+0x10]
-                        ;; size=40 bbWeight=1.99 PerfScore 25.90
-G_M64132_IG10:        ; bbWeight=4, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
-            ; byrRegs -[x21]
             ldr     w21, [fp, #0x80]   // [V04 loc3+0x10]
+            ; byrRegs -[x21]
             ldr     w0, [fp, #0x90] // [V04 loc3+0x20]
             cmp     w21, w0
-            bhi     G_M64132_IG21
+            bhi     G_M64132_IG18
+                       ;; size=56 bbWeight=1.99 PerfScore 36.86
+G_M64132_IG10:        ; bbWeight=4, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
             ldr     x22, [fp, #0x88]  // [V04 loc3+0x18]
             ; byrRegs +[x22]
-            tbz     w21, #31, G_M64132_IG14
-                       ;; size=24 bbWeight=4 PerfScore 34.00
+            tbz     w21, #31, G_M64132_IG12
+                       ;; size=8 bbWeight=4 PerfScore 12.00
 G_M64132_IG11:        ; bbWeight=2, gcrefRegs=100000 {x20}, byrefRegs=400000 {x22}, byref
             movz    x23, #8
             movk    x23, #0xD1FFAB1E LSL #16
@@ -232,25 +232,6 @@ G_M64132_IG11:        ; bbWeight=2, gcrefRegs=100000 {x20}, byrefRegs=400000 {x2
             ldr     x2, [x2]
             blr     x2
             ; gcrRegs -[x0-x1] +[x23]
-            b       G_M64132_IG13
-                       ;; size=44 bbWeight=2 PerfScore 18.00
-G_M64132_IG12:        ; bbWeight=0.01, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x23]
-            ; byrRegs -[x22]
-            add     x0, fp, #112   // [V04 loc3]
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #1 LSL #32
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #2 LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            b       G_M64132_IG10
-                       ;; size=40 bbWeight=0.01 PerfScore 0.07
-G_M64132_IG13:        ; bbWeight=2, gcrefRegs=900000 {x20 x23}, byrefRegs=400000 {x22}, byref
-            ; gcrRegs +[x23]
-            ; byrRegs +[x22]
             mov     x0, x23
             ; gcrRegs +[x0]
             mov     x1, x23
@@ -261,8 +242,8 @@ G_M64132_IG13:        ; bbWeight=2, gcrefRegs=900000 {x20 x23}, byrefRegs=400000
             ldr     x2, [x2]
             blr     x2
             ; gcrRegs -[x0-x1 x23]
-                       ;; size=28 bbWeight=2 PerfScore 13.00
-G_M64132_IG14:        ; bbWeight=4, gcrefRegs=100000 {x20}, byrefRegs=400000 {x22}, byref, isz
+                       ;; size=68 bbWeight=2 PerfScore 29.00
+G_M64132_IG12:        ; bbWeight=4, gcrefRegs=100000 {x20}, byrefRegs=400000 {x22}, byref, isz
             mov     x0, x22
             ; byrRegs +[x0]
             sxtw    w1, w21
@@ -276,9 +257,9 @@ G_M64132_IG14:        ; bbWeight=4, gcrefRegs=100000 {x20}, byrefRegs=400000 {x2
             stp     xzr, xzr, [fp, #0x70]
             stp     xzr, xzr, [fp, #0x80]
             str     xzr, [fp, #0x90]
-            cbz     x1, G_M64132_IG16
+            cbz     x1, G_M64132_IG14
                      ;; size=36 bbWeight=4 PerfScore 34.00
-G_M64132_IG15:        ; bbWeight=1.93, gcrefRegs=300002 {x1 x20 x21}, byrefRegs=0000 {}, byref
+G_M64132_IG13:        ; bbWeight=1.93, gcrefRegs=300002 {x1 x20 x21}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             mov     x0, x20
             ; gcrRegs +[x0]
@@ -290,7 +271,7 @@ G_M64132_IG15:        ; bbWeight=1.93, gcrefRegs=300002 {x1 x20 x21}, byrefRegs=
             blr     x3
             ; gcrRegs -[x0-x1]
                        ;; size=28 bbWeight=1.93 PerfScore 12.57
-G_M64132_IG16:        ; bbWeight=4, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M64132_IG14:        ; bbWeight=4, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
             movz    x22, #0xD1FFAB1E
             movk    x22, #0xD1FFAB1E LSL #16
             movk    x22, #2 LSL #32
@@ -330,7 +311,7 @@ G_M64132_IG16:        ; bbWeight=4, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {
             cmp     w19, #0xD1FFAB1E
             blt     G_M64132_IG03
                        ;; size=108 bbWeight=4 PerfScore 76.00
-G_M64132_IG17:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M64132_IG15:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x20]
             mov     x0, x22
             mov     x1, #1
@@ -477,15 +458,40 @@ G_M64132_IG17:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             cmp     x20, x2
             beq     G_M64132_IG20
                        ;; size=380 bbWeight=1 PerfScore 77.00
-G_M64132_IG18:        ; bbWeight=1, epilog, nogc, extend
+G_M64132_IG16:        ; bbWeight=1, epilog, nogc, extend
             ldp     x23, x24, [sp, #0xD0]
             ldp     x21, x22, [sp, #0xC0]
             ldp     x19, x20, [sp, #0xB0]
             ldp     fp, lr, [sp], #0xE0
             ret     lr
                        ;; size=20 bbWeight=1 PerfScore 5.00
-G_M64132_IG19:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, gcvars, byref
+G_M64132_IG17:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x2]
+            add     x0, fp, #112   // [V04 loc3]
+            movz    x1, #0xD1FFAB1E
+            movk    x1, #0xD1FFAB1E LSL #16
+            movk    x1, #1 LSL #32
+            movz    x2, #0xD1FFAB1E      // code for <unknown method>
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #2 LSL #32
+            ldr     x2, [x2]
+            blr     x2
+            ldr     w21, [fp, #0x80]   // [V04 loc3+0x10]
+            ldr     w0, [fp, #0x90]    // [V04 loc3+0x20]
+            cmp     w21, w0
+            bls     G_M64132_IG10
+                       ;; size=52 bbWeight=0.01 PerfScore 0.11
+G_M64132_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x20]
+            movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #2 LSL #32
+            ldr     x0, [x0]
+            blr     x0
+            brk_unix #0
+                       ;; size=24 bbWeight=0 PerfScore 0.00
+G_M64132_IG19:        ; bbWeight=0, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x20]
             mov     x21, xzr
             ; byrRegs +[x21]
             mov     w22, wzr
@@ -502,17 +508,10 @@ G_M64132_IG20:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x0]
             bl      CORINFO_HELP_THROW
             ; gcrRegs -[x0]
-                      ;; size=24 bbWeight=0 PerfScore 0.00
-G_M64132_IG21:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #2 LSL #32
-            ldr     x0, [x0]
-            blr     x0
             brk_unix #0
-                        ;; size=24 bbWeight=0 PerfScore 0.00
+                      ;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1052, prolog size 48, PerfScore 462.04, instruction count 263, allocated bytes for code 1052 (MethodHash=f538057b) for method Microsoft.Extensions.Logging.Test.FormattedLogValuesTest:CachedFormattersAreCapped():this (FullOpts)
+; Total bytes of code 1064, prolog size 48, PerfScore 449.04, instruction count 266, allocated bytes for code 1064 (MethodHash=f538057b) for method Microsoft.Extensions.Logging.Test.FormattedLogValuesTest:CachedFormattersAreCapped():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -523,7 +522,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 263 (0x00107) Actual length = 1052 (0x00041c)
+  Function Length   : 266 (0x0010a) Actual length = 1064 (0x000428)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+28 (+1.24%) : 58076.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
@@ -8,49 +8,49 @@
 ; 6 inlinees with PGO data; 17 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] ( 21, 18   )     ref  ->  x24         class-hnd <System.Reflection.MemberInfo>
+;  V00 arg0         [V00,T19] ( 23, 19   )     ref  ->  x24         class-hnd <System.Reflection.MemberInfo>
 ;  V01 arg1         [V01,T10] ( 12, 39.50)     ref  ->  registers   class-hnd <System.Reflection.ParameterInfo[]>
-;  V02 arg2         [V02,T17] (  6, 19.50)     int  ->  x23         single-def
-;  V03 arg3         [V03,T13] (  8, 29.50)   ubyte  ->  x21         single-def
-;  V04 arg4         [V04,T38] (  3,  2.50)     ref  ->  x25         class-hnd single-def <System.Object[]>
-;  V05 arg5         [V05,T15] (  4, 20   )     int  ->  x22         single-def
-;  V06 arg6         [V06,T39] (  3,  2.50)     ref  ->  x26         class-hnd single-def <System.String[]>
-;  V07 arg7         [V07,T40] (  3,  2.50)     ref  ->  x27         class-hnd single-def <System.Type[]>
+;  V02 arg2         [V02,T18] (  6, 19.50)     int  ->  x23         single-def
+;  V03 arg3         [V03,T17] (  7, 21.50)   ubyte  ->  x22         single-def
+;  V04 arg4         [V04,T39] (  3,  2.50)     ref  ->  x25         class-hnd single-def <System.Object[]>
+;  V05 arg5         [V05,T15] (  4, 20   )     int  ->  x21         single-def
+;  V06 arg6         [V06,T40] (  3,  2.50)     ref  ->  x26         class-hnd single-def <System.String[]>
+;  V07 arg7         [V07,T41] (  3,  2.50)     ref  ->  x27         class-hnd single-def <System.Type[]>
 ;  V08 arg8         [V08,T62] (  1,  1   )   ubyte  ->  [fp+0xF0]  single-def
 ;  V09 arg9         [V09,T04] ( 27, 69.37)     ref  ->  x19         class-hnd single-def <System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
-;  V10 arg10        [V10,T42] (  2,  4   )     ref  ->  x28         class-hnd single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Container>
-;  V11 loc0         [V11,T36] ( 10,  5.46)     ref  ->  [fp+0x48]  class-hnd <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V12 loc1         [V12,T19] (  7, 19   )     ref  ->  [fp+0x40]  class-hnd spill-single-def <System.Reflection.MethodBase>
-;  V13 loc2         [V13,T35] (  5,  5.50)   ubyte  ->  [fp+0x9C] 
-;  V14 loc3         [V14,T37] (  3,  5   )     int  ->  x26         single-def
+;  V10 arg10        [V10,T43] (  2,  4   )     ref  ->  x28         class-hnd single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Container>
+;  V11 loc0         [V11,T37] ( 10,  5.46)     ref  ->  [fp+0x40]  class-hnd <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V12 loc1         [V12,T20] (  7, 19   )     ref  ->  [fp+0x38]  class-hnd spill-single-def <System.Reflection.MethodBase>
+;  V13 loc2         [V13,T36] (  5,  5.50)   ubyte  ->  [fp+0x9C] 
+;  V14 loc3         [V14,T38] (  3,  5   )     int  ->  x26         single-def
 ;  V15 loc4         [V15,T07] ( 11, 60.50)     int  ->  x27        
-;  V16 loc5         [V16,T01] ( 16, 84   )     ref  ->  [fp+0x38]  class-hnd exact spill-single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V17 loc6         [V17,T12] (  3, 34   )     ref  ->  [fp+0x30]  class-hnd spill-single-def <System.Reflection.ParameterInfo[]>
-;  V18 loc7         [V18,T11] ( 11, 36   )     ref  ->  [fp+0x28]  class-hnd <System.Reflection.MethodBase>
-;  V19 loc8         [V19,T02] (  8, 84   )     int  ->  [fp+0x98] 
-;  V20 loc9         [V20,T03] (  8, 84   )     int  ->  [fp+0x94] 
+;  V16 loc5         [V16,T03] ( 16, 76   )     ref  ->  [fp+0x30]  class-hnd exact spill-single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V17 loc6         [V17,T12] (  3, 34   )     ref  ->  [fp+0x28]  class-hnd spill-single-def <System.Reflection.ParameterInfo[]>
+;  V18 loc7         [V18,T11] ( 11, 36   )     ref  ->  [fp+0x20]  class-hnd <System.Reflection.MethodBase>
+;  V19 loc8         [V19,T01] (  8, 84   )     int  ->  [fp+0x98] 
+;  V20 loc9         [V20,T02] (  8, 84   )     int  ->  [fp+0x94] 
 ;* V21 loc10        [V21,T49] (  0,  0   )     int  ->  zero-ref   
-;  V22 loc11        [V22,T09] (  4, 50   )     int  ->  [fp+0x90] 
+;  V22 loc11        [V22,T08] (  4, 50   )     int  ->  [fp+0x90] 
 ;  V23 loc12        [V23    ] (  3, 48   )   ubyte  ->  [fp+0x88]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V24 loc13        [V24    ] (  3, 48   )   ubyte  ->  [fp+0x80]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V25 loc14        [V25    ] (  3, 48   )   ubyte  ->  [fp+0x78]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V26 OutArgs      [V26    ] (  1,  1   )  struct (16) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V27 tmp1         [V27,T44] (  3,  2.50)    long  ->   x0         "fgMakeTemp is creating a new local variable"
-;  V28 tmp2         [V28,T43] (  4,  3   )     ref  ->  x25         class-hnd "spilling QMark2" <System.Reflection.MethodBase>
-;  V29 tmp3         [V29,T26] ( 10,  9.91)     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V30 tmp4         [V30,T45] (  3,  2.50)    long  ->   x0         "fgMakeTemp is creating a new local variable"
-;  V31 tmp5         [V31,T48] (  3,  2   )     ref  ->  x22         class-hnd "spilling QMark2" <System.Reflection.PropertyInfo>
-;  V32 tmp6         [V32,T28] (  9,  8.91)     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V27 tmp1         [V27,T45] (  3,  2.50)    long  ->   x1         "fgMakeTemp is creating a new local variable"
+;  V28 tmp2         [V28,T44] (  4,  3   )     ref  ->  x25         class-hnd "spilling QMark2" <System.Reflection.MethodBase>
+;  V29 tmp3         [V29,T27] ( 10,  9.91)     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V30 tmp4         [V30,T46] (  3,  2.50)    long  ->   x1         "fgMakeTemp is creating a new local variable"
+;  V31 tmp5         [V31,T48] (  3,  2   )     ref  ->  x21         class-hnd "spilling QMark2" <System.Reflection.PropertyInfo>
+;  V32 tmp6         [V32,T29] (  9,  8.91)     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
 ;* V33 tmp7         [V33    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V34 tmp8         [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Reflection.ParameterInfo[]>
 ;* V35 tmp9         [V35    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Type>
-;  V36 tmp10        [V36,T27] (  9,  9   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V36 tmp10        [V36,T28] (  9,  9   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
 ;  V37 tmp11        [V37,T54] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V38 tmp12        [V38,T55] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V39 tmp13        [V39,T41] (  4,  4   )     ref  ->  x25         class-hnd single-def "Inlining Arg" <System.Reflection.MethodBase>
+;  V39 tmp13        [V39,T42] (  4,  4   )     ref  ->  x25         class-hnd single-def "Inlining Arg" <System.Reflection.MethodBase>
 ;* V40 tmp14        [V40,T50] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V41 tmp15        [V41,T33] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V42 tmp16        [V42,T34] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V41 tmp15        [V41,T34] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V42 tmp16        [V42,T35] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V43 tmp17        [V43,T58] (  3,  1.46)     ref  ->   x3         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
 ;  V44 tmp18        [V44,T51] (  4,  1.91)     int  ->   x2         single-def "Inline stloc first use temp"
 ;  V45 tmp19        [V45,T59] (  3,  1.46)     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
@@ -58,27 +58,27 @@
 ;  V47 tmp21        [V47,T60] (  3,  1.46)     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
 ;  V48 tmp22        [V48,T53] (  4,  1.91)     int  ->  x15         single-def "Inline stloc first use temp"
 ;  V49 tmp23        [V49,T16] (  3, 24   )     ref  ->   x0         "arr expr"
-;  V50 tmp24        [V50,T21] (  3, 12   )     ref  ->   x0         "argument with side effect"
-;  V51 tmp25        [V51,T22] (  3, 12   )     ref  ->   x0         "argument with side effect"
+;  V50 tmp24        [V50,T22] (  3, 12   )     ref  ->   x0         "argument with side effect"
+;  V51 tmp25        [V51,T23] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V52 tmp26        [V52,T05] (  2, 64   )     ref  ->   x1         "argument with side effect"
 ;  V53 tmp27        [V53,T06] (  2, 64   )     ref  ->   x4         "argument with side effect"
-;  V54 tmp28        [V54,T30] (  2,  8   )     int  ->  [fp+0x74]  spill-single-def "argument with side effect"
-;  V55 tmp29        [V55,T31] (  2,  8   )     int  ->   x3         "argument with side effect"
-;  V56 tmp30        [V56,T29] (  2,  8   )     ref  ->  [fp+0x20]  spill-single-def "argument with side effect"
-;  V57 tmp31        [V57,T23] (  3, 12   )     ref  ->   x2         "argument with side effect"
-;  V58 tmp32        [V58,T24] (  3, 12   )     ref  ->   x0         "argument with side effect"
+;  V54 tmp28        [V54,T31] (  2,  8   )     int  ->  [fp+0x74]  spill-single-def "argument with side effect"
+;  V55 tmp29        [V55,T32] (  2,  8   )     int  ->   x3         "argument with side effect"
+;  V56 tmp30        [V56,T30] (  2,  8   )     ref  ->  [fp+0x18]  spill-single-def "argument with side effect"
+;  V57 tmp31        [V57,T24] (  3, 12   )     ref  ->   x2         "argument with side effect"
+;  V58 tmp32        [V58,T25] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V59 tmp33        [V59,T00] (  3, 96   )     ref  ->   x3         "arr expr"
-;  V60 tmp34        [V60,T25] (  3, 12   )     ref  ->   x0         "arr expr"
-;  V61 cse0         [V61,T20] (  6, 12   )    long  ->  [fp+0x68]  multi-def "CSE - moderate"
-;  V62 cse1         [V62,T32] (  5,  7   )    long  ->  [fp+0x60]  multi-def "CSE - moderate"
+;  V60 tmp34        [V60,T26] (  3, 12   )     ref  ->   x0         "arr expr"
+;  V61 cse0         [V61,T21] (  6, 12   )    long  ->  [fp+0x68]  multi-def "CSE - moderate"
+;  V62 cse1         [V62,T33] (  5,  7   )    long  ->  [fp+0x60]  multi-def "CSE - moderate"
 ;  V63 cse2         [V63,T56] (  3,  1.50)    long  ->  [fp+0x58]  spill-single-def "CSE - conservative"
 ;  V64 cse3         [V64,T57] (  3,  1.50)    long  ->  x26         "CSE - conservative"
-;  V65 cse4         [V65,T08] (  5, 52   )     int  ->   x0         multi-def "CSE - aggressive"
-;  V66 cse5         [V66,T46] (  4,  2   )     int  ->  x25         multi-def "CSE - moderate"
+;  V65 cse4         [V65,T13] (  5, 28   )     int  ->   x0         multi-def "CSE - aggressive"
+;  V66 cse5         [V66,T47] (  4,  2   )     int  ->  x25         multi-def "CSE - moderate"
 ;  V67 cse6         [V67,T61] (  2,  1   )     int  ->   x0         "CSE - conservative"
-;  V68 cse7         [V68,T47] (  4,  2   )    long  ->  x22         "CSE - moderate"
-;  V69 cse8         [V69,T14] (  4, 26   )    long  ->  [fp+0x50]  spill-single-def "CSE - aggressive"
-;  TEMP_01                                     ref  ->  [fp+0x18]
+;  V68 cse7         [V68,T09] (  5, 44   )     int  ->  [fp+0x54]  multi-def "CSE - aggressive"
+;  V69 cse8         [V69,T14] (  4, 26   )    long  ->  [fp+0x48]  spill-single-def "CSE - aggressive"
+;  TEMP_01                                     ref  ->  [fp+0x10]
 ;
 ; Lcl frame size = 160
 
@@ -93,16 +93,16 @@ G_M30168_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             add     fp, sp, #16
             stp     xzr, xzr, [fp, #0x80]  // [V24 loc13], [V23 loc12]
             str     xzr, [fp, #0x78]   // [V25 loc14]
-            str     xzr, [fp, #0x18]    // [TEMP_01]
+            str     xzr, [fp, #0x10]  // [TEMP_01]
             mov     x24, x0
             ; gcrRegs +[x24]
             mov     x20, x1
             ; gcrRegs +[x20]
             mov     w23, w2
-            mov     w21, w3
+            mov     w22, w3
             mov     x25, x4
             ; gcrRegs +[x25]
-            mov     w22, w5
+            mov     w21, w5
             mov     x26, x6
             ; gcrRegs +[x26]
             mov     x27, x7
@@ -111,13 +111,13 @@ G_M30168_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x19 x28]
                        ;; size=80 bbWeight=1 PerfScore 17.00
 G_M30168_IG02:        ; bbWeight=1, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, byref, isz
-            str     xzr, [fp, #0x48]  // [V11 loc0]
+            str     xzr, [fp, #0x40] // [V11 loc0]
             ; GC ptr vars +{V11}
             ldrb    w1, [fp, #0xF0]    // [V08 arg8]
             tst     w1, #255
             bne     G_M30168_IG36
                        ;; size=16 bbWeight=1 PerfScore 4.50
-G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000001000000000 {V11}, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000002000000000 {V11}, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             mov     x1, x24
             ; gcrRegs +[x1]
             movz    x0, #0xD1FFAB1E
@@ -126,7 +126,7 @@ G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000001000000000 {V11}, gcrefRegs=
             bl      CORINFO_HELP_ISINSTANCEOFCLASS
             ; gcrRegs -[x1] +[x0]
             ; gcr arg pop 0
-            str     x0, [fp, #0x40]   // [V12 loc1]
+            str     x0, [fp, #0x38]  // [V12 loc1]
             ; GC ptr vars +{V12}
             str     wzr, [fp, #0x9C]   // [V13 loc2]
             mov     x0, x24
@@ -138,7 +138,7 @@ G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000001000000000 {V11}, gcrefRegs=
             ; gcr arg pop 0
             cmp     w0, #8
             bne     G_M30168_IG05
-            ldr     x0, [fp, #0x40] // [V12 loc1]
+            ldr     x0, [fp, #0x38]  // [V12 loc1]
             ; gcrRegs +[x0]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x60]
@@ -148,7 +148,7 @@ G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000001000000000 {V11}, gcrefRegs=
             ; gcrRegs -[x0]
             ; gcr arg pop 0
             cbz     w0, G_M30168_IG05
-            ldr     x0, [fp, #0x40] // [V12 loc1]
+            ldr     x0, [fp, #0x38]  // [V12 loc1]
             ; gcrRegs +[x0]
             ldr     x1, [fp, #0x58]    // [V63 cse2]
             ldr     x1, [x1, #0x18]
@@ -180,19 +180,19 @@ G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000001000000000 {V11}, gcrefRegs=
             ; gcrRegs -[x15 x20]
             ; byrRegs -[x14]
             str     w23, [x2, #0x48]
-            strb    w21, [x2, #0x4C]
+            strb    w22, [x2, #0x4C]
             mov     w14, #1
             strb    w14, [x2, #0x4F]
             add     x14, x2, #8
             ; byrRegs +[x14]
-            ldr     x15, [fp, #0x40] // [V12 loc1]
+            ldr     x15, [fp, #0x38] // [V12 loc1]
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x15]
             ; byrRegs -[x14]
             add     x14, x2, #16
             ; byrRegs +[x14]
-            ldr     x15, [fp, #0x40] // [V12 loc1]
+            ldr     x15, [fp, #0x38] // [V12 loc1]
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x15]
@@ -235,11 +235,11 @@ G_M30168_IG04:        ; bbWeight=0.50, gcrefRegs=10180000 {x19 x20 x28}, byrefRe
             ldr     x0, [x20, #0x18]
             mov     x25, x0
             ; gcrRegs +[x25]
-            str     x20, [fp, #0x48] // [V11 loc0]
+            str     x20, [fp, #0x40] // [V11 loc0]
             ; GC ptr vars +{V11}
             mov     x20, x25
                        ;; size=52 bbWeight=0.50 PerfScore 6.50
-G_M30168_IG05:        ; bbWeight=0.50, gcVars=0000001000080000 {V11 V12}, gcrefRegs=11180000 {x19 x20 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG05:        ; bbWeight=0.50, gcVars=0000002000100000 {V11 V12}, gcrefRegs=11180000 {x19 x20 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0 x25]
             cbz     x24, G_M30168_IG06
             mov     x0, x24
@@ -301,18 +301,18 @@ G_M30168_IG07:        ; bbWeight=4, gcrefRegs=11180000 {x19 x20 x24 x28}, byrefR
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
             mov     w1, w27
-            str     x1, [fp, #0x50]   // [V69 cse8]
+            str     x1, [fp, #0x48]  // [V69 cse8]
             ldr     x2, [x0, x1, LSL #3]
             ; gcrRegs +[x2]
-            str     x2, [fp, #0x38]   // [V16 loc5]
+            str     x2, [fp, #0x30]  // [V16 loc5]
             ; GC ptr vars +{V16}
             cbz     x2, G_M30168_IG35
                        ;; size=52 bbWeight=4 PerfScore 76.00
-G_M30168_IG08:        ; bbWeight=2, gcVars=0000001000080002 {V11 V12 V16}, gcrefRegs=11180004 {x2 x19 x20 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG08:        ; bbWeight=2, gcVars=0000002000100008 {V11 V12 V16}, gcrefRegs=11180004 {x2 x19 x20 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             ; byrRegs -[x0]
             ldr     x3, [x2, #0x18]
             ; gcrRegs +[x3]
-            str     x3, [fp, #0x30]   // [V17 loc6]
+            str     x3, [fp, #0x28]  // [V17 loc6]
             ; GC ptr vars +{V17}
             ldr     x0, [x2, #0x08]
             ; gcrRegs +[x0]
@@ -324,7 +324,7 @@ G_M30168_IG08:        ; bbWeight=2, gcVars=0000001000080002 {V11 V12 V16}, gcref
             ; gcr arg pop 0
             cmp     w0, #8
             beq     G_M30168_IG09
-            ldr     x1, [fp, #0x38] // [V16 loc5]
+            ldr     x1, [fp, #0x30]  // [V16 loc5]
...
  
+16 (+1.38%) : 205233.dasm - System.Tests.DecimalTests+BigIntegerCompare:Test() (FullOpts)
@@ -55,7 +55,7 @@
 ;* V44 tmp35        [V44    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[uint]>
 ;* V45 tmp36        [V45    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <uint[]>
 ;  V46 tmp37        [V46    ] (  6,128.00)  struct (16) [fp+0x18]  do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg" <System.Decimal>
-;  V47 tmp38        [V47,T18] (  8, 24   )     int  ->  x24         "Inline return value spill temp"
+;  V47 tmp38        [V47,T18] (  8, 24   )     int  ->  x25         "Inline return value spill temp"
 ;  V48 tmp39        [V48,T04] (  2, 64   )    long  ->   x0         "impAppendStmt"
 ;  V49 tmp40        [V49,T14] (  2, 32.00)    long  ->   x0         "impAppendStmt"
 ;  V50 tmp41        [V50,T37] (  3, 16.00)     int  ->  x24         "Inline stloc first use temp"
@@ -84,10 +84,10 @@
 ;* V73 tmp64        [V73    ] (  0,  0   )     int  ->  zero-ref    "field V23._sign (fldOffset=0x8)" P-DEP
 ;  V74 tmp65        [V74    ] (  3, 40   )     ref  ->  [fp+0x38]  do-not-enreg[X] addr-exposed "field V25._bits (fldOffset=0x0)" P-DEP
 ;  V75 tmp66        [V75    ] (  3, 40   )     int  ->  [fp+0x40]  do-not-enreg[X] addr-exposed "field V25._sign (fldOffset=0x8)" P-DEP
-;  V76 tmp67        [V76,T29] (  3, 16   )   byref  ->   x0         "field V27._reference (fldOffset=0x0)" P-INDEP
-;  V77 tmp68        [V77,T33] (  3, 16   )     int  ->   x1         "field V27._length (fldOffset=0x8)" P-INDEP
-;  V78 tmp69        [V78,T30] (  3, 16   )   byref  ->   x3         "field V30._reference (fldOffset=0x0)" P-INDEP
-;  V79 tmp70        [V79,T34] (  3, 16   )     int  ->   x4         "field V30._length (fldOffset=0x8)" P-INDEP
+;  V76 tmp67        [V76,T29] (  3, 20.27)   byref  ->   x0         "field V27._reference (fldOffset=0x0)" P-INDEP
+;  V77 tmp68        [V77,T31] (  3, 20.27)     int  ->   x1         "field V27._length (fldOffset=0x8)" P-INDEP
+;  V78 tmp69        [V78,T33] (  3, 16   )   byref  ->   x3         "field V30._reference (fldOffset=0x0)" P-INDEP
+;  V79 tmp70        [V79,T35] (  3, 16   )     int  ->   x4         "field V30._length (fldOffset=0x8)" P-INDEP
 ;  V80 tmp71        [V80,T20] (  3, 24   )     ref  ->  x25         "field V32._bits (fldOffset=0x0)" P-INDEP
 ;  V81 tmp72        [V81,T24] (  3, 24   )     int  ->  x26         "field V32._sign (fldOffset=0x8)" P-INDEP
 ;  V82 tmp73        [V82,T17] (  4, 24.54)     ref  ->  x24         "field V33._bits (fldOffset=0x0)" P-INDEP
@@ -102,9 +102,9 @@
 ;* V91 tmp82        [V91    ] (  0,  0   )     int  ->  zero-ref    "field V37._sign (fldOffset=0x8)" P-DEP
 ;  V92 tmp83        [V92    ] (  3, 40   )     ref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V39._bits (fldOffset=0x0)" P-DEP
 ;  V93 tmp84        [V93    ] (  3, 40   )     int  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V39._sign (fldOffset=0x8)" P-DEP
-;  V94 tmp85        [V94,T31] (  3, 16   )   byref  ->   x0         "field V41._reference (fldOffset=0x0)" P-INDEP
-;  V95 tmp86        [V95,T35] (  3, 16   )     int  ->   x1         "field V41._length (fldOffset=0x8)" P-INDEP
-;  V96 tmp87        [V96,T32] (  3, 16   )   byref  ->   x3         "field V44._reference (fldOffset=0x0)" P-INDEP
+;  V94 tmp85        [V94,T30] (  3, 20.27)   byref  ->   x0         "field V41._reference (fldOffset=0x0)" P-INDEP
+;  V95 tmp86        [V95,T32] (  3, 20.27)     int  ->   x1         "field V41._length (fldOffset=0x8)" P-INDEP
+;  V96 tmp87        [V96,T34] (  3, 16   )   byref  ->   x3         "field V44._reference (fldOffset=0x0)" P-INDEP
 ;  V97 tmp88        [V97,T36] (  3, 16   )     int  ->   x4         "field V44._length (fldOffset=0x8)" P-INDEP
 ;  V98 tmp89        [V98    ] (  4, 56.00)     int  ->  [fp+0x18]  do-not-enreg[X] addr-exposed "field V46._flags (fldOffset=0x0)" P-DEP
 ;  V99 tmp90        [V99    ] (  3, 64.00)     int  ->  [fp+0x1C]  do-not-enreg[X] addr-exposed "field V46._hi32 (fldOffset=0x4)" P-DEP
@@ -154,7 +154,7 @@ G_M48799_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             mov     w20, wzr
             ldr     w21, [x19, #0x08]
             cmp     w21, #0
-            ble     G_M48799_IG31
+            ble     G_M48799_IG37
                       ;; size=48 bbWeight=1 PerfScore 12.00
 G_M48799_IG03:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -167,7 +167,7 @@ G_M48799_IG03:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ldr     w1, [x1, #0x08]
             ; gcrRegs -[x1]
             cmp     w20, w1
-            bhs     G_M48799_IG35
+            bhs     G_M48799_IG38
             ldr     x1, [fp, #0xA8]   // [V01 loc1]
             ; gcrRegs +[x1]
             mov     w0, #24
@@ -198,7 +198,7 @@ G_M48799_IG06:        ; bbWeight=16, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, b
             ldr     w0, [x0, #0x08]
             ; gcrRegs -[x0]
             cmp     w22, w0
-            bhs     G_M48799_IG35
+            bhs     G_M48799_IG38
             ldr     x0, [fp, #0xA8]   // [V01 loc1]
             ; gcrRegs +[x0]
             mov     x2, #24
@@ -221,7 +221,7 @@ G_M48799_IG08:        ; bbWeight=16, isz, extend
             ; byrRegs -[x1]
             sub     w23, w1, w0
             cmp     w23, #0
-            ble     G_M48799_IG17
+            ble     G_M48799_IG20
                       ;; size=20 bbWeight=16 PerfScore 80.00
 G_M48799_IG09:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x24, [fp, #0x60]   // [V14 tmp5+0x08]
@@ -233,7 +233,7 @@ G_M48799_IG09:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ldr     x1, [x1]
             ; gcrRegs +[x1]
             cmp     w23, #60
-            bhs     G_M48799_IG35
+            bhs     G_M48799_IG38
             ubfiz   x0, x23, #4, #32
             add     x0, x0, #16
             add     x1, x1, x0
@@ -242,7 +242,7 @@ G_M48799_IG09:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ldr     x23, [x1]
             ; gcrRegs +[x23]
             ldr     w5, [x1, #0x08]
-            cbnz    x24, G_M48799_IG11
+            cbnz    x24, G_M48799_IG13
             cbnz    x23, G_M48799_IG10
             stp     xzr, xzr, [fp, #0x38]
             smull   x1, w2, w5
@@ -258,41 +258,66 @@ G_M48799_IG09:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ldr     x1, [fp, #0x38]    // [V74 tmp65]
             ; gcrRegs +[x1]
             ldr     w2, [fp, #0x40]    // [V75 tmp66]
-            b       G_M48799_IG16
+            b       G_M48799_IG19
                         ;; size=104 bbWeight=8 PerfScore 272.00
-G_M48799_IG10:        ; bbWeight=3.73, gcrefRegs=880000 {x19 x23}, byrefRegs=0000 {}, byref
+G_M48799_IG10:        ; bbWeight=8, gcrefRegs=880000 {x19 x23}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x1] +[x23]
             mov     x0, xzr
             ; byrRegs +[x0]
             mov     w1, wzr
-            b       G_M48799_IG12
-                       ;; size=12 bbWeight=3.73 PerfScore 7.46
-G_M48799_IG11:        ; bbWeight=4.27, gcrefRegs=1880000 {x19 x23 x24}, byrefRegs=0000 {}, byref
-            ; gcrRegs +[x24]
-            ; byrRegs -[x0]
-            add     x0, x24, #16
-            ; byrRegs +[x0]
-            ldr     w1, [x24, #0x08]
-                       ;; size=8 bbWeight=4.27 PerfScore 14.94
-G_M48799_IG12:        ; bbWeight=8, gcrefRegs=880000 {x19 x23}, byrefRegs=0001 {x0}, byref, isz
-            ; gcrRegs -[x24]
-            cbnz    x23, G_M48799_IG14
+                       ;; size=8 bbWeight=8 PerfScore 8.00
+G_M48799_IG11:        ; bbWeight=8, gcrefRegs=880000 {x19 x23}, byrefRegs=0001 {x0}, byref, isz
+            cbnz    x23, G_M48799_IG17
                      ;; size=4 bbWeight=8 PerfScore 8.00
-G_M48799_IG13:        ; bbWeight=3.73, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0}, byref
+G_M48799_IG12:        ; bbWeight=3.73, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0}, byref
             ; gcrRegs -[x23]
             mov     x3, xzr
             ; byrRegs +[x3]
             mov     w4, wzr
-            b       G_M48799_IG15
+            b       G_M48799_IG18
                       ;; size=12 bbWeight=3.73 PerfScore 7.46
-G_M48799_IG14:        ; bbWeight=4.27, gcrefRegs=880000 {x19 x23}, byrefRegs=0001 {x0}, byref
+G_M48799_IG13:        ; bbWeight=4.27, gcrefRegs=1880000 {x19 x23 x24}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x23-x24]
+            ; byrRegs -[x0 x3]
+            add     x0, x24, #16
+            ; byrRegs +[x0]
+            ldr     w1, [x24, #0x08]
+            b       G_M48799_IG11
+                       ;; size=12 bbWeight=4.27 PerfScore 19.21
+G_M48799_IG14:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x23-x24]
+            ; byrRegs -[x0]
+            ldp     x1, x2, [fp, #0x60]    // [V14 tmp5+0x08], [V14 tmp5+0x10]
+            ; gcrRegs +[x1]
+            add     x0, fp, #136   // [V04 loc4+0x08]
+            movz    x3, #0xD1FFAB1E      // code for <unknown method>
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #2 LSL #32
+            ldr     x3, [x3]
+            blr     x3
+            ; gcrRegs -[x1]
+            ; gcr arg pop 0
+            sxtw    w23, w0
+                       ;; size=32 bbWeight=8 PerfScore 76.00
+G_M48799_IG15:        ; bbWeight=16, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            ldr     q16, [fp, #0x70]   // [V06 loc6]
+            str     q16, [fp, #0x18]   // [V46 tmp37]
+            ldr     x0, [fp, #0x20]    // [V100 tmp91]
+            ldr     w1, [fp, #0x1C]    // [V99 tmp90]
+            orr     x0, x0, x1
+            cbnz    x0, G_M48799_IG35
+                       ;; size=24 bbWeight=16 PerfScore 136.00
+G_M48799_IG16:        ; bbWeight=0.00, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+            b       G_M48799_IG32
+                       ;; size=4 bbWeight=0.00 PerfScore 0.00
+G_M48799_IG17:        ; bbWeight=4.27, gcrefRegs=880000 {x19 x23}, byrefRegs=0001 {x0}, byref
             ; gcrRegs +[x23]
-            ; byrRegs -[x3]
+            ; byrRegs +[x0]
             add     x3, x23, #16
             ; byrRegs +[x3]
             ldr     w4, [x23, #0x08]
                        ;; size=8 bbWeight=4.27 PerfScore 14.94
-G_M48799_IG15:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0009 {x0 x3}, byref
+G_M48799_IG18:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0009 {x0 x3}, byref
             ; gcrRegs -[x23]
             movz    x6, #0xD1FFAB1E      // code for <unknown method>
             movk    x6, #0xD1FFAB1E LSL #16
@@ -306,7 +331,7 @@ G_M48799_IG15:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0009 {x0 x3
             mov     x1, x0
             ; gcrRegs +[x1]
                        ;; size=28 bbWeight=8 PerfScore 52.00
-G_M48799_IG16:        ; bbWeight=8, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
+G_M48799_IG19:        ; bbWeight=8, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             add     x0, fp, #136   // [V04 loc4+0x08]
             movz    x3, #0xD1FFAB1E      // code for <unknown method>
@@ -317,10 +342,10 @@ G_M48799_IG16:        ; bbWeight=8, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {},
             ; gcrRegs -[x1]
             ; gcr arg pop 0
             sxtw    w23, w0
-            b       G_M48799_IG26
+            b       G_M48799_IG15
                       ;; size=32 bbWeight=8 PerfScore 60.00
-G_M48799_IG17:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            tbz     w23, #31, G_M48799_IG25
+G_M48799_IG20:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+            tbz     w23, #31, G_M48799_IG14
             ldr     x24, [fp, #0x88]    // [V04 loc4+0x08]
             ; gcrRegs +[x24]
             ldr     w2, [fp, #0x90]    // [V04 loc4+0x10]
@@ -331,7 +356,7 @@ G_M48799_IG17:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; gcrRegs +[x1]
             neg     w0, w23
             cmp     w0, #60
-            bhs     G_M48799_IG35
+            bhs     G_M48799_IG38
             neg     w0, w23
             ubfiz   x0, x0, #4, #32
             add     x0, x0, #16
@@ -341,8 +366,8 @@ G_M48799_IG17:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ldr     x23, [x1]
             ; gcrRegs +[x23]
             ldr     w5, [x1, #0x08]
-            cbnz    x24, G_M48799_IG19
-            cbnz    x23, G_M48799_IG18
+            cbnz    x24, G_M48799_IG24
+            cbnz    x23, G_M48799_IG21
             stp     xzr, xzr, [fp, #0x28]
             smull   x1, w2, w5
             ; byrRegs -[x1]
@@ -357,41 +382,65 @@ G_M48799_IG17:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ldr     x25, [fp, #0x28]   // [V92 tmp83]
             ; gcrRegs +[x25]
             ldr     w26, [fp, #0x30]   // [V93 tmp84]
-            b       G_M48799_IG24
+            b       G_M48799_IG31
                         ;; size=116 bbWeight=8 PerfScore 288.00
-G_M48799_IG18:        ; bbWeight=3.73, gcrefRegs=880000 {x19 x23}, byrefRegs=0000 {}, byref
+G_M48799_IG21:        ; bbWeight=8, gcrefRegs=880000 {x19 x23}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x25] +[x23]
             mov     x0, xzr
             ; byrRegs +[x0]
             mov     w1, wzr
-            b       G_M48799_IG20
-                       ;; size=12 bbWeight=3.73 PerfScore 7.46
-G_M48799_IG19:        ; bbWeight=4.27, gcrefRegs=1880000 {x19 x23 x24}, byrefRegs=0000 {}, byref
-            ; gcrRegs +[x24]
-            ; byrRegs -[x0]
-            add     x0, x24, #16
-            ; byrRegs +[x0]
-            ldr     w1, [x24, #0x08]
-                       ;; size=8 bbWeight=4.27 PerfScore 14.94
-G_M48799_IG20:        ; bbWeight=8, gcrefRegs=880000 {x19 x23}, byrefRegs=0001 {x0}, byref, isz
-            ; gcrRegs -[x24]
-            cbnz    x23, G_M48799_IG22
+                       ;; size=8 bbWeight=8 PerfScore 8.00
+G_M48799_IG22:        ; bbWeight=8, gcrefRegs=880000 {x19 x23}, byrefRegs=0001 {x0}, byref, isz
+            cbnz    x23, G_M48799_IG29
                      ;; size=4 bbWeight=8 PerfScore 8.00
-G_M48799_IG21:        ; bbWeight=3.73, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0}, byref
...
  
  
realworld.run.osx.arm64.checked.mch
-12 (-2.73%) : 29079.dasm - System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberPossiblyUpdated(System.String) (FullOpts)
@@ -8,34 +8,35 @@
 ; 0 inlinees with PGO data; 6 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T08] (  3,  3   )     ref  ->  x19         class-hnd single-def <System.String>
-;  V01 loc0         [V01,T09] (  4,  4   )     ref  ->  x19         class-hnd single-def <<unknown class>>
-;  V02 loc1         [V02,T19] (  3,  0.50)     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <<unknown class>>
+;  V00 arg0         [V00,T09] (  3,  3   )     ref  ->  x19         class-hnd single-def <System.String>
+;  V01 loc0         [V01,T10] (  4,  4   )     ref  ->  x19         class-hnd single-def <<unknown class>>
+;  V02 loc1         [V02,T20] (  3,  0.50)     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <<unknown class>>
 ;  V03 loc2         [V03    ] (  6,  5   )   ubyte  ->  [fp+0x18]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;* V04 loc3         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Management.Automation.Language.PSGetMemberBinder]>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V06 tmp1         [V06,T10] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <<unknown class>>
-;  V07 tmp2         [V07,T14] (  2,  2   )     ref  ->  x21         single-def
+;  V06 tmp1         [V06,T11] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <<unknown class>>
+;  V07 tmp2         [V07,T15] (  2,  2   )     ref  ->  x21         single-def
 ;* V08 tmp3         [V08    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V09 tmp4         [V09,T11] (  4,  3.50)     ref  ->   x2        
-;  V10 tmp5         [V10,T07] (  5,  5   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V11 tmp6         [V11,T15] (  2,  2   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V09 tmp4         [V09,T12] (  4,  3.50)     ref  ->   x2        
+;  V10 tmp5         [V10,T08] (  5,  5   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V11 tmp6         [V11,T16] (  2,  2   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
 ;* V12 tmp7         [V12    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Management.Automation.Language.PSGetMemberBinder]>
 ;* V13 tmp8         [V13    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V14 tmp9         [V14,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V14 tmp9         [V14,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V15 tmp10        [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V16 tmp11        [V16,T02] (  4, 17   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V17 tmp12        [V17,T04] (  3, 12   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V17 tmp12        [V17,T03] (  3, 12   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V18 tmp13        [V18,T00] (  6, 21   )     int  ->   x1         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V19 tmp14        [V19,T05] (  3, 13   )     int  ->   x0         single-def "field V04._version (fldOffset=0x14)" P-INDEP
-;  V20 tmp15        [V20,T13] (  3,  3   )     ref  ->  x19         single-def "field V12._list (fldOffset=0x0)" P-INDEP
+;  V19 tmp14        [V19,T06] (  2,  9   )     int  ->   x0         single-def "field V04._version (fldOffset=0x14)" P-INDEP
+;  V20 tmp15        [V20,T14] (  3,  3   )     ref  ->  x19         single-def "field V12._list (fldOffset=0x0)" P-INDEP
 ;* V21 tmp16        [V21    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V12._current (fldOffset=0x8)" P-INDEP
-;* V22 tmp17        [V22,T17] (  0,  0   )     int  ->  zero-ref    single-def "field V12._index (fldOffset=0x10)" P-INDEP
-;  V23 tmp18        [V23,T16] (  2,  2   )     int  ->   x0         single-def "field V12._version (fldOffset=0x14)" P-INDEP
+;* V22 tmp17        [V22,T18] (  0,  0   )     int  ->  zero-ref    single-def "field V12._index (fldOffset=0x10)" P-INDEP
+;  V23 tmp18        [V23,T17] (  2,  2   )     int  ->   x0         single-def "field V12._version (fldOffset=0x14)" P-INDEP
 ;  V24 tmp19        [V24,T01] (  3, 24   )     ref  ->   x2         "arr expr"
-;  V25 PSPSym       [V25,T18] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
-;  V26 cse0         [V26,T03] (  3, 20   )     int  ->   x2         "CSE - aggressive"
-;  V27 cse1         [V27,T12] (  4,  3   )    long  ->  x20         "CSE - aggressive"
+;  V25 PSPSym       [V25,T19] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
+;  V26 cse0         [V26,T05] (  2,  8   )     int  ->   x2         "CSE - aggressive"
+;  V27 cse1         [V27,T04] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V28 cse2         [V28,T13] (  4,  3   )    long  ->  x20         "CSE - aggressive"
 ;
 ; Lcl frame size = 24
 
@@ -108,7 +109,7 @@ G_M45525_IG04:        ; bbWeight=1, gcrefRegs=280004 {x2 x19 x21}, byrefRegs=000
             ; GC ptr vars +{V02}
             str     wzr, [fp, #0x18]   // [V03 loc2]
                        ;; size=40 bbWeight=1 PerfScore 9.00
-G_M45525_IG05:        ; bbWeight=1, gcVars=0000000000080000 {V02}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M45525_IG05:        ; bbWeight=1, gcVars=0000000000100000 {V02}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0]
             ldrb    w1, [fp, #0x18]    // [V03 loc2]
             cbnz    w1, G_M45525_IG08
@@ -131,17 +132,17 @@ G_M45525_IG05:        ; bbWeight=1, gcVars=0000000000080000 {V02}, gcrefRegs=800
 G_M45525_IG06:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     w2, [x19, #0x14]
             cmp     w0, w2
-            bne     G_M45525_IG09
+            bne     G_M45525_IG10
                        ;; size=12 bbWeight=8 PerfScore 36.00
 G_M45525_IG07:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     w2, [x19, #0x10]
             cmp     w1, w2
-            bhs     G_M45525_IG12
+            bhs     G_M45525_IG11
             ldr     x2, [x19, #0x08]
             ; gcrRegs +[x2]
             ldr     w3, [x2, #0x08]
             cmp     w1, w3
-            bhs     G_M45525_IG10
+            bhs     G_M45525_IG09
             add     x2, x2, #16
             ; gcrRegs -[x2]
             ; byrRegs +[x2]
@@ -168,16 +169,11 @@ G_M45525_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M45525_IG09:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            cmp     w0, w2
-            bne     G_M45525_IG11
-            b       G_M45525_IG12
-                       ;; size=12 bbWeight=4 PerfScore 10.00
-G_M45525_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M45525_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M45525_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M45525_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
@@ -186,11 +182,11 @@ G_M45525_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M45525_IG12:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M45525_IG11:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [fp, #0x18] // [V03 loc2]
-            cbz     w0, G_M45525_IG14
+            cbz     w0, G_M45525_IG13
                      ;; size=8 bbWeight=1 PerfScore 3.00
-G_M45525_IG13:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M45525_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ldr     x0, [fp, #0x10]  // [V02 loc1]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V02}
@@ -198,38 +194,38 @@ G_M45525_IG13:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=8 bbWeight=0.50 PerfScore 1.50
-G_M45525_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M45525_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ldr     x21, [sp, #0x38]
             ldp     x19, x20, [sp, #0x28]
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=16 bbWeight=1 PerfScore 5.00
-G_M45525_IG15:        ; bbWeight=0, gcVars=0000000000080000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-            ; GC ptr vars +{V02 V19}
+G_M45525_IG14:        ; bbWeight=0, gcVars=0000000000100000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+            ; GC ptr vars +{V02 V20}
             stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x18]
             str     x21, [sp, #0x28]
             add     x3, fp, #64
             str     x3, [sp, #0x10]
                        ;; size=20 bbWeight=0 PerfScore 0.00
-G_M45525_IG16:        ; bbWeight=0, gcVars=0000000000080000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M45525_IG15:        ; bbWeight=0, gcVars=0000000000100000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w0, [fp, #0x18]   // [V03 loc2]
-            cbz     w0, G_M45525_IG17
+            cbz     w0, G_M45525_IG16
             ldr     x0, [fp, #0x10]  // [V02 loc1]
             ; gcrRegs +[x0]
-            ; GC ptr vars -{V02 V19}
+            ; GC ptr vars -{V02 V20}
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M45525_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M45525_IG16:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldr     x21, [sp, #0x28]
             ldp     x19, x20, [sp, #0x18]
             ldp     fp, lr, [sp], #0x30
             ret     lr
                        ;; size=16 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 440, prolog size 32, PerfScore 199.00, instruction count 110, allocated bytes for code 440 (MethodHash=bcc44e2a) for method System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberPossiblyUpdated(System.String) (FullOpts)
+; Total bytes of code 428, prolog size 32, PerfScore 189.00, instruction count 107, allocated bytes for code 428 (MethodHash=bcc44e2a) for method System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberPossiblyUpdated(System.String) (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -240,7 +236,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 97 (0x00061) Actual length = 388 (0x000184)
+  Function Length   : 94 (0x0005e) Actual length = 376 (0x000178)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -275,4 +271,4 @@ Unwind Info:
 
 *************** EH table for System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberPossiblyUpdated(System.String)
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M45525_IG05..G_M45525_IG12) handled by [G_M45525_IG15..END) (fault)
+EH#0: try [G_M45525_IG05..G_M45525_IG11) handled by [G_M45525_IG14..END) (fault)
  
-12 (-2.00%) : 5027.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
@@ -10,8 +10,8 @@
 ;
 ;  V00 this         [V00,T10] (  3,  4   )     ref  ->  x20         this class-hnd single-def <System.Threading.Tasks.Task>
 ;  V01 arg1         [V01,T09] (  5,  4.50)     ref  ->  x19         class-hnd single-def <System.Threading.Tasks.Task+ContingentProperties>
-;  V02 loc0         [V02,T12] (  5,  3.50)     ref  ->  x21         class-hnd single-def <<unknown class>>
-;  V03 loc1         [V03,T16] (  3,  0.50)     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <<unknown class>>
+;  V02 loc0         [V02,T13] (  5,  3.50)     ref  ->  x21         class-hnd single-def <<unknown class>>
+;  V03 loc1         [V03,T17] (  3,  0.50)     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <<unknown class>>
 ;  V04 loc2         [V04    ] (  6,  2.50)   ubyte  ->  [fp+0x18]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
@@ -20,20 +20,21 @@
 ;* V09 tmp1         [V09    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V10 tmp2         [V10    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V11 tmp3         [V11,T05] (  3, 12   )     ref  ->  x24         class-hnd "Inlining Arg" <System.AggregateException>
-;* V12 tmp4         [V12,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V12 tmp4         [V12,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V13 tmp5         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V14 tmp6         [V14,T02] (  4, 12.50)     ref  ->  x21         single-def "field V05._list (fldOffset=0x0)" P-INDEP
-;  V15 tmp7         [V15,T03] (  3, 10   )     ref  ->  x24         "field V05._current (fldOffset=0x8)" P-INDEP
+;  V14 tmp6         [V14,T04] (  4, 12.50)     ref  ->  x21         single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V15 tmp7         [V15,T02] (  3, 10   )     ref  ->  x24         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V16 tmp8         [V16,T00] (  6, 20.50)     int  ->  x23         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V17 tmp9         [V17,T07] (  3,  8.50)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
-;  V18 tmp10        [V18,T13] (  3,  1.50)     ref  ->  x21         single-def "field V09._list (fldOffset=0x0)" P-INDEP
+;  V17 tmp9         [V17,T12] (  2,  4.50)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V18 tmp10        [V18,T14] (  3,  1.50)     ref  ->  x21         single-def "field V09._list (fldOffset=0x0)" P-INDEP
 ;* V19 tmp11        [V19    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V09._current (fldOffset=0x8)" P-INDEP
-;* V20 tmp12        [V20,T17] (  0,  0   )     int  ->  zero-ref    "field V09._index (fldOffset=0x10)" P-INDEP
-;  V21 tmp13        [V21,T14] (  2,  1   )     int  ->  x22         "field V09._version (fldOffset=0x14)" P-INDEP
+;* V20 tmp12        [V20,T18] (  0,  0   )     int  ->  zero-ref    "field V09._index (fldOffset=0x10)" P-INDEP
+;  V21 tmp13        [V21,T15] (  2,  1   )     int  ->  x22         "field V09._version (fldOffset=0x14)" P-INDEP
 ;  V22 tmp14        [V22,T01] (  3, 24   )     ref  ->   x0         "arr expr"
-;  V23 PSPSym       [V23,T15] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
-;  V24 cse0         [V24,T06] (  3, 12   )     int  ->  x24         "CSE - aggressive"
-;  V25 cse1         [V25,T04] (  4, 14   )   byref  ->  x25         "CSE - aggressive"
+;  V23 PSPSym       [V23,T16] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
+;  V24 cse0         [V24,T08] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V25 cse1         [V25,T06] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V26 cse2         [V26,T03] (  4, 14   )   byref  ->  x25         "CSE - aggressive"
 ;
 ; Lcl frame size = 24
 
@@ -64,7 +65,7 @@ G_M37406_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             ; byrRegs +[x1]
             ldar    x21, [x1]
             ; gcrRegs +[x21]
-            cbz     x21, G_M37406_IG13
+            cbz     x21, G_M37406_IG12
                        ;; size=40 bbWeight=1 PerfScore 11.00
 G_M37406_IG03:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
             ; byrRegs -[x1]
@@ -72,7 +73,7 @@ G_M37406_IG03:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs
             ; GC ptr vars +{V03}
             str     wzr, [fp, #0x18]   // [V04 loc2]
                        ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M37406_IG04:        ; bbWeight=0.50, gcVars=0000000000010000 {V03}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M37406_IG04:        ; bbWeight=0.50, gcVars=0000000000020000 {V03}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w1, [fp, #0x18] // [V04 loc2]
             cbnz    w1, G_M37406_IG07
             add     x1, fp, #24    // [V04 loc2]
@@ -92,17 +93,17 @@ G_M37406_IG04:        ; bbWeight=0.50, gcVars=0000000000010000 {V03}, gcrefRegs=
             mov     w23, wzr
                        ;; size=52 bbWeight=0.50 PerfScore 8.00
 G_M37406_IG05:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
-            ldr     w24, [x21, #0x14]
-            cmp     w22, w24
-            bne     G_M37406_IG08
+            ldr     w0, [x21, #0x14]
+            cmp     w22, w0
+            bne     G_M37406_IG09
             ldr     w0, [x21, #0x10]
             cmp     w23, w0
-            bhs     G_M37406_IG11
+            bhs     G_M37406_IG10
             ldr     x0, [x21, #0x08]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x08]
             cmp     w23, w1
-            bhs     G_M37406_IG09
+            bhs     G_M37406_IG08
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
@@ -200,18 +201,11 @@ G_M37406_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M37406_IG08:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x19]
-            cmp     w22, w24
-            bne     G_M37406_IG10
-            b       G_M37406_IG11
-                       ;; size=12 bbWeight=4 PerfScore 10.00
-G_M37406_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x19]
+G_M37406_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M37406_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M37406_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
@@ -220,10 +214,10 @@ G_M37406_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M37406_IG11:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M37406_IG10:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x19]
             ldrb    w0, [fp, #0x18]    // [V04 loc2]
-            cbz     w0, G_M37406_IG12
+            cbz     w0, G_M37406_IG11
             ldr     x0, [fp, #0x10]  // [V03 loc1]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V03}
@@ -231,12 +225,12 @@ G_M37406_IG11:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0.50 PerfScore 3.00
-G_M37406_IG12:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M37406_IG11:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             add     x0, x19, #40
             ; byrRegs +[x0]
             stlr    xzr, [x0]
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
-G_M37406_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M37406_IG12:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x19]
             ; byrRegs -[x0]
             ldr     x25, [sp, #0x58]
@@ -246,8 +240,8 @@ G_M37406_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=24 bbWeight=1 PerfScore 7.00
-G_M37406_IG14:        ; bbWeight=0, gcVars=0000000000010000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-            ; GC ptr vars +{V03 V16}
+G_M37406_IG13:        ; bbWeight=0, gcVars=0000000000020000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+            ; GC ptr vars +{V03 V17}
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x18]
             stp     x21, x22, [sp, #0x28]
@@ -256,17 +250,17 @@ G_M37406_IG14:        ; bbWeight=0, gcVars=0000000000010000 {V03}, gcrefRegs=000
             add     x3, fp, #96
             str     x3, [sp, #0x10]
                        ;; size=28 bbWeight=0 PerfScore 0.00
-G_M37406_IG15:        ; bbWeight=0, gcVars=0000000000010000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M37406_IG14:        ; bbWeight=0, gcVars=0000000000020000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w0, [fp, #0x18]   // [V04 loc2]
-            cbz     w0, G_M37406_IG16
+            cbz     w0, G_M37406_IG15
             ldr     x0, [fp, #0x10]  // [V03 loc1]
             ; gcrRegs +[x0]
-            ; GC ptr vars -{V03 V16}
+            ; GC ptr vars -{V03 V17}
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M37406_IG16:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M37406_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldr     x25, [sp, #0x48]
             ldp     x23, x24, [sp, #0x38]
             ldp     x21, x22, [sp, #0x28]
@@ -275,7 +269,7 @@ G_M37406_IG16:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 600, prolog size 40, PerfScore 282.75, instruction count 150, allocated bytes for code 600 (MethodHash=88f36de1) for method System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
+; Total bytes of code 588, prolog size 40, PerfScore 272.75, instruction count 147, allocated bytes for code 588 (MethodHash=88f36de1) for method System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -286,7 +280,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 133 (0x00085) Actual length = 532 (0x000214)
+  Function Length   : 130 (0x00082) Actual length = 520 (0x000208)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -325,4 +319,4 @@ Unwind Info:
 
 *************** EH table for System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M37406_IG04..G_M37406_IG11) handled by [G_M37406_IG14..END) (fault)
+EH#0: try [G_M37406_IG04..G_M37406_IG10) handled by [G_M37406_IG13..END) (fault)
  
-12 (-1.60%) : 29047.dasm - System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberAdded(System.String) (FullOpts)
@@ -8,40 +8,41 @@
 ; 0 inlinees with PGO data; 6 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T07] (  4,  3.50)     ref  ->  x19         class-hnd single-def <System.String>
-;  V01 loc0         [V01,T08] (  5,  5   )     ref  ->  x21         class-hnd single-def <<unknown class>>
-;  V02 loc1         [V02,T23] (  3,  0.50)     ref  ->  [fp+0x20]  class-hnd EH-live spill-single-def <<unknown class>>
+;  V00 arg0         [V00,T08] (  4,  3.50)     ref  ->  x19         class-hnd single-def <System.String>
+;  V01 loc0         [V01,T09] (  5,  5   )     ref  ->  x21         class-hnd single-def <<unknown class>>
+;  V02 loc1         [V02,T24] (  3,  0.50)     ref  ->  [fp+0x20]  class-hnd EH-live spill-single-def <<unknown class>>
 ;  V03 loc2         [V03    ] (  6,  5   )   ubyte  ->  [fp+0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;* V04 loc3         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Management.Automation.Language.PSGetMemberBinder]>
 ;* V05 loc4         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Management.Automation.Language.PSGetMemberBinder>
-;  V06 loc5         [V06,T10] (  2,  4   )     ref  ->  [fp+0x18]  do-not-enreg[Z] class-hnd EH-live <System.Management.Automation.Language.PSGetMemberBinder>
+;  V06 loc5         [V06,T11] (  2,  4   )     ref  ->  [fp+0x18]  do-not-enreg[Z] class-hnd EH-live <System.Management.Automation.Language.PSGetMemberBinder>
 ;  V07 loc6         [V07    ] (  6, 12   )   ubyte  ->  [fp+0x28]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V09 tmp1         [V09,T11] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <<unknown class>>
-;  V10 tmp2         [V10,T12] (  2,  4   )     ref  ->  x21         class-hnd single-def "impAppendStmt" <<unknown class>>
+;  V09 tmp1         [V09,T12] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <<unknown class>>
+;  V10 tmp2         [V10,T13] (  2,  4   )     ref  ->  x21         class-hnd single-def "impAppendStmt" <<unknown class>>
 ;* V11 tmp3         [V11    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V12 tmp4         [V12    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V13 tmp5         [V13,T13] (  4,  3.50)     ref  ->   x2        
-;  V14 tmp6         [V14,T09] (  5,  5   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V15 tmp7         [V15,T15] (  3,  3   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V13 tmp5         [V13,T14] (  4,  3.50)     ref  ->   x2        
+;  V14 tmp6         [V14,T10] (  5,  5   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V15 tmp7         [V15,T16] (  3,  3   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
 ;* V16 tmp8         [V16    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Management.Automation.Language.PSGetMemberBinder]>
-;* V17 tmp9         [V17,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V17 tmp9         [V17,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V18 tmp10        [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V19 tmp11        [V19,T03] (  4, 17   )     ref  ->  x21         single-def "field V04._list (fldOffset=0x0)" P-INDEP
 ;  V20 tmp12        [V20,T02] (  7, 18   )     ref  ->  x22         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V21 tmp13        [V21,T00] (  6, 21   )     int  ->  x20         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V22 tmp14        [V22,T05] (  3, 13   )     int  ->  x19         single-def "field V04._version (fldOffset=0x14)" P-INDEP
-;  V23 tmp15        [V23,T16] (  3,  3   )     ref  ->  x21         single-def "field V16._list (fldOffset=0x0)" P-INDEP
+;  V22 tmp14        [V22,T06] (  2,  9   )     int  ->  x19         single-def "field V04._version (fldOffset=0x14)" P-INDEP
+;  V23 tmp15        [V23,T17] (  3,  3   )     ref  ->  x21         single-def "field V16._list (fldOffset=0x0)" P-INDEP
 ;* V24 tmp16        [V24    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V16._current (fldOffset=0x8)" P-INDEP
-;* V25 tmp17        [V25,T20] (  0,  0   )     int  ->  zero-ref    single-def "field V16._index (fldOffset=0x10)" P-INDEP
-;  V26 tmp18        [V26,T18] (  2,  2   )     int  ->  x19         single-def "field V16._version (fldOffset=0x14)" P-INDEP
+;* V25 tmp17        [V25,T21] (  0,  0   )     int  ->  zero-ref    single-def "field V16._index (fldOffset=0x10)" P-INDEP
+;  V26 tmp18        [V26,T19] (  2,  2   )     int  ->  x19         single-def "field V16._version (fldOffset=0x14)" P-INDEP
 ;  V27 tmp19        [V27,T01] (  3, 24   )     ref  ->   x1         "arr expr"
-;  V28 PSPSym       [V28,T21] (  1,  1   )    long  ->  [fp+0x38]  do-not-enreg[V] "PSPSym"
-;* V29 cse0         [V29,T22] (  0,  0   )    long  ->  zero-ref    "CSE - aggressive"
-;  V30 cse1         [V30,T04] (  3, 20   )     int  ->  x22         "CSE - aggressive"
-;  V31 cse2         [V31,T17] (  3,  2   )    long  ->  x20         "CSE - aggressive"
-;  V32 cse3         [V32,T14] (  4,  3   )    long  ->  x20         "CSE - aggressive"
-;  V33 rat0         [V33,T19] (  2,  2   )    long  ->   x0         "Spilling to split statement for tree"
+;  V28 PSPSym       [V28,T22] (  1,  1   )    long  ->  [fp+0x38]  do-not-enreg[V] "PSPSym"
+;* V29 cse0         [V29,T23] (  0,  0   )    long  ->  zero-ref    "CSE - aggressive"
+;  V30 cse1         [V30,T05] (  2,  8   )     int  ->   x1         "CSE - aggressive"
+;  V31 cse2         [V31,T04] (  2, 16   )     int  ->   x1         "CSE - aggressive"
+;  V32 cse3         [V32,T18] (  3,  2   )    long  ->  x20         "CSE - aggressive"
+;  V33 cse4         [V33,T15] (  4,  3   )    long  ->  x20         "CSE - aggressive"
+;  V34 rat0         [V34,T20] (  2,  2   )    long  ->   x0         "Spilling to split statement for tree"
 ;
 ; Lcl frame size = 48
 
@@ -65,7 +66,7 @@ G_M5921_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byr
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #1 LSL #32
             ldr     w1, [x1]
-            tbz     w1, #0, G_M5921_IG23
+            tbz     w1, #0, G_M5921_IG22
                        ;; size=36 bbWeight=1 PerfScore 7.50
 G_M5921_IG03:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             movz    x0, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
@@ -77,7 +78,7 @@ G_M5921_IG03:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byr
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
             ldr     w0, [x0]
-            tbz     w0, #0, G_M5921_IG24
+            tbz     w0, #0, G_M5921_IG23
                        ;; size=36 bbWeight=1 PerfScore 10.00
 G_M5921_IG04:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
             movz    x20, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
@@ -99,7 +100,7 @@ G_M5921_IG05:        ; bbWeight=0.50, gcrefRegs=280000 {x19 x21}, byrefRegs=0000
             ; gcrRegs +[x2]
             ldr     x15, [x20, #-0x10]
             ; gcrRegs +[x15]
-            cbz     x15, G_M5921_IG25
+            cbz     x15, G_M5921_IG24
             add     x14, x2, #8
             ; byrRegs +[x14]
             bl      CORINFO_HELP_ASSIGN_REF
@@ -134,7 +135,7 @@ G_M5921_IG06:        ; bbWeight=1, gcrefRegs=280004 {x2 x19 x21}, byrefRegs=0000
             ; GC ptr vars +{V02}
             str     wzr, [fp, #0x30]   // [V03 loc2]
                        ;; size=44 bbWeight=1 PerfScore 12.00
-G_M5921_IG07:        ; bbWeight=1, gcVars=0000000000800000 {V02}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M5921_IG07:        ; bbWeight=1, gcVars=0000000001000000 {V02}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0]
             ldrb    w1, [fp, #0x30]    // [V03 loc2]
             cbnz    w1, G_M5921_IG16
@@ -174,19 +175,19 @@ G_M5921_IG09:        ; bbWeight=1, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, by
             mov     w20, wzr
                        ;; size=8 bbWeight=1 PerfScore 3.50
 G_M5921_IG10:        ; bbWeight=8, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref, isz
-            ldr     w22, [x21, #0x14]
-            cmp     w19, w22
-            bne     G_M5921_IG17
+            ldr     w1, [x21, #0x14]
+            cmp     w19, w1
+            bne     G_M5921_IG18
                        ;; size=12 bbWeight=8 PerfScore 36.00
 G_M5921_IG11:        ; bbWeight=4, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref, isz
             ldr     w1, [x21, #0x10]
             cmp     w20, w1
-            bhs     G_M5921_IG20
+            bhs     G_M5921_IG19
             ldr     x1, [x21, #0x08]
             ; gcrRegs +[x1]
             ldr     w0, [x1, #0x08]
             cmp     w20, w0
-            bhs     G_M5921_IG18
+            bhs     G_M5921_IG17
             add     x1, x1, #16
             ; gcrRegs -[x1]
             ; byrRegs +[x1]
@@ -197,7 +198,7 @@ G_M5921_IG11:        ; bbWeight=4, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, by
             ; GC ptr vars +{V06}
             str     wzr, [fp, #0x28]   // [V07 loc6]
                        ;; size=48 bbWeight=4 PerfScore 72.00
-G_M5921_IG12:        ; bbWeight=2, gcVars=0000000000800400 {V02 V06}, gcrefRegs=600000 {x21 x22}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M5921_IG12:        ; bbWeight=2, gcVars=0000000001000800 {V02 V06}, gcrefRegs=600000 {x21 x22}, byrefRegs=0000 {}, gcvars, byref, isz
             ; byrRegs -[x1]
             ldrb    w1, [fp, #0x28]    // [V07 loc6]
             cbz     w1, G_M5921_IG14
@@ -233,7 +234,7 @@ G_M5921_IG14:        ; bbWeight=2, gcrefRegs=600000 {x21 x22}, byrefRegs=0000 {}
             mov     w0, #1
             strb    w0, [x22, #0x28]
                        ;; size=56 bbWeight=2 PerfScore 31.00
-G_M5921_IG15:        ; bbWeight=2, gcVars=0000000000800000 {V02}, gcrefRegs=600000 {x21 x22}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M5921_IG15:        ; bbWeight=2, gcVars=0000000001000000 {V02}, gcrefRegs=600000 {x21 x22}, byrefRegs=0000 {}, gcvars, byref, isz
             ; GC ptr vars -{V06}
             ldrb    w0, [fp, #0x28]    // [V07 loc6]
             cbz     w0, G_M5921_IG10
@@ -254,16 +255,11 @@ G_M5921_IG16:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M5921_IG17:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            cmp     w19, w22
-            bne     G_M5921_IG19
-            b       G_M5921_IG20
-                       ;; size=12 bbWeight=4 PerfScore 10.00
-G_M5921_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M5921_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M5921_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M5921_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
@@ -272,11 +268,11 @@ G_M5921_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M5921_IG20:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M5921_IG19:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [fp, #0x30]   // [V03 loc2]
-            cbz     w0, G_M5921_IG22
+            cbz     w0, G_M5921_IG21
                        ;; size=8 bbWeight=1 PerfScore 3.00
-G_M5921_IG21:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M5921_IG20:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ldr     x0, [fp, #0x20]    // [V02 loc1]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V02}
@@ -284,20 +280,20 @@ G_M5921_IG21:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=8 bbWeight=0.50 PerfScore 1.50
-G_M5921_IG22:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M5921_IG21:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ldp     x21, x22, [sp, #0x50]
             ldp     x19, x20, [sp, #0x40]
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=16 bbWeight=1 PerfScore 4.00
-G_M5921_IG23:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
+G_M5921_IG22:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs +[x19]
             mov     w1, #0xD1FFAB1E
             bl      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
             ; gcr arg pop 0
             b       G_M5921_IG03
                        ;; size=12 bbWeight=0 PerfScore 0.00
-G_M5921_IG24:        ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
+G_M5921_IG23:        ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x21]
             mov     x0, x20
             mov     w1, #0xD1FFAB1E
@@ -305,7 +301,7 @@ G_M5921_IG24:        ; bbWeight=0, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}
             ; gcr arg pop 0
             b       G_M5921_IG04
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M5921_IG25:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M5921_IG24:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19 x21]
             movz    x0, #0xD1FFAB1E      // code for System.MulticastDelegate:ThrowNullThisInDelegateToInstance()
             movk    x0, #0xD1FFAB1E LSL #16
@@ -315,40 +311,40 @@ G_M5921_IG25:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_unix #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M5921_IG26:        ; bbWeight=0, gcVars=0000000000800400 {V02 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-            ; GC ptr vars +{V02 V06 V10 V23}
+G_M5921_IG25:        ; bbWeight=0, gcVars=0000000001000800 {V02 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+            ; GC ptr vars +{V02 V06}
             stp     fp, lr, [sp, #-0x40]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             add     x3, fp, #96
             str     x3, [sp, #0x18]
                        ;; size=20 bbWeight=0 PerfScore 0.00
-G_M5921_IG27:        ; bbWeight=0, gcVars=0000000000800400 {V02 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M5921_IG26:        ; bbWeight=0, gcVars=0000000001000800 {V02 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w0, [fp, #0x28] // [V07 loc6]
-            cbz     w0, G_M5921_IG28
+            cbz     w0, G_M5921_IG27
             ldr     x0, [fp, #0x18]    // [V06 loc5]
             ; gcrRegs +[x0]
-            ; GC ptr vars -{V06 V10 V23}
+            ; GC ptr vars -{V06}
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M5921_IG28:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M5921_IG27:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M5921_IG29:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M5921_IG28:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             stp     fp, lr, [sp, #-0x40]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             add     x3, fp, #96
             str     x3, [sp, #0x18]
                        ;; size=20 bbWeight=0 PerfScore 0.00
...
  
-4 (-0.18%) : 1749.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan1[ushort],System.ReadOnlySpan1[ushort],ubyte,ubyte):ubyte (FullOpts)
@@ -8,16 +8,16 @@
 ; 0 inlinees with PGO data; 64 single block inlinees; 39 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T56] (  4,   4   )  struct (16) [fp-0x68]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
-;  V01 arg1         [V01,T57] (  4,   4   )  struct (16) [fp-0x78]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
-;  V02 arg2         [V02,T53] (  4,  10.50)   ubyte  ->  x20         single-def
-;  V03 arg3         [V03,T36] (  5,  66.50)   ubyte  ->  x19         single-def
+;  V00 arg0         [V00,T57] (  4,   4   )  struct (16) [fp-0x68]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
+;  V01 arg1         [V01,T58] (  4,   4   )  struct (16) [fp-0x78]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
+;  V02 arg2         [V02,T54] (  4,  10.50)   ubyte  ->  x20         single-def
+;  V03 arg3         [V03,T49] (  4,  34.50)   ubyte  ->  x19         single-def
 ;  V04 loc0         [V04,T48] (  5,  40.50)     int  ->  registers   ptr
 ;  V05 loc1         [V05,T06] ( 10, 488   )     int  ->  [fp-0x7C]  ptr
 ;  V06 loc2         [V06,T00] ( 10,1348   )     int  ->  [fp-0x80]  ptr
 ;  V07 loc3         [V07,T08] ( 22, 428   )     int  ->  [fp-0x84]  ptr
 ;  V08 loc4         [V08,T03] (  7, 724   )     int  ->  [fp-0x88]  ptr
-;  V09 loc5         [V09,T46] (  8,  43.50)     int  ->  x26        
+;  V09 loc5         [V09,T46] (  8,  43.50)     int  ->  x25        
 ;  V10 loc6         [V10,T21] ( 11, 146.50)  ushort  ->  registers   ptr
 ;  V11 loc7         [V11,T10] ( 13, 288   )  ushort  ->  [fp-0x8C]  ptr
 ;* V12 loc8         [V12    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[int]>
@@ -29,9 +29,9 @@
 ;* V18 loc14        [V18    ] (  0,   0   )  struct (16) zero-ref    multireg-arg ld-addr-op <System.ReadOnlySpan`1[ushort]>
 ;* V19 loc15        [V19    ] (  0,   0   )   ubyte  ->  zero-ref   
 ;* V20 loc16        [V20    ] (  0,   0   )  struct (16) zero-ref    <System.Span`1[int]>
-;  V21 loc17        [V21,T28] (  3,  96   )     int  ->  [fp-0x9C]  spill-single-def ptr
-;  V22 loc18        [V22,T29] (  3,  96   )   ubyte  ->  x14        
-;  V23 loc19        [V23,T01] (  7,1344   )     int  ->  x13        
+;  V21 loc17        [V21,T29] (  3,  96   )     int  ->  [fp-0x9C]  spill-single-def ptr
+;  V22 loc18        [V22,T30] (  3,  96   )   ubyte  ->  x14        
+;  V23 loc19        [V23,T01] (  7,1344   )     int  ->   x1        
 ;  V24 loc20        [V24,T02] (  3, 832   )     int  ->   x0        
 ;# V25 OutArgs      [V25    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V26 tmp1         [V26    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
@@ -41,16 +41,16 @@
 ;  V30 tmp5         [V30,T13] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
 ;  V31 tmp6         [V31,T15] (  2, 256   )     int  ->  x10         "dup spill"
 ;  V32 tmp7         [V32,T14] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
-;  V33 tmp8         [V33,T49] (  2,  32   )     int  ->  [fp-0xA0]  spill-single-def ptr "impAppendStmt"
+;  V33 tmp8         [V33,T50] (  2,  32   )     int  ->  [fp-0xA0]  spill-single-def ptr "impAppendStmt"
 ;* V34 tmp9         [V34    ] (  0,   0   )     int  ->  zero-ref    ptr
 ;  V35 tmp10        [V35,T37] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V36 tmp11        [V36,T38] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
-;  V37 tmp12        [V37,T34] (  5,  80   )     int  ->  x13         "dup spill"
+;  V37 tmp12        [V37,T35] (  5,  80   )     int  ->  x13         "dup spill"
 ;  V38 tmp13        [V38,T39] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
 ;  V39 tmp14        [V39,T40] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V40 tmp15        [V40,T41] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
-;  V41 tmp16        [V41,T30] (  3,  96   )     int  ->   x1        
-;  V42 tmp17        [V42,T52] (  4,  16   )     int  ->  x25         "impSpillLclRefs"
+;  V41 tmp16        [V41,T31] (  3,  96   )     int  ->   x1        
+;  V42 tmp17        [V42,T53] (  4,  16   )     int  ->  x27         "impSpillLclRefs"
 ;* V43 tmp18        [V43    ] (  0,   0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V44 tmp19        [V44    ] (  0,   0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V45 tmp20        [V45    ] (  0,   0   )     int  ->  zero-ref    ptr
@@ -58,15 +58,15 @@
 ;* V47 tmp22        [V47    ] (  0,   0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
 ;* V48 tmp23        [V48    ] (  0,   0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
 ;* V49 tmp24        [V49    ] (  0,   0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
-;  V50 tmp25        [V50,T69] (  2,   1   )     int  ->   x4        
+;  V50 tmp25        [V50,T70] (  2,   1   )     int  ->   x4        
 ;* V51 tmp26        [V51    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;  V52 tmp27        [V52,T59] (  3,   3   )     int  ->  x26         "Inlining Arg"
-;  V53 tmp28        [V53,T60] (  2,   2   )   byref  ->  x25         single-def "Inlining Arg"
+;  V52 tmp27        [V52,T60] (  3,   3   )     int  ->  x26         "Inlining Arg"
+;  V53 tmp28        [V53,T61] (  2,   2   )   byref  ->  x25         single-def "Inlining Arg"
 ;* V54 tmp29        [V54    ] (  0,   0   )  struct (16) zero-ref    "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V55 tmp30        [V55    ] (  0,   0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V56 tmp31        [V56    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V57 tmp32        [V57,T72] (  0,   0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V58 tmp33        [V58,T73] (  0,   0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
+;* V57 tmp32        [V57,T73] (  0,   0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
+;* V58 tmp33        [V58,T74] (  0,   0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
 ;* V59 tmp34        [V59    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V60 tmp35        [V60    ] (  0,   0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V61 tmp36        [V61    ] (  0,   0   )   short  ->  zero-ref    "Inlining Arg"
@@ -76,7 +76,7 @@
 ;* V65 tmp40        [V65    ] (  0,   0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V66 tmp41        [V66    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V67 tmp42        [V67    ] (  0,   0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V68 tmp43        [V68,T70] (  2,   1   )     int  ->   x0         "Inline return value spill temp"
+;  V68 tmp43        [V68,T71] (  2,   1   )     int  ->   x0         "Inline return value spill temp"
 ;* V69 tmp44        [V69    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V70 tmp45        [V70    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V71 tmp46        [V71    ] (  0,   0   )   byref  ->  zero-ref    "impAppendStmt"
@@ -142,8 +142,8 @@
 ;* V131 tmp106      [V131    ] (  0,   0   )  struct (32) zero-ref    HFA(simd16)  ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.Intrinsics.Vector256`1[ubyte]>
 ;* V132 tmp107      [V132    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V133 tmp108      [V133    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;  V134 tmp109      [V134,T64] (  2,   2   )    long  ->  x28         "Inlining Arg"
-;  V135 tmp110      [V135,T65] (  2,   2   )    long  ->   x3         "Inlining Arg"
+;  V134 tmp109      [V134,T65] (  2,   2   )    long  ->  x28         "Inlining Arg"
+;  V135 tmp110      [V135,T66] (  2,   2   )    long  ->   x3         "Inlining Arg"
 ;  V136 tmp111      [V136,T18] (  3, 192   )     ref  ->   x0         class-hnd exact "Inlining Arg" <int[]>
 ;* V137 tmp112      [V137    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V138 tmp113      [V138    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
@@ -158,7 +158,7 @@
 ;* V147 tmp122      [V147    ] (  0,   0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;  V148 tmp123      [V148,T24] (  2, 128   )    long  ->   x2         "Inlining Arg"
 ;* V149 tmp124      [V149    ] (  0,   0   )    long  ->  zero-ref    "Inlining Arg"
-;  V150 tmp125      [V150,T50] (  3,  24   )  ushort  ->  registers   ptr "Inline return value spill temp"
+;  V150 tmp125      [V150,T51] (  3,  24   )  ushort  ->  registers   ptr "Inline return value spill temp"
 ;  V151 tmp126      [V151,T42] (  4,  64   )  ushort  ->  x12         "Inlining Arg"
 ;* V152 tmp127      [V152    ] (  0,   0   )  ushort  ->  zero-ref    "Inline return value spill temp"
 ;* V153 tmp128      [V153    ] (  0,   0   )    long  ->  zero-ref    "Inline stloc first use temp"
@@ -171,7 +171,7 @@
 ;  V160 tmp135      [V160    ] (  3,  24   )  ushort  ->  [fp-0xA8]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inline stloc first use temp"
 ;  V161 tmp136      [V161,T44] (  3,  48   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Globalization.TextInfo>
 ;  V162 tmp137      [V162    ] (  2,  32   )  ushort  ->  [fp-0xB0]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inlining Arg"
-;  V163 tmp138      [V163,T51] (  3,  24   )  ushort  ->  x13         "Inline return value spill temp"
+;  V163 tmp138      [V163,T52] (  3,  24   )  ushort  ->  x13         "Inline return value spill temp"
 ;  V164 tmp139      [V164,T43] (  4,  64   )  ushort  ->  x13         "Inlining Arg"
 ;* V165 tmp140      [V165    ] (  0,   0   )  ushort  ->  zero-ref    "Inline return value spill temp"
 ;* V166 tmp141      [V166    ] (  0,   0   )    long  ->  zero-ref    "Inline stloc first use temp"
@@ -184,35 +184,35 @@
 ;  V173 tmp148      [V173    ] (  3,  24   )  ushort  ->  [fp-0xB8]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inline stloc first use temp"
 ;  V174 tmp149      [V174,T45] (  3,  48   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Globalization.TextInfo>
 ;  V175 tmp150      [V175    ] (  2,  32   )  ushort  ->  [fp-0xC0]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inlining Arg"
-;  V176 tmp151      [V176,T61] (  3,   3   )     int  ->   x0         "Single return block return value"
-;  V177 tmp152      [V177,T54] (  2,   8   )   byref  ->   x1         "field V12._reference (fldOffset=0x0)" P-INDEP
-;  V178 tmp153      [V178,T55] (  2,   8   )     int  ->   x0         "field V12._length (fldOffset=0x8)" P-INDEP
+;  V176 tmp151      [V176,T62] (  3,   3   )     int  ->   x0         "Single return block return value"
+;  V177 tmp152      [V177,T55] (  2,   8   )   byref  ->   x1         "field V12._reference (fldOffset=0x0)" P-INDEP
+;  V178 tmp153      [V178,T56] (  2,   8   )     int  ->   x0         "field V12._length (fldOffset=0x8)" P-INDEP
 ;  V179 tmp154      [V179,T07] ( 14, 464.50)   byref  ->  x28         "field V13._reference (fldOffset=0x0)" P-INDEP
 ;  V180 tmp155      [V180,T04] ( 17, 592.50)     int  ->  [fp-0xC4]  ptr "field V13._length (fldOffset=0x8)" P-INDEP
 ;  V181 tmp156      [V181,T09] ( 10, 347.50)   byref  ->  [fp-0xD8]  ptr "field V14._reference (fldOffset=0x0)" P-INDEP
 ;  V182 tmp157      [V182,T20] ( 10, 187   )     int  ->  [fp-0xC8]  ptr "field V14._length (fldOffset=0x8)" P-INDEP
-;  V183 tmp158      [V183,T63] (  4,   2   )   byref  ->  x25         single-def "field V18._reference (fldOffset=0x0)" P-INDEP
-;  V184 tmp159      [V184,T62] (  5,   2.50)     int  ->  x26         "field V18._length (fldOffset=0x8)" P-INDEP
+;  V183 tmp158      [V183,T64] (  4,   2   )   byref  ->  x25         single-def "field V18._reference (fldOffset=0x0)" P-INDEP
+;  V184 tmp159      [V184,T63] (  5,   2.50)     int  ->  x26         "field V18._length (fldOffset=0x8)" P-INDEP
 ;* V185 tmp160      [V185    ] (  0,   0   )   byref  ->  zero-ref    "field V20._reference (fldOffset=0x0)" P-INDEP
 ;* V186 tmp161      [V186    ] (  0,   0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
-;  V187 tmp162      [V187,T66] (  2,   1   )   byref  ->  x28         single-def "field V26._reference (fldOffset=0x0)" P-INDEP
-;* V188 tmp163      [V188,T76] (  0,   0   )     int  ->  zero-ref    ptr "field V26._length (fldOffset=0x8)" P-INDEP
-;  V189 tmp164      [V189,T67] (  2,   1   )   byref  ->   x3         single-def "field V27._reference (fldOffset=0x0)" P-INDEP
-;* V190 tmp165      [V190,T77] (  0,   0   )     int  ->  zero-ref    ptr "field V27._length (fldOffset=0x8)" P-INDEP
+;  V187 tmp162      [V187,T67] (  2,   1   )   byref  ->  x28         single-def "field V26._reference (fldOffset=0x0)" P-INDEP
+;* V188 tmp163      [V188,T77] (  0,   0   )     int  ->  zero-ref    ptr "field V26._length (fldOffset=0x8)" P-INDEP
+;  V189 tmp164      [V189,T68] (  2,   1   )   byref  ->   x3         single-def "field V27._reference (fldOffset=0x0)" P-INDEP
+;* V190 tmp165      [V190,T78] (  0,   0   )     int  ->  zero-ref    ptr "field V27._length (fldOffset=0x8)" P-INDEP
 ;* V191 tmp166      [V191    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V43._reference (fldOffset=0x0)" P-INDEP
 ;* V192 tmp167      [V192    ] (  0,   0   )     int  ->  zero-ref    ptr "field V43._length (fldOffset=0x8)" P-INDEP
 ;* V193 tmp168      [V193    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V44._reference (fldOffset=0x0)" P-INDEP
 ;* V194 tmp169      [V194    ] (  0,   0   )     int  ->  zero-ref    ptr "field V44._length (fldOffset=0x8)" P-INDEP
-;  V195 tmp170      [V195,T68] (  2,   1   )   byref  ->   x0         single-def "field V46._reference (fldOffset=0x0)" P-INDEP
-;  V196 tmp171      [V196,T71] (  2,   1   )     int  ->   x1         "field V46._length (fldOffset=0x8)" P-INDEP
+;  V195 tmp170      [V195,T69] (  2,   1   )   byref  ->   x0         single-def "field V46._reference (fldOffset=0x0)" P-INDEP
+;  V196 tmp171      [V196,T72] (  2,   1   )     int  ->   x1         "field V46._length (fldOffset=0x8)" P-INDEP
 ;* V197 tmp172      [V197    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V47._reference (fldOffset=0x0)" P-INDEP
 ;* V198 tmp173      [V198    ] (  0,   0   )     int  ->  zero-ref    ptr "field V47._length (fldOffset=0x8)" P-INDEP
 ;* V199 tmp174      [V199    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V48._reference (fldOffset=0x0)" P-INDEP
 ;* V200 tmp175      [V200    ] (  0,   0   )     int  ->  zero-ref    ptr "field V48._length (fldOffset=0x8)" P-INDEP
 ;* V201 tmp176      [V201    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V49._reference (fldOffset=0x0)" P-INDEP
 ;* V202 tmp177      [V202    ] (  0,   0   )     int  ->  zero-ref    ptr "field V49._length (fldOffset=0x8)" P-INDEP
-;* V203 tmp178      [V203,T74] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V51._reference (fldOffset=0x0)" P-INDEP
-;* V204 tmp179      [V204,T78] (  0,   0   )     int  ->  zero-ref    ptr "field V51._length (fldOffset=0x8)" P-INDEP
+;* V203 tmp178      [V203,T75] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V51._reference (fldOffset=0x0)" P-INDEP
+;* V204 tmp179      [V204,T79] (  0,   0   )     int  ->  zero-ref    ptr "field V51._length (fldOffset=0x8)" P-INDEP
 ;* V205 tmp180      [V205    ] (  0,   0   )   byref  ->  zero-ref    "field V54._reference (fldOffset=0x0)" P-INDEP
 ;* V206 tmp181      [V206    ] (  0,   0   )     int  ->  zero-ref    "field V54._length (fldOffset=0x8)" P-INDEP
 ;* V207 tmp182      [V207    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V56._reference (fldOffset=0x0)" P-INDEP
@@ -223,7 +223,7 @@
 ;* V212 tmp187      [V212    ] (  0,   0   )     int  ->  zero-ref    "field V64._length (fldOffset=0x8)" P-INDEP
 ;* V213 tmp188      [V213    ] (  0,   0   )   byref  ->  zero-ref    "field V65._reference (fldOffset=0x0)" P-INDEP
 ;* V214 tmp189      [V214    ] (  0,   0   )     int  ->  zero-ref    "field V65._length (fldOffset=0x8)" P-INDEP
-;* V215 tmp190      [V215,T75] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V66._reference (fldOffset=0x0)" P-INDEP
+;* V215 tmp190      [V215,T76] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V66._reference (fldOffset=0x0)" P-INDEP
 ;* V216 tmp191      [V216    ] (  0,   0   )     int  ->  zero-ref    ptr "field V66._length (fldOffset=0x8)" P-INDEP
 ;* V217 tmp192      [V217    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V69._reference (fldOffset=0x0)" P-INDEP
 ;* V218 tmp193      [V218    ] (  0,   0   )     int  ->  zero-ref    ptr "field V69._length (fldOffset=0x8)" P-INDEP
@@ -251,12 +251,12 @@
 ;* V240 tmp215      [V240    ] (  0,   0   )     int  ->  zero-ref    "field V132._length (fldOffset=0x8)" P-INDEP
 ;* V241 tmp216      [V241    ] (  0,   0   )   byref  ->  zero-ref    "field V133._reference (fldOffset=0x0)" P-INDEP
 ;* V242 tmp217      [V242    ] (  0,   0   )     int  ->  zero-ref    "field V133._length (fldOffset=0x8)" P-INDEP
-;  V243 tmp218      [V243,T26] (  3,  96   )   byref  ->  [fp-0xE0]  spill-single-def ptr "field V137._reference (fldOffset=0x0)" P-INDEP
-;  V244 tmp219      [V244,T31] (  3,  96   )     int  ->  [fp-0xCC]  spill-single-def ptr "field V137._length (fldOffset=0x8)" P-INDEP
+;  V243 tmp218      [V243,T27] (  3,  96   )   byref  ->  [fp-0xE0]  spill-single-def ptr "field V137._reference (fldOffset=0x0)" P-INDEP
+;  V244 tmp219      [V244,T32] (  3,  96   )     int  ->  [fp-0xCC]  spill-single-def ptr "field V137._length (fldOffset=0x8)" P-INDEP
 ;* V245 tmp220      [V245    ] (  0,   0   )   byref  ->  zero-ref    ptr "field V138._reference (fldOffset=0x0)" P-INDEP
 ;* V246 tmp221      [V246    ] (  0,   0   )     int  ->  zero-ref    ptr "field V138._length (fldOffset=0x8)" P-INDEP
-;  V247 tmp222      [V247,T27] (  3,  96   )   byref  ->  [fp-0xE8]  spill-single-def ptr "field V144._reference (fldOffset=0x0)" P-INDEP
-;  V248 tmp223      [V248,T32] (  3,  96   )     int  ->  [fp-0xD0]  spill-single-def ptr "field V144._length (fldOffset=0x8)" P-INDEP
+;  V247 tmp222      [V247,T28] (  3,  96   )   byref  ->  [fp-0xE8]  spill-single-def ptr "field V144._reference (fldOffset=0x0)" P-INDEP
+;  V248 tmp223      [V248,T33] (  3,  96   )     int  ->  [fp-0xD0]  spill-single-def ptr "field V144._length (fldOffset=0x8)" P-INDEP
 ;* V249 tmp224      [V249    ] (  0,   0   )   byref  ->  zero-ref    ptr "field V145._reference (fldOffset=0x0)" P-INDEP
 ;* V250 tmp225      [V250    ] (  0,   0   )     int  ->  zero-ref    ptr "field V145._length (fldOffset=0x8)" P-INDEP
 ;* V251 tmp226      [V251    ] (  0,   0   )   byref  ->  zero-ref    "field V154._reference (fldOffset=0x0)" P-INDEP
@@ -271,14 +271,15 @@
 ;* V260 tmp235      [V260    ] (  0,   0   )     int  ->  zero-ref    "field V171._length (fldOffset=0x8)" P-INDEP
 ;* V261 tmp236      [V261    ] (  0,   0   )   byref  ->  zero-ref    "field V172._reference (fldOffset=0x0)" P-INDEP
 ;* V262 tmp237      [V262    ] (  0,   0   )     int  ->  zero-ref    "field V172._length (fldOffset=0x8)" P-INDEP
-;  V263 tmp238      [V263,T35] (  5,  74   )   byref  ->  x21         single-def "V00.[000..008)"
+;  V263 tmp238      [V263,T36] (  5,  74   )   byref  ->  x21         single-def "V00.[000..008)"
 ;  V264 tmp239      [V264,T17] ( 11, 227.50)     int  ->  x22         "V00.[008..012)"
 ;  V265 tmp240      [V265,T11] (  4, 259.50)   byref  ->  x23         single-def "V01.[000..008)"
 ;  V266 tmp241      [V266,T05] (  9, 552.50)     int  ->  x24         "V01.[008..012)"
 ;* V267 tmp242      [V267    ] (  0,   0   )    long  ->  zero-ref    ptr "Cast away GC"
 ;  V268 GsCookie    [V268    ] (  1,   1   )    long  ->  [fp-0x58]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
-;  V269 cse0        [V269,T58] (  3,   6   )     int  ->   x6         "CSE - moderate"
-;  V270 rat0        [V270,T33] (  3,  96   )     int  ->   x1         "ReplaceWithLclVar is creating a new local variable"
+;  V269 cse0        [V269,T26] (  5,  97   )     int  ->  registers   multi-def "CSE - moderate"
+;  V270 cse1        [V270,T59] (  3,   6   )     int  ->   x6         "CSE - moderate"
+;  V271 rat0        [V271,T34] (  3,  96   )     int  ->   x1         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 160
 
@@ -355,8 +356,8 @@ G_M9731_IG05:        ; bbWeight=0.50, gcVars=00000000000000000000000000000000 {}
             ldr     x1, [x1]
             blr     x1
             ; gcr arg pop 0
-            tst     w19, #255
-            bne     G_M9731_IG06
+            uxtb    w27, w19
+            cbnz    w27, G_M9731_IG06
             mov     w2, #63
             mov     w1, #42
             mov     x0, x25
@@ -414,9 +415,9 @@ G_M9731_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2800000 {x23
                        ;; size=60 bbWeight=0.50 PerfScore 5.75
 G_M9731_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x23}, byref
             ; byrRegs +[x21 x23]
-            mov     w25, wzr
-            mov     w26, #1
             mov     w27, wzr
+            mov     w25, #1
+            mov     w26, wzr
             ldr     wzr, [sp], #-0x40
             mov     x28, sp
             mov     w2, #16
@@ -430,20 +431,20 @@ G_M9731_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x
                        ;; size=52 bbWeight=0.50 PerfScore 5.50
 G_M9731_IG09:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21 x23 x28}, byref, isz
             ; byrRegs +[x3 x28]
-            cmp     w25, w24
+            cmp     w27, w24
             bge     G_M9731_IG11
                        ;; size=8 bbWeight=4 PerfScore 6.00
 G_M9731_IG10:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21 x23 x28}, byref, isz
-            add     w1, w25, #1
-            sxtw    w27, w1
-            cmp     w25, w24
+            add     w1, w27, #1
+            sxtw    w26, w1
+            cmp     w27, w24
             bhs     G_M9731_IG73
-            ldrh    w1, [x23, w25, UXTW #2]
-            sxtw    w25, w1
...
  
-8 (-0.15%) : 1406.dasm - System.Number:NumberToStringFormatushort (FullOpts)
@@ -10,7 +10,7 @@
 ;
 ;  V00 arg0         [V00,T02] ( 79,268.50)   byref  ->  x19         single-def
 ;  V01 arg1         [V01,T60] ( 17, 21.50)   byref  ->  x21         single-def
-;  V02 arg2         [V02,T81] (  6, 12   )  struct (16) [fp+0xE8]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
+;  V02 arg2         [V02,T82] (  6, 12   )  struct (16) [fp+0xE8]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
 ;  V03 arg3         [V03,T42] ( 15, 25   )     ref  ->  x20         class-hnd single-def <System.Globalization.NumberFormatInfo>
 ;  V04 loc0         [V04,T08] ( 15, 96   )     int  ->  x27        
 ;  V05 loc1         [V05,T16] ( 18, 56   )     int  ->  x28        
@@ -24,55 +24,55 @@
 ;  V13 loc9         [V13,T19] (  8, 48   )     int  ->   x8        
 ;  V14 loc10        [V14,T26] ( 11, 42   )     int  ->  [fp+0xD0]  ptr
 ;  V15 loc11        [V15,T64] (  6, 18.50)     int  ->  x26        
-;  V16 loc12        [V16,T00] ( 57,909.50)     int  ->  [fp+0xCC]  ptr
+;  V16 loc12        [V16,T00] ( 55,905.50)     int  ->  [fp+0xCC]  ptr
 ;  V17 loc13        [V17,T67] (  6, 17   )    long  ->  x25        
 ;  V18 loc14        [V18,T05] ( 36,238   )  ushort  ->  [fp+0xC8]  ptr
 ;* V19 loc15        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[int]>
 ;  V20 loc16        [V20,T10] ( 16, 71   )     int  ->  [fp+0xC4]  ptr
-;  V21 loc17        [V21,T147] (  3,  5   )   ubyte  ->  [fp+0xC0] 
+;  V21 loc17        [V21,T148] (  3,  5   )   ubyte  ->  [fp+0xC0] 
 ;  V22 loc18        [V22,T07] (  8,184   )    long  ->   x9        
 ;  V23 loc19        [V23    ] (  2, 16   )   byref  ->  [fp+0xB8]  must-init pinned ptr
 ;* V24 loc20        [V24    ] (  0,  0   )     int  ->  zero-ref   
 ;* V25 loc21        [V25    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[int]>
-;  V26 loc22        [V26,T146] (  5,  5.50)     ref  ->  [fp+0x60]  class-hnd spill-single-def ptr <int[]>
-;  V27 loc23        [V27,T82] (  6, 12.50)     int  ->  [fp+0xB4]  ptr
+;  V26 loc22        [V26,T147] (  5,  5.50)     ref  ->  [fp+0x60]  class-hnd spill-single-def ptr <int[]>
+;  V27 loc23        [V27,T83] (  6, 12.50)     int  ->  [fp+0xB4]  ptr
 ;  V28 loc24        [V28,T66] (  7, 17.50)     int  ->  [fp+0xB0]  ptr
-;  V29 loc25        [V29,T148] (  3,  5   )     int  ->  [fp+0xAC]  spill-single-def ptr
-;  V30 loc26        [V30,T87] (  5, 11   )     int  ->  [fp+0xA8]  ptr
-;  V31 loc27        [V31,T194] (  3,  1.50)     int  ->   x1        
-;  V32 loc28        [V32,T149] (  3,  5   )     int  ->  [fp+0xA4]  spill-single-def ptr
-;  V33 loc29        [V33,T88] (  5, 10   )     ref  ->  [fp+0x58]  class-hnd exact spill-single-def ptr <int[]>
+;  V29 loc25        [V29,T149] (  3,  5   )     int  ->  [fp+0xAC]  spill-single-def ptr
+;  V30 loc26        [V30,T88] (  5, 11   )     int  ->  [fp+0xA8]  ptr
+;  V31 loc27        [V31,T195] (  3,  1.50)     int  ->   x1        
+;  V32 loc28        [V32,T150] (  3,  5   )     int  ->  [fp+0xA4]  spill-single-def ptr
+;  V33 loc29        [V33,T89] (  5, 10   )     ref  ->  [fp+0x58]  class-hnd exact spill-single-def ptr <int[]>
 ;  V34 loc30        [V34,T11] ( 11, 65   )    long  ->  x22        
 ;  V35 loc31        [V35    ] (  2,  2   )   byref  ->  [fp+0x98]  must-init pinned ptr
 ;  V36 loc32        [V36,T33] (  8, 33   )    long  ->  [fp+0x90]  ptr
-;  V37 loc33        [V37,T121] (  3,  6   )   ubyte  ->  x14        
+;  V37 loc33        [V37,T122] (  3,  6   )   ubyte  ->  x14        
 ;  V38 loc34        [V38,T46] (  6, 24   )     int  ->  x12        
 ;* V39 loc35        [V39    ] (  0,  0   )     int  ->  zero-ref   
 ;# V40 OutArgs      [V40    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V41 tmp1         [V41    ] (  0,  0   )     int  ->  zero-ref   
 ;* V42 tmp2         [V42    ] (  0,  0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
 ;* V43 tmp3         [V43    ] (  0,  0   )  struct (16) zero-ref    multireg-arg <System.ReadOnlySpan`1[ushort]>
-;  V44 tmp4         [V44,T182] (  3,  2   )     int  ->   x2        
-;  V45 tmp5         [V45,T187] (  2,  2   )     int  ->   x3        
-;  V46 tmp6         [V46,T188] (  2,  2   )     int  ->   x4        
-;  V47 tmp7         [V47,T206] (  2,  1   )     int  ->   x3        
+;  V44 tmp4         [V44,T183] (  3,  2   )     int  ->   x2        
+;  V45 tmp5         [V45,T188] (  2,  2   )     int  ->   x3        
+;  V46 tmp6         [V46,T189] (  2,  2   )     int  ->   x4        
+;  V47 tmp7         [V47,T207] (  2,  1   )     int  ->   x3        
 ;  V48 tmp8         [V48    ] (  1,  1   )  struct (16) [fp+0xF8]  do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
 ;* V49 tmp9         [V49    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V50 tmp10        [V50    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V51 tmp11        [V51,T50] (  3, 24   )     int  ->   x1         "impSpillLclRefs"
-;  V52 tmp12        [V52,T79] (  2, 16   )     int  ->   x1         "dup spill"
-;  V53 tmp13        [V53,T106] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
-;  V54 tmp14        [V54,T107] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
+;  V52 tmp12        [V52,T80] (  2, 16   )     int  ->   x1         "dup spill"
+;  V53 tmp13        [V53,T107] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
+;  V54 tmp14        [V54,T108] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
 ;  V55 tmp15        [V55,T35] (  2, 32   )     int  ->   x6         "impSpillLclRefs"
 ;  V56 tmp16        [V56,T13] (  2, 64   )     int  ->   x6         "dup spill"
-;  V57 tmp17        [V57,T122] (  3,  6   )     int  ->   x5        
+;  V57 tmp17        [V57,T123] (  3,  6   )     int  ->   x5        
 ;* V58 tmp18        [V58    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V59 tmp19        [V59    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V60 tmp20        [V60    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V61 tmp21        [V61,T83] (  3, 12   )    long  ->   x1         "impSpillLclRefs"
-;  V62 tmp22        [V62,T99] (  4,  8   )     int  ->   x1        
+;  V61 tmp21        [V61,T84] (  3, 12   )    long  ->   x1         "impSpillLclRefs"
+;  V62 tmp22        [V62,T100] (  4,  8   )     int  ->   x1        
 ;* V63 tmp23        [V63    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V64 tmp24        [V64,T123] (  3,  6   )     int  ->  x13        
+;  V64 tmp24        [V64,T124] (  3,  6   )     int  ->  x13        
 ;  V65 tmp25        [V65,T36] (  2, 32   )     int  ->   x6         "impSpillLclRefs"
 ;* V66 tmp26        [V66    ] (  0,  0   )   byref  ->  zero-ref    ptr
 ;  V67 tmp27        [V67,T37] (  2, 32   )    long  ->   x0         "impSpillLclRefs"
@@ -82,11 +82,11 @@
 ;* V71 tmp31        [V71    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V72 tmp32        [V72    ] (  0,  0   )     int  ->  zero-ref   
 ;* V73 tmp33        [V73    ] (  0,  0   )     int  ->  zero-ref    ptr
-;  V74 tmp34        [V74,T207] (  2,  1   )     int  ->   x1        
-;  V75 tmp35        [V75,T208] (  2,  1   )     int  ->  xip0        
+;  V74 tmp34        [V74,T208] (  2,  1   )     int  ->   x1        
+;  V75 tmp35        [V75,T209] (  2,  1   )     int  ->  xip0        
 ;* V76 tmp36        [V76    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[int]>
 ;  V77 tmp37        [V77,T47] (  3, 24   )   byref  ->   x0         "dup spill"
-;  V78 tmp38        [V78,T101] (  3,  8   )     int  ->   x1        
+;  V78 tmp38        [V78,T102] (  3,  8   )     int  ->   x1        
 ;  V79 tmp39        [V79,T09] (  3, 96   )     int  ->   x0         "impSpillLclRefs"
 ;  V80 tmp40        [V80,T14] (  2, 64   )     int  ->  x11         "dup spill"
 ;  V81 tmp41        [V81,T03] (  2,256   )     int  ->  x10         "dup spill"
@@ -97,28 +97,28 @@
 ;* V86 tmp46        [V86    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;* V87 tmp47        [V87    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V88 tmp48        [V88    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
-;  V89 tmp49        [V89,T108] (  2,  8   )    long  ->   x2         "Inlining Arg"
+;  V89 tmp49        [V89,T109] (  2,  8   )    long  ->   x2         "Inlining Arg"
 ;* V90 tmp50        [V90    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V91 tmp51        [V91    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V92 tmp52        [V92    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V93 tmp53        [V93    ] (  0,  0   )     int  ->  zero-ref   
 ;* V94 tmp54        [V94    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V95 tmp55        [V95    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V96 tmp56        [V96,T150] (  4,  4   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V96 tmp56        [V96,T151] (  4,  4   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V97 tmp57        [V97    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V98 tmp58        [V98    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V99 tmp59        [V99,T189] (  2,  2   )     int  ->  [fp+0x8C]  spill-single-def ptr "Inlining Arg"
-;  V100 tmp60       [V100,T183] (  2,  2   )   byref  ->  [fp+0x50]  spill-single-def ptr "Inlining Arg"
+;  V99 tmp59        [V99,T190] (  2,  2   )     int  ->  [fp+0x8C]  spill-single-def ptr "Inlining Arg"
+;  V100 tmp60       [V100,T184] (  2,  2   )   byref  ->  [fp+0x50]  spill-single-def ptr "Inlining Arg"
 ;* V101 tmp61       [V101    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V102 tmp62       [V102    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V103 tmp63       [V103    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V104 tmp64       [V104    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V105 tmp65       [V105    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V106 tmp66       [V106,T195] (  3,  1.50)     int  ->  [fp+0x88]  spill-single-def ptr "Inline stloc first use temp"
+;  V106 tmp66       [V106,T196] (  3,  1.50)     int  ->  [fp+0x88]  spill-single-def ptr "Inline stloc first use temp"
 ;* V107 tmp67       [V107    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V108 tmp68       [V108    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V109 tmp69       [V109    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "Inlining Arg"
-;  V110 tmp70       [V110,T180] (  4,  2   )     int  ->   x3         "Inline stloc first use temp"
+;  V110 tmp70       [V110,T181] (  4,  2   )     int  ->   x3         "Inline stloc first use temp"
 ;* V111 tmp71       [V111    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V112 tmp72       [V112    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V113 tmp73       [V113    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
@@ -153,7 +153,7 @@
 ;  V142 tmp102      [V142,T29] (  5, 40   )     int  ->  x15         "Inline stloc first use temp"
 ;* V143 tmp103      [V143    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V144 tmp104      [V144    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;  V145 tmp105      [V145,T89] (  5, 10   )     int  ->   x1         "Inline stloc first use temp"
+;  V145 tmp105      [V145,T90] (  5, 10   )     int  ->   x1         "Inline stloc first use temp"
 ;* V146 tmp106      [V146    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V147 tmp107      [V147    ] (  0,  0   )  ushort  ->  zero-ref    ptr "Inlining Arg"
 ;* V148 tmp108      [V148    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -162,11 +162,11 @@
 ;* V151 tmp111      [V151    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V152 tmp112      [V152    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V153 tmp113      [V153    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V154 tmp114      [V154,T69] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V154 tmp114      [V154,T70] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V155 tmp115      [V155    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V156 tmp116      [V156    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V157 tmp117      [V157,T109] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V158 tmp118      [V158,T102] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V157 tmp117      [V157,T110] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V158 tmp118      [V158,T103] (  2,  8   )   byref  ->  x13         "Inlining Arg"
 ;* V159 tmp119      [V159    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V160 tmp120      [V160    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V161 tmp121      [V161    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -174,13 +174,13 @@
 ;* V163 tmp123      [V163    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V164 tmp124      [V164    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V165 tmp125      [V165    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V166 tmp126      [V166,T124] (  3,  6   )     int  ->  [fp+0x80]  spill-single-def ptr "Inline stloc first use temp"
+;  V166 tmp126      [V166,T125] (  3,  6   )     int  ->  [fp+0x80]  spill-single-def ptr "Inline stloc first use temp"
 ;* V167 tmp127      [V167    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V168 tmp128      [V168    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V169 tmp129      [V169    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V170 tmp130      [V170    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V171 tmp131      [V171    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V172 tmp132      [V172,T90] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
+;  V172 tmp132      [V172,T91] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
 ;* V173 tmp133      [V173    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V174 tmp134      [V174    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V175 tmp135      [V175    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -189,11 +189,11 @@
 ;* V178 tmp138      [V178    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V179 tmp139      [V179    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V180 tmp140      [V180    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V181 tmp141      [V181,T70] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V181 tmp141      [V181,T71] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V182 tmp142      [V182    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V183 tmp143      [V183    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V184 tmp144      [V184,T110] (  2,  8   )     int  ->  x13         "Inlining Arg"
-;  V185 tmp145      [V185,T103] (  2,  8   )   byref  ->  x11         "Inlining Arg"
+;  V184 tmp144      [V184,T111] (  2,  8   )     int  ->  x13         "Inlining Arg"
+;  V185 tmp145      [V185,T104] (  2,  8   )   byref  ->  x11         "Inlining Arg"
 ;* V186 tmp146      [V186    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V187 tmp147      [V187    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V188 tmp148      [V188    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -201,13 +201,13 @@
 ;* V190 tmp150      [V190    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V191 tmp151      [V191    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V192 tmp152      [V192    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V193 tmp153      [V193,T125] (  3,  6   )     int  ->  [fp+0x7C]  spill-single-def ptr "Inline stloc first use temp"
+;  V193 tmp153      [V193,T126] (  3,  6   )     int  ->  [fp+0x7C]  spill-single-def ptr "Inline stloc first use temp"
 ;* V194 tmp154      [V194    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V195 tmp155      [V195    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V196 tmp156      [V196    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V197 tmp157      [V197    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V198 tmp158      [V198    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V199 tmp159      [V199,T91] (  5, 10   )     int  ->  x14         "Inline stloc first use temp"
+;  V199 tmp159      [V199,T92] (  5, 10   )     int  ->  x14         "Inline stloc first use temp"
 ;* V200 tmp160      [V200    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V201 tmp161      [V201    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V202 tmp162      [V202    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -216,11 +216,11 @@
 ;* V205 tmp165      [V205    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V206 tmp166      [V206    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V207 tmp167      [V207    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V208 tmp168      [V208,T71] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V208 tmp168      [V208,T72] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V209 tmp169      [V209    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V210 tmp170      [V210    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V211 tmp171      [V211,T111] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V212 tmp172      [V212,T104] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V211 tmp171      [V211,T112] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V212 tmp172      [V212,T105] (  2,  8   )   byref  ->  x13         "Inlining Arg"
 ;* V213 tmp173      [V213    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V214 tmp174      [V214    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V215 tmp175      [V215    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -228,13 +228,13 @@
 ;* V217 tmp177      [V217    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V218 tmp178      [V218    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V219 tmp179      [V219    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V220 tmp180      [V220,T126] (  3,  6   )     int  ->  [fp+0x78]  spill-single-def ptr "Inline stloc first use temp"
+;  V220 tmp180      [V220,T127] (  3,  6   )     int  ->  [fp+0x78]  spill-single-def ptr "Inline stloc first use temp"
 ;* V221 tmp181      [V221    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V222 tmp182      [V222    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V223 tmp183      [V223    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V224 tmp184      [V224    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V225 tmp185      [V225    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V226 tmp186      [V226,T92] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
+;  V226 tmp186      [V226,T93] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
 ;* V227 tmp187      [V227    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V228 tmp188      [V228    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V229 tmp189      [V229    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -243,11 +243,11 @@
 ;* V232 tmp192      [V232    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V233 tmp193      [V233    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V234 tmp194      [V234    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V235 tmp195      [V235,T72] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V235 tmp195      [V235,T73] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V236 tmp196      [V236    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V237 tmp197      [V237    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V238 tmp198      [V238,T112] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V239 tmp199      [V239,T105] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V238 tmp198      [V238,T113] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V239 tmp199      [V239,T106] (  2,  8   )   byref  ->  x13         "Inlining Arg"
...
  
+16 (+1.44%) : 11260.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
@@ -8,15 +8,15 @@
 ; 0 inlinees with PGO data; 13 single block inlinees; 13 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T20] (  7, 196   )     ref  ->  x20         class-hnd exact single-def <<unknown class>>
-;  V01 loc1         [V01,T00] ( 16,1249   )     ref  ->  x21         class-hnd single-def <<unknown class>>
+;  V00 loc0         [V00,T21] (  7, 196   )     ref  ->  x20         class-hnd exact single-def <<unknown class>>
+;  V01 loc1         [V01,T00] ( 15,1121   )     ref  ->  x21         class-hnd single-def <<unknown class>>
 ;  V02 loc2         [V02,T05] (  9, 641   )     ref  ->  x22         class-hnd single-def <<unknown class>>
 ;  V03 loc3         [V03,T08] (  8, 392   )     int  ->  registers  
-;  V04 loc4         [V04,T36] (  2,   0   )     ref  ->  [fp+0x20]  class-hnd exact EH-live single-def <<unknown class>>
-;  V05 loc5         [V05    ] (  6,   5   )   ubyte  ->  [fp+0x30]  do-not-enreg[X] addr-exposed ld-addr-op
-;  V06 loc6         [V06,T23] (  2, 192   )    long  ->  x23        
-;  V07 loc7         [V07,T26] (  3,  80   )     ref  ->  [fp+0x18]  do-not-enreg[Z] class-hnd exact EH-live <<unknown class>>
-;  V08 loc8         [V08    ] (  6, 320   )   ubyte  ->  [fp+0x28]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V04 loc4         [V04,T37] (  2,   0   )     ref  ->  [fp+0x18]  class-hnd exact EH-live single-def <<unknown class>>
+;  V05 loc5         [V05    ] (  6,   5   )   ubyte  ->  [fp+0x28]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V06 loc6         [V06,T24] (  2, 192   )    long  ->  x23        
+;  V07 loc7         [V07,T27] (  3,  80   )     ref  ->  [fp+0x10]  do-not-enreg[Z] class-hnd exact EH-live <<unknown class>>
+;  V08 loc8         [V08    ] (  6, 320   )   ubyte  ->  [fp+0x20]  do-not-enreg[X] addr-exposed ld-addr-op
 ;  V09 loc9         [V09,T01] ( 11,1088   )     int  ->  x25        
 ;  V10 loc10        [V10,T07] (  5, 448   )     ref  ->   x1         class-hnd exact <System.Threading.TimerQueue>
 ;  V11 loc11        [V11,T10] (  4, 384   )    long  ->  x26        
@@ -24,62 +24,64 @@
 ;* V13 loc13        [V13    ] (  0,   0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.TimerQueue]>
 ;* V14 loc14        [V14    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact <System.Threading.TimerQueue>
 ;# V15 OutArgs      [V15    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V16 tmp1         [V16,T34] (  2,   4   )   ubyte  ->   x0         "Inlining Arg"
+;  V16 tmp1         [V16,T35] (  2,   4   )   ubyte  ->   x0         "Inlining Arg"
 ;* V17 tmp2         [V17    ] (  0,   0   )     int  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V18 tmp3         [V18,T29] (  0,   0   )     int  ->  zero-ref    "Inline return value spill temp"
-;  V19 tmp4         [V19,T18] (  2, 256   )   ubyte  ->   x0         "Inlining Arg"
-;  V20 tmp5         [V20,T21] (  3, 192   )     ref  ->  x14         class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V21 tmp6         [V21,T14] (  4, 256   )     int  ->  x15         "Inline stloc first use temp"
-;  V22 tmp7         [V22,T16] (  2, 256   )     ref  ->   x2         class-hnd "Inlining Arg" <System.__Canon>
+;* V18 tmp3         [V18,T30] (  0,   0   )     int  ->  zero-ref    "Inline return value spill temp"
+;  V19 tmp4         [V19,T19] (  2, 256   )   ubyte  ->   x0         "Inlining Arg"
+;  V20 tmp5         [V20,T22] (  3, 192   )     ref  ->  x14         class-hnd "Inline stloc first use temp" <<unknown class>>
+;  V21 tmp6         [V21,T15] (  4, 256   )     int  ->  x15         "Inline stloc first use temp"
+;  V22 tmp7         [V22,T17] (  2, 256   )     ref  ->   x2         class-hnd "Inlining Arg" <System.__Canon>
 ;* V23 tmp8         [V23    ] (  0,   0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.TimerQueue]>
-;* V24 tmp9         [V24,T19] (  0,   0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V24 tmp9         [V24,T20] (  0,   0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V25 tmp10        [V25    ] (  0,   0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V26 tmp11        [V26,T13] (  3, 272   )     int  ->   x2         "Inline stloc first use temp"
-;* V27 tmp12        [V27,T32] (  0,   0   )     ref  ->  zero-ref    "field V13._list (fldOffset=0x0)" P-INDEP
-;  V28 tmp13        [V28,T12] (  2, 192   )     ref  ->  x26         "field V13._current (fldOffset=0x8)" P-INDEP
+;  V26 tmp11        [V26,T14] (  3, 272   )     int  ->   x2         "Inline stloc first use temp"
+;* V27 tmp12        [V27,T33] (  0,   0   )     ref  ->  zero-ref    "field V13._list (fldOffset=0x0)" P-INDEP
+;  V28 tmp13        [V28,T13] (  2, 192   )     ref  ->  x27         "field V13._current (fldOffset=0x8)" P-INDEP
 ;  V29 tmp14        [V29,T02] (  6, 656   )     int  ->  x25         "field V13._index (fldOffset=0x10)" P-INDEP
-;  V30 tmp15        [V30,T24] (  2, 144   )     int  ->  x23         "field V13._version (fldOffset=0x14)" P-INDEP
-;  V31 tmp16        [V31,T30] (  2,  32   )     ref  ->   x0         "field V23._list (fldOffset=0x0)" P-INDEP
+;  V30 tmp15        [V30,T25] (  2, 144   )     int  ->  x23         "field V13._version (fldOffset=0x14)" P-INDEP
+;  V31 tmp16        [V31,T31] (  2,  32   )     ref  ->   x0         "field V23._list (fldOffset=0x0)" P-INDEP
 ;* V32 tmp17        [V32    ] (  0,   0   )     ref  ->  zero-ref    "field V23._current (fldOffset=0x8)" P-INDEP
-;* V33 tmp18        [V33,T33] (  0,   0   )     int  ->  zero-ref    "field V23._index (fldOffset=0x10)" P-INDEP
-;  V34 tmp19        [V34,T31] (  2,  32   )     int  ->  x23         "field V23._version (fldOffset=0x14)" P-INDEP
-;  V35 tmp20        [V35,T37] (  2,   0   )     ref  ->   x2         "argument with side effect"
+;* V33 tmp18        [V33,T34] (  0,   0   )     int  ->  zero-ref    "field V23._index (fldOffset=0x10)" P-INDEP
+;  V34 tmp19        [V34,T32] (  2,  32   )     int  ->  x23         "field V23._version (fldOffset=0x14)" P-INDEP
+;  V35 tmp20        [V35,T38] (  2,   0   )     ref  ->   x2         "argument with side effect"
 ;  V36 tmp21        [V36,T03] (  3, 768   )     ref  ->  x14         "arr expr"
 ;  V37 tmp22        [V37,T11] (  3, 384   )     ref  ->   x2         "arr expr"
 ;  V38 tmp23        [V38,T04] (  3, 768   )     ref  ->   x0         "arr expr"
-;  V39 tmp24        [V39,T17] (  2, 256   )     ref  ->   x0         "argument with side effect"
-;  V40 PSPSym       [V40,T35] (  1,   1   )    long  ->  [fp+0x38]  do-not-enreg[V] "PSPSym"
-;  V41 cse0         [V41,T06] (  3, 384   )     int  ->   x2         "CSE - aggressive"
-;  V42 cse1         [V42,T15] (  4, 256   )     int  ->   x0         "CSE - moderate"
-;  V43 cse2         [V43,T22] (  3, 192   )     ref  ->   x1         "CSE - moderate"
-;  V44 cse3         [V44,T27] (  5,  68   )    long  ->  x19         "CSE - moderate"
-;  V45 cse4         [V45,T25] (  2, 128   )     int  ->  x12         "CSE - moderate"
-;  V46 cse5         [V46,T28] (  6,  51   )     ref  ->   x1         multi-def "CSE - moderate"
+;  V39 tmp24        [V39,T18] (  2, 256   )     ref  ->   x0         "argument with side effect"
+;  V40 PSPSym       [V40,T36] (  1,   1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
+;  V41 cse0         [V41,T12] (  3, 384   )     int  ->  x26         "CSE - aggressive"
+;  V42 cse1         [V42,T06] (  3, 384   )     int  ->   x2         "CSE - aggressive"
+;  V43 cse2         [V43,T16] (  4, 256   )     int  ->   x0         "CSE - moderate"
+;  V44 cse3         [V44,T23] (  3, 192   )     ref  ->   x1         "CSE - moderate"
+;  V45 cse4         [V45,T28] (  5,  68   )    long  ->  x19         "CSE - moderate"
+;  V46 cse5         [V46,T26] (  2, 128   )     int  ->  x12         "CSE - moderate"
+;  V47 cse6         [V47,T29] (  6,  51   )     ref  ->   x1         multi-def "CSE - moderate"
 ;
-; Lcl frame size = 48
+; Lcl frame size = 40
 
 G_M45973_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x80]!
-            stp     x19, x20, [sp, #0x40]
-            stp     x21, x22, [sp, #0x50]
-            stp     x23, x24, [sp, #0x60]
-            stp     x25, x26, [sp, #0x70]
+            stp     x19, x20, [sp, #0x38]
+            stp     x21, x22, [sp, #0x48]
+            stp     x23, x24, [sp, #0x58]
+            stp     x25, x26, [sp, #0x68]
+            str     x27, [sp, #0x78]
             mov     fp, sp
             add     x0, sp, #128
-            str     x0, [fp, #0x38]  // [V40 PSPSym]
-                       ;; size=32 bbWeight=1 PerfScore 7.00
+            str     x0, [fp, #0x30]   // [V40 PSPSym]
+                       ;; size=36 bbWeight=1 PerfScore 8.00
 G_M45973_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x19, #0xD1FFAB1E
             movk    x19, #0xD1FFAB1E LSL #16
             movk    x19, #2 LSL #32
             ldp     x21, x20, [x19, #0xD1FFAB1E]
             ; gcrRegs +[x20-x21]
-            str     x20, [fp, #0x20] // [V04 loc4]
+            str     x20, [fp, #0x18] // [V04 loc4]
             ; GC ptr vars +{V04}
-            str     wzr, [fp, #0x30] // [V05 loc5]
+            str     wzr, [fp, #0x28] // [V05 loc5]
                        ;; size=24 bbWeight=1 PerfScore 7.50
-G_M45973_IG03:        ; bbWeight=1, gcVars=0000001000000000 {V04}, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
-            ldrb    w1, [fp, #0x30]    // [V05 loc5]
+G_M45973_IG03:        ; bbWeight=1, gcVars=0000002000000000 {V04}, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+            ldrb    w1, [fp, #0x28]    // [V05 loc5]
             cbz     w1, G_M45973_IG05
                        ;; size=8 bbWeight=1 PerfScore 3.00
 G_M45973_IG04:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -94,13 +96,13 @@ G_M45973_IG04:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
                        ;; size=24 bbWeight=0 PerfScore 0.00
 G_M45973_IG05:        ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x20-x21]
-            add     x1, fp, #48  // [V05 loc5]
+            add     x1, fp, #40  // [V05 loc5]
             mov     x0, x20
             ; gcrRegs +[x0]
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            ldrb    w0, [fp, #0x30]   // [V05 loc5]
+            ldrb    w0, [fp, #0x28]  // [V05 loc5]
             cbnz    w0, G_M45973_IG06
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
@@ -121,7 +123,7 @@ G_M45973_IG06:        ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {
                        ;; size=4 bbWeight=1 PerfScore 3.00
 G_M45973_IG07:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0000 {}, gcvars, byref, isz
             ; GC ptr vars -{V04}
-            ldrb    w0, [fp, #0x30]  // [V05 loc5]
+            ldrb    w0, [fp, #0x28]  // [V05 loc5]
             cbz     w0, G_M45973_IG08
             mov     x0, x20
             ; gcrRegs +[x0]
@@ -153,20 +155,20 @@ G_M45973_IG09:        ; bbWeight=64, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0
             mov     x23, x0
             movn    w1, #0xD1FFAB1E LSL #16
             sxtw    w24, w1
-            str     x20, [fp, #0x18]  // [V07 loc7]
+            str     x20, [fp, #0x10] // [V07 loc7]
             ; GC ptr vars +{V07}
-            str     wzr, [fp, #0x28] // [V08 loc8]
+            str     wzr, [fp, #0x20] // [V08 loc8]
                        ;; size=72 bbWeight=64 PerfScore 896.00
-G_M45973_IG10:        ; bbWeight=64, gcVars=0000000004000000 {V07}, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0000 {}, gcvars, byref, isz
-            ldrb    w1, [fp, #0x28]    // [V08 loc8]
+G_M45973_IG10:        ; bbWeight=64, gcVars=0000000008000000 {V07}, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0000 {}, gcvars, byref, isz
+            ldrb    w1, [fp, #0x20]    // [V08 loc8]
             cbnz    w1, G_M45973_IG23
-            add     x1, fp, #40 // [V08 loc8]
+            add     x1, fp, #32  // [V08 loc8]
             mov     x0, x20
             ; gcrRegs +[x0]
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            ldrb    w0, [fp, #0x28]   // [V08 loc8]
+            ldrb    w0, [fp, #0x20]  // [V08 loc8]
             cbnz    w0, G_M45973_IG12
                        ;; size=28 bbWeight=64 PerfScore 512.00
 G_M45973_IG11:        ; bbWeight=16, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0000 {}, byref
@@ -328,11 +330,11 @@ G_M45973_IG23:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
                        ;; size=24 bbWeight=0 PerfScore 0.00
 G_M45973_IG24:        ; bbWeight=64, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x20-x22]
-            ldrb    w0, [fp, #0x28]  // [V08 loc8]
+            ldrb    w0, [fp, #0x20]  // [V08 loc8]
             cbz     w0, G_M45973_IG26
                        ;; size=8 bbWeight=64 PerfScore 192.00
 G_M45973_IG25:        ; bbWeight=16, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0000 {}, byref
-            ldr     x0, [fp, #0x18] // [V07 loc7]
+            ldr     x0, [fp, #0x10]  // [V07 loc7]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V07}
             bl      <unknown method>
@@ -351,18 +353,18 @@ G_M45973_IG27:        ; bbWeight=16, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0
             mov     w25, wzr
             b       G_M45973_IG30
                        ;; size=16 bbWeight=16 PerfScore 80.00
-G_M45973_IG28:        ; bbWeight=64, gcrefRegs=4700000 {x20 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x0] +[x26]
+G_M45973_IG28:        ; bbWeight=64, gcrefRegs=8700000 {x20 x21 x22 x27}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs -[x0] +[x27]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #1 LSL #32
             ldr     w0, [x0]
             tbz     w0, #0, G_M45973_IG36
                        ;; size=20 bbWeight=64 PerfScore 352.00
-G_M45973_IG29:        ; bbWeight=64, gcrefRegs=4700000 {x20 x21 x22 x26}, byrefRegs=0000 {}, byref
+G_M45973_IG29:        ; bbWeight=64, gcrefRegs=8700000 {x20 x21 x22 x27}, byrefRegs=0000 {}, byref
             ldr     x0, [x19]
             ; gcrRegs +[x0]
-            mov     x1, x26
+            mov     x1, x27
             ; gcrRegs +[x1]
             movz    x2, #0xD1FFAB1E      // code for System.Threading.ThreadPoolWorkQueue:EnqueueAtHighPriority(System.Object):this
             movk    x2, #0xD1FFAB1E LSL #16
@@ -370,12 +372,12 @@ G_M45973_IG29:        ; bbWeight=64, gcrefRegs=4700000 {x20 x21 x22 x26}, byrefR
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
-            ; gcrRegs -[x0-x1 x26]
+            ; gcrRegs -[x0-x1 x27]
             ; gcr arg pop 0
                        ;; size=32 bbWeight=64 PerfScore 768.00
 G_M45973_IG30:        ; bbWeight=128, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0000 {}, byref, isz
-            ldr     w0, [x21, #0x14]
-            cmp     w23, w0
+            ldr     w26, [x21, #0x14]
+            cmp     w23, w26
             bne     G_M45973_IG38
             ldr     w2, [x21, #0x10]
             cmp     w25, w2
@@ -388,20 +390,19 @@ G_M45973_IG30:        ; bbWeight=128, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
-            ldr     x26, [x0, w25, UXTW #3]
-            ; gcrRegs +[x26]
+            ldr     x27, [x0, w25, UXTW #3]
+            ; gcrRegs +[x27]
             add     w25, w25, #1
             b       G_M45973_IG28
                        ;; size=56 bbWeight=128 PerfScore 2752.00
 G_M45973_IG31:        ; bbWeight=128, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x26]
+            ; gcrRegs -[x27]
             ; byrRegs -[x0]
-            ldr     w0, [x21, #0x14]
-            add     w0, w0, #1
+            add     w0, w26, #1
             stp     wzr, w0, [x21, #0x10]
             cmp     w2, #0
             ble     G_M45973_IG33
-                        ;; size=20 bbWeight=128 PerfScore 768.00
+                      ;; size=16 bbWeight=128 PerfScore 384.00
...
  
  
  
Details
Improvements/regressions per collection
| Collection | Contexts with diffs | Improvements | Regressions | Same size | Improvements (bytes) | Regressions (bytes) | 
| benchmarks.run.osx.arm64.checked.mch | 18 | 18 | 0 | 0 | -140 | +0 | 
| benchmarks.run_pgo.osx.arm64.checked.mch | 34 | 17 | 17 | 0 | -364 | +244 | 
| benchmarks.run_tiered.osx.arm64.checked.mch | 9 | 9 | 0 | 0 | -76 | +0 | 
| coreclr_tests.run.osx.arm64.checked.mch | 52 | 48 | 2 | 2 | -808 | +8 | 
| libraries.crossgen2.osx.arm64.checked.mch | 26 | 23 | 2 | 1 | -236 | +20 | 
| libraries.pmi.osx.arm64.checked.mch | 162 | 153 | 5 | 4 | -2,128 | +68 | 
| libraries_tests.run.osx.arm64.Release.mch | 29 | 27 | 1 | 1 | -484 | +12 | 
| librariestestsnotieredcompilation.run.osx.arm64.Release.mch | 217 | 183 | 13 | 21 | -2,564 | +100 | 
| realworld.run.osx.arm64.checked.mch | 29 | 28 | 1 | 0 | -264 | +16 | 
|  | 576 | 506 | 41 | 29 | -7,064 | +468 | 
Context information
| Collection | Diffed contexts | MinOpts | FullOpts | Missed, base | Missed, diff | 
| benchmarks.run.osx.arm64.checked.mch | 24,839 | 6 | 24,833 | 50 (0.20%) | 50 (0.20%) | 
| benchmarks.run_pgo.osx.arm64.checked.mch | 66,699 | 47,211 | 19,488 | 45 (0.07%) | 45 (0.07%) | 
| benchmarks.run_tiered.osx.arm64.checked.mch | 48,278 | 37,393 | 10,885 | 48 (0.10%) | 48 (0.10%) | 
| coreclr_tests.run.osx.arm64.checked.mch | 506,784 | 301,369 | 205,415 | 116 (0.02%) | 116 (0.02%) | 
| libraries.crossgen2.osx.arm64.checked.mch | 264,502 | 15 | 264,487 | 1 (0.00%) | 1 (0.00%) | 
| libraries.pmi.osx.arm64.checked.mch | 316,412 | 18 | 316,394 | 46 (0.01%) | 48 (0.02%) | 
| libraries_tests.run.osx.arm64.Release.mch | 173,214 | 153,670 | 19,544 | 350 (0.20%) | 350 (0.20%) | 
| librariestestsnotieredcompilation.run.osx.arm64.Release.mch | 301,291 | 21,618 | 279,673 | 2,236 (0.74%) | 2,238 (0.74%) | 
| realworld.run.osx.arm64.checked.mch | 31,596 | 3 | 31,593 | 10 (0.03%) | 10 (0.03%) | 
|  | 1,733,615 | 561,303 | 1,172,312 | 2,902 (0.17%) | 2,906 (0.17%) | 
jit-analyze output
benchmarks.run.osx.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 11101028 (overridden on cmd)
Total bytes of diff: 11100888 (overridden on cmd)
Total bytes of delta: -140 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file improvements (bytes):
         -12 : 1761.dasm (-0.35 % of base)
         -12 : 59.dasm (-1.03 % of base)
         -12 : 13461.dasm (-0.60 % of base)
         -12 : 5302.dasm (-1.94 % of base)
         -12 : 1064.dasm (-1.44 % of base)
          -8 : 4800.dasm (-0.33 % of base)
          -8 : 8142.dasm (-0.90 % of base)
          -8 : 968.dasm (-0.15 % of base)
          -8 : 21688.dasm (-0.60 % of base)
          -8 : 5086.dasm (-1.82 % of base)
          -8 : 9162.dasm (-0.15 % of base)
          -8 : 1961.dasm (-1.49 % of base)
          -4 : 22305.dasm (-0.43 % of base)
          -4 : 3518.dasm (-0.60 % of base)
          -4 : 4524.dasm (-0.38 % of base)
          -4 : 7814.dasm (-0.29 % of base)
          -4 : 11641.dasm (-0.04 % of base)
          -4 : 22410.dasm (-0.19 % of base)
18 total files with Code Size differences (18 improved, 0 regressed), 0 unchanged.
Top method improvements (bytes):
         -12 (-0.35 % of base) : 1761.dasm - ProtoBuf.Internal.Serializers.TypeSerializer`1[System.__Canon]:ProtoBuf.Internal.Serializers.IRuntimeProtoSerializerNode.EmitRead(ProtoBuf.Compiler.CompilerContext,ProtoBuf.Compiler.Local):this (FullOpts)
         -12 (-1.44 % of base) : 1064.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
         -12 (-1.03 % of base) : 59.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
         -12 (-0.60 % of base) : 13461.dasm - System.Formats.Tar.TarReader+<DisposeAsync>d__8:MoveNext():this (FullOpts)
         -12 (-1.94 % of base) : 5302.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -8 (-0.15 % of base) : 9162.dasm - Jil.Deserialize.InlineDeserializer`1[System.__Canon]:ReadObjectAutomata(System.Type):this (FullOpts)
          -8 (-0.60 % of base) : 21688.dasm - System.Diagnostics.ProcessWaitState:CheckChildren(ubyte,ubyte) (FullOpts)
          -8 (-1.49 % of base) : 1961.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
          -8 (-1.82 % of base) : 5086.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
          -8 (-0.33 % of base) : 4800.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (FullOpts)
          -8 (-0.15 % of base) : 968.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
          -8 (-0.90 % of base) : 8142.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
          -4 (-0.60 % of base) : 3518.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -4 (-0.43 % of base) : 22305.dasm - System.IO.BinaryReader:Read():int:this (FullOpts)
          -4 (-0.19 % of base) : 22410.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -4 (-0.04 % of base) : 11641.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (FullOpts)
          -4 (-0.29 % of base) : 7814.dasm - System.Text.RegularExpressions.RegexWriter:EmitCode():System.Text.RegularExpressions.RegexInterpreterCode:this (FullOpts)
          -4 (-0.38 % of base) : 4524.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
Top method improvements (percentages):
         -12 (-1.94 % of base) : 5302.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -8 (-1.82 % of base) : 5086.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
          -8 (-1.49 % of base) : 1961.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -12 (-1.44 % of base) : 1064.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
         -12 (-1.03 % of base) : 59.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
          -8 (-0.90 % of base) : 8142.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
          -4 (-0.60 % of base) : 3518.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -8 (-0.60 % of base) : 21688.dasm - System.Diagnostics.ProcessWaitState:CheckChildren(ubyte,ubyte) (FullOpts)
         -12 (-0.60 % of base) : 13461.dasm - System.Formats.Tar.TarReader+<DisposeAsync>d__8:MoveNext():this (FullOpts)
          -4 (-0.43 % of base) : 22305.dasm - System.IO.BinaryReader:Read():int:this (FullOpts)
          -4 (-0.38 % of base) : 4524.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
         -12 (-0.35 % of base) : 1761.dasm - ProtoBuf.Internal.Serializers.TypeSerializer`1[System.__Canon]:ProtoBuf.Internal.Serializers.IRuntimeProtoSerializerNode.EmitRead(ProtoBuf.Compiler.CompilerContext,ProtoBuf.Compiler.Local):this (FullOpts)
          -8 (-0.33 % of base) : 4800.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (FullOpts)
          -4 (-0.29 % of base) : 7814.dasm - System.Text.RegularExpressions.RegexWriter:EmitCode():System.Text.RegularExpressions.RegexInterpreterCode:this (FullOpts)
          -4 (-0.19 % of base) : 22410.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -8 (-0.15 % of base) : 9162.dasm - Jil.Deserialize.InlineDeserializer`1[System.__Canon]:ReadObjectAutomata(System.Type):this (FullOpts)
          -8 (-0.15 % of base) : 968.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
          -4 (-0.04 % of base) : 11641.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (FullOpts)
18 total methods with Code Size differences (18 improved, 0 regressed).
  
benchmarks.run_pgo.osx.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 24782000 (overridden on cmd)
Total bytes of diff: 24781880 (overridden on cmd)
Total bytes of delta: -120 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          52 : 24687.dasm (1.57 % of base)
          36 : 33204.dasm (1.09 % of base)
          20 : 32525.dasm (0.60 % of base)
          20 : 66163.dasm (0.59 % of base)
          16 : 58909.dasm (0.48 % of base)
          12 : 60440.dasm (0.36 % of base)
           8 : 38572.dasm (0.39 % of base)
           8 : 37572.dasm (0.39 % of base)
           8 : 34559.dasm (0.39 % of base)
           8 : 52372.dasm (0.39 % of base)
           8 : 53705.dasm (0.39 % of base)
           8 : 54733.dasm (0.39 % of base)
           8 : 60570.dasm (0.39 % of base)
           8 : 35518.dasm (0.39 % of base)
           8 : 51833.dasm (0.39 % of base)
           8 : 53606.dasm (0.39 % of base)
           8 : 64037.dasm (0.51 % of base)
Top file improvements (bytes):
         -40 : 53375.dasm (-2.14 % of base)
         -40 : 52974.dasm (-2.14 % of base)
         -40 : 55907.dasm (-1.77 % of base)
         -40 : 56348.dasm (-1.77 % of base)
         -40 : 57629.dasm (-1.63 % of base)
         -40 : 64417.dasm (-1.62 % of base)
         -40 : 66300.dasm (-1.62 % of base)
         -24 : 6489.dasm (-4.92 % of base)
         -20 : 59711.dasm (-2.87 % of base)
          -8 : 2596.dasm (-0.15 % of base)
          -8 : 8397.dasm (-0.90 % of base)
          -4 : 55603.dasm (-0.19 % of base)
          -4 : 56221.dasm (-0.21 % of base)
          -4 : 54706.dasm (-0.43 % of base)
          -4 : 55587.dasm (-0.14 % of base)
          -4 : 61485.dasm (-3.23 % of base)
          -4 : 61500.dasm (-0.12 % of base)
34 total files with Code Size differences (17 improved, 17 regressed), 0 unchanged.
Top method regressions (bytes):
          52 (1.57 % of base) : 24687.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          36 (1.09 % of base) : 33204.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          20 (0.60 % of base) : 32525.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          20 (0.59 % of base) : 66163.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          16 (0.48 % of base) : 58909.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          12 (0.36 % of base) : 60440.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
           8 (0.51 % of base) : 64037.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
           8 (0.39 % of base) : 38572.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
           8 (0.39 % of base) : 37572.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
           8 (0.39 % of base) : 34559.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
           8 (0.39 % of base) : 52372.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
           8 (0.39 % of base) : 53705.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
           8 (0.39 % of base) : 54733.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
           8 (0.39 % of base) : 60570.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
           8 (0.39 % of base) : 35518.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
           8 (0.39 % of base) : 51833.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
           8 (0.39 % of base) : 53606.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
Top method improvements (bytes):
         -40 (-2.14 % of base) : 53375.dasm - LinqBenchmarks:Where00LinqMethodX():ubyte:this (Tier1-OSR)
         -40 (-2.14 % of base) : 52974.dasm - LinqBenchmarks:Where00LinqQueryX():ubyte:this (Tier1-OSR)
         -40 (-1.63 % of base) : 57629.dasm - LinqBenchmarks:Where01LinqMethodNestedX():ubyte:this (Tier1-OSR)
         -40 (-1.77 % of base) : 56348.dasm - LinqBenchmarks:Where01LinqMethodX():ubyte:this (Tier1-OSR)
         -40 (-1.77 % of base) : 55907.dasm - LinqBenchmarks:Where01LinqQueryX():ubyte:this (Tier1-OSR)
         -40 (-1.62 % of base) : 64417.dasm - System.Linq.Lookup`2[System.__Canon,System.__Canon]:Create(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Linq.Lookup`2[System.__Canon,System.__Canon] (Tier1)
         -40 (-1.62 % of base) : 66300.dasm - System.Linq.Lookup`2[System.__Canon,System.__Canon]:Create(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Linq.Lookup`2[System.__Canon,System.__Canon] (Tier1)
         -24 (-4.92 % of base) : 6489.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -20 (-2.87 % of base) : 59711.dasm - System.Linq.Enumerable:Count[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (Tier1)
          -8 (-0.15 % of base) : 2596.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (Tier0-FullOpts)
          -8 (-0.90 % of base) : 8397.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (Tier0-FullOpts)
          -4 (-0.12 % of base) : 61500.dasm - BenchmarksGame.pidigits:Run(ubyte):this (Tier1-OSR)
          -4 (-0.43 % of base) : 54706.dasm - System.IO.BinaryReader:Read():int:this (Tier0-FullOpts)
          -4 (-0.19 % of base) : 55603.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -4 (-0.14 % of base) : 55587.dasm - System.IO.Tests.Perf_Directory:SetupEnumerateFiles():this (Tier1-OSR)
          -4 (-3.23 % of base) : 61485.dasm - System.Numerics.BigIntegerCalculator:Compare(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint]):int (Tier1)
          -4 (-0.21 % of base) : 56221.dasm - System.Numerics.BigIntegerCalculator:Gcd(System.Span`1[uint],System.Span`1[uint]) (Tier1-OSR)
Top method regressions (percentages):
          52 (1.57 % of base) : 24687.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          36 (1.09 % of base) : 33204.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          20 (0.60 % of base) : 32525.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          20 (0.59 % of base) : 66163.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
           8 (0.51 % of base) : 64037.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          16 (0.48 % of base) : 58909.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
           8 (0.39 % of base) : 38572.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
           8 (0.39 % of base) : 37572.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
           8 (0.39 % of base) : 34559.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
           8 (0.39 % of base) : 52372.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
           8 (0.39 % of base) : 53705.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
           8 (0.39 % of base) : 54733.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
           8 (0.39 % of base) : 60570.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
           8 (0.39 % of base) : 35518.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
           8 (0.39 % of base) : 51833.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
           8 (0.39 % of base) : 53606.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          12 (0.36 % of base) : 60440.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
Top method improvements (percentages):
         -24 (-4.92 % of base) : 6489.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
          -4 (-3.23 % of base) : 61485.dasm - System.Numerics.BigIntegerCalculator:Compare(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint]):int (Tier1)
         -20 (-2.87 % of base) : 59711.dasm - System.Linq.Enumerable:Count[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (Tier1)
         -40 (-2.14 % of base) : 53375.dasm - LinqBenchmarks:Where00LinqMethodX():ubyte:this (Tier1-OSR)
         -40 (-2.14 % of base) : 52974.dasm - LinqBenchmarks:Where00LinqQueryX():ubyte:this (Tier1-OSR)
         -40 (-1.77 % of base) : 56348.dasm - LinqBenchmarks:Where01LinqMethodX():ubyte:this (Tier1-OSR)
         -40 (-1.77 % of base) : 55907.dasm - LinqBenchmarks:Where01LinqQueryX():ubyte:this (Tier1-OSR)
         -40 (-1.63 % of base) : 57629.dasm - LinqBenchmarks:Where01LinqMethodNestedX():ubyte:this (Tier1-OSR)
         -40 (-1.62 % of base) : 64417.dasm - System.Linq.Lookup`2[System.__Canon,System.__Canon]:Create(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Linq.Lookup`2[System.__Canon,System.__Canon] (Tier1)
         -40 (-1.62 % of base) : 66300.dasm - System.Linq.Lookup`2[System.__Canon,System.__Canon]:Create(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Linq.Lookup`2[System.__Canon,System.__Canon] (Tier1)
          -8 (-0.90 % of base) : 8397.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (Tier0-FullOpts)
          -4 (-0.43 % of base) : 54706.dasm - System.IO.BinaryReader:Read():int:this (Tier0-FullOpts)
          -4 (-0.21 % of base) : 56221.dasm - System.Numerics.BigIntegerCalculator:Gcd(System.Span`1[uint],System.Span`1[uint]) (Tier1-OSR)
          -4 (-0.19 % of base) : 55603.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -8 (-0.15 % of base) : 2596.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (Tier0-FullOpts)
          -4 (-0.14 % of base) : 55587.dasm - System.IO.Tests.Perf_Directory:SetupEnumerateFiles():this (Tier1-OSR)
          -4 (-0.12 % of base) : 61500.dasm - BenchmarksGame.pidigits:Run(ubyte):this (Tier1-OSR)
34 total methods with Code Size differences (17 improved, 17 regressed).
  
benchmarks.run_tiered.osx.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 15471752 (overridden on cmd)
Total bytes of diff: 15471676 (overridden on cmd)
Total bytes of delta: -76 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file improvements (bytes):
         -24 : 8247.dasm (-4.92 % of base)
         -12 : 5343.dasm (-1.03 % of base)
          -8 : 24843.dasm (-0.33 % of base)
          -8 : 4889.dasm (-0.90 % of base)
          -8 : 2436.dasm (-0.15 % of base)
          -4 : 11683.dasm (-0.29 % of base)
          -4 : 44101.dasm (-0.43 % of base)
          -4 : 20239.dasm (-0.60 % of base)
          -4 : 44402.dasm (-0.19 % of base)
9 total files with Code Size differences (9 improved, 0 regressed), 0 unchanged.
Top method improvements (bytes):
         -24 (-4.92 % of base) : 8247.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -12 (-1.03 % of base) : 5343.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -8 (-0.33 % of base) : 24843.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (Tier1)
          -8 (-0.15 % of base) : 2436.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (Tier0-FullOpts)
          -8 (-0.90 % of base) : 4889.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (Tier0-FullOpts)
          -4 (-0.60 % of base) : 20239.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
          -4 (-0.43 % of base) : 44101.dasm - System.IO.BinaryReader:Read():int:this (Tier0-FullOpts)
          -4 (-0.19 % of base) : 44402.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -4 (-0.29 % of base) : 11683.dasm - System.Text.RegularExpressions.RegexWriter:EmitCode():System.Text.RegularExpressions.RegexInterpreterCode:this (Tier1)
Top method improvements (percentages):
         -24 (-4.92 % of base) : 8247.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -12 (-1.03 % of base) : 5343.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -8 (-0.90 % of base) : 4889.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (Tier0-FullOpts)
          -4 (-0.60 % of base) : 20239.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
          -4 (-0.43 % of base) : 44101.dasm - System.IO.BinaryReader:Read():int:this (Tier0-FullOpts)
          -8 (-0.33 % of base) : 24843.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (Tier1)
          -4 (-0.29 % of base) : 11683.dasm - System.Text.RegularExpressions.RegexWriter:EmitCode():System.Text.RegularExpressions.RegexInterpreterCode:this (Tier1)
          -4 (-0.19 % of base) : 44402.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -8 (-0.15 % of base) : 2436.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (Tier0-FullOpts)
9 total methods with Code Size differences (9 improved, 0 regressed).
  
coreclr_tests.run.osx.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 390213652 (overridden on cmd)
Total bytes of diff: 390212852 (overridden on cmd)
Total bytes of delta: -800 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
           4 : 414146.dasm (0.35 % of base)
           4 : 421672.dasm (0.08 % of base)
Top file improvements (bytes):
         -60 : 488528.dasm (-0.62 % of base)
         -40 : 389070.dasm (-5.29 % of base)
         -36 : 12473.dasm (-1.05 % of base)
         -36 : 444632.dasm (-14.75 % of base)
         -36 : 505330.dasm (-0.97 % of base)
         -36 : 505103.dasm (-0.65 % of base)
         -28 : 504923.dasm (-0.85 % of base)
         -28 : 505200.dasm (-1.01 % of base)
         -28 : 504477.dasm (-0.23 % of base)
         -28 : 505244.dasm (-1.87 % of base)
         -24 : 504529.dasm (-0.55 % of base)
         -20 : 280627.dasm (-0.59 % of base)
         -16 : 418568.dasm (-0.76 % of base)
         -16 : 489737.dasm (-0.33 % of base)
         -16 : 504146.dasm (-0.95 % of base)
         -16 : 506672.dasm (-0.51 % of base)
         -16 : 837.dasm (-1.00 % of base)
         -16 : 505079.dasm (-0.66 % of base)
         -16 : 506701.dasm (-0.53 % of base)
         -12 : 208623.dasm (-1.11 % of base)
49 total files with Code Size differences (47 improved, 2 regressed), 2 unchanged.
Top method regressions (bytes):
           4 (0.08 % of base) : 421672.dasm - GenClass`1[int]:DoTest_Inner[System.__Canon,System.__Canon,System.__Canon](int,GenClass`1[System.__Canon],GenClass`1[System.__Canon],GenClass`1[System.__Canon]) (FullOpts)
           4 (0.35 % of base) : 414146.dasm - System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
Top method improvements (bytes):
         -60 (-0.62 % of base) : 488528.dasm - ILCompiler.Program:RunSingleCompilation(System.Collections.Generic.Dictionary`2[System.String,System.String],ILCompiler.InstructionSetSupport,System.String,System.Collections.Generic.Dictionary`2[System.String,System.String],System.Collections.Generic.HashSet`1[Internal.TypeSystem.ModuleDesc],ILCompiler.ReadyToRunCompilerContext,ILCompiler.Logger):this (FullOpts)
         -40 (-5.29 % of base) : 389070.dasm - CloningForIEnumerable:Sum(System.Collections.Generic.IEnumerable`1[int]):int (Tier1)
         -36 (-0.65 % of base) : 505103.dasm - Microsoft.Build.BackEnd.TargetEntry+<ExecuteTarget>d__44:MoveNext():this (FullOpts)
         -36 (-14.75 % of base) : 444632.dasm - Program:M49() (FullOpts)
         -36 (-0.97 % of base) : 505330.dasm - R2RTest.Buckets:WriteToStream(System.IO.StreamWriter,ubyte):this (FullOpts)
         -36 (-1.05 % of base) : 12473.dasm - System.Threading.Tasks.Task:WaitAllCore(System.Threading.Tasks.Task[],int,System.Threading.CancellationToken):ubyte (Instrumented Tier1)
         -28 (-1.87 % of base) : 505244.dasm - Microsoft.Build.BackEnd.Logging.LoggingService:ShutdownComponent():this (FullOpts)
         -28 (-0.85 % of base) : 504923.dasm - Microsoft.Build.BackEnd.Scheduler:DumpSchedulerState():this (FullOpts)
         -28 (-0.23 % of base) : 504477.dasm - Microsoft.Build.Evaluation.Evaluator`4[System.__Canon,System.__Canon,System.__Canon,System.__Canon]:Evaluate():this (FullOpts)
         -28 (-1.01 % of base) : 505200.dasm - Microsoft.Build.Execution.BuildManager:EndBuild():this (FullOpts)
         -24 (-0.55 % of base) : 504529.dasm - Microsoft.Build.Evaluation.Evaluator`4[System.__Canon,System.__Canon,System.__Canon,System.__Canon]:PerformDepthFirstPass(Microsoft.Build.Construction.ProjectRootElement):this (FullOpts)
         -20 (-0.59 % of base) : 280627.dasm - ILCompiler.DependencyAnalysisFramework.DependencyAnalyzer`2[ILCompiler.DependencyAnalysisFramework.NoLogStrategy`1[System.__Canon],System.__Canon]:GetStaticDependenciesImpl(ILCompiler.DependencyAnalysisFramework.DependencyNodeCore`1[System.__Canon]):this (Tier1-OSR)
         -16 (-0.33 % of base) : 489737.dasm - ILCompiler.DependencyAnalysis.ReadyToRunObjectWriter:EmitPortableExecutable():this (FullOpts)
         -16 (-0.66 % of base) : 505079.dasm - Microsoft.Build.BackEnd.TargetBuilder+<PushTargets>d__26:MoveNext():this (FullOpts)
         -16 (-0.95 % of base) : 504146.dasm - PathExtensions+<DeleteSubtreesAsync>d__14:MoveNext():this (FullOpts)
         -16 (-0.76 % of base) : 418568.dasm - StackFrame:Validate(System.String,StackFrame[]) (FullOpts)
         -16 (-1.00 % of base) : 837.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Instrumented Tier1)
         -16 (-0.53 % of base) : 506701.dasm - Tracing.Tests.DiagnosticPortValidation.DiagnosticPortValidation+<TEST_ConfigValidation>d__6:MoveNext():this (FullOpts)
         -16 (-0.51 % of base) : 506672.dasm - Tracing.Tests.DiagnosticPortValidation.DiagnosticPortValidation+<TEST_MultipleConnectPortsNoSuspend>d__1:MoveNext():this (FullOpts)
         -12 (-0.22 % of base) : 421183.dasm - GetInterfaceMapWithStaticVirtualsAndConstraints.Program:TestEntryPoint() (FullOpts)
Top method regressions (percentages):
           4 (0.35 % of base) : 414146.dasm - System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
           4 (0.08 % of base) : 421672.dasm - GenClass`1[int]:DoTest_Inner[System.__Canon,System.__Canon,System.__Canon](int,GenClass`1[System.__Canon],GenClass`1[System.__Canon],GenClass`1[System.__Canon]) (FullOpts)
Top method improvements (percentages):
         -36 (-14.75 % of base) : 444632.dasm - Program:M49() (FullOpts)
         -40 (-5.29 % of base) : 389070.dasm - CloningForIEnumerable:Sum(System.Collections.Generic.IEnumerable`1[int]):int (Tier1)
         -12 (-4.55 % of base) : 450399.dasm - Test.BB:TestEntryPoint() (FullOpts)
         -12 (-1.90 % of base) : 443294.dasm - Mutate:TestEntryPoint():int (FullOpts)
         -28 (-1.87 % of base) : 505244.dasm - Microsoft.Build.BackEnd.Logging.LoggingService:ShutdownComponent():this (FullOpts)
         -12 (-1.44 % of base) : 488105.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
         -12 (-1.38 % of base) : 276662.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
         -12 (-1.12 % of base) : 490011.dasm - ILCompiler.PEWriter.SectionBuilder:RelocateOutputFile(System.Reflection.Metadata.BlobBuilder,ulong,System.IO.Stream):this (FullOpts)
         -12 (-1.11 % of base) : 208623.dasm - System.Diagnostics.Tracing.EventSource:EnsureDescriptorsInitialized():this (Instrumented Tier1)
         -36 (-1.05 % of base) : 12473.dasm - System.Threading.Tasks.Task:WaitAllCore(System.Threading.Tasks.Task[],int,System.Threading.CancellationToken):ubyte (Instrumented Tier1)
         -12 (-1.04 % of base) : 488043.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
         -28 (-1.01 % of base) : 505200.dasm - Microsoft.Build.Execution.BuildManager:EndBuild():this (FullOpts)
         -12 (-1.01 % of base) : 276462.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
         -16 (-1.00 % of base) : 837.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Instrumented Tier1)
         -12 (-0.97 % of base) : 208632.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
         -36 (-0.97 % of base) : 505330.dasm - R2RTest.Buckets:WriteToStream(System.IO.StreamWriter,ubyte):this (FullOpts)
         -16 (-0.95 % of base) : 504146.dasm - PathExtensions+<DeleteSubtreesAsync>d__14:MoveNext():this (FullOpts)
         -12 (-0.95 % of base) : 490002.dasm - ILCompiler.PEWriter.SectionBuilder:SerializeRelocationSection(System.Reflection.PortableExecutable.SectionLocation):System.Reflection.Metadata.BlobBuilder:this (FullOpts)
         -12 (-0.89 % of base) : 285235.dasm - System.Diagnostics.ProcessWaitState:CheckChildren(ubyte,ubyte) (FullOpts)
         -12 (-0.88 % of base) : 504822.dasm - Microsoft.Build.BackEnd.Scheduler:DumpConfigurations():this (FullOpts)
  
libraries.crossgen2.osx.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 63645568 (overridden on cmd)
Total bytes of diff: 63645352 (overridden on cmd)
Total bytes of delta: -216 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          12 : 200009.dasm (0.54 % of base)
           8 : 22066.dasm (0.09 % of base)
Top file improvements (bytes):
         -24 : 20531.dasm (-2.87 % of base)
         -24 : 22481.dasm (-4.65 % of base)
         -20 : 254963.dasm (-11.11 % of base)
         -16 : 23074.dasm (-1.63 % of base)
         -12 : 204680.dasm (-0.55 % of base)
         -12 : 12301.dasm (-1.52 % of base)
         -12 : 17483.dasm (-1.07 % of base)
         -12 : 220573.dasm (-0.55 % of base)
         -12 : 23073.dasm (-2.40 % of base)
         -12 : 17481.dasm (-1.20 % of base)
         -12 : 21927.dasm (-1.74 % of base)
          -8 : 21657.dasm (-0.40 % of base)
          -8 : 233546.dasm (-0.14 % of base)
          -8 : 259101.dasm (-1.10 % of base)
          -8 : 259106.dasm (-0.95 % of base)
          -8 : 21867.dasm (-1.05 % of base)
          -4 : 10711.dasm (-0.41 % of base)
          -4 : 204116.dasm (-0.33 % of base)
          -4 : 256285.dasm (-0.09 % of base)
          -4 : 176848.dasm (-0.07 % of base)
25 total files with Code Size differences (23 improved, 2 regressed), 1 unchanged.
Top method regressions (bytes):
          12 (0.54 % of base) : 200009.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
           8 (0.09 % of base) : 22066.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
Top method improvements (bytes):
         -24 (-4.65 % of base) : 22481.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -24 (-2.87 % of base) : 20531.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
         -20 (-11.11 % of base) : 254963.dasm - System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
         -16 (-1.63 % of base) : 23074.dasm - System.Diagnostics.Tracing.CounterGroup:PollForValues() (FullOpts)
         -12 (-0.55 % of base) : 204680.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
         -12 (-0.55 % of base) : 220573.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
         -12 (-2.40 % of base) : 23073.dasm - System.Diagnostics.Tracing.CounterGroup:ResetCounters():this (FullOpts)
         -12 (-1.20 % of base) : 17481.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
         -12 (-1.07 % of base) : 17483.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
         -12 (-1.52 % of base) : 12301.dasm - System.Diagnostics.Tracing.EventSource:GetSources():System.Collections.Generic.IEnumerable`1[System.Diagnostics.Tracing.EventSource] (FullOpts)
         -12 (-1.74 % of base) : 21927.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -8 (-1.05 % of base) : 21867.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -8 (-0.40 % of base) : 21657.dasm - System.Environment:ReadXdgDirectory(System.String,System.String,System.String):System.String (FullOpts)
          -8 (-0.14 % of base) : 233546.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (FullOpts)
          -8 (-1.10 % of base) : 259101.dasm - System.Xml.Linq.Extensions+<GetDescendantNodes>d__22`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -8 (-0.95 % of base) : 259106.dasm - System.Xml.Linq.Extensions+<GetDescendants>d__23`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-0.33 % of base) : 204116.dasm - System.Data.ProviderBase.DbConnectionPool:TryGetConnection(System.Data.Common.DbConnection,uint,ubyte,ubyte,System.Data.Common.DbConnectionOptions,byref):ubyte:this (FullOpts)
          -4 (-0.09 % of base) : 256285.dasm - System.Globalization.FormatProvider+Number:NumberToStringFormat(byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
          -4 (-0.41 % of base) : 10711.dasm - System.IO.BinaryReader:Read():int:this (FullOpts)
          -4 (-0.17 % of base) : 17420.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
Top method regressions (percentages):
          12 (0.54 % of base) : 200009.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
           8 (0.09 % of base) : 22066.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
Top method improvements (percentages):
         -20 (-11.11 % of base) : 254963.dasm - System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
         -24 (-4.65 % of base) : 22481.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -24 (-2.87 % of base) : 20531.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
         -12 (-2.40 % of base) : 23073.dasm - System.Diagnostics.Tracing.CounterGroup:ResetCounters():this (FullOpts)
         -12 (-1.74 % of base) : 21927.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
         -16 (-1.63 % of base) : 23074.dasm - System.Diagnostics.Tracing.CounterGroup:PollForValues() (FullOpts)
         -12 (-1.52 % of base) : 12301.dasm - System.Diagnostics.Tracing.EventSource:GetSources():System.Collections.Generic.IEnumerable`1[System.Diagnostics.Tracing.EventSource] (FullOpts)
         -12 (-1.20 % of base) : 17481.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
          -8 (-1.10 % of base) : 259101.dasm - System.Xml.Linq.Extensions+<GetDescendantNodes>d__22`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -12 (-1.07 % of base) : 17483.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
          -8 (-1.05 % of base) : 21867.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -8 (-0.95 % of base) : 259106.dasm - System.Xml.Linq.Extensions+<GetDescendants>d__23`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -12 (-0.55 % of base) : 204680.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
         -12 (-0.55 % of base) : 220573.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
          -4 (-0.41 % of base) : 10711.dasm - System.IO.BinaryReader:Read():int:this (FullOpts)
          -8 (-0.40 % of base) : 21657.dasm - System.Environment:ReadXdgDirectory(System.String,System.String,System.String):System.String (FullOpts)
          -4 (-0.34 % of base) : 22841.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
          -4 (-0.33 % of base) : 204116.dasm - System.Data.ProviderBase.DbConnectionPool:TryGetConnection(System.Data.Common.DbConnection,uint,ubyte,ubyte,System.Data.Common.DbConnectionOptions,byref):ubyte:this (FullOpts)
          -4 (-0.17 % of base) : 17420.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -8 (-0.14 % of base) : 233546.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (FullOpts)
25 total methods with Code Size differences (23 improved, 2 regressed).
  
libraries.pmi.osx.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 80235780 (overridden on cmd)
Total bytes of diff: 80233720 (overridden on cmd)
Total bytes of delta: -2060 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          28 : 239147.dasm (1.14 % of base)
          16 : 234402.dasm (0.60 % of base)
          12 : 225883.dasm (0.15 % of base)
           8 : 221307.dasm (0.28 % of base)
           4 : 7768.dasm (0.06 % of base)
Top file improvements (bytes):
         -64 : 191056.dasm (-2.22 % of base)
         -44 : 297763.dasm (-0.46 % of base)
         -44 : 37177.dasm (-0.56 % of base)
         -40 : 239167.dasm (-7.94 % of base)
         -32 : 203959.dasm (-0.73 % of base)
         -32 : 311215.dasm (-2.20 % of base)
         -32 : 186421.dasm (-2.31 % of base)
         -28 : 186398.dasm (-4.61 % of base)
         -28 : 186835.dasm (-1.26 % of base)
         -28 : 195057.dasm (-6.67 % of base)
         -28 : 195882.dasm (-0.49 % of base)
         -28 : 207795.dasm (-1.26 % of base)
         -28 : 247410.dasm (-0.72 % of base)
         -28 : 261307.dasm (-7.00 % of base)
         -28 : 289014.dasm (-1.45 % of base)
         -28 : 299520.dasm (-4.49 % of base)
         -24 : 288780.dasm (-6.90 % of base)
         -24 : 72969.dasm (-4.32 % of base)
         -24 : 190195.dasm (-5.08 % of base)
         -24 : 192122.dasm (-0.72 % of base)
62 total files with Code Size differences (57 improved, 5 regressed), 4 unchanged.
Top method regressions (bytes):
          28 (1.14 % of base) : 239147.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
          16 (0.60 % of base) : 234402.dasm - System.Runtime.Serialization.SchemaImporter:ImportType(System.Xml.Schema.XmlSchemaType,System.Xml.XmlQualifiedName,ubyte):System.Runtime.Serialization.DataContracts.DataContract:this (FullOpts)
          12 (0.15 % of base) : 225883.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
           8 (0.28 % of base) : 221307.dasm - System.Xml.Xsl.Xslt.XsltLoader:ParseModeListAttribute(int):System.Xml.Xsl.Qil.QilName:this (FullOpts)
           4 (0.06 % of base) : 7768.dasm - System.Number:NumberToStringFormat[ubyte](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
Top method improvements (bytes):
         -64 (-2.22 % of base) : 191056.dasm - Microsoft.Build.Execution.BuildManager:EndBuild():this (FullOpts)
         -44 (-0.46 % of base) : 297763.dasm - ILCompiler.Program:RunSingleCompilation(System.Collections.Generic.Dictionary`2[System.String,System.String],ILCompiler.InstructionSetSupport,System.String,System.Collections.Generic.Dictionary`2[System.String,System.String],System.Collections.Generic.HashSet`1[Internal.TypeSystem.ModuleDesc],ILCompiler.ReadyToRunCompilerContext,ILCompiler.Logger):this (FullOpts)
         -44 (-0.56 % of base) : 37177.dasm - Microsoft.CodeAnalysis.CommonCompiler:CompileAndEmit(Microsoft.CodeAnalysis.TouchedFileLogger,byref,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.ISourceGenerator],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.AdditionalText],Microsoft.CodeAnalysis.AnalyzerConfigSet,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.AnalyzerConfigOptionsResult],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.EmbeddedText],Microsoft.CodeAnalysis.DiagnosticBag,Microsoft.CodeAnalysis.ErrorLogger,System.Threading.CancellationToken,byref,byref,byref):this (FullOpts)
         -40 (-7.94 % of base) : 239167.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:MostSpecificProcedure(System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],byref,System.Object[],System.String[]):Microsoft.VisualBasic.CompilerServices.Symbols+Method (FullOpts)
         -32 (-2.31 % of base) : 186421.dasm - Newtonsoft.Json.Linq.JsonPath.FieldMultipleFilter+<ExecuteFilter>d__2:MoveNext():ubyte:this (FullOpts)
         -32 (-2.20 % of base) : 311215.dasm - System.Net.CookieContainer:DomainTableCleanup():this (FullOpts)
         -32 (-0.73 % of base) : 203959.dasm - Xunit.Sdk.XunitTestAssemblyRunner+<RunTestCollectionsAsync>d__14:MoveNext():this (FullOpts)
         -28 (-0.49 % of base) : 195882.dasm - Microsoft.Build.BackEnd.TargetEntry+<ExecuteTarget>d__44:MoveNext():this (FullOpts)
         -28 (-6.67 % of base) : 195057.dasm - Microsoft.Build.Evaluation.ProjectCollection+LoadedProjectCollection:GetMatchingProjectIfAny(System.String,System.Collections.Generic.IDictionary`2[System.String,System.String],System.String):Microsoft.Build.Evaluation.Project:this (FullOpts)
         -28 (-4.61 % of base) : 186398.dasm - Newtonsoft.Json.Linq.JsonPath.ArrayMultipleIndexFilter+<ExecuteFilter>d__2:MoveNext():ubyte:this (FullOpts)
         -28 (-1.45 % of base) : 289014.dasm - System.Composition.Convention.PartConventionBuilder:BuildPropertyAttributes(System.Type,byref):this (FullOpts)
         -28 (-1.26 % of base) : 186835.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
         -28 (-1.26 % of base) : 207795.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
         -28 (-0.72 % of base) : 247410.dasm - System.Data.DataTable:ReadXmlSchema(System.Xml.XmlReader,ubyte):this (FullOpts)
         -28 (-4.49 % of base) : 299520.dasm - System.Diagnostics.Metrics.AggregationManager:GetInstrumentState(System.Diagnostics.Metrics.Instrument):System.Diagnostics.Metrics.InstrumentState:this (FullOpts)
         -28 (-7.00 % of base) : 261307.dasm - Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
         -24 (-2.33 % of base) : 269333.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.GcInfo:UpdateTransitionCodeOffset(System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.Amd64.GcTransition]):System.Collections.Generic.Dictionary`2[int,System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.BaseGcTransition]]:this (FullOpts)
         -24 (-4.92 % of base) : 193298.dasm - Microsoft.Build.BackEnd.Logging.LoggingService:get_RegisteredLoggerTypeNames():System.Collections.Generic.ICollection`1[System.String]:this (FullOpts)
         -24 (-0.72 % of base) : 192122.dasm - Microsoft.Build.BackEnd.Scheduler:DumpSchedulerState():this (FullOpts)
         -24 (-5.08 % of base) : 190195.dasm - Microsoft.Build.Evaluation.ProjectCollection:RemoveGlobalProperty(System.String):ubyte:this (FullOpts)
Top method regressions (percentages):
          28 (1.14 % of base) : 239147.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
          16 (0.60 % of base) : 234402.dasm - System.Runtime.Serialization.SchemaImporter:ImportType(System.Xml.Schema.XmlSchemaType,System.Xml.XmlQualifiedName,ubyte):System.Runtime.Serialization.DataContracts.DataContract:this (FullOpts)
           8 (0.28 % of base) : 221307.dasm - System.Xml.Xsl.Xslt.XsltLoader:ParseModeListAttribute(int):System.Xml.Xsl.Qil.QilName:this (FullOpts)
          12 (0.15 % of base) : 225883.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
           4 (0.06 % of base) : 7768.dasm - System.Number:NumberToStringFormat[ubyte](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
Top method improvements (percentages):
         -20 (-11.90 % of base) : 297351.dasm - System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
         -40 (-7.94 % of base) : 239167.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:MostSpecificProcedure(System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],byref,System.Object[],System.String[]):Microsoft.VisualBasic.CompilerServices.Symbols+Method (FullOpts)
         -28 (-7.00 % of base) : 261307.dasm - Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
         -24 (-6.90 % of base) : 288780.dasm - Microsoft.Extensions.Configuration.ConfigurationManager:Microsoft.Extensions.Configuration.IConfigurationRoot.Reload():this (FullOpts)
         -28 (-6.67 % of base) : 195057.dasm - Microsoft.Build.Evaluation.ProjectCollection+LoadedProjectCollection:GetMatchingProjectIfAny(System.String,System.Collections.Generic.IDictionary`2[System.String,System.String],System.String):Microsoft.Build.Evaluation.Project:this (FullOpts)
         -24 (-5.83 % of base) : 261306.dasm - Xunit.AggregateMessageSink:Dispose():this (FullOpts)
         -24 (-5.22 % of base) : 297362.dasm - System.Net.HttpEndPointListener:Close():this (FullOpts)
         -24 (-5.08 % of base) : 190195.dasm - Microsoft.Build.Evaluation.ProjectCollection:RemoveGlobalProperty(System.String):ubyte:this (FullOpts)
         -24 (-4.92 % of base) : 193298.dasm - Microsoft.Build.BackEnd.Logging.LoggingService:get_RegisteredLoggerTypeNames():System.Collections.Generic.ICollection`1[System.String]:this (FullOpts)
         -24 (-4.92 % of base) : 452.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -28 (-4.61 % of base) : 186398.dasm - Newtonsoft.Json.Linq.JsonPath.ArrayMultipleIndexFilter+<ExecuteFilter>d__2:MoveNext():ubyte:this (FullOpts)
         -28 (-4.49 % of base) : 299520.dasm - System.Diagnostics.Metrics.AggregationManager:GetInstrumentState(System.Diagnostics.Metrics.Instrument):System.Diagnostics.Metrics.InstrumentState:this (FullOpts)
         -24 (-4.32 % of base) : 72969.dasm - System.Security.Cryptography.X509Certificates.X500NameEncoder:X500DistinguishedNameEncode(System.String,int):ubyte[] (FullOpts)
         -12 (-2.59 % of base) : 259534.dasm - Microsoft.Extensions.DependencyInjection.DependencyInjectionEventSource:OnEventCommand(System.Diagnostics.Tracing.EventCommandEventArgs):this (FullOpts)
          -8 (-2.47 % of base) : 302720.dasm - System.IO.Packaging.PackagePart:Close():this (FullOpts)
         -12 (-2.44 % of base) : 30962.dasm - System.Diagnostics.Tracing.CounterGroup:ResetCounters():this (FullOpts)
         -24 (-2.33 % of base) : 269333.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.GcInfo:UpdateTransitionCodeOffset(System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.Amd64.GcTransition]):System.Collections.Generic.Dictionary`2[int,System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.BaseGcTransition]]:this (FullOpts)
         -32 (-2.31 % of base) : 186421.dasm - Newtonsoft.Json.Linq.JsonPath.FieldMultipleFilter+<ExecuteFilter>d__2:MoveNext():ubyte:this (FullOpts)
         -12 (-2.31 % of base) : 301309.dasm - System.Threading.Tasks.Dataflow.BroadcastBlock`1+BroadcastingSourceCore`1[ubyte,System.Nullable`1[int]]:AddExceptions(System.Collections.Generic.List`1[System.Exception]):this (FullOpts)
         -12 (-2.31 % of base) : 302205.dasm - System.Threading.Tasks.Dataflow.Internal.SourceCore`1[ubyte]:AddExceptions(System.Collections.Generic.List`1[System.Exception]):this (FullOpts)
  
libraries_tests.run.osx.arm64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 72839284 (overridden on cmd)
Total bytes of diff: 72838812 (overridden on cmd)
Total bytes of delta: -472 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          12 : 123695.dasm (0.18 % of base)
Top file improvements (bytes):
         -40 : 58279.dasm (-1.21 % of base)
         -32 : 116431.dasm (-1.27 % of base)
         -32 : 32319.dasm (-1.70 % of base)
         -32 : 58281.dasm (-2.73 % of base)
         -32 : 94646.dasm (-1.97 % of base)
         -24 : 124289.dasm (-1.31 % of base)
         -24 : 124260.dasm (-1.20 % of base)
         -24 : 124262.dasm (-1.55 % of base)
         -24 : 94236.dasm (-0.23 % of base)
         -24 : 124261.dasm (-1.12 % of base)
         -24 : 124265.dasm (-1.31 % of base)
         -20 : 131044.dasm (-1.92 % of base)
         -20 : 162452.dasm (-1.93 % of base)
         -20 : 12100.dasm (-1.83 % of base)
         -20 : 35551.dasm (-1.87 % of base)
         -16 : 58344.dasm (-1.89 % of base)
         -12 : 133198.dasm (-1.66 % of base)
         -12 : 80341.dasm (-0.72 % of base)
          -8 : 148157.dasm (-0.23 % of base)
          -8 : 648.dasm (-0.47 % of base)
28 total files with Code Size differences (27 improved, 1 regressed), 1 unchanged.
Top method regressions (bytes):
          12 (0.18 % of base) : 123695.dasm - System.Reflection.Metadata.Tests.LargeTablesAndHeapsTests:Strings():this (Tier1-OSR)
Top method improvements (bytes):
         -40 (-1.21 % of base) : 58279.dasm - System.Threading.Tasks.Task:WaitAllCore(System.Threading.Tasks.Task[],int,System.Threading.CancellationToken):ubyte (Instrumented Tier1)
         -32 (-1.70 % of base) : 32319.dasm - System.Collections.Concurrent.Tests.RangePartitionerHelpers:CompareSequences[int](System.Collections.Generic.IEnumerable`1[int],System.Collections.Generic.IEnumerable`1[int]):ubyte (Tier1-OSR)
         -32 (-1.27 % of base) : 116431.dasm - System.PrivateUri.Tests.UriRelativeResolutionTest:Uri_Unicode_SurrogatePairs_Scheme():this (Tier1-OSR)
         -32 (-2.73 % of base) : 58281.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (Instrumented Tier1)
         -32 (-1.97 % of base) : 94646.dasm - Xunit.Sdk.XunitTheoryTestCaseRunner+<RunTestAsync>d__11:MoveNext():this (Tier1-OSR)
         -24 (-1.20 % of base) : 124260.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeConstantTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
         -24 (-1.12 % of base) : 124261.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeCustomAttributeTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
         -24 (-1.31 % of base) : 124289.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeDeclSecurityTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
         -24 (-1.55 % of base) : 124262.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeFieldMarshalTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
         -24 (-1.31 % of base) : 124265.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeMethodSemanticsTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
         -24 (-0.23 % of base) : 94236.dasm - Xunit.Sdk.XunitTheoryTestCaseRunner+<AfterTestCaseStartingAsync>d__9:MoveNext():this (Tier1-OSR)
         -20 (-1.92 % of base) : 131044.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.93 % of base) : 162452.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.83 % of base) : 12100.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.87 % of base) : 35551.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.89 % of base) : 58344.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (Instrumented Tier1)
         -12 (-1.66 % of base) : 133198.dasm - System.Numerics.Tests.MyBigIntImp:Remainder(System.Collections.Generic.List`1[ubyte],System.Collections.Generic.List`1[ubyte]):System.Collections.Generic.List`1[ubyte] (Tier1-OSR)
         -12 (-0.72 % of base) : 80341.dasm - System.Threading.Tasks.TaskExceptionHolder:AddFaultException(System.Object):this (Instrumented Tier1)
          -8 (-0.50 % of base) : 6293.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Instrumented Tier1)
          -8 (-0.47 % of base) : 648.dasm - System.Diagnostics.Tracing.EventSource:InitializeProviderMetadata():this (Instrumented Tier1)
Top method regressions (percentages):
          12 (0.18 % of base) : 123695.dasm - System.Reflection.Metadata.Tests.LargeTablesAndHeapsTests:Strings():this (Tier1-OSR)
Top method improvements (percentages):
         -32 (-2.73 % of base) : 58281.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (Instrumented Tier1)
         -32 (-1.97 % of base) : 94646.dasm - Xunit.Sdk.XunitTheoryTestCaseRunner+<RunTestAsync>d__11:MoveNext():this (Tier1-OSR)
         -20 (-1.93 % of base) : 162452.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.92 % of base) : 131044.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.89 % of base) : 58344.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (Instrumented Tier1)
         -20 (-1.87 % of base) : 35551.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.83 % of base) : 12100.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -32 (-1.70 % of base) : 32319.dasm - System.Collections.Concurrent.Tests.RangePartitionerHelpers:CompareSequences[int](System.Collections.Generic.IEnumerable`1[int],System.Collections.Generic.IEnumerable`1[int]):ubyte (Tier1-OSR)
         -12 (-1.66 % of base) : 133198.dasm - System.Numerics.Tests.MyBigIntImp:Remainder(System.Collections.Generic.List`1[ubyte],System.Collections.Generic.List`1[ubyte]):System.Collections.Generic.List`1[ubyte] (Tier1-OSR)
         -24 (-1.55 % of base) : 124262.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeFieldMarshalTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
         -24 (-1.31 % of base) : 124289.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeDeclSecurityTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
         -24 (-1.31 % of base) : 124265.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeMethodSemanticsTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
         -32 (-1.27 % of base) : 116431.dasm - System.PrivateUri.Tests.UriRelativeResolutionTest:Uri_Unicode_SurrogatePairs_Scheme():this (Tier1-OSR)
         -40 (-1.21 % of base) : 58279.dasm - System.Threading.Tasks.Task:WaitAllCore(System.Threading.Tasks.Task[],int,System.Threading.CancellationToken):ubyte (Instrumented Tier1)
         -24 (-1.20 % of base) : 124260.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeConstantTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
         -24 (-1.12 % of base) : 124261.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeCustomAttributeTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
          -8 (-0.83 % of base) : 145409.dasm - System.Security.Cryptography.XmlKeyHelper:WriteCryptoBinary(System.String,System.ReadOnlySpan`1[ubyte],System.Text.StringBuilder) (Tier0-FullOpts)
         -12 (-0.72 % of base) : 80341.dasm - System.Threading.Tasks.TaskExceptionHolder:AddFaultException(System.Object):this (Instrumented Tier1)
          -8 (-0.50 % of base) : 6293.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Instrumented Tier1)
          -8 (-0.47 % of base) : 648.dasm - System.Diagnostics.Tracing.EventSource:InitializeProviderMetadata():this (Instrumented Tier1)
28 total methods with Code Size differences (27 improved, 1 regressed).
  
librariestestsnotieredcompilation.run.osx.arm64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 159909600 (overridden on cmd)
Total bytes of diff: 159907136 (overridden on cmd)
Total bytes of delta: -2464 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          28 : 58076.dasm (1.24 % of base)
          16 : 205233.dasm (1.38 % of base)
          12 : 53375.dasm (1.14 % of base)
           8 : 142363.dasm (0.42 % of base)
           4 : 163864.dasm (0.05 % of base)
           4 : 207803.dasm (0.35 % of base)
           4 : 208201.dasm (0.37 % of base)
           4 : 207843.dasm (0.37 % of base)
           4 : 208080.dasm (0.33 % of base)
           4 : 208412.dasm (0.35 % of base)
           4 : 25057.dasm (0.35 % of base)
           4 : 126329.dasm (0.49 % of base)
           4 : 79062.dasm (0.48 % of base)
Top file improvements (bytes):
         -48 : 158462.dasm (-1.20 % of base)
         -48 : 834.dasm (-1.06 % of base)
         -36 : 151451.dasm (-2.51 % of base)
         -36 : 151173.dasm (-2.51 % of base)
         -36 : 86594.dasm (-1.89 % of base)
         -32 : 121358.dasm (-1.11 % of base)
         -32 : 295417.dasm (-0.98 % of base)
         -32 : 87933.dasm (-1.65 % of base)
         -32 : 292980.dasm (-1.08 % of base)
         -32 : 4463.dasm (-1.87 % of base)
         -28 : 2342.dasm (-1.65 % of base)
         -28 : 294684.dasm (-1.19 % of base)
         -28 : 20487.dasm (-1.12 % of base)
         -28 : 299181.dasm (-0.78 % of base)
         -24 : 214532.dasm (-0.90 % of base)
         -24 : 218203.dasm (-0.90 % of base)
         -24 : 22023.dasm (-1.47 % of base)
         -24 : 80812.dasm (-0.96 % of base)
         -24 : 97424.dasm (-0.56 % of base)
         -20 : 147949.dasm (-11.90 % of base)
55 total files with Code Size differences (42 improved, 13 regressed), 20 unchanged.
Top method regressions (bytes):
          28 (1.24 % of base) : 58076.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
          16 (1.38 % of base) : 205233.dasm - System.Tests.DecimalTests+BigIntegerCompare:Test() (FullOpts)
          12 (1.14 % of base) : 53375.dasm - Microsoft.Extensions.Logging.Test.FormattedLogValuesTest:CachedFormattersAreCapped():this (FullOpts)
           8 (0.42 % of base) : 142363.dasm - System.Buffers.Text.Tests.Base64DecoderUnitTests:BasicDecodingInvalidInputLength():this (FullOpts)
           4 (0.48 % of base) : 79062.dasm - System.ComponentModel.Composition.ReflectionModel.GenericServices:GetGenericName(System.String,int[],int):System.String (FullOpts)
           4 (0.49 % of base) : 126329.dasm - System.IO.Packaging.Tests.ReflectionTests:<Verify_GeneralPurposeBitFlag_NotSetTo_Unicode>g__CheckCharacters|0_0(System.String) (FullOpts)
           4 (0.35 % of base) : 25057.dasm - System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
           4 (0.37 % of base) : 207843.dasm - System.Tests.DecimalTests:BigInteger_Ceiling() (FullOpts)
           4 (0.37 % of base) : 208201.dasm - System.Tests.DecimalTests:BigInteger_Floor() (FullOpts)
           4 (0.33 % of base) : 208080.dasm - System.Tests.DecimalTests:BigInteger_Round() (FullOpts)
           4 (0.35 % of base) : 208412.dasm - System.Tests.DecimalTests:BigInteger_RoundAwayFromZero() (FullOpts)
           4 (0.35 % of base) : 207803.dasm - System.Tests.DecimalTests:BigInteger_Truncate() (FullOpts)
           4 (0.05 % of base) : 163864.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
Top method improvements (bytes):
         -48 (-1.20 % of base) : 158462.dasm - System.Numerics.Tests.QuaternionTests:QuaternionFromRotationMatrixTest5():this (FullOpts)
         -48 (-1.06 % of base) : 834.dasm - Xunit.Sdk.XunitTestAssemblyRunner+<RunTestCollectionsAsync>d__14:MoveNext():this (FullOpts)
         -36 (-1.89 % of base) : 86594.dasm - System.Composition.Convention.PartConventionBuilder:BuildPropertyAttributes(System.Type,byref):this (FullOpts)
         -36 (-2.51 % of base) : 151451.dasm - System.Net.CookieContainer:DomainTableCleanup():this (FullOpts)
         -36 (-2.51 % of base) : 151173.dasm - System.Net.CookieContainer:DomainTableCleanup():this (FullOpts)
         -32 (-1.87 % of base) : 4463.dasm - Microsoft.DotNet.XUnitExtensions.XunitParallelTheoryTestCaseRunner+<RunTestAsync>d__11:MoveNext():this (FullOpts)
         -32 (-1.65 % of base) : 87933.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
         -32 (-1.11 % of base) : 121358.dasm - System.IO.Compression.Tests.ZipFileTestBase+<CreateFromDir>d__25:MoveNext():this (FullOpts)
         -32 (-1.08 % of base) : 292980.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+<Heartbeat>d__23[System.__Canon,int]:MoveNext():this (FullOpts)
         -32 (-0.98 % of base) : 295417.dasm - System.Threading.Tasks.Dataflow.Tests.BatchBlockTests+<TestNonGreedyLostMessages>d__17:MoveNext():this (FullOpts)
         -28 (-1.12 % of base) : 20487.dasm - NuGet.Protocol.HttpSourceAuthenticationHandler+<SendAsync>d__9:MoveNext():this (FullOpts)
         -28 (-1.19 % of base) : 294684.dasm - System.Threading.Tasks.Dataflow.Tests.SimpleNetworkTests+<BufferBlocksToBatchNonGreedyToAction>d__8:MoveNext():this (FullOpts)
         -28 (-0.78 % of base) : 299181.dasm - System.Threading.Tests.EtwTests+<>c:<WaitHandleWaitEventTest>b__1_0():this (FullOpts)
         -28 (-1.65 % of base) : 2342.dasm - Xunit.Sdk.XunitTheoryTestCaseRunner+<RunTestAsync>d__11:MoveNext():this (FullOpts)
         -24 (-1.47 % of base) : 22023.dasm - NuGet.Packaging.Signing.SignedPackageArchiveUtility:GetPackageContentHash(System.IO.BinaryReader):System.String (FullOpts)
         -24 (-0.96 % of base) : 80812.dasm - System.ComponentModel.Composition.Hosting.DirectoryCatalog:Refresh():this (FullOpts)
         -24 (-0.56 % of base) : 97424.dasm - System.Diagnostics.Tests.ActivitySourceTests+<>c:<TestActivityCreationProperties>b__9_0():this (FullOpts)
         -24 (-0.90 % of base) : 214532.dasm - System.Security.Cryptography.EcDsa.Tests.ECDsaTests:SignVerify_InteroperableSameKeys_RoundTripsUnlessTampered(System.Security.Cryptography.ECDsa,System.Security.Cryptography.HashAlgorithmName):this (FullOpts)
         -24 (-0.90 % of base) : 218203.dasm - System.Security.Cryptography.EcDsa.Tests.ECDsaTests:SignVerify_InteroperableSameKeys_RoundTripsUnlessTampered(System.Security.Cryptography.ECDsa,System.Security.Cryptography.HashAlgorithmName):this (FullOpts)
         -20 (-11.90 % of base) : 147949.dasm - System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
Top method regressions (percentages):
          16 (1.38 % of base) : 205233.dasm - System.Tests.DecimalTests+BigIntegerCompare:Test() (FullOpts)
          28 (1.24 % of base) : 58076.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
          12 (1.14 % of base) : 53375.dasm - Microsoft.Extensions.Logging.Test.FormattedLogValuesTest:CachedFormattersAreCapped():this (FullOpts)
           4 (0.49 % of base) : 126329.dasm - System.IO.Packaging.Tests.ReflectionTests:<Verify_GeneralPurposeBitFlag_NotSetTo_Unicode>g__CheckCharacters|0_0(System.String) (FullOpts)
           4 (0.48 % of base) : 79062.dasm - System.ComponentModel.Composition.ReflectionModel.GenericServices:GetGenericName(System.String,int[],int):System.String (FullOpts)
           8 (0.42 % of base) : 142363.dasm - System.Buffers.Text.Tests.Base64DecoderUnitTests:BasicDecodingInvalidInputLength():this (FullOpts)
           4 (0.37 % of base) : 208201.dasm - System.Tests.DecimalTests:BigInteger_Floor() (FullOpts)
           4 (0.37 % of base) : 207843.dasm - System.Tests.DecimalTests:BigInteger_Ceiling() (FullOpts)
           4 (0.35 % of base) : 25057.dasm - System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
           4 (0.35 % of base) : 207803.dasm - System.Tests.DecimalTests:BigInteger_Truncate() (FullOpts)
           4 (0.35 % of base) : 208412.dasm - System.Tests.DecimalTests:BigInteger_RoundAwayFromZero() (FullOpts)
           4 (0.33 % of base) : 208080.dasm - System.Tests.DecimalTests:BigInteger_Round() (FullOpts)
           4 (0.05 % of base) : 163864.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
Top method improvements (percentages):
         -20 (-11.90 % of base) : 147949.dasm - System.Net.HttpEndPointListener:Accept(System.Net.Sockets.SocketAsyncEventArgs):this (FullOpts)
         -16 (-4.12 % of base) : 216621.dasm - System.Security.Cryptography.X509Certificates.FindPal:LaxParseDecimalBigInteger(System.String):System.Numerics.BigInteger (FullOpts)
         -16 (-4.12 % of base) : 540.dasm - Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
         -12 (-3.57 % of base) : 33481.dasm - Microsoft.Extensions.Configuration.ConfigurationManager:Microsoft.Extensions.Configuration.IConfigurationRoot.Reload():this (FullOpts)
         -16 (-3.39 % of base) : 37296.dasm - Microsoft.Extensions.DependencyInjection.DependencyInjectionEventSource:OnEventCommand(System.Diagnostics.Tracing.EventCommandEventArgs):this (FullOpts)
         -12 (-3.03 % of base) : 126320.dasm - System.IO.Packaging.PackagePart:Close():this (FullOpts)
         -16 (-2.88 % of base) : 153779.dasm - System.Security.Cryptography.X509Certificates.X500NameEncoder:X500DistinguishedNameEncode(System.String,int):ubyte[] (FullOpts)
         -16 (-2.76 % of base) : 218668.dasm - System.Security.Cryptography.X509Certificates.Tests.PfxIterationCountTests+<GetCertsWith_IterationCountExceedingDefaultLimit_MemberData>d__18:MoveNext():ubyte:this (FullOpts)
         -16 (-2.74 % of base) : 218966.dasm - System.Security.Cryptography.X509Certificates.Tests.PfxIterationCountTests+<GetCertsWith_IterationCountNotExceedingDefaultLimit_AndNullOrEmptyPassword_MemberData>d__17:MoveNext():ubyte:this (FullOpts)
         -12 (-2.68 % of base) : 147975.dasm - System.Net.HttpEndPointListener:Close():this (FullOpts)
         -16 (-2.65 % of base) : 217914.dasm - System.Security.Cryptography.X509Certificates.Tests.PfxIterationCountTests+<GetCertsWith_NonNullOrEmptyPassword_MemberData>d__19:MoveNext():ubyte:this (FullOpts)
         -12 (-2.59 % of base) : 20492.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
         -12 (-2.59 % of base) : 146063.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
         -16 (-2.55 % of base) : 146343.dasm - System.Net.Http.Headers.HttpHeaderValueCollection`1+<<GetEnumerator>g__Iterate|14_0>d[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -16 (-2.55 % of base) : 20565.dasm - System.Net.Http.Headers.HttpHeaderValueCollection`1+<<GetEnumerator>g__Iterate|14_0>d[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -36 (-2.51 % of base) : 151451.dasm - System.Net.CookieContainer:DomainTableCleanup():this (FullOpts)
         -36 (-2.51 % of base) : 151173.dasm - System.Net.CookieContainer:DomainTableCleanup():this (FullOpts)
         -16 (-2.50 % of base) : 212287.dasm - System.Security.Claims.ClaimsIdentity+<CombinedClaimsIterator>d__38:MoveNext():ubyte:this (FullOpts)
         -12 (-2.46 % of base) : 29002.dasm - Microsoft.Extensions.Caching.Memory.MemoryCache:Sum():System.ValueTuple`2[long,long]:this (FullOpts)
         -16 (-2.34 % of base) : 20469.dasm - System.Net.Http.Headers.HttpHeaders:CloneHeaderInfo(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo):System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo (FullOpts)
  
realworld.run.osx.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os osx -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 15078748 (overridden on cmd)
Total bytes of diff: 15078500 (overridden on cmd)
Total bytes of delta: -248 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          16 : 11260.dasm (1.44 % of base)
Top file improvements (bytes):
         -12 : 14283.dasm (-0.56 % of base)
         -12 : 31573.dasm (-1.45 % of base)
         -12 : 29079.dasm (-2.73 % of base)
         -12 : 29722.dasm (-0.54 % of base)
         -12 : 29931.dasm (-1.24 % of base)
         -12 : 1504.dasm (-1.44 % of base)
         -12 : 29047.dasm (-1.60 % of base)
         -12 : 29683.dasm (-0.63 % of base)
         -12 : 30846.dasm (-0.26 % of base)
         -12 : 12432.dasm (-0.27 % of base)
         -12 : 29704.dasm (-0.31 % of base)
         -12 : 29941.dasm (-0.80 % of base)
         -12 : 5027.dasm (-2.00 % of base)
         -12 : 59.dasm (-1.03 % of base)
          -8 : 13036.dasm (-0.88 % of base)
          -8 : 28480.dasm (-1.49 % of base)
          -8 : 29667.dasm (-0.50 % of base)
          -8 : 12025.dasm (-0.38 % of base)
          -8 : 29489.dasm (-0.83 % of base)
          -8 : 29980.dasm (-1.13 % of base)
29 total files with Code Size differences (28 improved, 1 regressed), 0 unchanged.
Top method regressions (bytes):
          16 (1.44 % of base) : 11260.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
Top method improvements (bytes):
         -12 (-0.56 % of base) : 14283.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
         -12 (-0.27 % of base) : 12432.dasm - Microsoft.ML.Data.TextLoader+Bindings:.ctor(Microsoft.ML.Data.TextLoader,Microsoft.ML.Data.TextLoader+Column[],Microsoft.ML.Data.IMultiStreamSource,Microsoft.ML.Data.IMultiStreamSource):this (FullOpts)
         -12 (-0.80 % of base) : 29941.dasm - Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBaseManager:LoadFromFileHelper(System.Collections.ObjectModel.Collection`1[System.Management.Automation.Runspaces.PSSnapInTypeAndFormatErrors],Microsoft.PowerShell.Commands.Internal.Format.PSPropertyExpressionFactory,System.Management.Automation.AuthorizationManager,System.Management.Automation.Host.PSHost,ubyte,byref,byref):Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBase (FullOpts)
         -12 (-1.24 % of base) : 29931.dasm - Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBaseManager:Update(System.Management.Automation.AuthorizationManager,System.Management.Automation.Host.PSHost):this (FullOpts)
         -12 (-0.63 % of base) : 29683.dasm - Microsoft.PowerShell.Commands.ModuleCmdletBase+<GetModuleForRootedPaths>d__95:MoveNext():ubyte:this (FullOpts)
         -12 (-1.44 % of base) : 1504.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
         -12 (-1.03 % of base) : 59.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
         -12 (-0.54 % of base) : 29722.dasm - System.Management.Automation.Internal.ModuleUtils+<GetDefaultAvailableModuleFiles>d__9:MoveNext():ubyte:this (FullOpts)
         -12 (-1.60 % of base) : 29047.dasm - System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberAdded(System.String) (FullOpts)
         -12 (-2.73 % of base) : 29079.dasm - System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberPossiblyUpdated(System.String) (FullOpts)
         -12 (-0.31 % of base) : 29704.dasm - System.Management.Automation.LocationGlobber:ExpandMshGlobPath(System.String,ubyte,System.Management.Automation.PSDriveInfo,System.Management.Automation.Provider.ContainerCmdletProvider,System.Management.Automation.CmdletProviderContext):System.Collections.ObjectModel.Collection`1[System.String]:this (FullOpts)
         -12 (-1.45 % of base) : 31573.dasm - System.Management.Automation.PSObject:GetMappedAdapter(System.Object,System.Management.Automation.Runspaces.TypeTable):System.Management.Automation.PSObject+AdapterSet (FullOpts)
         -12 (-0.26 % of base) : 30846.dasm - System.Management.Automation.ScriptBlock:InvokeWithPipeImpl(int,ubyte,System.Collections.Generic.Dictionary`2[System.String,System.Management.Automation.ScriptBlock],System.Collections.Generic.List`1[System.Management.Automation.PSVariable],int,System.Object,System.Object,System.Object,System.Management.Automation.Internal.Pipe,System.Management.Automation.InvocationInfo,System.Object[]):this (FullOpts)
         -12 (-2.00 % of base) : 5027.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -8 (-1.13 % of base) : 29980.dasm - Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBaseManager:LoadFormatDataHelper(System.Management.Automation.ExtendedTypeDefinition,Microsoft.PowerShell.Commands.Internal.Format.PSPropertyExpressionFactory,System.Collections.Generic.List`1[Microsoft.PowerShell.Commands.Internal.Format.XmlLoaderLoggerEntry],byref,System.Management.Automation.Runspaces.PSSnapInTypeAndFormatErrors,Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBase,ubyte,ubyte) (FullOpts)
          -8 (-0.38 % of base) : 12025.dasm - SixLabors.ImageSharp.Metadata.Profiles.Exif.BaseExifReader:ReadBigValues(System.Collections.Generic.List`1[SixLabors.ImageSharp.Metadata.Profiles.Exif.IExifValue]):this (FullOpts)
          -8 (-1.49 % of base) : 28480.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
          -8 (-1.43 % of base) : 29658.dasm - System.Management.Automation.CommandProcessor:DoBegin():this (FullOpts)
          -8 (-0.50 % of base) : 29667.dasm - System.Management.Automation.CommandProcessor:ProcessRecord():this (FullOpts)
          -8 (-0.83 % of base) : 29489.dasm - System.Management.Automation.Internal.PipelineProcessor:SynchronousExecuteEnumerate(System.Object):System.Array:this (FullOpts)
Top method regressions (percentages):
          16 (1.44 % of base) : 11260.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
Top method improvements (percentages):
         -12 (-2.73 % of base) : 29079.dasm - System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberPossiblyUpdated(System.String) (FullOpts)
         -12 (-2.00 % of base) : 5027.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
         -12 (-1.60 % of base) : 29047.dasm - System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberAdded(System.String) (FullOpts)
          -8 (-1.49 % of base) : 28480.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -12 (-1.45 % of base) : 31573.dasm - System.Management.Automation.PSObject:GetMappedAdapter(System.Object,System.Management.Automation.Runspaces.TypeTable):System.Management.Automation.PSObject+AdapterSet (FullOpts)
         -12 (-1.44 % of base) : 1504.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
          -8 (-1.43 % of base) : 29658.dasm - System.Management.Automation.CommandProcessor:DoBegin():this (FullOpts)
         -12 (-1.24 % of base) : 29931.dasm - Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBaseManager:Update(System.Management.Automation.AuthorizationManager,System.Management.Automation.Host.PSHost):this (FullOpts)
          -8 (-1.13 % of base) : 29980.dasm - Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBaseManager:LoadFormatDataHelper(System.Management.Automation.ExtendedTypeDefinition,Microsoft.PowerShell.Commands.Internal.Format.PSPropertyExpressionFactory,System.Collections.Generic.List`1[Microsoft.PowerShell.Commands.Internal.Format.XmlLoaderLoggerEntry],byref,System.Management.Automation.Runspaces.PSSnapInTypeAndFormatErrors,Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBase,ubyte,ubyte) (FullOpts)
         -12 (-1.03 % of base) : 59.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
          -8 (-0.96 % of base) : 31552.dasm - System.Management.Automation.Runspaces.LocalRunspace:CloseOrDisconnectAllRemoteRunspaces(System.Func`1[System.Collections.Generic.List`1[System.Management.Automation.RemoteRunspace]]) (FullOpts)
          -8 (-0.88 % of base) : 13036.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
          -8 (-0.83 % of base) : 29489.dasm - System.Management.Automation.Internal.PipelineProcessor:SynchronousExecuteEnumerate(System.Object):System.Array:this (FullOpts)
         -12 (-0.80 % of base) : 29941.dasm - Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBaseManager:LoadFromFileHelper(System.Collections.ObjectModel.Collection`1[System.Management.Automation.Runspaces.PSSnapInTypeAndFormatErrors],Microsoft.PowerShell.Commands.Internal.Format.PSPropertyExpressionFactory,System.Management.Automation.AuthorizationManager,System.Management.Automation.Host.PSHost,ubyte,byref,byref):Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBase (FullOpts)
          -8 (-0.68 % of base) : 31550.dasm - System.Management.Automation.Runspaces.LocalRunspace:StopOrDisconnectAllJobs():this (FullOpts)
          -4 (-0.63 % of base) : 5344.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
         -12 (-0.63 % of base) : 29683.dasm - Microsoft.PowerShell.Commands.ModuleCmdletBase+<GetModuleForRootedPaths>d__95:MoveNext():ubyte:this (FullOpts)
          -4 (-0.60 % of base) : 29752.dasm - System.Management.Automation.Internal.PipelineProcessor:Clean():this (FullOpts)
         -12 (-0.56 % of base) : 14283.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
         -12 (-0.54 % of base) : 29722.dasm - System.Management.Automation.Internal.ModuleUtils+<GetDefaultAvailableModuleFiles>d__9:MoveNext():ubyte:this (FullOpts)
29 total methods with Code Size differences (28 improved, 1 regressed).
  
  
windows arm64
Diffs are based on 1,478,006 contexts (263,527 MinOpts, 1,214,479 FullOpts).
MISSED contexts: base: 2,751 (0.19%), diff: 2,755 (0.19%)
Overall (-6,524 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.windows.arm64.checked.mch | 10,887,636 | -148 | 
| benchmarks.run_pgo.windows.arm64.checked.mch | 36,162,312 | +688 | 
| benchmarks.run_tiered.windows.arm64.checked.mch | 15,269,056 | -76 | 
| coreclr_tests.run.windows.arm64.checked.mch | 277,085,768 | -736 | 
| libraries.crossgen2.windows.arm64.checked.mch | 66,990,496 | -196 | 
| libraries.pmi.windows.arm64.checked.mch | 79,832,108 | -2,556 | 
| libraries_tests.run.windows.arm64.Release.mch | 6,478,404 | -448 | 
| librariestestsnotieredcompilation.run.windows.arm64.Release.mch | 168,103,524 | -2,532 | 
| realworld.run.windows.arm64.checked.mch | 15,900,008 | -400 | 
| smoke_tests.nativeaot.windows.arm64.checked.mch | 3,865,048 | -120 | 
  
FullOpts (-6,524 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| benchmarks.run.windows.arm64.checked.mch | 10,887,100 | -148 | 
| benchmarks.run_pgo.windows.arm64.checked.mch | 23,135,448 | +688 | 
| benchmarks.run_tiered.windows.arm64.checked.mch | 4,070,224 | -76 | 
| coreclr_tests.run.windows.arm64.checked.mch | 138,793,200 | -736 | 
| libraries.crossgen2.windows.arm64.checked.mch | 66,988,860 | -196 | 
| libraries.pmi.windows.arm64.checked.mch | 79,712,124 | -2,556 | 
| libraries_tests.run.windows.arm64.Release.mch | 5,254,404 | -448 | 
| librariestestsnotieredcompilation.run.windows.arm64.Release.mch | 155,044,244 | -2,532 | 
| realworld.run.windows.arm64.checked.mch | 15,336,032 | -400 | 
| smoke_tests.nativeaot.windows.arm64.checked.mch | 3,864,036 | -120 | 
  
Example diffs
benchmarks.run.windows.arm64.checked.mch
-24 (-4.92%) : 3190.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
@@ -8,10 +8,10 @@
 ; 0 inlinees with PGO data; 12 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] (  3,  3   )    long  ->  x19         single-def
-;  V01 arg1         [V01,T19] (  3,  3   )    long  ->  x20         single-def
-;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x20]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T20] (  4, 11   )    long  ->  x20        
+;  V00 arg0         [V00,T19] (  3,  3   )    long  ->  x19         single-def
+;  V01 arg1         [V01,T20] (  3,  3   )    long  ->  x20         single-def
+;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x28]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
+;  V03 loc1         [V03,T21] (  4, 11   )    long  ->  x20        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
@@ -19,14 +19,14 @@
 ;  V08 tmp1         [V08,T10] (  7, 84   )     ref  ->  x19         class-hnd single-def "non-inline candidate call" <<unknown class>>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V11 tmp4         [V11,T29] (  3,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V12 tmp5         [V12,T22] (  2,  4   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp4         [V11,T30] (  3,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp5         [V12,T23] (  2,  4   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp10        [V17,T08] (  2, 16   )     int  ->   x4         "Inlining Arg"
-;  V18 tmp11        [V18,T07] (  2, 16   )   byref  ->   x3         "Inlining Arg"
+;  V17 tmp10        [V17,T07] (  2, 16   )     int  ->   x4         "Inlining Arg"
+;  V18 tmp11        [V18,T06] (  2, 16   )   byref  ->   x3         "Inlining Arg"
 ;* V19 tmp12        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V21 tmp14        [V21,T12] (  2,  8   )   ubyte  ->   x0         "Inline return value spill temp"
@@ -40,30 +40,30 @@
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V30 tmp23        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V32 tmp25        [V32,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V32 tmp25        [V32,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V33 tmp26        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V34 tmp27        [V34,T23] (  3, 17   )     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
-;  V35 tmp28        [V35,T21] (  4, 18   )     int  ->  x15         "Inline stloc first use temp"
-;  V36 tmp29        [V36,T17] (  3, 20   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [fp+0x10]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
-;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
-;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
-;  V40 tmp33        [V40,T02] (  4, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V41 tmp34        [V41,T03] (  4, 20   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V34 tmp27        [V34,T24] (  3, 17   )     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
+;  V35 tmp28        [V35,T22] (  4, 18   )     int  ->  x15         "Inline stloc first use temp"
+;  V36 tmp29        [V36,T18] (  3, 20   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [fp+0x18]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
+;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
+;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
+;  V40 tmp33        [V40,T03] (  4, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V41 tmp34        [V41,T02] (  4, 20   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V42 tmp35        [V42,T00] (  6, 41   )     int  ->  x22         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V43 tmp36        [V43,T05] (  3, 17   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
-;  V44 tmp37        [V44,T13] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp38        [V45,T15] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp36        [V43,T13] (  2,  9   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
+;  V44 tmp37        [V44,T14] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp38        [V45,T16] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V46 tmp39        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V47 tmp40        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V48 tmp41        [V48,T24] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;  V48 tmp41        [V48,T25] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V49 tmp42        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V50 tmp43        [V50,T27] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
-;  V51 tmp44        [V51,T25] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
+;* V50 tmp43        [V50,T28] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
+;  V51 tmp44        [V51,T26] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
 ;  V52 tmp45        [V52,T11] (  3, 12   )   byref  ->   x3         "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V53 tmp46        [V53,T06] (  4, 16   )     int  ->   x4         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V54 tmp47        [V54,T14] (  2,  8   )   byref  ->   x3         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V55 tmp48        [V55,T16] (  2,  8   )     int  ->   x4         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V53 tmp46        [V53,T05] (  4, 16   )     int  ->   x4         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V54 tmp47        [V54,T15] (  2,  8   )   byref  ->   x3         "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V55 tmp48        [V55,T17] (  2,  8   )     int  ->   x4         "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp50        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V58 tmp51        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
@@ -79,26 +79,26 @@
 ;* V68 tmp61        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V69 tmp62        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;  V70 tmp63        [V70,T01] (  3, 48   )     ref  ->   x2         "arr expr"
-;  V71 PSPSym       [V71,T28] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
-;  V72 cse0         [V72,T04] (  3, 24   )     int  ->  x23         "CSE - aggressive"
-;  V73 cse1         [V73,T26] (  2, 16   )     int  ->  x12         "CSE - moderate"
+;  V71 PSPSym       [V71,T29] (  1,  1   )    long  ->  [fp+0x38]  do-not-enreg[V] "PSPSym"
+;  V72 cse0         [V72,T09] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V73 cse1         [V73,T04] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V74 cse2         [V74,T27] (  2, 16   )     int  ->  x12         "CSE - moderate"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 48
 
 G_M19804_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x38]
-            stp     x21, x22, [sp, #0x48]
-            str     x23, [sp, #0x58]
+            stp     x19, x20, [sp, #0x40]
+            stp     x21, x22, [sp, #0x50]
             mov     fp, sp
-            str     xzr, [fp, #0x20]  // [V02 loc0]
+            str     xzr, [fp, #0x28] // [V02 loc0]
             add     x2, sp, #96
-            str     x2, [fp, #0x30]   // [V71 PSPSym]
+            str     x2, [fp, #0x38]    // [V71 PSPSym]
             mov     x19, x0
             mov     x20, x1
-                      ;; size=40 bbWeight=1 PerfScore 8.00
+                      ;; size=36 bbWeight=1 PerfScore 7.00
 G_M19804_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x0, fp, #16    // [V37 tmp30]
+            add     x0, fp, #24 // [V37 tmp30]
             bl      CORINFO_HELP_JIT_REVERSE_PINVOKE_ENTER
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 1.50
@@ -111,9 +111,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             blr     x1
             ; byrRegs +[x0]
             ; gcr arg pop 0
-            stp     x0, x1, [fp, #0x20]   // [V02 loc0], [V02 loc0+0x08]
+            stp     x0, x1, [fp, #0x28] // [V02 loc0], [V02 loc0+0x08]
             ldrb    w2, [x20, #0x08]
-            cbz     w2, G_M19804_IG11
+            cbz     w2, G_M19804_IG10
             ldr     x19, [x20]
             ; gcrRegs +[x19]
             ldr     w21, [x19, #0x14]
@@ -123,9 +123,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M19804_IG04:        ; bbWeight=4, gcrefRegs=80004 {x2 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x2]
             ; byrRegs -[x0]
-            ldr     x0, [fp, #0x20]   // [V38 tmp31]
+            ldr     x0, [fp, #0x28] // [V38 tmp31]
             ; byrRegs +[x0]
-            ldr     w1, [fp, #0x28]  // [V39 tmp32]
+            ldr     w1, [fp, #0x30] // [V39 tmp32]
             cbnz    x2, G_M19804_IG05
             mov     x3, xzr
             ; byrRegs +[x3]
@@ -153,15 +153,15 @@ G_M19804_IG06:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0009 {x0 x3
             blr     x3
             ; byrRegs -[x0-x1]
             ; gcr arg pop 0
-            cbnz    w0, G_M19804_IG14
+            cbnz    w0, G_M19804_IG13
                       ;; size=40 bbWeight=4 PerfScore 38.00
 G_M19804_IG07:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            ldr     w23, [x19, #0x14]
-            cmp     w21, w23
-            bne     G_M19804_IG10
+            ldr     w2, [x19, #0x14]
+            cmp     w21, w2
+            bne     G_M19804_IG09
             ldr     w2, [x19, #0x10]
             cmp     w22, w2
-            bhs     G_M19804_IG11
+            bhs     G_M19804_IG10
             ldr     x2, [x19, #0x08]
             ; gcrRegs +[x2]
             ldr     w0, [x2, #0x08]
@@ -191,13 +191,9 @@ G_M19804_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
 G_M19804_IG10:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            cmp     w21, w23
-            bne     G_M19804_IG09
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldr     x19, [x20]
             ; gcrRegs +[x19]
-            add     x0, fp, #32  // [V02 loc0]
+            add     x0, fp, #40  // [V02 loc0]
             movz    x1, #0xD1FFAB1E      // code for <unknown method>
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
@@ -214,9 +210,9 @@ G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x14]
             ldr     w12, [x14, #0x08]
             cmp     w12, w15
-            bls     G_M19804_IG13
+            bls     G_M19804_IG12
                      ;; size=60 bbWeight=8 PerfScore 172.00
-G_M19804_IG12:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG11:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             add     w12, w15, #1
             str     w12, [x19, #0x10]
@@ -229,9 +225,9 @@ G_M19804_IG12:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x1 x15 x19]
             ; byrRegs -[x14]
-            b       G_M19804_IG14
+            b       G_M19804_IG13
                      ;; size=28 bbWeight=1 PerfScore 5.50
-G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG12:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x1 x19]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -243,28 +239,26 @@ G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {},
             ; gcrRegs -[x0-x1 x19]
             ; gcr arg pop 0
                        ;; size=24 bbWeight=1 PerfScore 6.00
-G_M19804_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x0, fp, #16    // [V37 tmp30]
+G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            add     x0, fp, #24    // [V37 tmp30]
             bl      CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x23, [sp, #0x58]
-            ldp     x21, x22, [sp, #0x48]
-            ldp     x19, x20, [sp, #0x38]
+G_M19804_IG14:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x50]
+            ldp     x19, x20, [sp, #0x40]
             ldp     fp, lr, [sp], #0x60
             ret     lr
-                       ;; size=20 bbWeight=1 PerfScore 6.00
-G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                      ;; size=16 bbWeight=1 PerfScore 4.00
+G_M19804_IG15:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             ; gcrRegs +[x0]
             stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            str     x23, [sp, #0x38]
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
             add     x3, fp, #96
-            str     x3, [sp, #0x10]
-                       ;; size=24 bbWeight=0 PerfScore 0.00
-G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
+            str     x3, [sp, #0x18]
+                       ;; size=20 bbWeight=0 PerfScore 0.00
+G_M19804_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
             ldr     x1, [x0]
             ldr     x1, [x1, #0x48]
             ldr     x1, [x1, #0x08]
@@ -277,17 +271,16 @@ G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
...
  
-12 (-1.94%) : 6831.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
@@ -10,8 +10,8 @@
 ;
 ;  V00 this         [V00,T10] (  3,  4   )     ref  ->  x20         this class-hnd single-def <System.Threading.Tasks.Task>
 ;  V01 arg1         [V01,T09] (  5,  4.50)     ref  ->  x19         class-hnd single-def <System.Threading.Tasks.Task+ContingentProperties>
-;  V02 loc0         [V02,T12] (  5,  3.50)     ref  ->  x21         class-hnd single-def <<unknown class>>
-;  V03 loc1         [V03,T16] (  3,  0.50)     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <<unknown class>>
+;  V02 loc0         [V02,T13] (  5,  3.50)     ref  ->  x21         class-hnd single-def <<unknown class>>
+;  V03 loc1         [V03,T17] (  3,  0.50)     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <<unknown class>>
 ;  V04 loc2         [V04    ] (  6,  2.50)   ubyte  ->  [fp+0x18]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
@@ -24,20 +24,21 @@
 ;  V13 tmp5         [V13,T05] (  3, 12   )     ref  ->  x24         class-hnd "Inlining Arg" <System.AggregateException>
 ;* V14 tmp6         [V14    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V15 tmp7         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V16 tmp8         [V16,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V16 tmp8         [V16,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V17 tmp9         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V18 tmp10        [V18,T02] (  4, 12.50)     ref  ->  x21         single-def "field V05._list (fldOffset=0x0)" P-INDEP
-;  V19 tmp11        [V19,T03] (  3, 10   )     ref  ->  x24         "field V05._current (fldOffset=0x8)" P-INDEP
+;  V18 tmp10        [V18,T03] (  4, 12.50)     ref  ->  x21         single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V19 tmp11        [V19,T02] (  3, 10   )     ref  ->  x24         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V20 tmp12        [V20,T00] (  6, 20.50)     int  ->  x23         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V21 tmp13        [V21,T07] (  3,  8.50)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
-;  V22 tmp14        [V22,T13] (  3,  1.50)     ref  ->  x21         single-def "field V09._list (fldOffset=0x0)" P-INDEP
+;  V21 tmp13        [V21,T12] (  2,  4.50)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V22 tmp14        [V22,T14] (  3,  1.50)     ref  ->  x21         single-def "field V09._list (fldOffset=0x0)" P-INDEP
 ;* V23 tmp15        [V23    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V09._current (fldOffset=0x8)" P-INDEP
-;* V24 tmp16        [V24,T17] (  0,  0   )     int  ->  zero-ref    "field V09._index (fldOffset=0x10)" P-INDEP
-;  V25 tmp17        [V25,T14] (  2,  1   )     int  ->  x22         "field V09._version (fldOffset=0x14)" P-INDEP
+;* V24 tmp16        [V24,T18] (  0,  0   )     int  ->  zero-ref    "field V09._index (fldOffset=0x10)" P-INDEP
+;  V25 tmp17        [V25,T15] (  2,  1   )     int  ->  x22         "field V09._version (fldOffset=0x14)" P-INDEP
 ;  V26 tmp18        [V26,T01] (  3, 24   )     ref  ->   x0         "arr expr"
-;  V27 PSPSym       [V27,T15] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
-;  V28 cse0         [V28,T06] (  3, 12   )     int  ->  x24         "CSE - aggressive"
-;  V29 cse1         [V29,T04] (  4, 12   )   byref  ->  x25         "CSE - aggressive"
+;  V27 PSPSym       [V27,T16] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
+;  V28 cse0         [V28,T08] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V29 cse1         [V29,T06] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V30 cse2         [V30,T04] (  4, 12   )   byref  ->  x25         "CSE - aggressive"
 ;
 ; Lcl frame size = 24
 
@@ -68,7 +69,7 @@ G_M37406_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             ; byrRegs +[x1]
             ldapr   x21, [x1]
             ; gcrRegs +[x21]
-            cbz     x21, G_M37406_IG15
+            cbz     x21, G_M37406_IG14
                        ;; size=40 bbWeight=1 PerfScore 11.00
 G_M37406_IG03:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
             ; byrRegs -[x1]
@@ -76,7 +77,7 @@ G_M37406_IG03:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs
             ; GC ptr vars +{V03}
             str     wzr, [fp, #0x18]   // [V04 loc2]
                        ;; size=8 bbWeight=0.50 PerfScore 1.00
-G_M37406_IG04:        ; bbWeight=0.50, gcVars=0000000000010000 {V03}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M37406_IG04:        ; bbWeight=0.50, gcVars=0000000000020000 {V03}, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w1, [fp, #0x18] // [V04 loc2]
             cbnz    w1, G_M37406_IG09
             add     x1, fp, #24    // [V04 loc2]
@@ -96,17 +97,17 @@ G_M37406_IG04:        ; bbWeight=0.50, gcVars=0000000000010000 {V03}, gcrefRegs=
             mov     w23, wzr
                        ;; size=52 bbWeight=0.50 PerfScore 8.00
 G_M37406_IG05:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
-            ldr     w24, [x21, #0x14]
-            cmp     w22, w24
-            bne     G_M37406_IG10
+            ldr     w0, [x21, #0x14]
+            cmp     w22, w0
+            bne     G_M37406_IG11
             ldr     w0, [x21, #0x10]
             cmp     w23, w0
-            bhs     G_M37406_IG13
+            bhs     G_M37406_IG12
             ldr     x0, [x21, #0x08]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x08]
             cmp     w23, w1
-            bhs     G_M37406_IG11
+            bhs     G_M37406_IG10
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
@@ -213,18 +214,11 @@ G_M37406_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M37406_IG10:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x19]
-            cmp     w22, w24
-            bne     G_M37406_IG12
-            b       G_M37406_IG13
-                       ;; size=12 bbWeight=4 PerfScore 10.00
-G_M37406_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x19]
+G_M37406_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M37406_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M37406_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -233,10 +227,10 @@ G_M37406_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M37406_IG13:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M37406_IG12:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x19]
             ldrb    w0, [fp, #0x18]    // [V04 loc2]
-            cbz     w0, G_M37406_IG14
+            cbz     w0, G_M37406_IG13
             ldr     x0, [fp, #0x10]  // [V03 loc1]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V03}
@@ -244,12 +238,12 @@ G_M37406_IG13:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0.50 PerfScore 3.00
-G_M37406_IG14:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M37406_IG13:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             add     x0, x19, #40
             ; byrRegs +[x0]
             stlr    xzr, [x0]
                        ;; size=8 bbWeight=0.50 PerfScore 0.75
-G_M37406_IG15:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M37406_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x19]
             ; byrRegs -[x0]
             ldr     x25, [sp, #0x58]
@@ -259,8 +253,8 @@ G_M37406_IG15:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=24 bbWeight=1 PerfScore 7.00
-G_M37406_IG16:        ; bbWeight=0, gcVars=0000000000010000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-            ; GC ptr vars +{V03 V16}
+G_M37406_IG15:        ; bbWeight=0, gcVars=0000000000020000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+            ; GC ptr vars +{V03}
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x18]
             stp     x21, x22, [sp, #0x28]
@@ -269,17 +263,17 @@ G_M37406_IG16:        ; bbWeight=0, gcVars=0000000000010000 {V03}, gcrefRegs=000
             add     x3, fp, #96
             str     x3, [sp, #0x10]
                        ;; size=28 bbWeight=0 PerfScore 0.00
-G_M37406_IG17:        ; bbWeight=0, gcVars=0000000000010000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M37406_IG16:        ; bbWeight=0, gcVars=0000000000020000 {V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w0, [fp, #0x18]   // [V04 loc2]
-            cbz     w0, G_M37406_IG18
+            cbz     w0, G_M37406_IG17
             ldr     x0, [fp, #0x10]  // [V03 loc1]
             ; gcrRegs +[x0]
-            ; GC ptr vars -{V03 V16}
+            ; GC ptr vars -{V03}
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M37406_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M37406_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldr     x25, [sp, #0x48]
             ldp     x23, x24, [sp, #0x38]
             ldp     x21, x22, [sp, #0x28]
@@ -288,7 +282,7 @@ G_M37406_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 620, prolog size 40, PerfScore 268.75, instruction count 155, allocated bytes for code 620 (MethodHash=88f36de1) for method System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
+; Total bytes of code 608, prolog size 40, PerfScore 258.75, instruction count 152, allocated bytes for code 608 (MethodHash=88f36de1) for method System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -299,7 +293,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 138 (0x0008a) Actual length = 552 (0x000228)
+  Function Length   : 135 (0x00087) Actual length = 540 (0x00021c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -338,4 +332,4 @@ Unwind Info:
 
 *************** EH table for System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M37406_IG04..G_M37406_IG13) handled by [G_M37406_IG16..END) (fault)
+EH#0: try [G_M37406_IG04..G_M37406_IG12) handled by [G_M37406_IG15..END) (fault)
  
-8 (-1.82%) : 6573.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
@@ -10,62 +10,63 @@
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Net.Http.Headers.HeaderDescriptor>
 ;  V01 arg1         [V01,T03] (  8, 13.50)     ref  ->  x19         class-hnd single-def <System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo>
-;  V02 loc0         [V02,T16] (  3,  0.50)     ref  ->  [fp+0x18]  class-hnd exact EH-live spill-single-def <System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo>
-;  V03 loc1         [V03    ] (  6,  5   )   ubyte  ->  [fp+0x20]  do-not-enreg[X] addr-exposed ld-addr-op
-;  V04 loc2         [V04,T12] (  3,  1.50)     ref  ->   x0         class-hnd single-def <<unknown class>>
+;  V02 loc0         [V02,T17] (  3,  0.50)     ref  ->  [fp+0x10]  class-hnd exact EH-live spill-single-def <System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo>
+;  V03 loc1         [V03    ] (  6,  5   )   ubyte  ->  [fp+0x18]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V04 loc2         [V04,T13] (  3,  1.50)     ref  ->   x0         class-hnd single-def <<unknown class>>
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
-;  V07 loc5         [V07,T10] (  5,  2.50)     ref  ->   x2         class-hnd exact <System.String>
+;  V07 loc5         [V07,T11] (  5,  2.50)     ref  ->   x2         class-hnd exact <System.String>
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V09 tmp1         [V09,T11] (  2,  2   )     ref  ->   x2         single-def "CASTCLASS eval op1"
+;  V09 tmp1         [V09,T12] (  2,  2   )     ref  ->   x2         single-def "CASTCLASS eval op1"
 ;* V10 tmp2         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.String>
 ;* V11 tmp3         [V11    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
-;* V12 tmp4         [V12,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V12 tmp4         [V12,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V13 tmp5         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V14 tmp6         [V14,T08] (  3,  5.50)     ref  ->  x20         single-def "field V00._descriptor (fldOffset=0x0)" P-INDEP
 ;  V15 tmp7         [V15,T02] (  4, 12.50)     ref  ->  x21         single-def "field V05._list (fldOffset=0x0)" P-INDEP
 ;  V16 tmp8         [V16,T04] (  2,  8   )     ref  ->   x2         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V17 tmp9         [V17,T00] (  6, 20.50)     int  ->  x23         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V18 tmp10        [V18,T06] (  3,  8.50)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
-;  V19 tmp11        [V19,T13] (  3,  1.50)     ref  ->  x21         single-def "field V11._list (fldOffset=0x0)" P-INDEP
+;  V18 tmp10        [V18,T09] (  2,  4.50)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V19 tmp11        [V19,T14] (  3,  1.50)     ref  ->  x21         single-def "field V11._list (fldOffset=0x0)" P-INDEP
 ;* V20 tmp12        [V20    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V11._current (fldOffset=0x8)" P-INDEP
-;* V21 tmp13        [V21,T17] (  0,  0   )     int  ->  zero-ref    "field V11._index (fldOffset=0x10)" P-INDEP
-;  V22 tmp14        [V22,T14] (  2,  1   )     int  ->  x22         "field V11._version (fldOffset=0x14)" P-INDEP
+;* V21 tmp13        [V21,T18] (  0,  0   )     int  ->  zero-ref    "field V11._index (fldOffset=0x10)" P-INDEP
+;  V22 tmp14        [V22,T15] (  2,  1   )     int  ->  x22         "field V11._version (fldOffset=0x14)" P-INDEP
 ;  V23 tmp15        [V23,T01] (  3, 24   )     ref  ->   x0         "arr expr"
-;  V24 PSPSym       [V24,T15] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
-;  V25 cse0         [V25,T05] (  3, 12   )     int  ->  x24         "CSE - aggressive"
-;  V26 cse1         [V26,T09] (  4,  3   )     ref  ->  x21         "CSE - aggressive"
+;  V24 PSPSym       [V24,T16] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
+;  V25 cse0         [V25,T07] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V26 cse1         [V26,T05] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V27 cse2         [V27,T10] (  4,  3   )     ref  ->  x21         "CSE - aggressive"
 ;
-; Lcl frame size = 32
+; Lcl frame size = 24
 
 G_M53769_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x30]
-            stp     x21, x22, [sp, #0x40]
-            stp     x23, x24, [sp, #0x50]
+            stp     fp, lr, [sp, #-0x50]!
+            stp     x19, x20, [sp, #0x28]
+            stp     x21, x22, [sp, #0x38]
+            str     x23, [sp, #0x48]
             mov     fp, sp
-            add     x2, sp, #96
-            str     x2, [fp, #0x28]    // [V24 PSPSym]
+            add     x2, sp, #80
+            str     x2, [fp, #0x20]    // [V24 PSPSym]
             mov     x20, x0
             ; gcrRegs +[x20]
             mov     x19, x1
             ; gcrRegs +[x19]
                        ;; size=36 bbWeight=1 PerfScore 7.00
 G_M53769_IG02:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
-            str     x19, [fp, #0x18] // [V02 loc0]
+            str     x19, [fp, #0x10] // [V02 loc0]
             ; GC ptr vars +{V02}
-            str     wzr, [fp, #0x20] // [V03 loc1]
+            str     wzr, [fp, #0x18] // [V03 loc1]
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M53769_IG03:        ; bbWeight=1, gcVars=0000000000010000 {V02}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
-            ldrb    w1, [fp, #0x20]    // [V03 loc1]
+G_M53769_IG03:        ; bbWeight=1, gcVars=0000000000020000 {V02}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
+            ldrb    w1, [fp, #0x18]    // [V03 loc1]
             cbnz    w1, G_M53769_IG06
-            add     x1, fp, #32 // [V03 loc1]
+            add     x1, fp, #24  // [V03 loc1]
             mov     x0, x19
             ; gcrRegs +[x0]
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            ldrb    w0, [fp, #0x20]   // [V03 loc1]
+            ldrb    w0, [fp, #0x18]  // [V03 loc1]
             movz    x1, #0xD1FFAB1E      // code for <unknown method>
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
@@ -74,7 +75,7 @@ G_M53769_IG03:        ; bbWeight=1, gcVars=0000000000010000 {V02}, gcrefRegs=180
             ; gcr arg pop 0
             ldr     x21, [x19, #0x08]
             ; gcrRegs +[x21]
-            cbz     x21, G_M53769_IG12
+            cbz     x21, G_M53769_IG11
                        ;; size=52 bbWeight=1 PerfScore 16.50
 G_M53769_IG04:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             mov     x1, x21
@@ -85,24 +86,24 @@ G_M53769_IG04:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs
             bl      CORINFO_HELP_ISINSTANCEOFCLASS
             ; gcrRegs -[x1] +[x0]
             ; gcr arg pop 0
-            cbz     x0, G_M53769_IG11
+            cbz     x0, G_M53769_IG10
             mov     x21, x0
             ldr     w22, [x21, #0x14]
             mov     w23, wzr
                        ;; size=36 bbWeight=0.50 PerfScore 4.00
 G_M53769_IG05:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
-            ldr     w24, [x21, #0x14]
-            cmp     w22, w24
-            bne     G_M53769_IG07
+            ldr     w0, [x21, #0x14]
+            cmp     w22, w0
+            bne     G_M53769_IG09
             ldr     w0, [x21, #0x10]
             cmp     w23, w0
-            bhs     G_M53769_IG08
+            bhs     G_M53769_IG07
             ldr     x0, [x21, #0x08]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x08]
             cmp     w23, w1
-            bhs     G_M53769_IG09
+            bhs     G_M53769_IG08
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
@@ -133,21 +134,17 @@ G_M53769_IG06:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M53769_IG07:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M53769_IG07:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x19]
-            cmp     w22, w24
-            bne     G_M53769_IG10
-                       ;; size=8 bbWeight=4 PerfScore 6.00
-G_M53769_IG08:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             str     xzr, [x19, #0x08]
-            b       G_M53769_IG12
+            b       G_M53769_IG11
                      ;; size=8 bbWeight=4 PerfScore 8.00
-G_M53769_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M53769_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M53769_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M53769_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -156,7 +153,7 @@ G_M53769_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M53769_IG11:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
+G_M53769_IG10:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x19-x21]
             mov     x2, x21
             ; gcrRegs +[x2]
@@ -177,56 +174,56 @@ G_M53769_IG11:        ; bbWeight=0.50, gcrefRegs=380000 {x19 x20 x21}, byrefRegs
             blr     x3
             ; gcrRegs -[x0-x2 x20-x21]
             ; gcr arg pop 0
-            b       G_M53769_IG08
+            b       G_M53769_IG07
                       ;; size=60 bbWeight=0.50 PerfScore 6.75
-G_M53769_IG12:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M53769_IG11:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x19]
-            ldrb    w0, [fp, #0x20]    // [V03 loc1]
-            cbz     w0, G_M53769_IG14
+            ldrb    w0, [fp, #0x18] // [V03 loc1]
+            cbz     w0, G_M53769_IG13
                       ;; size=8 bbWeight=1 PerfScore 3.00
-G_M53769_IG13:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ldr     x0, [fp, #0x18]    // [V02 loc0]
+G_M53769_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ldr     x0, [fp, #0x10]    // [V02 loc0]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V02}
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=8 bbWeight=0.50 PerfScore 1.50
-G_M53769_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ldp     x23, x24, [sp, #0x50]
-            ldp     x21, x22, [sp, #0x40]
-            ldp     x19, x20, [sp, #0x30]
-            ldp     fp, lr, [sp], #0x60
+G_M53769_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            ldr     x23, [sp, #0x48]
+            ldp     x21, x22, [sp, #0x38]
+            ldp     x19, x20, [sp, #0x28]
+            ldp     fp, lr, [sp], #0x50
             ret     lr
-                        ;; size=20 bbWeight=1 PerfScore 5.00
-G_M53769_IG15:        ; bbWeight=0, gcVars=0000000000010000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-            ; GC ptr vars +{V02 V16}
-            stp     fp, lr, [sp, #-0x50]!
-            stp     x19, x20, [sp, #0x20]
-            stp     x21, x22, [sp, #0x30]
-            stp     x23, x24, [sp, #0x40]
-            add     x3, fp, #96
-            str     x3, [sp, #0x18]
+                      ;; size=20 bbWeight=1 PerfScore 6.00
+G_M53769_IG14:        ; bbWeight=0, gcVars=0000000000020000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+            ; GC ptr vars +{V02 V17}
+            stp     fp, lr, [sp, #-0x40]!
+            stp     x19, x20, [sp, #0x18]
+            stp     x21, x22, [sp, #0x28]
+            str     x23, [sp, #0x38]
+            add     x3, fp, #80
+            str     x3, [sp, #0x10]
                         ;; size=24 bbWeight=0 PerfScore 0.00
-G_M53769_IG16:        ; bbWeight=0, gcVars=0000000000010000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            ldrb    w0, [fp, #0x20]    // [V03 loc1]
-            cbz     w0, G_M53769_IG17
-            ldr     x0, [fp, #0x18]    // [V02 loc0]
+G_M53769_IG15:        ; bbWeight=0, gcVars=0000000000020000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+            ldrb    w0, [fp, #0x18]    // [V03 loc1]
+            cbz     w0, G_M53769_IG16
+            ldr     x0, [fp, #0x10]    // [V02 loc0]
             ; gcrRegs +[x0]
-            ; GC ptr vars -{V02 V16}
+            ; GC ptr vars -{V02 V17}
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M53769_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
-            ldp     x23, x24, [sp, #0x40]
-            ldp     x21, x22, [sp, #0x30]
-            ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x50
+G_M53769_IG16:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+            ldr     x23, [sp, #0x38]
+            ldp     x21, x22, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
+            ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 440, prolog size 36, PerfScore 171.75, instruction count 110, allocated bytes for code 440 (MethodHash=4a3e2df6) for method System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
+; Total bytes of code 432, prolog size 36, PerfScore 166.75, instruction count 108, allocated bytes for code 432 (MethodHash=4a3e2df6) for method System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
...
  
-8 (-0.15%) : 9070.dasm - Jil.Deserialize.InlineDeserializer`1[System.__Canon]:ReadObjectAutomata(System.Type):this (FullOpts)
@@ -10,212 +10,213 @@
 ;
 ;  V00 this         [V00,T00] ( 86,251   )     ref  ->  [fp+0x70]  this class-hnd EH-live single-def <Jil.Deserialize.InlineDeserializer`1[System.__Canon]>
 ;  V01 arg1         [V01,T32] ( 15, 12   )     ref  ->  x19         class-hnd single-def <System.Type>
-;  V02 loc0         [V02,T53] (  6,  6   )     ref  ->  x20         class-hnd exact single-def <Jil.Deserialize.InlineDeserializer`1+<>c__DisplayClass89_0[System.__Canon]>
-;  V03 loc1         [V03,T80] (  4,  4   )     ref  ->  x21         class-hnd single-def <Sigil.Label>
+;  V02 loc0         [V02,T54] (  6,  6   )     ref  ->  x20         class-hnd exact single-def <Jil.Deserialize.InlineDeserializer`1+<>c__DisplayClass89_0[System.__Canon]>
+;  V03 loc1         [V03,T81] (  4,  4   )     ref  ->  x21         class-hnd single-def <Sigil.Label>
 ;  V04 loc2         [V04,T23] ( 12, 18   )     ref  ->  [fp+0x68]  class-hnd exact EH-live spill-single-def <Jil.Deserialize.InlineDeserializer`1+<>c__DisplayClass89_1[System.__Canon]>
 ;  V05 loc3         [V05,T22] (  8, 22   )     ref  ->  x22         class-hnd <<unknown class>>
 ;  V06 loc4         [V06,T24] (  5, 18   )     ref  ->  x24         class-hnd single-def <Sigil.Label>
-;  V07 loc5         [V07,T140] (  2,  2   )     ref  ->  x25         class-hnd single-def <System.Type>
-;  V08 loc6         [V08,T72] (  5,  5   )     ref  ->  x25         class-hnd single-def <System.Type>
+;  V07 loc5         [V07,T141] (  2,  2   )     ref  ->  x25         class-hnd single-def <System.Type>
+;  V08 loc6         [V08,T73] (  5,  5   )     ref  ->  x25         class-hnd single-def <System.Type>
 ;* V09 loc7         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <<unknown class>>
-;  V10 loc8         [V10,T133] (  3,  3   )     ref  ->  x28         class-hnd single-def <<unknown class>>
+;  V10 loc8         [V10,T134] (  3,  3   )     ref  ->  x28         class-hnd single-def <<unknown class>>
 ;  V11 loc9         [V11,T39] (  4, 11   )     ref  ->  x25         class-hnd <System.Reflection.MethodInfo>
-;  V12 loc10        [V12,T141] (  2,  2   )     ref  ->  x26         class-hnd single-def <Sigil.Label[]>
+;  V12 loc10        [V12,T142] (  2,  2   )     ref  ->  x26         class-hnd single-def <Sigil.Label[]>
 ;  V13 loc11        [V13,T43] (  3, 10   )     ref  ->  x27         class-hnd single-def <Sigil.Label>
 ;  V14 loc12        [V14,T20] (  3, 24   )     ref  ->  x26         class-hnd single-def <Sigil.Label>
-;  V15 loc13        [V15,T134] (  3,  3   )     ref  ->   x1         class-hnd single-def <System.Reflection.ConstructorInfo>
+;  V15 loc13        [V15,T135] (  3,  3   )     ref  ->   x1         class-hnd single-def <System.Reflection.ConstructorInfo>
 ;* V16 loc14        [V16    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.Nullable`1[int]>
-;  V17 loc15        [V17,T79] (  7,  4   )     ref  ->  [fp+0x60]  class-hnd EH-live spill-single-def <Sigil.Local>
-;  V18 loc16        [V18,T135] (  3,  3   )     ref  ->  [fp+0x58]  class-hnd spill-single-def <Sigil.Label>
+;  V17 loc15        [V17,T80] (  7,  4   )     ref  ->  [fp+0x60]  class-hnd EH-live spill-single-def <Sigil.Local>
+;  V18 loc16        [V18,T136] (  3,  3   )     ref  ->  [fp+0x58]  class-hnd spill-single-def <Sigil.Label>
 ;* V19 loc17        [V19    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[<>f__AnonymousType0`4[int,System.String,System.Reflection.MemberInfo[],Sigil.Label]]>
-;  V20 loc18        [V20,T49] (  2,  8   )     ref  ->  [fp+0x50]  class-hnd exact spill-single-def <System.String>
+;  V20 loc18        [V20,T50] (  2,  8   )     ref  ->  [fp+0x50]  class-hnd exact spill-single-def <System.String>
 ;  V21 loc19        [V21,T36] (  3, 12   )     ref  ->   x1         class-hnd <Sigil.Label>
-;  V22 loc20        [V22,T26] (  4, 16   )     ref  ->  [fp+0x48]  class-hnd spill-single-def <System.Reflection.MemberInfo[]>
-;  V23 loc21        [V23,T50] (  2,  8   )     ref  ->  [fp+0x40]  class-hnd spill-single-def <System.Reflection.MemberInfo>
+;  V22 loc20        [V22,T25] (  4, 16   )     ref  ->  [fp+0x48]  class-hnd spill-single-def <System.Reflection.MemberInfo[]>
+;  V23 loc21        [V23,T51] (  2,  8   )     ref  ->  [fp+0x40]  class-hnd spill-single-def <System.Reflection.MemberInfo>
 ;# V24 OutArgs      [V24    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V25 tmp1         [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <Jil.Deserialize.InlineDeserializer`1+<>c__DisplayClass89_0[System.__Canon]>
 ;* V26 tmp2         [V26    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V27 tmp3         [V27,T87] (  2,  4   )     ref  ->  x21         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
-;  V28 tmp4         [V28,T88] (  2,  4   )     ref  ->  x22         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V27 tmp3         [V27,T88] (  2,  4   )     ref  ->  x21         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V28 tmp4         [V28,T89] (  2,  4   )     ref  ->  x22         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
 ;* V29 tmp5         [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <Jil.Deserialize.InlineDeserializer`1+<>c__DisplayClass89_1[System.__Canon]>
 ;* V30 tmp6         [V30    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V31 tmp7         [V31,T89] (  2,  4   )     ref  ->  x22         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
-;  V32 tmp8         [V32,T44] (  4,  8   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V33 tmp9         [V33,T90] (  2,  4   )     ref  ->  x24         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
-;  V34 tmp10        [V34,T45] (  4,  8   )     ref  ->   x0         class-hnd exact single-def "dup spill" <System.Type[]>
+;  V31 tmp7         [V31,T90] (  2,  4   )     ref  ->  x22         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V32 tmp8         [V32,T45] (  4,  8   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V33 tmp9         [V33,T91] (  2,  4   )     ref  ->  x24         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V34 tmp10        [V34,T46] (  4,  8   )     ref  ->   x0         class-hnd exact single-def "dup spill" <System.Type[]>
 ;* V35 tmp11        [V35    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "impSpillLclRefs" <System.RuntimeType>
-;  V36 tmp12        [V36,T74] (  3,  4.50)     ref  ->   x1         single-def "CASTCLASS eval op1"
-;  V37 tmp13        [V37,T139] (  3,  2.50)    long  ->   x2         "fgMakeTemp is creating a new local variable"
+;  V36 tmp12        [V36,T75] (  3,  4.50)     ref  ->   x1         single-def "CASTCLASS eval op1"
+;  V37 tmp13        [V37,T140] (  3,  2.50)    long  ->   x2         "fgMakeTemp is creating a new local variable"
 ;  V38 tmp14        [V38,T37] (  7, 11.50)     ref  ->  x26         class-hnd "spilling QMark2" <<unknown class>>
 ;* V39 tmp15        [V39    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V40 tmp16        [V40,T91] (  2,  4   )     ref  ->  x28         class-hnd single-def "dup spill" <<unknown class>>
+;  V40 tmp16        [V40,T92] (  2,  4   )     ref  ->  x28         class-hnd single-def "dup spill" <<unknown class>>
 ;* V41 tmp17        [V41    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V42 tmp18        [V42,T73] (  5,  5   )     ref  ->  x28        
-;  V43 tmp19        [V43,T46] (  4,  8   )     ref  ->  x28         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V44 tmp20        [V44,T92] (  2,  4   )     ref  ->  [fp+0x38]  class-hnd exact spill-single-def "impAppendStmt" <<unknown class>>
-;  V45 tmp21        [V45,T55] (  3,  6   )     ref  ->   x5         class-hnd exact single-def "dup spill" <System.Type[]>
+;  V42 tmp18        [V42,T74] (  5,  5   )     ref  ->  x28        
+;  V43 tmp19        [V43,T47] (  4,  8   )     ref  ->  x28         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V44 tmp20        [V44,T93] (  2,  4   )     ref  ->  [fp+0x38]  class-hnd exact spill-single-def "impAppendStmt" <<unknown class>>
+;  V45 tmp21        [V45,T56] (  3,  6   )     ref  ->   x5         class-hnd exact single-def "dup spill" <System.Type[]>
 ;* V46 tmp22        [V46    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.RuntimeType>
 ;* V47 tmp23        [V47    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V48 tmp24        [V48,T93] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <<unknown class>>
+;  V48 tmp24        [V48,T94] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <<unknown class>>
 ;* V49 tmp25        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V50 tmp26        [V50,T81] (  4,  4   )     ref  ->   x2        
-;  V51 tmp27        [V51,T94] (  2,  4   )     ref  ->  x27         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
-;  V52 tmp28        [V52,T95] (  2,  4   )     ref  ->  [fp+0x30]  class-hnd spill-single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
-;  V53 tmp29        [V53,T96] (  2,  4   )     ref  ->  [fp+0x28]  class-hnd spill-single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
-;  V54 tmp30        [V54,T56] (  3,  6   )     ref  ->   x1         class-hnd exact single-def "dup spill" <System.Object[]>
+;  V50 tmp26        [V50,T82] (  4,  4   )     ref  ->   x2        
+;  V51 tmp27        [V51,T95] (  2,  4   )     ref  ->  x27         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V52 tmp28        [V52,T96] (  2,  4   )     ref  ->  [fp+0x30]  class-hnd spill-single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V53 tmp29        [V53,T97] (  2,  4   )     ref  ->  [fp+0x28]  class-hnd spill-single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V54 tmp30        [V54,T57] (  3,  6   )     ref  ->   x1         class-hnd exact single-def "dup spill" <System.Object[]>
 ;* V55 tmp31        [V55    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "dup spill" <<>f__AnonymousType0`4[int,System.String,System.Reflection.MemberInfo[],Sigil.Label]>
-;  V56 tmp32        [V56,T06] (  2, 32   )     ref  ->  x26         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V56 tmp32        [V56,T05] (  2, 32   )     ref  ->  x26         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
 ;  V57 tmp33        [V57,T01] (  4, 64   )     ref  ->   x1         class-hnd exact single-def "dup spill" <System.Object[]>
 ;  V58 tmp34        [V58,T02] (  4, 64   )     ref  ->   x1         class-hnd exact single-def "dup spill" <System.Object[]>
-;  V59 tmp35        [V59,T97] (  2,  4   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
-;* V60 tmp36        [V60,T146] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;  V59 tmp35        [V59,T98] (  2,  4   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;* V60 tmp36        [V60,T147] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V61 tmp37        [V61,T40] (  5, 10   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V62 tmp38        [V62    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V63 tmp39        [V63,T57] (  3,  6   )     ref  ->  [fp+0x20]  class-hnd exact spill-single-def "dup spill" <System.Type[]>
-;  V64 tmp40        [V64,T98] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.RuntimeType>
-;* V65 tmp41        [V65,T147] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;  V63 tmp39        [V63,T58] (  3,  6   )     ref  ->  [fp+0x20]  class-hnd exact spill-single-def "dup spill" <System.Type[]>
+;  V64 tmp40        [V64,T99] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "Strict ordering of exceptions for Array store" <System.RuntimeType>
+;* V65 tmp41        [V65,T148] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V66 tmp42        [V66,T41] (  5, 10   )     ref  ->  x28         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V67 tmp43        [V67    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V68 tmp44        [V68,T99] (  2,  4   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
+;  V68 tmp44        [V68,T100] (  2,  4   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <Sigil.NonGeneric.Emit>
 ;* V69 tmp45        [V69    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V70 tmp46        [V70    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V71 tmp47        [V71    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V72 tmp48        [V72,T153] (  3,  0   )     ref  ->  x20        
-;  V73 tmp49        [V73,T154] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V74 tmp50        [V74,T47] (  4,  8   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V72 tmp48        [V72,T154] (  3,  0   )     ref  ->  x20        
+;  V73 tmp49        [V73,T155] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V74 tmp50        [V74,T48] (  4,  8   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V75 tmp51        [V75    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V76 tmp52        [V76,T100] (  2,  4   )     ref  ->  x23         class-hnd exact single-def "dup spill" <<unknown class>>
+;  V76 tmp52        [V76,T101] (  2,  4   )     ref  ->  x23         class-hnd exact single-def "dup spill" <<unknown class>>
 ;* V77 tmp53        [V77    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V78 tmp54        [V78    ] (  0,  0   )     int  ->  zero-ref    single-def
-;  V79 tmp55        [V79,T82] (  4,  4   )     ref  ->  x23        
-;  V80 tmp56        [V80,T48] (  4,  8   )     ref  ->   x3         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;* V81 tmp57        [V81,T148] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;  V79 tmp55        [V79,T83] (  4,  4   )     ref  ->  x23        
+;  V80 tmp56        [V80,T49] (  4,  8   )     ref  ->   x3         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;* V81 tmp57        [V81,T149] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V82 tmp58        [V82,T42] (  5, 10   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V83 tmp59        [V83    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
-;  V84 tmp60        [V84,T101] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V85 tmp61        [V85,T102] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V84 tmp60        [V84,T102] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V85 tmp61        [V85,T103] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V86 tmp62        [V86    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Reflection.TypeInfo>
-;  V87 tmp63        [V87,T58] (  3,  6   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
-;  V88 tmp64        [V88,T103] (  2,  4   )     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V87 tmp63        [V87,T59] (  3,  6   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V88 tmp64        [V88,T104] (  2,  4   )     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V89 tmp65        [V89    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Reflection.TypeInfo>
-;  V90 tmp66        [V90,T104] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V90 tmp66        [V90,T105] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
 ;* V91 tmp67        [V91    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Sigil.Local>
-;  V92 tmp68        [V92,T105] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V92 tmp68        [V92,T106] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
 ;* V93 tmp69        [V93    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V94 tmp70        [V94,T106] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V95 tmp71        [V95,T107] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V94 tmp70        [V94,T107] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V95 tmp71        [V95,T108] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
 ;* V96 tmp72        [V96    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Sigil.Local>
-;  V97 tmp73        [V97,T108] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V97 tmp73        [V97,T109] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V98 tmp74        [V98    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Reflection.MethodInfo>
 ;* V99 tmp75        [V99    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Object[]>
 ;* V100 tmp76       [V100    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Reflection.TypeInfo>
 ;* V101 tmp77       [V101    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.Nullable`1[int]>
-;  V102 tmp78       [V102,T59] (  3,  6   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V102 tmp78       [V102,T60] (  3,  6   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
 ;  V103 tmp79       [V103,T33] (  7, 14   )     ref  ->  [fp+0x18]  class-hnd exact spill-single-def "NewObj constructor temp" <<unknown class>>
 ;* V104 tmp80       [V104    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V105 tmp81       [V105    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V106 tmp82       [V106    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V107 tmp83       [V107    ] (  0,  0   )     ref  ->  zero-ref   
-;  V108 tmp84       [V108,T60] (  3,  6   )     ref  ->  x12         class-hnd exact single-def "Inlining Arg" <Jil.Deserialize.InlineDeserializer`1+<>c__DisplayClass89_0[System.__Canon]>
-;  V109 tmp85       [V109,T142] (  2,  2   )     ref  ->   x1         class-hnd "Inline return value spill temp" <<unknown class>>
-;* V110 tmp86       [V110,T150] (  0,  0   )   ubyte  ->  zero-ref    single-def "Inline return value spill temp"
+;  V108 tmp84       [V108,T61] (  3,  6   )     ref  ->  x12         class-hnd exact single-def "Inlining Arg" <Jil.Deserialize.InlineDeserializer`1+<>c__DisplayClass89_0[System.__Canon]>
+;  V109 tmp85       [V109,T143] (  2,  2   )     ref  ->   x1         class-hnd "Inline return value spill temp" <<unknown class>>
+;* V110 tmp86       [V110,T151] (  0,  0   )   ubyte  ->  zero-ref    single-def "Inline return value spill temp"
 ;* V111 tmp87       [V111    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inline stloc first use temp" <<unknown class>>
 ;  V112 tmp88       [V112,T34] (  6, 12   )     ref  ->  [fp+0x10]  class-hnd exact spill-single-def "NewObj constructor temp" <<unknown class>>
 ;* V113 tmp89       [V113    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.RuntimeTypeHandle>
 ;  V114 tmp90       [V114    ] (  2,  2   )  struct ( 8) [fp+0x88]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inline stloc first use temp" <System.RuntimeTypeHandle>
-;  V115 tmp91       [V115,T61] (  3,  6   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
-;  V116 tmp92       [V116,T109] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V117 tmp93       [V117,T110] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V118 tmp94       [V118,T111] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V119 tmp95       [V119,T112] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V120 tmp96       [V120,T113] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V121 tmp97       [V121,T114] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V122 tmp98       [V122,T115] (  2,  4   )     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V123 tmp99       [V123,T62] (  3,  6   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <<unknown class>>
-;  V124 tmp100      [V124,T116] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V125 tmp101      [V125,T117] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V126 tmp102      [V126,T118] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V127 tmp103      [V127,T119] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V128 tmp104      [V128,T120] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V129 tmp105      [V129,T121] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V130 tmp106      [V130,T122] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V131 tmp107      [V131,T123] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V132 tmp108      [V132,T124] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V133 tmp109      [V133,T125] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V115 tmp91       [V115,T62] (  3,  6   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V116 tmp92       [V116,T110] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V117 tmp93       [V117,T111] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V118 tmp94       [V118,T112] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V119 tmp95       [V119,T113] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V120 tmp96       [V120,T114] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V121 tmp97       [V121,T115] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V122 tmp98       [V122,T116] (  2,  4   )     ref  ->   x2         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V123 tmp99       [V123,T63] (  3,  6   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V124 tmp100      [V124,T117] (  2,  4   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V125 tmp101      [V125,T118] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V126 tmp102      [V126,T119] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V127 tmp103      [V127,T120] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V128 tmp104      [V128,T121] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V129 tmp105      [V129,T122] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V130 tmp106      [V130,T123] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V131 tmp107      [V131,T124] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V132 tmp108      [V132,T125] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V133 tmp109      [V133,T126] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
 ;* V134 tmp110      [V134    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[<>f__AnonymousType0`4[int,System.String,System.Reflection.MemberInfo[],Sigil.Label]]>
-;  V135 tmp111      [V135,T27] (  2, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V136 tmp112      [V136,T28] (  2, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V137 tmp113      [V137,T29] (  2, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V138 tmp114      [V138,T30] (  2, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Sigil.NonGeneric.Emit>
-;* V139 tmp115      [V139,T31] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V135 tmp111      [V135,T26] (  2, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V136 tmp112      [V136,T27] (  2, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V137 tmp113      [V137,T28] (  2, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V138 tmp114      [V138,T29] (  2, 16   )     ref  ->   x0         class-hnd "Inlining Arg" <Sigil.NonGeneric.Emit>
+;* V139 tmp115      [V139,T30] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V140 tmp116      [V140    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V141 tmp117      [V141,T07] (  2, 32   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V142 tmp118      [V142,T08] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V143 tmp119      [V143,T09] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V144 tmp120      [V144,T10] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V145 tmp121      [V145,T11] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V146 tmp122      [V146,T12] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V147 tmp123      [V147,T13] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V141 tmp117      [V141,T06] (  2, 32   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V142 tmp118      [V142,T07] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V143 tmp119      [V143,T08] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V144 tmp120      [V144,T09] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V145 tmp121      [V145,T10] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V146 tmp122      [V146,T11] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V147 tmp123      [V147,T12] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
 ;* V148 tmp124      [V148    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Sigil.Label>
-;  V149 tmp125      [V149,T14] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V150 tmp126      [V150,T15] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V151 tmp127      [V151,T16] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V152 tmp128      [V152,T17] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V153 tmp129      [V153,T18] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V154 tmp130      [V154,T126] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V155 tmp131      [V155,T127] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
-;  V156 tmp132      [V156,T128] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V149 tmp125      [V149,T13] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
+;  V150 tmp126      [V150,T14] (  2, 32   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <Sigil.NonGeneric.Emit>
...
  
-8 (-0.15%) : 828.dasm - System.Number:NumberToStringFormatushort (FullOpts)
@@ -10,7 +10,7 @@
 ;
 ;  V00 arg0         [V00,T02] ( 79,268.50)   byref  ->  x19         single-def
 ;  V01 arg1         [V01,T60] ( 17, 21.50)   byref  ->  x21         single-def
-;  V02 arg2         [V02,T81] (  6, 12   )  struct (16) [fp+0xE8]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
+;  V02 arg2         [V02,T82] (  6, 12   )  struct (16) [fp+0xE8]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
 ;  V03 arg3         [V03,T42] ( 15, 25   )     ref  ->  x20         class-hnd single-def <System.Globalization.NumberFormatInfo>
 ;  V04 loc0         [V04,T08] ( 15, 96   )     int  ->  x27        
 ;  V05 loc1         [V05,T16] ( 18, 56   )     int  ->  x28        
@@ -24,55 +24,55 @@
 ;  V13 loc9         [V13,T19] (  8, 48   )     int  ->   x8        
 ;  V14 loc10        [V14,T26] ( 11, 42   )     int  ->  [fp+0xD0]  ptr
 ;  V15 loc11        [V15,T64] (  6, 18.50)     int  ->  x26        
-;  V16 loc12        [V16,T00] ( 57,909.50)     int  ->  [fp+0xCC]  ptr
+;  V16 loc12        [V16,T00] ( 55,905.50)     int  ->  [fp+0xCC]  ptr
 ;  V17 loc13        [V17,T67] (  6, 17   )    long  ->  x25        
 ;  V18 loc14        [V18,T05] ( 36,238   )  ushort  ->  [fp+0xC8]  ptr
 ;* V19 loc15        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[int]>
 ;  V20 loc16        [V20,T10] ( 16, 71   )     int  ->  [fp+0xC4]  ptr
-;  V21 loc17        [V21,T147] (  3,  5   )   ubyte  ->  [fp+0xC0] 
+;  V21 loc17        [V21,T148] (  3,  5   )   ubyte  ->  [fp+0xC0] 
 ;  V22 loc18        [V22,T07] (  8,184   )    long  ->   x9        
 ;  V23 loc19        [V23    ] (  2, 16   )   byref  ->  [fp+0xB8]  must-init pinned ptr
 ;* V24 loc20        [V24    ] (  0,  0   )     int  ->  zero-ref   
 ;* V25 loc21        [V25    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[int]>
-;  V26 loc22        [V26,T146] (  5,  5.50)     ref  ->  [fp+0x60]  class-hnd spill-single-def ptr <int[]>
-;  V27 loc23        [V27,T82] (  6, 12.50)     int  ->  [fp+0xB4]  ptr
+;  V26 loc22        [V26,T147] (  5,  5.50)     ref  ->  [fp+0x60]  class-hnd spill-single-def ptr <int[]>
+;  V27 loc23        [V27,T83] (  6, 12.50)     int  ->  [fp+0xB4]  ptr
 ;  V28 loc24        [V28,T66] (  7, 17.50)     int  ->  [fp+0xB0]  ptr
-;  V29 loc25        [V29,T148] (  3,  5   )     int  ->  [fp+0xAC]  spill-single-def ptr
-;  V30 loc26        [V30,T87] (  5, 11   )     int  ->  [fp+0xA8]  ptr
-;  V31 loc27        [V31,T194] (  3,  1.50)     int  ->   x1        
-;  V32 loc28        [V32,T149] (  3,  5   )     int  ->  [fp+0xA4]  spill-single-def ptr
-;  V33 loc29        [V33,T88] (  5, 10   )     ref  ->  [fp+0x58]  class-hnd exact spill-single-def ptr <int[]>
+;  V29 loc25        [V29,T149] (  3,  5   )     int  ->  [fp+0xAC]  spill-single-def ptr
+;  V30 loc26        [V30,T88] (  5, 11   )     int  ->  [fp+0xA8]  ptr
+;  V31 loc27        [V31,T195] (  3,  1.50)     int  ->   x1        
+;  V32 loc28        [V32,T150] (  3,  5   )     int  ->  [fp+0xA4]  spill-single-def ptr
+;  V33 loc29        [V33,T89] (  5, 10   )     ref  ->  [fp+0x58]  class-hnd exact spill-single-def ptr <int[]>
 ;  V34 loc30        [V34,T11] ( 11, 65   )    long  ->  x22        
 ;  V35 loc31        [V35    ] (  2,  2   )   byref  ->  [fp+0x98]  must-init pinned ptr
 ;  V36 loc32        [V36,T33] (  8, 33   )    long  ->  [fp+0x90]  ptr
-;  V37 loc33        [V37,T121] (  3,  6   )   ubyte  ->  x14        
+;  V37 loc33        [V37,T122] (  3,  6   )   ubyte  ->  x14        
 ;  V38 loc34        [V38,T46] (  6, 24   )     int  ->  x12        
 ;* V39 loc35        [V39    ] (  0,  0   )     int  ->  zero-ref   
 ;# V40 OutArgs      [V40    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V41 tmp1         [V41    ] (  0,  0   )     int  ->  zero-ref   
 ;* V42 tmp2         [V42    ] (  0,  0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
 ;* V43 tmp3         [V43    ] (  0,  0   )  struct (16) zero-ref    multireg-arg <System.ReadOnlySpan`1[ushort]>
-;  V44 tmp4         [V44,T182] (  3,  2   )     int  ->   x2        
-;  V45 tmp5         [V45,T187] (  2,  2   )     int  ->   x3        
-;  V46 tmp6         [V46,T188] (  2,  2   )     int  ->   x4        
-;  V47 tmp7         [V47,T206] (  2,  1   )     int  ->   x3        
+;  V44 tmp4         [V44,T183] (  3,  2   )     int  ->   x2        
+;  V45 tmp5         [V45,T188] (  2,  2   )     int  ->   x3        
+;  V46 tmp6         [V46,T189] (  2,  2   )     int  ->   x4        
+;  V47 tmp7         [V47,T207] (  2,  1   )     int  ->   x3        
 ;  V48 tmp8         [V48    ] (  1,  1   )  struct (16) [fp+0xF8]  do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
 ;* V49 tmp9         [V49    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V50 tmp10        [V50    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V51 tmp11        [V51,T50] (  3, 24   )     int  ->   x1         "impSpillLclRefs"
-;  V52 tmp12        [V52,T79] (  2, 16   )     int  ->   x1         "dup spill"
-;  V53 tmp13        [V53,T106] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
-;  V54 tmp14        [V54,T107] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
+;  V52 tmp12        [V52,T80] (  2, 16   )     int  ->   x1         "dup spill"
+;  V53 tmp13        [V53,T107] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
+;  V54 tmp14        [V54,T108] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
 ;  V55 tmp15        [V55,T35] (  2, 32   )     int  ->   x6         "impSpillLclRefs"
 ;  V56 tmp16        [V56,T13] (  2, 64   )     int  ->   x6         "dup spill"
-;  V57 tmp17        [V57,T122] (  3,  6   )     int  ->   x5        
+;  V57 tmp17        [V57,T123] (  3,  6   )     int  ->   x5        
 ;* V58 tmp18        [V58    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V59 tmp19        [V59    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V60 tmp20        [V60    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V61 tmp21        [V61,T83] (  3, 12   )    long  ->   x1         "impSpillLclRefs"
-;  V62 tmp22        [V62,T99] (  4,  8   )     int  ->   x1        
+;  V61 tmp21        [V61,T84] (  3, 12   )    long  ->   x1         "impSpillLclRefs"
+;  V62 tmp22        [V62,T100] (  4,  8   )     int  ->   x1        
 ;* V63 tmp23        [V63    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V64 tmp24        [V64,T123] (  3,  6   )     int  ->  x13        
+;  V64 tmp24        [V64,T124] (  3,  6   )     int  ->  x13        
 ;  V65 tmp25        [V65,T36] (  2, 32   )     int  ->   x6         "impSpillLclRefs"
 ;* V66 tmp26        [V66    ] (  0,  0   )   byref  ->  zero-ref    ptr
 ;  V67 tmp27        [V67,T37] (  2, 32   )    long  ->   x0         "impSpillLclRefs"
@@ -82,11 +82,11 @@
 ;* V71 tmp31        [V71    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V72 tmp32        [V72    ] (  0,  0   )     int  ->  zero-ref   
 ;* V73 tmp33        [V73    ] (  0,  0   )     int  ->  zero-ref    ptr
-;  V74 tmp34        [V74,T207] (  2,  1   )     int  ->   x1        
-;  V75 tmp35        [V75,T208] (  2,  1   )     int  ->  xip0        
+;  V74 tmp34        [V74,T208] (  2,  1   )     int  ->   x1        
+;  V75 tmp35        [V75,T209] (  2,  1   )     int  ->  xip0        
 ;* V76 tmp36        [V76    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[int]>
 ;  V77 tmp37        [V77,T47] (  3, 24   )   byref  ->   x0         "dup spill"
-;  V78 tmp38        [V78,T101] (  3,  8   )     int  ->   x1        
+;  V78 tmp38        [V78,T102] (  3,  8   )     int  ->   x1        
 ;  V79 tmp39        [V79,T09] (  3, 96   )     int  ->   x0         "impSpillLclRefs"
 ;  V80 tmp40        [V80,T14] (  2, 64   )     int  ->  x11         "dup spill"
 ;  V81 tmp41        [V81,T03] (  2,256   )     int  ->  x10         "dup spill"
@@ -97,28 +97,28 @@
 ;* V86 tmp46        [V86    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;* V87 tmp47        [V87    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V88 tmp48        [V88    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
-;  V89 tmp49        [V89,T108] (  2,  8   )    long  ->   x2         "Inlining Arg"
+;  V89 tmp49        [V89,T109] (  2,  8   )    long  ->   x2         "Inlining Arg"
 ;* V90 tmp50        [V90    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V91 tmp51        [V91    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V92 tmp52        [V92    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V93 tmp53        [V93    ] (  0,  0   )     int  ->  zero-ref   
 ;* V94 tmp54        [V94    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V95 tmp55        [V95    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V96 tmp56        [V96,T150] (  4,  4   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V96 tmp56        [V96,T151] (  4,  4   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V97 tmp57        [V97    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V98 tmp58        [V98    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V99 tmp59        [V99,T189] (  2,  2   )     int  ->  [fp+0x8C]  spill-single-def ptr "Inlining Arg"
-;  V100 tmp60       [V100,T183] (  2,  2   )   byref  ->  [fp+0x50]  spill-single-def ptr "Inlining Arg"
+;  V99 tmp59        [V99,T190] (  2,  2   )     int  ->  [fp+0x8C]  spill-single-def ptr "Inlining Arg"
+;  V100 tmp60       [V100,T184] (  2,  2   )   byref  ->  [fp+0x50]  spill-single-def ptr "Inlining Arg"
 ;* V101 tmp61       [V101    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V102 tmp62       [V102    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V103 tmp63       [V103    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V104 tmp64       [V104    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V105 tmp65       [V105    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V106 tmp66       [V106,T195] (  3,  1.50)     int  ->  [fp+0x88]  spill-single-def ptr "Inline stloc first use temp"
+;  V106 tmp66       [V106,T196] (  3,  1.50)     int  ->  [fp+0x88]  spill-single-def ptr "Inline stloc first use temp"
 ;* V107 tmp67       [V107    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V108 tmp68       [V108    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V109 tmp69       [V109    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "Inlining Arg"
-;  V110 tmp70       [V110,T180] (  4,  2   )     int  ->   x3         "Inline stloc first use temp"
+;  V110 tmp70       [V110,T181] (  4,  2   )     int  ->   x3         "Inline stloc first use temp"
 ;* V111 tmp71       [V111    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V112 tmp72       [V112    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V113 tmp73       [V113    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
@@ -153,7 +153,7 @@
 ;  V142 tmp102      [V142,T29] (  5, 40   )     int  ->  x15         "Inline stloc first use temp"
 ;* V143 tmp103      [V143    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V144 tmp104      [V144    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;  V145 tmp105      [V145,T89] (  5, 10   )     int  ->   x1         "Inline stloc first use temp"
+;  V145 tmp105      [V145,T90] (  5, 10   )     int  ->   x1         "Inline stloc first use temp"
 ;* V146 tmp106      [V146    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V147 tmp107      [V147    ] (  0,  0   )  ushort  ->  zero-ref    ptr "Inlining Arg"
 ;* V148 tmp108      [V148    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -162,11 +162,11 @@
 ;* V151 tmp111      [V151    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V152 tmp112      [V152    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V153 tmp113      [V153    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V154 tmp114      [V154,T69] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V154 tmp114      [V154,T70] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V155 tmp115      [V155    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V156 tmp116      [V156    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V157 tmp117      [V157,T109] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V158 tmp118      [V158,T102] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V157 tmp117      [V157,T110] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V158 tmp118      [V158,T103] (  2,  8   )   byref  ->  x13         "Inlining Arg"
 ;* V159 tmp119      [V159    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V160 tmp120      [V160    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V161 tmp121      [V161    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -174,13 +174,13 @@
 ;* V163 tmp123      [V163    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V164 tmp124      [V164    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V165 tmp125      [V165    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V166 tmp126      [V166,T124] (  3,  6   )     int  ->  [fp+0x80]  spill-single-def ptr "Inline stloc first use temp"
+;  V166 tmp126      [V166,T125] (  3,  6   )     int  ->  [fp+0x80]  spill-single-def ptr "Inline stloc first use temp"
 ;* V167 tmp127      [V167    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V168 tmp128      [V168    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V169 tmp129      [V169    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V170 tmp130      [V170    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V171 tmp131      [V171    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V172 tmp132      [V172,T90] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
+;  V172 tmp132      [V172,T91] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
 ;* V173 tmp133      [V173    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V174 tmp134      [V174    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V175 tmp135      [V175    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -189,11 +189,11 @@
 ;* V178 tmp138      [V178    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V179 tmp139      [V179    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V180 tmp140      [V180    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V181 tmp141      [V181,T70] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V181 tmp141      [V181,T71] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V182 tmp142      [V182    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V183 tmp143      [V183    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V184 tmp144      [V184,T110] (  2,  8   )     int  ->  x13         "Inlining Arg"
-;  V185 tmp145      [V185,T103] (  2,  8   )   byref  ->  x11         "Inlining Arg"
+;  V184 tmp144      [V184,T111] (  2,  8   )     int  ->  x13         "Inlining Arg"
+;  V185 tmp145      [V185,T104] (  2,  8   )   byref  ->  x11         "Inlining Arg"
 ;* V186 tmp146      [V186    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V187 tmp147      [V187    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V188 tmp148      [V188    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -201,13 +201,13 @@
 ;* V190 tmp150      [V190    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V191 tmp151      [V191    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V192 tmp152      [V192    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V193 tmp153      [V193,T125] (  3,  6   )     int  ->  [fp+0x7C]  spill-single-def ptr "Inline stloc first use temp"
+;  V193 tmp153      [V193,T126] (  3,  6   )     int  ->  [fp+0x7C]  spill-single-def ptr "Inline stloc first use temp"
 ;* V194 tmp154      [V194    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V195 tmp155      [V195    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V196 tmp156      [V196    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V197 tmp157      [V197    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V198 tmp158      [V198    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V199 tmp159      [V199,T91] (  5, 10   )     int  ->  x14         "Inline stloc first use temp"
+;  V199 tmp159      [V199,T92] (  5, 10   )     int  ->  x14         "Inline stloc first use temp"
 ;* V200 tmp160      [V200    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V201 tmp161      [V201    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V202 tmp162      [V202    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -216,11 +216,11 @@
 ;* V205 tmp165      [V205    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V206 tmp166      [V206    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V207 tmp167      [V207    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V208 tmp168      [V208,T71] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V208 tmp168      [V208,T72] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V209 tmp169      [V209    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V210 tmp170      [V210    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V211 tmp171      [V211,T111] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V212 tmp172      [V212,T104] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V211 tmp171      [V211,T112] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V212 tmp172      [V212,T105] (  2,  8   )   byref  ->  x13         "Inlining Arg"
 ;* V213 tmp173      [V213    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V214 tmp174      [V214    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V215 tmp175      [V215    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -228,13 +228,13 @@
 ;* V217 tmp177      [V217    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V218 tmp178      [V218    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V219 tmp179      [V219    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V220 tmp180      [V220,T126] (  3,  6   )     int  ->  [fp+0x78]  spill-single-def ptr "Inline stloc first use temp"
+;  V220 tmp180      [V220,T127] (  3,  6   )     int  ->  [fp+0x78]  spill-single-def ptr "Inline stloc first use temp"
 ;* V221 tmp181      [V221    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V222 tmp182      [V222    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V223 tmp183      [V223    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V224 tmp184      [V224    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V225 tmp185      [V225    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V226 tmp186      [V226,T92] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
+;  V226 tmp186      [V226,T93] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
 ;* V227 tmp187      [V227    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V228 tmp188      [V228    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V229 tmp189      [V229    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -243,11 +243,11 @@
 ;* V232 tmp192      [V232    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V233 tmp193      [V233    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V234 tmp194      [V234    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V235 tmp195      [V235,T72] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V235 tmp195      [V235,T73] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V236 tmp196      [V236    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V237 tmp197      [V237    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V238 tmp198      [V238,T112] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V239 tmp199      [V239,T105] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V238 tmp198      [V238,T113] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V239 tmp199      [V239,T106] (  2,  8   )   byref  ->  x13         "Inlining Arg"
...
  
-4 (-0.04%) : 21110.dasm - System.Net.WebSockets.ManagedWebSocket+d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (FullOpts)
@@ -15,7 +15,7 @@
 ;  V04 loc3         [V04    ] ( 10, 10   )  struct (16) [fp+0x198]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter>
 ;* V05 loc4         [V05    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredTaskAwaitable>
 ;  V06 loc5         [V06,T39] (  3, 12   )     ref  ->   x0         class-hnd exact <System.String>
-;  V07 loc6         [V07,T29] (  4, 16   )    long  ->  x20        
+;  V07 loc6         [V07,T29] (  4, 16   )    long  ->   x1        
 ;  V08 loc7         [V08    ] ( 11, 35   )  struct (16) [fp+0x188]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1+ConfiguredValueTaskAwaiter[int]>
 ;  V09 loc8         [V09    ] (  8, 20   )  struct (16) [fp+0x178]  do-not-enreg[SBR] multireg-ret must-init ld-addr-op <System.Threading.Tasks.ValueTask`1[int]>
 ;* V10 loc9         [V10    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1[int]>
@@ -81,17 +81,17 @@
 ;* V70 tmp40        [V70    ] (  0,  0   )    long  ->  zero-ref    "impAppendStmt"
 ;* V71 tmp41        [V71    ] (  0,  0   )     int  ->  zero-ref    "dup spill"
 ;* V72 tmp42        [V72    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
-;  V73 tmp43        [V73,T102] (  2,  8   )     int  ->   x2        
+;  V73 tmp43        [V73,T101] (  2,  8   )     int  ->   x2        
 ;* V74 tmp44        [V74    ] (  0,  0   )     int  ->  zero-ref   
 ;  V75 tmp45        [V75,T46] (  3, 12   )     int  ->   x3        
 ;* V76 tmp46        [V76    ] (  0,  0   )     int  ->  zero-ref    "dup spill"
 ;  V77 tmp47        [V77,T23] (  3, 24   )     int  ->   x1         "Span.get_Item index"
 ;* V78 tmp48        [V78    ] (  0,  0   )     int  ->  zero-ref   
 ;* V79 tmp49        [V79    ] (  0,  0   )     int  ->  zero-ref   
-;  V80 tmp50        [V80,T47] (  3, 12   )     int  ->  x21        
-;  V81 tmp51        [V81,T103] (  2,  8   )     int  ->   x1        
+;  V80 tmp50        [V80,T47] (  3, 12   )     int  ->   x2        
+;  V81 tmp51        [V81,T102] (  2,  8   )     int  ->   x2        
 ;* V82 tmp52        [V82    ] (  0,  0   )     int  ->  zero-ref   
-;  V83 tmp53        [V83,T30] (  4, 16   )     int  ->   x2        
+;  V83 tmp53        [V83,T30] (  4, 16   )     int  ->   x1        
 ;* V84 tmp54        [V84    ] (  0,  0   )     int  ->  zero-ref    "dup spill"
 ;* V85 tmp55        [V85    ] (  0,  0   )     int  ->  zero-ref   
 ;* V86 tmp56        [V86    ] (  0,  0   )     int  ->  zero-ref    "dup spill"
@@ -119,7 +119,7 @@
 ;* V108 tmp78       [V108    ] (  0,  0   )   byref  ->  zero-ref    single-def
 ;* V109 tmp79       [V109    ] (  0,  0   )   byref  ->  zero-ref    single-def
 ;  V110 tmp80       [V110,T149] (  5,  5   )     ref  ->  x21        
-;  V111 tmp81       [V111,T63] (  5, 10   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Action`1[System.Object]>
+;  V111 tmp81       [V111,T62] (  5, 10   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Action`1[System.Object]>
 ;  V112 tmp82       [V112,T325] (  2,  0   )     ref  ->   x1         class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
 ;  V113 tmp83       [V113,T131] (  3,  6   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
 ;* V114 tmp84       [V114    ] (  0,  0   )  struct (16) zero-ref    multireg-ret "Inline return value spill temp" <System.Threading.CancellationTokenRegistration>
@@ -320,10 +320,10 @@
 ;  V309 tmp279      [V309    ] (  4,  8   )  struct ( 8) [fp+0x40]  do-not-enreg[XS] addr-exposed ld-addr-op "NewObj constructor temp" <System.Net.WebSockets.ValueWebSocketReceiveResult>
 ;* V310 tmp280      [V310    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V311 tmp281      [V311    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V312 tmp282      [V312,T79] (  4,  8   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Net.WebSockets.Compression.WebSocketInflater>
+;  V312 tmp282      [V312,T78] (  4,  8   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Net.WebSockets.Compression.WebSocketInflater>
 ;* V313 tmp283      [V313    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
-;  V314 tmp284      [V314,T64] (  5, 10   )     ref  ->   x2         class-hnd single-def "Inlining Arg" <ubyte[]>
-;  V315 tmp285      [V315,T68] (  5, 10   )     int  ->   x1         "Inlining Arg"
+;  V314 tmp284      [V314,T63] (  5, 10   )     ref  ->   x2         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V315 tmp285      [V315,T67] (  5, 10   )     int  ->   x1         "Inlining Arg"
 ;* V316 tmp286      [V316    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V317 tmp287      [V317    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ubyte]>
 ;  V318 tmp288      [V318,T135] (  3,  6   )     int  ->  x21         "Inlining Arg"
@@ -336,8 +336,8 @@
 ;* V325 tmp295      [V325    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
 ;  V326 tmp296      [V326,T125] (  6,  6   )   byref  ->  x23         "Inline stloc first use temp"
 ;  V327 tmp297      [V327,T120] (  7,  7   )     int  ->  x24         "Inline stloc first use temp"
-;  V328 tmp298      [V328,T80] (  4,  8   )   byref  ->  x22         single-def "Inlining Arg"
-;  V329 tmp299      [V329,T74] (  9,  9   )     ref  ->  x25         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V328 tmp298      [V328,T79] (  4,  8   )   byref  ->  x22         single-def "Inlining Arg"
+;  V329 tmp299      [V329,T73] (  9,  9   )     ref  ->  x25         class-hnd single-def "Inline stloc first use temp" <System.Object>
 ;* V330 tmp300      [V330    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V331 tmp301      [V331    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <<unknown class>>
 ;* V332 tmp302      [V332    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
@@ -354,8 +354,8 @@
 ;* V343 tmp313      [V343    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
 ;  V344 tmp314      [V344,T126] (  6,  6   )   byref  ->  x25         "Inline stloc first use temp"
 ;  V345 tmp315      [V345,T121] (  7,  7   )     int  ->  x26         "Inline stloc first use temp"
-;  V346 tmp316      [V346,T81] (  4,  8   )   byref  ->  x24         single-def "Inlining Arg"
-;  V347 tmp317      [V347,T75] (  9,  9   )     ref  ->  x27         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V346 tmp316      [V346,T80] (  4,  8   )   byref  ->  x24         single-def "Inlining Arg"
+;  V347 tmp317      [V347,T74] (  9,  9   )     ref  ->  x27         class-hnd single-def "Inline stloc first use temp" <System.Object>
 ;* V348 tmp318      [V348    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V349 tmp319      [V349    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <<unknown class>>
 ;* V350 tmp320      [V350    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
@@ -366,10 +366,10 @@
 ;* V355 tmp325      [V355    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <ubyte[]>
 ;  V356 tmp326      [V356,T171] (  2,  4   )   byref  ->   x1         single-def "Inlining Arg"
 ;* V357 tmp327      [V357    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V358 tmp328      [V358,T82] (  4,  8   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Net.WebSockets.Compression.WebSocketInflater>
+;  V358 tmp328      [V358,T81] (  4,  8   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Net.WebSockets.Compression.WebSocketInflater>
 ;* V359 tmp329      [V359    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
-;  V360 tmp330      [V360,T65] (  5, 10   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <ubyte[]>
-;  V361 tmp331      [V361,T69] (  5, 10   )     int  ->   x0         "Inlining Arg"
+;  V360 tmp330      [V360,T64] (  5, 10   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V361 tmp331      [V361,T68] (  5, 10   )     int  ->   x0         "Inlining Arg"
 ;* V362 tmp332      [V362    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V363 tmp333      [V363    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ubyte]>
 ;  V364 tmp334      [V364,T140] (  3,  6   )     int  ->  x24         "Inlining Arg"
@@ -380,14 +380,14 @@
 ;  V369 tmp339      [V369,T196] (  2,  4   )    long  ->   x3         "Inlining Arg"
 ;  V370 tmp340      [V370,T141] (  3,  6   )     int  ->   x2         "Inlining Arg"
 ;  V371 tmp341      [V371,T142] (  3,  6   )     int  ->  x20         "Inlining Arg"
-;  V372 tmp342      [V372,T83] (  4,  8   )   byref  ->   x1         single-def "Inlining Arg"
+;  V372 tmp342      [V372,T82] (  4,  8   )   byref  ->   x1         single-def "Inlining Arg"
 ;* V373 tmp343      [V373    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Memory`1[ubyte]>
-;  V374 tmp344      [V374,T66] (  5, 10   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Object>
+;  V374 tmp344      [V374,T65] (  5, 10   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Object>
 ;  V375 tmp345      [V375,T233] (  3,  3   )     int  ->  registers  
 ;  V376 tmp346      [V376,T197] (  2,  4   )     int  ->  x22         "Inlining Arg"
-;  V377 tmp347      [V377,T84] (  4,  8   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Net.WebSockets.Compression.WebSocketInflater>
-;  V378 tmp348      [V378,T85] (  4,  8   )     ref  ->  x20         class-hnd single-def "Inlining Arg" <ubyte[]>
-;  V379 tmp349      [V379,T90] (  4,  8   )     int  ->   x1         "Inlining Arg"
+;  V377 tmp347      [V377,T83] (  4,  8   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Net.WebSockets.Compression.WebSocketInflater>
+;  V378 tmp348      [V378,T84] (  4,  8   )     ref  ->  x20         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V379 tmp349      [V379,T89] (  4,  8   )     int  ->   x1         "Inlining Arg"
 ;* V380 tmp350      [V380    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Memory`1[ubyte]>
 ;  V381 tmp351      [V381,T143] (  3,  6   )     int  ->   x3         "Inlining Arg"
 ;  V382 tmp352      [V382,T144] (  3,  6   )     int  ->  x20         "Inlining Arg"
@@ -423,8 +423,8 @@
 ;* V412 tmp382      [V412    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
 ;  V413 tmp383      [V413,T127] (  6,  6   )   byref  ->  x21         "Inline stloc first use temp"
 ;  V414 tmp384      [V414,T122] (  7,  7   )     int  ->  x22         "Inline stloc first use temp"
-;  V415 tmp385      [V415,T86] (  4,  8   )   byref  ->  x20         single-def "Inlining Arg"
-;  V416 tmp386      [V416,T76] (  9,  9   )     ref  ->  x23         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V415 tmp385      [V415,T85] (  4,  8   )   byref  ->  x20         single-def "Inlining Arg"
+;  V416 tmp386      [V416,T75] (  9,  9   )     ref  ->  x23         class-hnd single-def "Inline stloc first use temp" <System.Object>
 ;* V417 tmp387      [V417    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V418 tmp388      [V418    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <<unknown class>>
 ;* V419 tmp389      [V419    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
@@ -435,25 +435,25 @@
 ;* V424 tmp394      [V424    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <ubyte[]>
 ;  V425 tmp395      [V425,T174] (  2,  4   )   byref  ->   x1         single-def "Inlining Arg"
 ;* V426 tmp396      [V426    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V427 tmp397      [V427,T91] (  4,  8   )     int  ->  x20         "Inlining Arg"
+;  V427 tmp397      [V427,T90] (  4,  8   )     int  ->  x20         "Inlining Arg"
 ;* V428 tmp398      [V428    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V429 tmp399      [V429,T175] (  2,  4   )   byref  ->  x21         single-def "Inlining Arg"
-;  V430 tmp400      [V430,T87] (  4,  8   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Net.WebSockets.Compression.WebSocketInflater>
+;  V430 tmp400      [V430,T86] (  4,  8   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.Net.WebSockets.Compression.WebSocketInflater>
 ;* V431 tmp401      [V431    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
-;  V432 tmp402      [V432,T67] (  5, 10   )     ref  ->   x2         class-hnd single-def "Inlining Arg" <ubyte[]>
-;  V433 tmp403      [V433,T70] (  5, 10   )     int  ->   x1         "Inlining Arg"
+;  V432 tmp402      [V432,T66] (  5, 10   )     ref  ->   x2         class-hnd single-def "Inlining Arg" <ubyte[]>
+;  V433 tmp403      [V433,T69] (  5, 10   )     int  ->   x1         "Inlining Arg"
 ;* V434 tmp404      [V434    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V435 tmp405      [V435    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ubyte]>
 ;  V436 tmp406      [V436,T146] (  3,  6   )     int  ->  x21         "Inlining Arg"
 ;  V437 tmp407      [V437,T176] (  2,  4   )   byref  ->  x20         single-def "Inlining Arg"
-;  V438 tmp408      [V438,T92] (  4,  8   )     int  ->  x20         "Inlining Arg"
+;  V438 tmp408      [V438,T91] (  4,  8   )     int  ->  x20         "Inlining Arg"
 ;* V439 tmp409      [V439    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V440 tmp410      [V440,T177] (  2,  4   )   byref  ->  x21         single-def "Inlining Arg"
 ;* V441 tmp411      [V441    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
 ;  V442 tmp412      [V442,T128] (  6,  6   )   byref  ->  x23         "Inline stloc first use temp"
 ;  V443 tmp413      [V443,T123] (  7,  7   )     int  ->  x24         "Inline stloc first use temp"
-;  V444 tmp414      [V444,T88] (  4,  8   )   byref  ->  x22         single-def "Inlining Arg"
-;  V445 tmp415      [V445,T77] (  9,  9   )     ref  ->  x25         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V444 tmp414      [V444,T87] (  4,  8   )   byref  ->  x22         single-def "Inlining Arg"
+;  V445 tmp415      [V445,T76] (  9,  9   )     ref  ->  x25         class-hnd single-def "Inline stloc first use temp" <System.Object>
 ;* V446 tmp416      [V446    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V447 tmp417      [V447    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <<unknown class>>
 ;* V448 tmp418      [V448    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
@@ -470,8 +470,8 @@
 ;* V459 tmp429      [V459    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
 ;  V460 tmp430      [V460,T129] (  6,  6   )   byref  ->  x21         "Inline stloc first use temp"
 ;  V461 tmp431      [V461,T124] (  7,  7   )     int  ->  x23         "Inline stloc first use temp"
-;  V462 tmp432      [V462,T89] (  4,  8   )   byref  ->  x20         single-def "Inlining Arg"
-;  V463 tmp433      [V463,T78] (  9,  9   )     ref  ->  x24         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V462 tmp432      [V462,T88] (  4,  8   )   byref  ->  x20         single-def "Inlining Arg"
+;  V463 tmp433      [V463,T77] (  9,  9   )     ref  ->  x24         class-hnd single-def "Inline stloc first use temp" <System.Object>
 ;* V464 tmp434      [V464    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V465 tmp435      [V465    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <<unknown class>>
 ;* V466 tmp436      [V466    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ubyte]>
@@ -482,7 +482,7 @@
 ;* V471 tmp441      [V471    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <ubyte[]>
 ;  V472 tmp442      [V472,T179] (  2,  4   )   byref  ->   x1         single-def "Inlining Arg"
 ;* V473 tmp443      [V473    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V474 tmp444      [V474,T93] (  4,  8   )     int  ->  x20         "Inlining Arg"
+;  V474 tmp444      [V474,T92] (  4,  8   )     int  ->  x20         "Inlining Arg"
 ;* V475 tmp445      [V475    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V476 tmp446      [V476,T180] (  2,  4   )   byref  ->  x21         single-def "Inlining Arg"
 ;* V477 tmp447      [V477    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask>
@@ -511,9 +511,9 @@
 ;  V500 tmp470      [V500,T159] (  4,  4   )     int  ->  [fp+0x30]  do-not-enreg[Z] EH-live "field V03._messageType (fldOffset=0x4)" P-INDEP
 ;  V501 tmp471      [V501    ] (  6,  6   )     ref  ->  [fp+0x198]  do-not-enreg[X] addr-exposed "field V04.m_task (fldOffset=0x0)" P-DEP
 ;  V502 tmp472      [V502    ] (  6,  6   )     int  ->  [fp+0x1A0]  do-not-enreg[X] addr-exposed "field V04.m_options (fldOffset=0x8)" P-DEP
-;  V503 tmp473      [V503,T71] (  4, 10   )     ref  ->  [fp+0x178]  do-not-enreg[] "field V09._obj (fldOffset=0x0)" P-DEP
-;  V504 tmp474      [V504,T72] (  4, 10   )     int  ->  [fp+0x180]  do-not-enreg[] "field V09._result (fldOffset=0x8)" P-DEP
-;  V505 tmp475      [V505,T73] (  4, 10   )   short  ->  [fp+0x184]  do-not-enreg[] "field V09._token (fldOffset=0xc)" P-DEP
+;  V503 tmp473      [V503,T70] (  4, 10   )     ref  ->  [fp+0x178]  do-not-enreg[] "field V09._obj (fldOffset=0x0)" P-DEP
+;  V504 tmp474      [V504,T71] (  4, 10   )     int  ->  [fp+0x180]  do-not-enreg[] "field V09._result (fldOffset=0x8)" P-DEP
+;  V505 tmp475      [V505,T72] (  4, 10   )   short  ->  [fp+0x184]  do-not-enreg[] "field V09._token (fldOffset=0xc)" P-DEP
 ;  V506 tmp476      [V506,T154] (  2,  5   )   ubyte  ->  [fp+0x186]  do-not-enreg[] "field V09._continueOnCapturedContext (fldOffset=0xe)" P-DEP
 ;  V507 tmp477      [V507,T03] ( 12, 36   )     ref  ->  [fp+0x158]  do-not-enreg[] "field V12._obj (fldOffset=0x0)" P-DEP
 ;  V508 tmp478      [V508,T04] ( 12, 36   )   short  ->  [fp+0x160]  do-not-enreg[] "field V12._token (fldOffset=0x8)" P-DEP
@@ -551,43 +551,43 @@
 ;  V540 tmp510      [V540,T45] (  3, 12   )     ref  ->  [fp+0xC8]  do-not-enreg[] "field V155._object (fldOffset=0x0)" P-DEP
 ;  V541 tmp511      [V541,T59] (  3, 12   )     int  ->  [fp+0xD0]  do-not-enreg[] "field V155._index (fldOffset=0x8)" P-DEP
 ;  V542 tmp512      [V542,T60] (  3, 12   )     int  ->  [fp+0xD4]  do-not-enreg[] "field V155._length (fldOffset=0xc)" P-DEP
-;  V543 tmp513      [V543,T94] (  2,  8   )     ref  ->   x0         "field V156._obj (fldOffset=0x0)" P-INDEP
-;  V544 tmp514      [V544,T104] (  2,  8   )     int  ->   x2         "field V156._result (fldOffset=0x8)" P-INDEP
-;  V545 tmp515      [V545,T105] (  2,  8   )   short  ->   x1         "field V156._token (fldOffset=0xc)" P-INDEP
+;  V543 tmp513      [V543,T93] (  2,  8   )     ref  ->   x0         "field V156._obj (fldOffset=0x0)" P-INDEP
+;  V544 tmp514      [V544,T103] (  2,  8   )     int  ->   x2         "field V156._result (fldOffset=0x8)" P-INDEP
+;  V545 tmp515      [V545,T104] (  2,  8   )   short  ->   x1         "field V156._token (fldOffset=0xc)" P-INDEP
 ;* V546 tmp516      [V546,T208] (  0,  0   )   ubyte  ->  zero-ref    "field V156._continueOnCapturedContext (fldOffset=0xe)" P-INDEP
-;  V547 tmp517      [V547,T95] (  2,  8   )     ref  ->   x1         "field V182._source (fldOffset=0x0)" P-INDEP
+;  V547 tmp517      [V547,T94] (  2,  8   )     ref  ->   x1         "field V182._source (fldOffset=0x0)" P-INDEP
 ;* V548 tmp518      [V548    ] (  0,  0   )     ref  ->  zero-ref    "field V183.m_task (fldOffset=0x0)" P-INDEP
-;  V549 tmp519      [V549,T96] (  2,  8   )     ref  ->   x0         "field V184._obj (fldOffset=0x0)" P-INDEP
-;  V550 tmp520      [V550,T106] (  2,  8   )   short  ->   x1         "field V184._token (fldOffset=0x8)" P-INDEP
+;  V549 tmp519      [V549,T95] (  2,  8   )     ref  ->   x0         "field V184._obj (fldOffset=0x0)" P-INDEP
+;  V550 tmp520      [V550,T105] (  2,  8   )   short  ->   x1         "field V184._token (fldOffset=0x8)" P-INDEP
 ;* V551 tmp521      [V551,T209] (  0,  0   )   ubyte  ->  zero-ref    "field V184._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
 ;* V552 tmp522      [V552    ] (  0,  0   )     ref  ->  zero-ref    "field V185._obj (fldOffset=0x0)" P-INDEP
 ;* V553 tmp523      [V553    ] (  0,  0   )   short  ->  zero-ref    "field V185._token (fldOffset=0x8)" P-INDEP
 ;* V554 tmp524      [V554    ] (  0,  0   )   ubyte  ->  zero-ref    "field V185._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
 ;* V555 tmp525      [V555    ] (  0,  0   )   byref  ->  zero-ref    "field V205._reference (fldOffset=0x0)" P-INDEP
 ;* V556 tmp526      [V556    ] (  0,  0   )     int  ->  zero-ref    "field V205._length (fldOffset=0x8)" P-INDEP
-;  V557 tmp527      [V557,T97] (  2,  8   )   byref  ->  x21         "field V210._reference (fldOffset=0x0)" P-INDEP
-;  V558 tmp528      [V558,T107] (  2,  8   )     int  ->  x22         "field V210._length (fldOffset=0x8)" P-INDEP
+;  V557 tmp527      [V557,T96] (  2,  8   )   byref  ->  x21         "field V210._reference (fldOffset=0x0)" P-INDEP
+;  V558 tmp528      [V558,T106] (  2,  8   )     int  ->  x22         "field V210._length (fldOffset=0x8)" P-INDEP
 ;* V559 tmp529      [V559    ] (  0,  0   )   byref  ->  zero-ref    "field V212._reference (fldOffset=0x0)" P-DEP
 ;* V560 tmp530      [V560    ] (  0,  0   )     int  ->  zero-ref    "field V212._length (fldOffset=0x8)" P-DEP
-;  V561 tmp531      [V561,T98] (  2,  8   )   byref  ->  x21         "field V213._reference (fldOffset=0x0)" P-INDEP
-;  V562 tmp532      [V562,T108] (  2,  8   )     int  ->  x22         "field V213._length (fldOffset=0x8)" P-INDEP
+;  V561 tmp531      [V561,T97] (  2,  8   )   byref  ->  x21         "field V213._reference (fldOffset=0x0)" P-INDEP
+;  V562 tmp532      [V562,T107] (  2,  8   )     int  ->  x22         "field V213._length (fldOffset=0x8)" P-INDEP
 ;* V563 tmp533      [V563    ] (  0,  0   )   byref  ->  zero-ref    "field V219._reference (fldOffset=0x0)" P-INDEP
 ;* V564 tmp534      [V564    ] (  0,  0   )     int  ->  zero-ref    "field V219._length (fldOffset=0x8)" P-INDEP
-;  V565 tmp535      [V565,T99] (  2,  8   )     ref  ->   x0         "field V220._obj (fldOffset=0x0)" P-INDEP
-;  V566 tmp536      [V566,T109] (  2,  8   )   short  ->   x1         "field V220._token (fldOffset=0x8)" P-INDEP
+;  V565 tmp535      [V565,T98] (  2,  8   )     ref  ->   x0         "field V220._obj (fldOffset=0x0)" P-INDEP
+;  V566 tmp536      [V566,T108] (  2,  8   )   short  ->   x1         "field V220._token (fldOffset=0x8)" P-INDEP
 ;* V567 tmp537      [V567,T210] (  0,  0   )   ubyte  ->  zero-ref    "field V220._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
 ;* V568 tmp538      [V568    ] (  0,  0   )     ref  ->  zero-ref    "field V221._obj (fldOffset=0x0)" P-INDEP
 ;* V569 tmp539      [V569    ] (  0,  0   )   short  ->  zero-ref    "field V221._token (fldOffset=0x8)" P-INDEP
 ;* V570 tmp540      [V570    ] (  0,  0   )   ubyte  ->  zero-ref    "field V221._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
 ;* V571 tmp541      [V571    ] (  0,  0   )     ref  ->  zero-ref    "field V240.m_task (fldOffset=0x0)" P-INDEP
-;  V572 tmp542      [V572,T100] (  2,  8   )     ref  ->   x0         "field V241._obj (fldOffset=0x0)" P-INDEP
-;  V573 tmp543      [V573,T110] (  2,  8   )   short  ->   x1         "field V241._token (fldOffset=0x8)" P-INDEP
+;  V572 tmp542      [V572,T99] (  2,  8   )     ref  ->   x0         "field V241._obj (fldOffset=0x0)" P-INDEP
+;  V573 tmp543      [V573,T109] (  2,  8   )   short  ->   x1         "field V241._token (fldOffset=0x8)" P-INDEP
 ;* V574 tmp544      [V574,T211] (  0,  0   )   ubyte  ->  zero-ref    "field V241._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
 ;* V575 tmp545      [V575    ] (  0,  0   )     ref  ->  zero-ref    "field V242._obj (fldOffset=0x0)" P-INDEP
 ;* V576 tmp546      [V576    ] (  0,  0   )   short  ->  zero-ref    "field V242._token (fldOffset=0x8)" P-INDEP
 ;* V577 tmp547      [V577    ] (  0,  0   )   ubyte  ->  zero-ref    "field V242._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
-;  V578 tmp548      [V578,T101] (  2,  8   )     ref  ->   x0         "field V260._obj (fldOffset=0x0)" P-INDEP
-;  V579 tmp549      [V579,T111] (  2,  8   )   short  ->   x1         "field V260._token (fldOffset=0x8)" P-INDEP
+;  V578 tmp548      [V578,T100] (  2,  8   )     ref  ->   x0         "field V260._obj (fldOffset=0x0)" P-INDEP
+;  V579 tmp549      [V579,T110] (  2,  8   )   short  ->   x1         "field V260._token (fldOffset=0x8)" P-INDEP
 ;* V580 tmp550      [V580,T212] (  0,  0   )   ubyte  ->  zero-ref    "field V260._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
 ;* V581 tmp551      [V581    ] (  0,  0   )     ref  ->  zero-ref    "field V261._obj (fldOffset=0x0)" P-INDEP
 ;* V582 tmp552      [V582    ] (  0,  0   )   short  ->  zero-ref    "field V261._token (fldOffset=0x8)" P-INDEP
@@ -728,8 +728,8 @@
 ;  V717 PSPSym      [V717,T317] (  1,  1   )    long  ->  [fp+0x1B0]  do-not-enreg[V] "PSPSym"
 ;* V718 cse0        [V718,T318] (  0,  0   )    long  ->  zero-ref    "CSE - conservative"
...
  
  
benchmarks.run_pgo.windows.arm64.checked.mch
-4 (-3.23%) : 66152.dasm - System.Numerics.BigIntegerCalculator:Compare(System.ReadOnlySpan1[uint],System.ReadOnlySpan1[uint]):int (Tier1)
@@ -5,7 +5,7 @@
 ; optimized using Dynamic PGO
 ; fp based frame
 ; fully interruptible
-; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 8097
+; with Dynamic PGO: edge weights are valid, and fgCalledCount is 8097
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[uint]>
@@ -30,20 +30,20 @@ G_M264_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, n
 G_M264_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
             ; byrRegs +[x0 x2]
             cmp     w1, w3
-            bne     G_M264_IG10
+            bne     G_M264_IG08
                        ;; size=8 bbWeight=1 PerfScore 1.50
 G_M264_IG03:        ; bbWeight=0.97, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref
             sxtw    w4, w3
                        ;; size=4 bbWeight=0.97 PerfScore 0.48
 G_M264_IG04:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2}, byref, isz
             sub     w4, w4, #1
-            tbnz    w4, #31, G_M264_IG08
+            tbnz    w4, #31, G_M264_IG12
             cmp     w4, w1
-            bhs     G_M264_IG13
+            bhs     G_M264_IG11
             mov     w5, w4
             ldr     w6, [x0, x5, LSL #2]
             cmp     w4, w3
-            bhs     G_M264_IG13
+            bhs     G_M264_IG11
             ldr     w5, [x2, x5, LSL #2]
             cmp     w6, w5
             beq     G_M264_IG04
@@ -51,7 +51,7 @@ G_M264_IG04:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0005 {x0 x2},
 G_M264_IG05:        ; bbWeight=0.97, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x0 x2]
             cmp     w5, w6
-            bhi     G_M264_IG11
+            bhi     G_M264_IG09
                        ;; size=8 bbWeight=0.97 PerfScore 1.45
 G_M264_IG06:        ; bbWeight=0.74, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #1
@@ -60,31 +60,30 @@ G_M264_IG07:        ; bbWeight=0.74, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=0.74 PerfScore 1.47
-G_M264_IG08:        ; bbWeight=0.97, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-            mov     w0, wzr
-                       ;; size=4 bbWeight=0.97 PerfScore 0.48
-G_M264_IG09:        ; bbWeight=0.97, epilog, nogc, extend
-            ldp     fp, lr, [sp], #0x10
-            ret     lr
-                       ;; size=8 bbWeight=0.97 PerfScore 1.94
-G_M264_IG10:        ; bbWeight=0.03, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M264_IG08:        ; bbWeight=0.03, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             cmp     w1, w3
             bge     G_M264_IG06
                        ;; size=8 bbWeight=0.03 PerfScore 0.05
-G_M264_IG11:        ; bbWeight=0.26, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M264_IG09:        ; bbWeight=0.26, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movn    w0, #0
                        ;; size=4 bbWeight=0.26 PerfScore 0.13
-G_M264_IG12:        ; bbWeight=0.26, epilog, nogc, extend
+G_M264_IG10:        ; bbWeight=0.26, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x10
             ret     lr
                        ;; size=8 bbWeight=0.26 PerfScore 0.53
-G_M264_IG13:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M264_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
-            brk_windows #0
+                      ;; size=4 bbWeight=0 PerfScore 0.00
+G_M264_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            mov     w0, wzr
+                       ;; size=4 bbWeight=0 PerfScore 0.00
+G_M264_IG13:        ; bbWeight=0, epilog, nogc, extend
+            ldp     fp, lr, [sp], #0x10
+            ret     lr
                      ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 124, prolog size 8, PerfScore 22.37, instruction count 31, allocated bytes for code 124 (MethodHash=ba31fef7) for method System.Numerics.BigIntegerCalculator:Compare(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint]):int (Tier1)
+; Total bytes of code 120, prolog size 8, PerfScore 19.95, instruction count 30, allocated bytes for code 120 (MethodHash=ba31fef7) for method System.Numerics.BigIntegerCalculator:Compare(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint]):int (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -95,7 +94,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 31 (0x0001f) Actual length = 124 (0x00007c)
+  Function Length   : 30 (0x0001e) Actual length = 120 (0x000078)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-20 (-2.87%) : 63676.dasm - System.Linq.Enumerable:CountSystem.__Canon:int (Tier1)
@@ -25,7 +25,7 @@
 ;  V13 tmp7         [V13,T09] (  2, 154.56)     int  ->   x0         "guarded devirt return temp"
 ;* V14 tmp8         [V14    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Collections.Generic.List`1+Enumerator[Product]>
 ;* V15 tmp9         [V15    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Collections.Generic.List`1+Enumerator[Product]>
-;  V16 tmp10        [V16,T00] ( 12,1085.88)   byref  ->  x23         "Inlining Arg"
+;  V16 tmp10        [V16,T00] ( 10,1081.92)   byref  ->  x23         "Inlining Arg"
 ;  V17 tmp11        [V17,T07] (  4, 308.13)     ref  ->  x14         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;* V18 tmp12        [V18    ] (  0,   0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V19 tmp13        [V19,T01] (  3, 457.73)     ref  ->  x14         "arr expr"
@@ -54,12 +54,12 @@ G_M54795_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x19]
                        ;; size=40 bbWeight=1 PerfScore 7.50
 G_M54795_IG02:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
-            cbz     x21, G_M54795_IG24
-            cbz     x19, G_M54795_IG25
+            cbz     x21, G_M54795_IG23
+            cbz     x19, G_M54795_IG24
             mov     w22, wzr
             ldr     x0, [x20, #0x38]
             ldr     x11, [x0, #0x10]
-            cbz     x11, G_M54795_IG20
+            cbz     x11, G_M54795_IG19
                        ;; size=24 bbWeight=1 PerfScore 9.50
 G_M54795_IG03:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref
             mov     x0, x21
@@ -143,11 +143,11 @@ G_M54795_IG10:        ; bbWeight=77.28, gcrefRegs=80000 {x19}, byrefRegs=0000 {}
             ldr     w15, [x23, #0x14]
             ldr     w12, [x14, #0x14]
             cmp     w15, w12
-            bne     G_M54795_IG18
+            bne     G_M54795_IG17
             ldr     w15, [x23, #0x10]
             ldr     w12, [x14, #0x10]
             cmp     w15, w12
-            bhs     G_M54795_IG19
+            bhs     G_M54795_IG18
                      ;; size=56 bbWeight=77.28 PerfScore 1932.00
 G_M54795_IG11:        ; bbWeight=76.29, gcrefRegs=84000 {x14 x19}, byrefRegs=800000 {x23}, byref, isz
             ; gcrRegs -[x0]
@@ -183,7 +183,7 @@ G_M54795_IG12:        ; bbWeight=77.28, gcrefRegs=80001 {x0 x19}, byrefRegs=0000
                        ;; size=24 bbWeight=77.28 PerfScore 502.32
 G_M54795_IG13:        ; bbWeight=1.00, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
-            b       G_M54795_IG21
+            b       G_M54795_IG20
                      ;; size=4 bbWeight=1.00 PerfScore 1.00
 G_M54795_IG14:        ; bbWeight=5.00, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x19]
@@ -211,17 +211,8 @@ G_M54795_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M54795_IG18:        ; bbWeight=0.99, gcrefRegs=0000 {}, byrefRegs=800000 {x23}, byref, isz
+G_M54795_IG18:        ; bbWeight=0.99, gcrefRegs=0000 {}, byrefRegs=800000 {x23}, byref
             ; byrRegs +[x23]
-            ldr     w11, [x23, #0x14]
-            ldr     x1, [x23]
-            ; gcrRegs +[x1]
-            ldr     w1, [x1, #0x14]
-            ; gcrRegs -[x1]
-            cmp     w11, w1
-            bne     G_M54795_IG17
-                       ;; size=20 bbWeight=0.99 PerfScore 10.41
-G_M54795_IG19:        ; bbWeight=0.99, gcrefRegs=0000 {}, byrefRegs=800000 {x23}, byref
             ldr     x11, [x23]
             ; gcrRegs +[x11]
             ldr     w11, [x11, #0x10]
@@ -229,9 +220,9 @@ G_M54795_IG19:        ; bbWeight=0.99, gcrefRegs=0000 {}, byrefRegs=800000 {x23}
             add     w11, w11, #1
             str     w11, [x23, #0x10]
             str     xzr, [x23, #0x08]
-            b       G_M54795_IG21
+            b       G_M54795_IG20
                         ;; size=24 bbWeight=0.99 PerfScore 9.42
-G_M54795_IG20:        ; bbWeight=0.20, gcVars=0000000000000000 {}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref
+G_M54795_IG19:        ; bbWeight=0.20, gcVars=0000000000000000 {}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs +[x19 x21]
             ; byrRegs -[x23]
             ; GC ptr vars -{V04}
@@ -244,28 +235,28 @@ G_M54795_IG20:        ; bbWeight=0.20, gcVars=0000000000000000 {}, gcrefRegs=280
             mov     x11, x0
             b       G_M54795_IG03
                        ;; size=28 bbWeight=0.20 PerfScore 0.90
-G_M54795_IG21:        ; bbWeight=1.00, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M54795_IG20:        ; bbWeight=1.00, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x19 x21]
             ; GC ptr vars +{V04}
             ldr     x0, [fp, #0x10]    // [V04 loc1]
             ; gcrRegs +[x0]
             ldr     x1, [x0]
             cmp     x1, x21
-            bne     G_M54795_IG26
+            bne     G_M54795_IG25
                       ;; size=16 bbWeight=1.00 PerfScore 6.50
-G_M54795_IG22:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M54795_IG21:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             ; GC ptr vars -{V04}
             mov     w0, w22
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M54795_IG23:        ; bbWeight=1, epilog, nogc, extend
+G_M54795_IG22:        ; bbWeight=1, epilog, nogc, extend
             ldr     x23, [sp, #0x48]
             ldp     x21, x22, [sp, #0x38]
             ldp     x19, x20, [sp, #0x28]
             ldp     fp, lr, [sp], #0x50
             ret     lr
                        ;; size=20 bbWeight=1 PerfScore 6.00
-G_M54795_IG24:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M54795_IG23:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             mov     w0, #17
             movz    x1, #0xD1FFAB1E      // code for System.Linq.ThrowHelper:ThrowArgumentNullException(int)
             movk    x1, #0xD1FFAB1E LSL #16
@@ -275,7 +266,7 @@ G_M54795_IG24:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=28 bbWeight=0 PerfScore 0.00
-G_M54795_IG25:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M54795_IG24:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #12
             movz    x1, #0xD1FFAB1E      // code for System.Linq.ThrowHelper:ThrowArgumentNullException(int)
             movk    x1, #0xD1FFAB1E LSL #16
@@ -285,7 +276,7 @@ G_M54795_IG25:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=28 bbWeight=0 PerfScore 0.00
-G_M54795_IG26:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M54795_IG25:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; GC ptr vars +{V04}
             ldr     x0, [fp, #0x10]    // [V04 loc1]
             ; gcrRegs +[x0]
@@ -297,9 +288,9 @@ G_M54795_IG26:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=000
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            b       G_M54795_IG22
+            b       G_M54795_IG21
                       ;; size=28 bbWeight=0 PerfScore 0.00
-G_M54795_IG27:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+G_M54795_IG26:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
             ; GC ptr vars +{V04}
             stp     fp, lr, [sp, #-0x40]!
             stp     x19, x20, [sp, #0x18]
@@ -308,16 +299,16 @@ G_M54795_IG27:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=000
             add     x3, fp, #80
             str     x3, [sp, #0x10]
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M54795_IG28:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M54795_IG27:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldr     x0, [fp, #0x10]   // [V04 loc1]
             ; gcrRegs +[x0]
-            cbz     x0, G_M54795_IG29
+            cbz     x0, G_M54795_IG28
             ldr     x11, [x0]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             cmp     x11, x21
-            beq     G_M54795_IG29
+            beq     G_M54795_IG28
             movz    x11, #0xD1FFAB1E      // code for <unknown method>
             movk    x11, #0xD1FFAB1E LSL #16
             movk    x11, #0xD1FFAB1E LSL #32
@@ -327,7 +318,7 @@ G_M54795_IG28:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=000
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=52 bbWeight=0 PerfScore 0.00
-G_M54795_IG29:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M54795_IG28:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldr     x23, [sp, #0x38]
             ldp     x21, x22, [sp, #0x28]
             ldp     x19, x20, [sp, #0x18]
@@ -335,7 +326,7 @@ G_M54795_IG29:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 696, prolog size 40, PerfScore 6930.20, instruction count 174, allocated bytes for code 696 (MethodHash=aec129f4) for method System.Linq.Enumerable:Count[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (Tier1)
+; Total bytes of code 676, prolog size 40, PerfScore 6919.79, instruction count 169, allocated bytes for code 676 (MethodHash=aec129f4) for method System.Linq.Enumerable:Count[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -346,7 +337,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 150 (0x00096) Actual length = 600 (0x000258)
+  Function Length   : 145 (0x00091) Actual length = 580 (0x000244)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -381,4 +372,4 @@ Unwind Info:
 
 *************** EH table for System.Linq.Enumerable:Count[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M54795_IG04..G_M54795_IG20) handled by [G_M54795_IG27..END) (fault)
+EH#0: try [G_M54795_IG04..G_M54795_IG19) handled by [G_M54795_IG26..END) (fault)
  
-12 (-2.52%) : 12200.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
@@ -8,28 +8,28 @@
 ; 3 inlinees with PGO data; 12 single block inlinees; 3 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T17] (  3,  3   )    long  ->  x19         single-def
-;  V01 arg1         [V01,T18] (  3,  3   )    long  ->  x20         single-def
+;  V00 arg0         [V00,T18] (  3,  3   )    long  ->  x19         single-def
+;  V01 arg1         [V01,T19] (  3,  3   )    long  ->  x20         single-def
 ;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x28]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T19] (  4, 11   )    long  ->  x20        
+;  V03 loc1         [V03,T20] (  4, 11   )    long  ->  x20        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V08 tmp1         [V08,T08] (  7, 83.36)     ref  ->  x19         class-hnd single-def "non-inline candidate call" <<unknown class>>
+;  V08 tmp1         [V08,T09] (  7, 83.36)     ref  ->  x19         class-hnd single-def "non-inline candidate call" <<unknown class>>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V11 tmp4         [V11,T27] (  3,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V12 tmp5         [V12,T20] (  2,  4   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp4         [V11,T28] (  3,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp5         [V12,T21] (  2,  4   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp10        [V17,T06] (  2, 16   )     int  ->   x4         "Inlining Arg"
-;  V18 tmp11        [V18,T05] (  2, 16   )   byref  ->   x3         "Inlining Arg"
+;  V17 tmp10        [V17,T07] (  2, 16   )     int  ->   x4         "Inlining Arg"
+;  V18 tmp11        [V18,T06] (  2, 16   )   byref  ->   x3         "Inlining Arg"
 ;* V19 tmp12        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V21 tmp14        [V21,T10] (  2,  8   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V21 tmp14        [V21,T11] (  2,  8   )   ubyte  ->   x0         "Inline return value spill temp"
 ;* V22 tmp15        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V23 tmp16        [V23    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V24 tmp17        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
@@ -40,30 +40,30 @@
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V30 tmp23        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V32 tmp25        [V32,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V32 tmp25        [V32,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V33 tmp26        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V34 tmp27        [V34,T23] (  3, 16.68)     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
-;  V35 tmp28        [V35,T21] (  4, 17.36)     int  ->  x15         "Inline stloc first use temp"
-;  V36 tmp29        [V36,T16] (  3, 19.36)     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V34 tmp27        [V34,T24] (  3, 16.68)     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
+;  V35 tmp28        [V35,T22] (  4, 17.36)     int  ->  x15         "Inline stloc first use temp"
+;  V36 tmp29        [V36,T17] (  3, 19.36)     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [fp+0x18]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
 ;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
 ;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
-;  V40 tmp33        [V40,T02] (  5, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V41 tmp34        [V41,T03] (  4, 18.70)     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V40 tmp33        [V40,T04] (  4, 23.70)     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V41 tmp34        [V41,T02] (  4, 18.70)     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V42 tmp35        [V42,T00] (  6, 35.79)     int  ->  x22         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V43 tmp36        [V43,T11] (  3, 10.30)     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
-;  V44 tmp37        [V44,T12] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp38        [V45,T14] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp36        [V43,T12] (  2,  9   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
+;  V44 tmp37        [V44,T13] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp38        [V45,T15] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V46 tmp39        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V47 tmp40        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V48 tmp41        [V48,T22] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;  V48 tmp41        [V48,T23] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V49 tmp42        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V50 tmp43        [V50,T25] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
-;  V51 tmp44        [V51,T24] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
-;  V52 tmp45        [V52,T09] (  3, 12   )   byref  ->   x3         "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V53 tmp46        [V53,T04] (  4, 16   )     int  ->   x4         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V54 tmp47        [V54,T13] (  2,  8   )   byref  ->   x3         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V55 tmp48        [V55,T15] (  2,  8   )     int  ->   x4         "field V15._length (fldOffset=0x8)" P-INDEP
+;* V50 tmp43        [V50,T26] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
+;  V51 tmp44        [V51,T25] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
+;  V52 tmp45        [V52,T10] (  3, 12   )   byref  ->   x3         "field V14._reference (fldOffset=0x0)" P-INDEP
+;  V53 tmp46        [V53,T05] (  4, 16   )     int  ->   x4         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V54 tmp47        [V54,T14] (  2,  8   )   byref  ->   x3         "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V55 tmp48        [V55,T16] (  2,  8   )     int  ->   x4         "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp50        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V58 tmp51        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
@@ -79,7 +79,8 @@
 ;* V68 tmp61        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V69 tmp62        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;  V70 tmp63        [V70,T01] (  3, 40.19)     ref  ->   x2         "arr expr"
-;  V71 PSPSym       [V71,T26] (  1,  1   )    long  ->  [fp+0x38]  do-not-enreg[V] "PSPSym"
+;  V71 PSPSym       [V71,T27] (  1,  1   )    long  ->  [fp+0x38]  do-not-enreg[V] "PSPSym"
+;  V72 cse0         [V72,T03] (  2, 16   )     int  ->   x2         "CSE - aggressive"
 ;
 ; Lcl frame size = 48
 
@@ -110,7 +111,7 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcr arg pop 0
             stp     x0, x1, [fp, #0x28]    // [V02 loc0], [V02 loc0+0x08]
             ldrb    w2, [x20, #0x08]
-            cbz     w2, G_M19804_IG12
+            cbz     w2, G_M19804_IG11
             ldr     x19, [x20]
             ; gcrRegs +[x19]
             ldr     w21, [x19, #0x14]
@@ -150,15 +151,15 @@ G_M19804_IG06:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0009 {x0 x3
             blr     x3
             ; byrRegs -[x0-x1]
             ; gcr arg pop 0
-            cbnz    w0, G_M19804_IG15
+            cbnz    w0, G_M19804_IG14
                       ;; size=40 bbWeight=4 PerfScore 38.00
 G_M19804_IG07:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     w2, [x19, #0x14]
             cmp     w21, w2
-            bne     G_M19804_IG11
+            bne     G_M19804_IG10
             ldr     w2, [x19, #0x10]
             cmp     w22, w2
-            bhs     G_M19804_IG12
+            bhs     G_M19804_IG11
                       ;; size=24 bbWeight=8 PerfScore 72.00
 G_M19804_IG08:        ; bbWeight=6.70, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     x2, [x19, #0x08]
@@ -189,14 +190,7 @@ G_M19804_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M19804_IG11:        ; bbWeight=1.30, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x19]
-            ldr     w0, [x19, #0x14]
-            cmp     w21, w0
-            bne     G_M19804_IG10
-                       ;; size=12 bbWeight=1.30 PerfScore 5.86
-G_M19804_IG12:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x19]
+G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldr     x19, [x20]
             ; gcrRegs +[x19]
             add     x0, fp, #40    // [V02 loc0]
@@ -216,9 +210,9 @@ G_M19804_IG12:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x14]
             ldr     w12, [x14, #0x08]
             cmp     w12, w15
-            bls     G_M19804_IG14
+            bls     G_M19804_IG13
                      ;; size=60 bbWeight=8 PerfScore 172.00
-G_M19804_IG13:        ; bbWeight=0.68, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG12:        ; bbWeight=0.68, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             add     w12, w15, #1
             str     w12, [x19, #0x10]
@@ -231,9 +225,9 @@ G_M19804_IG13:        ; bbWeight=0.68, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x1 x15 x19]
             ; byrRegs -[x14]
-            b       G_M19804_IG15
+            b       G_M19804_IG14
                      ;; size=28 bbWeight=0.68 PerfScore 3.73
-G_M19804_IG14:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x1 x19]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -245,18 +239,18 @@ G_M19804_IG14:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {},
             ; gcrRegs -[x0-x1 x19]
             ; gcr arg pop 0
                        ;; size=24 bbWeight=1 PerfScore 6.00
-G_M19804_IG15:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M19804_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             add     x0, fp, #24   // [V37 tmp30]
             bl      CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M19804_IG16:        ; bbWeight=1, epilog, nogc, extend
+G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
             ldp     x21, x22, [sp, #0x50]
             ldp     x19, x20, [sp, #0x40]
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=16 bbWeight=1 PerfScore 4.00
-G_M19804_IG17:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             ; gcrRegs +[x0]
             stp     fp, lr, [sp, #-0x40]!
             stp     x19, x20, [sp, #0x20]
@@ -264,7 +258,7 @@ G_M19804_IG17:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             add     x3, fp, #96
             str     x3, [sp, #0x18]
                        ;; size=20 bbWeight=0 PerfScore 0.00
-G_M19804_IG18:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
             ldr     x1, [x0]
             ldr     x1, [x1, #0x48]
             ldr     x1, [x1, #0x08]
@@ -277,16 +271,16 @@ G_M19804_IG18:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            adr     x0, [G_M19804_IG15]
+            adr     x0, [G_M19804_IG14]
                       ;; size=40 bbWeight=0 PerfScore 0.00
-G_M19804_IG19:        ; bbWeight=0, funclet epilog, nogc, extend
+G_M19804_IG18:        ; bbWeight=0, funclet epilog, nogc, extend
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=16 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 476, prolog size 36, PerfScore 455.81, instruction count 119, allocated bytes for code 476 (MethodHash=86b0b2a3) for method System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
+; Total bytes of code 464, prolog size 36, PerfScore 449.95, instruction count 116, allocated bytes for code 464 (MethodHash=86b0b2a3) for method System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -297,7 +291,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 100 (0x00064) Actual length = 400 (0x000190)
+  Function Length   : 97 (0x00061) Actual length = 388 (0x000184)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -334,4 +328,4 @@ Unwind Info:
 
 *************** EH table for System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long)
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M19804_IG03..G_M19804_IG15) handled by [G_M19804_IG17..END) (class: 2000089)
+EH#0: try [G_M19804_IG03..G_M19804_IG14) handled by [G_M19804_IG16..END) (class: 2000089)
  
+40 (+1.21%) : 68400.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
@@ -11,22 +11,22 @@
 ;
 ;  V00 loc0         [V00,T02] ( 26,  9.67)     ref  ->  x20         class-hnd exact single-def <System.Threading.ThreadPoolWorkQueue>
 ;  V01 loc1         [V01,T05] ( 18,  8.11)     ref  ->  x22         class-hnd exact single-def <System.Threading.ThreadPoolWorkQueueThreadLocals>
-;  V02 loc2         [V02    ] ( 11,  8.62)     ref  ->  [fp+0x48]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Object>
-;  V03 loc3         [V03,T31] (  6,  3.77)     ref  ->  x21         class-hnd single-def <System.Object>
+;  V02 loc2         [V02    ] ( 11,  8.62)     ref  ->  [fp+0x58]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Object>
+;  V03 loc3         [V03,T31] (  8,  3.77)     ref  ->  x21         class-hnd single-def <System.Object>
 ;  V04 loc4         [V04,T09] ( 13,  6.87)     ref  ->  x23         class-hnd exact single-def <System.Threading.Thread>
 ;  V05 loc5         [V05,T67] (  3,  1.52)     int  ->  x24        
 ;  V06 loc6         [V06,T57] (  2,  2.04)   ubyte  ->   x0        
 ;* V07 loc7         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
-;  V08 loc8         [V08    ] (  3,  1.25)   ubyte  ->  [fp+0x40]  do-not-enreg[X] addr-exposed ld-addr-op
-;  V09 loc9         [V09,T41] (  5,  2.99)     int  ->  x27        
-;  V10 loc10        [V10    ] (  3,  1.52)   ubyte  ->  [fp+0x38]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V08 loc8         [V08    ] (  3,  1.25)   ubyte  ->  [fp+0x50]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V09 loc9         [V09,T41] (  5,  2.99)     int  ->  x26        
+;  V10 loc10        [V10    ] (  3,  1.52)   ubyte  ->  [fp+0x48]  do-not-enreg[X] addr-exposed ld-addr-op
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V12 tmp1         [V12    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V13 tmp2         [V13,T28] (  4,  4   )     ref  ->  x22         class-hnd exact single-def "dup spill" <System.Threading.ThreadPoolWorkQueueThreadLocals>
 ;  V14 tmp3         [V14,T39] (  6,  3.02)     ref  ->  x22        
 ;  V15 tmp4         [V15,T83] (  3,  0   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
 ;  V16 tmp5         [V16,T64] (  3,  1.58)     ref  ->   x1         class-hnd "Inline return value spill temp" <System.Object>
-;  V17 tmp6         [V17    ] ( 12,  6.01)     ref  ->  [fp+0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" <System.Object>
+;  V17 tmp6         [V17    ] ( 12,  6.01)     ref  ->  [fp+0x40]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" <System.Object>
 ;  V18 tmp7         [V18,T62] (  3,  1.72)     int  ->  x23         "Inline stloc first use temp"
 ;  V19 tmp8         [V19,T51] (  2,  2.28)     ref  ->  x24         class-hnd exact single-def "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
 ;  V20 tmp9         [V20,T74] (  3,  1.15)     ref  ->  x25         class-hnd exact single-def "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue[]>
@@ -42,7 +42,7 @@
 ;  V30 tmp19        [V30,T08] ( 10,  7.05)     ref  ->  x24         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
 ;* V31 tmp20        [V31,T69] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V32 tmp21        [V32,T30] (  5,  3.91)     ref  ->  x25         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
-;  V33 tmp22        [V33    ] (  2,  1.00)  struct ( 8) [fp+0x28]  do-not-enreg[XS] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.SpinWait>
+;  V33 tmp22        [V33    ] (  2,  1.00)  struct ( 8) [fp+0x38]  do-not-enreg[XS] addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.SpinWait>
 ;  V34 tmp23        [V34,T17] (  9,  5.35)     int  ->  x26         "Inline stloc first use temp"
 ;  V35 tmp24        [V35,T35] (  3,  3.02)     int  ->   x0         "Inline stloc first use temp"
 ;* V36 tmp25        [V36    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
@@ -59,17 +59,17 @@
 ;* V47 tmp36        [V47    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V48 tmp37        [V48    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V49 tmp38        [V49    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <<unknown class>>
-;  V50 tmp39        [V50,T72] (  3,  1.19)     ref  ->   x1         class-hnd "Inline return value spill temp" <System.Object>
-;  V51 tmp40        [V51    ] ( 11,  4.21)     ref  ->  [fp+0x20]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" <System.Object>
+;  V50 tmp39        [V50,T72] (  3,  1.19)     ref  ->   x0         class-hnd "Inline return value spill temp" <System.Object>
+;  V51 tmp40        [V51    ] ( 13,  4.21)     ref  ->  [fp+0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" <System.Object>
 ;  V52 tmp41        [V52,T71] (  3,  1.30)     int  ->  x26         "Inline stloc first use temp"
 ;  V53 tmp42        [V53,T60] (  2,  1.72)     ref  ->  x25         class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
 ;  V54 tmp43        [V54,T33] (  4,  3.44)     ref  ->  x28         class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue[]>
 ;  V55 tmp44        [V55,T10] (  9,  6.46)     int  ->  x27         "Inline stloc first use temp"
-;  V56 tmp45        [V56,T61] (  2,  1.72)     int  ->  [fp+0x1C]  "Inline stloc first use temp"
+;  V56 tmp45        [V56,T61] (  2,  1.72)     int  ->  [fp+0x2C]  "Inline stloc first use temp"
 ;  V57 tmp46        [V57,T11] (  6,  6.44)     int  ->  x26         "Inline stloc first use temp"
-;  V58 tmp47        [V58,T23] (  5,  4.33)     ref  ->   x0         class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
-;  V59 tmp48        [V59,T48] (  3,  2.58)     int  ->   x0        
-;  V60 tmp49        [V60,T68] (  3,  1.52)     ref  ->   x2         class-hnd "Inline return value spill temp" <System.Object>
+;  V58 tmp47        [V58,T23] (  5,  4.33)     ref  ->  [fp+0x18]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
+;  V59 tmp48        [V59,T48] (  3,  2.58)     int  ->   x1        
+;  V60 tmp49        [V60,T68] (  4,  1.52)     ref  ->   x2         class-hnd "Inline return value spill temp" <System.Object>
 ;  V61 tmp50        [V61,T19] (  4,  4.55)     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
 ;  V62 tmp51        [V62,T53] (  2,  1.52)   ubyte  ->   x0         "Inline return value spill temp"
 ;  V63 tmp52        [V63,T20] (  3,  4.55)     ref  ->  x28         class-hnd "Inlining Arg" <<unknown class>>
@@ -103,25 +103,25 @@
 ;* V91 tmp80        [V91    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V92 tmp81        [V92    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V93 tmp82        [V93    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V94 tmp83        [V94,T07] (  8,  7.47)     ref  ->  x28         class-hnd exact "Inlining Arg" <System.Threading.PortableThreadPool>
+;  V94 tmp83        [V94,T07] (  8,  7.47)     ref  ->  x27         class-hnd exact "Inlining Arg" <System.Threading.PortableThreadPool>
 ;* V95 tmp84        [V95    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V96 tmp85        [V96    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V97 tmp86        [V97,T24] (  3,  3.74)     ref  ->   x0         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
+;  V97 tmp86        [V97,T24] (  5,  3.74)     ref  ->   x1         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V98 tmp87        [V98    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V99 tmp88        [V99    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V100 tmp89       [V100    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V101 tmp90       [V101,T54] (  3,  2.24)     int  ->   x0         "Inline stloc first use temp"
+;  V101 tmp90       [V101,T54] (  5,  2.24)     int  ->  x28         "Inline stloc first use temp"
 ;* V102 tmp91       [V102,T79] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V103 tmp92       [V103,T55] (  3,  2.24)     int  ->   x0         "Inline stloc first use temp"
 ;* V104 tmp93       [V104    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V105 tmp94       [V105    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;  V106 tmp95       [V106    ] (  3,  0   )  struct ( 8) [fp+0x10]  do-not-enreg[XS] addr-exposed ld-addr-op "Inline stloc first use temp" <System.Threading.PortableThreadPool+ThreadCounts>
+;  V106 tmp95       [V106    ] (  3,  0   )  struct ( 8) [fp+0x20]  do-not-enreg[XS] addr-exposed ld-addr-op "Inline stloc first use temp" <System.Threading.PortableThreadPool+ThreadCounts>
 ;* V107 tmp96       [V107    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V108 tmp97       [V108    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V109 tmp98       [V109    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V110 tmp99       [V110    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <<unknown class>>
-;  V111 tmp100      [V111    ] (  2,  1.00)     int  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V33._count (fldOffset=0x0)" P-DEP
-;  V112 tmp101      [V112    ] (  3,  0   )    long  ->  [fp+0x10]  do-not-enreg[X] addr-exposed "field V106._data (fldOffset=0x0)" P-DEP
+;  V111 tmp100      [V111    ] (  2,  1.00)     int  ->  [fp+0x38]  do-not-enreg[X] addr-exposed "field V33._count (fldOffset=0x0)" P-DEP
+;  V112 tmp101      [V112    ] (  3,  0   )    long  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "field V106._data (fldOffset=0x0)" P-DEP
 ;  V113 cse0        [V113,T49] (  3,  2.47)   byref  ->  x28         "CSE - moderate"
 ;  V114 cse1        [V114,T44] (  4,  2.90)    long  ->  x27         "CSE - moderate"
 ;  V115 cse2        [V115,T32] (  5,  3.75)    long  ->  x19         "CSE - moderate"
@@ -135,19 +135,19 @@
 ;  V123 rat4        [V123,T21] (  5,  4.48)    long  ->   x0         "TLS access"
 ;  V124 rat5        [V124,T22] (  3,  4.48)    long  ->   x0         "ThreadStaticBlockBase access"
 ;
-; Lcl frame size = 64
+; Lcl frame size = 80
 
 G_M63069_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0xA0]!
-            stp     x19, x20, [sp, #0x50]
-            stp     x21, x22, [sp, #0x60]
-            stp     x23, x24, [sp, #0x70]
-            stp     x25, x26, [sp, #0x80]
-            stp     x27, x28, [sp, #0x90]
+            stp     fp, lr, [sp, #-0xB0]!
+            stp     x19, x20, [sp, #0x60]
+            stp     x21, x22, [sp, #0x70]
+            stp     x23, x24, [sp, #0x80]
+            stp     x25, x26, [sp, #0x90]
+            stp     x27, x28, [sp, #0xA0]
             mov     fp, sp
-            str     xzr, [fp, #0x48]  // [V02 loc2]
-            str     xzr, [fp, #0x30]   // [V17 tmp6]
-            str     xzr, [fp, #0x20]   // [V51 tmp40]
+            str     xzr, [fp, #0x58]    // [V02 loc2]
+            str     xzr, [fp, #0x40]   // [V17 tmp6]
+            str     xzr, [fp, #0x30]   // [V51 tmp40]
                       ;; size=40 bbWeight=1 PerfScore 9.50
 G_M63069_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             movz    x19, #0xD1FFAB1E
@@ -159,34 +159,34 @@ G_M63069_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldr     x0, [x0, #0x10]
             ldr     w1, [x0, #0xD0]
             cmp     w1, #4
-            blt     G_M63069_IG94
+            blt     G_M63069_IG89
             ldr     x0, [x0, #0xD8]
             ldr     x0, [x0, #0x20]
-            cbz     x0, G_M63069_IG94
+            cbz     x0, G_M63069_IG89
             ldr     x0, [x0]
             ; byrRegs +[x0]
             add     x21, x0, #16
             ; byrRegs +[x21]
             ldr     x22, [x21, #0x38]
             ; gcrRegs +[x22]
-            cbz     x22, G_M63069_IG95
+            cbz     x22, G_M63069_IG90
                        ;; size=64 bbWeight=1 PerfScore 29.50
 G_M63069_IG03:        ; bbWeight=1.02, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x0 x21]
             str     wzr, [x20, #0xB4]
             dmb     ish
-            str     xzr, [fp, #0x48]  // [V02 loc2]
+            str     xzr, [fp, #0x58] // [V02 loc2]
             ldrb    w0, [x20, #0x35]
-            cbnz    w0, G_M63069_IG96
+            cbnz    w0, G_M63069_IG91
                      ;; size=20 bbWeight=1.02 PerfScore 16.32
 G_M63069_IG04:        ; bbWeight=1.02, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
-            ldr     x0, [fp, #0x48]  // [V02 loc2]
+            ldr     x0, [fp, #0x58]  // [V02 loc2]
             ; gcrRegs +[x0]
-            cbnz    x0, G_M63069_IG42
+            cbnz    x0, G_M63069_IG29
                       ;; size=8 bbWeight=1.02 PerfScore 3.06
 G_M63069_IG05:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
-            str     wzr, [fp, #0x40]  // [V08 loc8]
+            str     wzr, [fp, #0x50] // [V08 loc8]
             ldr     x0, [x22, #0x18]
             ; gcrRegs +[x0]
             add     x1, x0, #20
@@ -198,16 +198,16 @@ G_M63069_IG05:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             ldapr   w2, [x2]
             ; byrRegs -[x2]
             cmp     w1, w2
-            blt     G_M63069_IG97
+            blt     G_M63069_IG92
             mov     x2, xzr
             ; gcrRegs +[x2]
                        ;; size=36 bbWeight=1.00 PerfScore 13.06
 G_M63069_IG06:        ; bbWeight=1.00, gcrefRegs=500004 {x2 x20 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
-            str     x2, [fp, #0x30]   // [V17 tmp6]
-            ldr     x0, [fp, #0x30]    // [V17 tmp6]
+            str     x2, [fp, #0x40]  // [V17 tmp6]
+            ldr     x0, [fp, #0x40]    // [V17 tmp6]
             ; gcrRegs +[x0]
-            cbnz    x0, G_M63069_IG100
+            cbnz    x0, G_M63069_IG95
             ldrb    w0, [x22, #0x3C]
             ; gcrRegs -[x0]
             cbnz    w0, G_M63069_IG11
@@ -215,7 +215,7 @@ G_M63069_IG06:        ; bbWeight=1.00, gcrefRegs=500004 {x2 x20 x22}, byrefRegs=
 G_M63069_IG07:        ; bbWeight=1.01, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x2]
             ldr     w0, [x20, #0x30]
-            cbnz    w0, G_M63069_IG101
+            cbnz    w0, G_M63069_IG96
                         ;; size=8 bbWeight=1.01 PerfScore 4.03
 G_M63069_IG08:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref
             ldr     x23, [x20, #0x08]
@@ -226,7 +226,7 @@ G_M63069_IG08:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             ; gcrRegs +[x24]
             ldr     x25, [x24, #0x08]
             ; gcrRegs +[x25]
-            str     wzr, [fp, #0x28] // [V33 tmp22]
+            str     wzr, [fp, #0x38]    // [V33 tmp22]
                       ;; size=20 bbWeight=1.00 PerfScore 10.55
 G_M63069_IG09:        ; bbWeight=1.01, gcrefRegs=3D00000 {x20 x22 x23 x24 x25}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x0]
@@ -238,7 +238,7 @@ G_M63069_IG09:        ; bbWeight=1.01, gcrefRegs=3D00000 {x20 x22 x23 x24 x25},
             and     w0, w26, w0
             ldr     w21, [x25, #0x08]
             cmp     w0, w21
-            bhs     G_M63069_IG93
+            bhs     G_M63069_IG88
             ubfiz   x0, x0, #4, #32
             add     x27, x0, #16
             add     x0, x25, x27
@@ -249,7 +249,7 @@ G_M63069_IG09:        ; bbWeight=1.01, gcrefRegs=3D00000 {x20 x22 x23 x24 x25},
             ; byrRegs -[x0]
             add     w1, w26, #1
             sub     w0, w0, w1
-            cbnz    w0, G_M63069_IG34
+            cbnz    w0, G_M63069_IG21
                        ;; size=60 bbWeight=1.01 PerfScore 19.15
 G_M63069_IG10:        ; bbWeight=0.43, gcrefRegs=3D00000 {x20 x22 x23 x24 x25}, byrefRegs=10000000 {x28}, byref, isz
             add     x0, x24, #160
@@ -266,7 +266,7 @@ G_M63069_IG11:        ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             ; byrRegs -[x0 x28]
             ldr     x0, [x20, #0x10]
             ; gcrRegs +[x0]
-            add     x1, fp, #48   // [V17 tmp6]
+            add     x1, fp, #64  // [V17 tmp6]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Concurrent.ConcurrentQueue`1[System.__Canon]:TryDequeue(byref):ubyte:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
@@ -275,7 +275,7 @@ G_M63069_IG11:        ; bbWeight=0.00, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             blr     x2
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            cbnz    w0, G_M63069_IG100
+            cbnz    w0, G_M63069_IG95
             strb    wzr, [x22, #0x3C]
             b       G_M63069_IG08
                        ;; size=44 bbWeight=0.00 PerfScore 0.02
@@ -305,7 +305,7 @@ G_M63069_IG14:        ; bbWeight=2.99, gcrefRegs=F00000 {x20 x21 x22 x23}, byref
                        ;; size=20 bbWeight=2.99 PerfScore 16.43
 G_M63069_IG15:        ; bbWeight=0.75, gcrefRegs=F00001 {x0 x20 x21 x22 x23}, byrefRegs=0000 {}, byref, isz
             cmp     x23, x0
-            bne     G_M63069_IG83
+            bne     G_M63069_IG114
                      ;; size=8 bbWeight=0.75 PerfScore 1.12
 G_M63069_IG16:        ; bbWeight=0.75, gcrefRegs=F00000 {x20 x21 x22 x23}, byrefRegs=0000 {}, byref, isz
...
  
+48 (+1.27%) : 71839.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
@@ -12,13 +12,13 @@
 ;  V00 loc0         [V00,T17] ( 26,187.30)     ref  ->  x20         class-hnd exact single-def <System.Threading.ThreadPoolWorkQueue>
 ;  V01 loc1         [V01,T26] ( 18,126.40)     ref  ->  x22         class-hnd exact single-def <System.Threading.ThreadPoolWorkQueueThreadLocals>
 ;  V02 loc2         [V02    ] ( 11,305.64)     ref  ->  [fp+0x58]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Object>
-;  V03 loc3         [V03,T12] (  6,243.90)     ref  ->  x21         class-hnd single-def <System.Object>
+;  V03 loc3         [V03,T12] (  8,243.90)     ref  ->  x21         class-hnd single-def <System.Object>
 ;  V04 loc4         [V04,T05] ( 14,367.53)     ref  ->  x23         class-hnd exact single-def <System.Threading.Thread>
 ;  V05 loc5         [V05,T34] (  3, 61.50)     int  ->  x24        
 ;  V06 loc6         [V06,T70] (  2,  2.01)   ubyte  ->   x0        
 ;* V07 loc7         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
 ;  V08 loc8         [V08    ] (  3,  1.33)   ubyte  ->  [fp+0x50]  do-not-enreg[X] addr-exposed ld-addr-op
-;  V09 loc9         [V09,T13] (  5,243.25)     int  ->  x26        
+;  V09 loc9         [V09,T13] (  5,243.25)     int  ->  x25        
 ;  V10 loc10        [V10    ] (  3, 60.35)   ubyte  ->  [fp+0x48]  do-not-enreg[X] addr-exposed ld-addr-op
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V12 tmp1         [V12    ] (  0,  0   )     ref  ->  zero-ref   
@@ -59,16 +59,16 @@
 ;* V47 tmp36        [V47    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V48 tmp37        [V48    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V49 tmp38        [V49    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <<unknown class>>
-;  V50 tmp39        [V50,T36] (  3, 60.65)     ref  ->   x2         class-hnd "Inline return value spill temp" <System.Object>
+;  V50 tmp39        [V50,T36] (  3, 60.65)     ref  ->   x1         class-hnd "Inline return value spill temp" <System.Object>
 ;  V51 tmp40        [V51    ] ( 14,360.21)     ref  ->  [fp+0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" <System.Object>
 ;  V52 tmp41        [V52,T67] (  3,  2.89)     int  ->  x25         "Inline stloc first use temp"
-;  V53 tmp42        [V53,T59] (  2,  3.91)     ref  ->  x28         class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
+;  V53 tmp42        [V53,T59] (  2,  3.91)     ref  ->  registers   class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
 ;  V54 tmp43        [V54,T52] (  3,  4.87)     ref  ->  registers   class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue[]>
 ;  V55 tmp44        [V55,T39] (  9, 14.62)     int  ->  [fp+0x2C]  "Inline stloc first use temp"
 ;  V56 tmp45        [V56,T60] (  2,  3.91)     int  ->  [fp+0x28]  "Inline stloc first use temp"
 ;  V57 tmp46        [V57,T38] (  6, 14.75)     int  ->  x25         "Inline stloc first use temp"
 ;  V58 tmp47        [V58,T40] (  5,  9.87)     ref  ->   x0         class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
-;  V59 tmp48        [V59,T50] (  3,  5.90)     int  ->   x1        
+;  V59 tmp48        [V59,T50] (  3,  5.90)     int  ->   x0        
 ;  V60 tmp49        [V60,T30] (  3,119.37)     ref  ->   x2         class-hnd "Inline return value spill temp" <System.Object>
 ;  V61 tmp50        [V61,T08] (  4,358.11)     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
 ;  V62 tmp51        [V62,T68] (  2,  1.38)   ubyte  ->   x0         "Inline return value spill temp"
@@ -97,19 +97,19 @@
 ;* V85 tmp74        [V85    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V86 tmp75        [V86    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <<unknown class>>
 ;* V87 tmp76        [V87    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V88 tmp77        [V88,T00] ( 11,775.87)     ref  ->  x25         class-hnd "Inlining Arg" <System.Object>
+;  V88 tmp77        [V88,T00] ( 11,775.87)     ref  ->  x28         class-hnd "Inlining Arg" <System.Object>
 ;  V89 tmp78        [V89,T27] (  7,121.73)     ref  ->   x0         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task>
 ;* V90 tmp79        [V90    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.IThreadPoolWorkItem>
 ;* V91 tmp80        [V91    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[System.Threading.Tasks.VoidTaskResult,System.Buffers.Tests.RentReturnArrayPoolTests`1+<>c__DisplayClass24_0+<<ProducerConsumer>b__0>d[ubyte]]>
 ;* V92 tmp81        [V92    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Threading.Channels.AsyncOperation`1[ubyte]>
 ;* V93 tmp82        [V93    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V94 tmp83        [V94,T101] (  2,  0   )     ref  ->   x1         class-hnd exact "dup spill" <System.Threading.ContextCallback>
-;  V95 tmp84        [V95,T102] (  2,  0   )     ref  ->  x26         class-hnd exact "impAppendStmt" <System.Threading.ExecutionContext>
+;  V95 tmp84        [V95,T102] (  2,  0   )     ref  ->  x25         class-hnd exact "impAppendStmt" <System.Threading.ExecutionContext>
 ;* V96 tmp85        [V96    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V97 tmp86        [V97,T98] (  4,  0   )     ref  ->   x1        
-;  V98 tmp87        [V98,T97] (  5,  0   )     ref  ->  x27         class-hnd exact "NewObj constructor temp" <System.Threading.ContextCallback>
-;  V99 tmp88        [V99,T31] (  4,119.10)     ref  ->  x26         class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V100 tmp89       [V100,T24] (  4,178.64)     ref  ->  x27         "guarded devirt arg temp"
+;  V98 tmp87        [V98,T97] (  5,  0   )     ref  ->  x26         class-hnd exact "NewObj constructor temp" <System.Threading.ContextCallback>
+;  V99 tmp88        [V99,T31] (  4,119.10)     ref  ->  x25         class-hnd "Inline stloc first use temp" <<unknown class>>
+;  V100 tmp89       [V100,T24] (  4,178.64)     ref  ->  x26         "guarded devirt arg temp"
 ;* V101 tmp90       [V101    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "guarded devirt this exact temp" <System.Threading.ThreadPool+<>c>
 ;  V102 tmp91       [V102,T25] (  6,150.66)     ref  ->   x0         class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
 ;* V103 tmp92       [V103    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[System.Threading.Tasks.VoidTaskResult,System.Buffers.Tests.RentReturnArrayPoolTests`1+<>c__DisplayClass24_0+<<ProducerConsumer>b__0>d[ubyte]]>
@@ -120,14 +120,14 @@
 ;* V108 tmp97       [V108    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V109 tmp98       [V109    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V110 tmp99       [V110    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V111 tmp100      [V111,T01] (  8,729.82)     ref  ->  x25         class-hnd exact "Inlining Arg" <System.Threading.PortableThreadPool>
+;  V111 tmp100      [V111,T01] (  8,729.82)     ref  ->  x28         class-hnd exact "Inlining Arg" <System.Threading.PortableThreadPool>
 ;* V112 tmp101      [V112    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V113 tmp102      [V113    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V114 tmp103      [V114,T10] (  3,304.03)     ref  ->   x0         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
+;  V114 tmp103      [V114,T10] (  5,304.03)     ref  ->   x1         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V115 tmp104      [V115    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V116 tmp105      [V116    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V117 tmp106      [V117    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V118 tmp107      [V118,T18] (  3,182.42)     int  ->   x0         "Inline stloc first use temp"
+;  V118 tmp107      [V118,T18] (  5,182.42)     int  ->   x1         "Inline stloc first use temp"
 ;* V119 tmp108      [V119,T35] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V120 tmp109      [V120,T19] (  3,182.42)     int  ->   x0         "Inline stloc first use temp"
 ;* V121 tmp110      [V121    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
@@ -154,7 +154,7 @@
 ;  V142 rat1        [V142,T48] (  3,  6   )    long  ->   x0         "TLS access"
 ;  V143 rat2        [V143,T49] (  3,  6   )    long  ->   x0         "ThreadStaticBlockBase access"
 ;  V144 rat3        [V144,T14] (  3,243.23)   byref  ->  x25         "TLS field access"
-;  V145 rat4        [V145,T06] (  5,364.84)    long  ->  x27         "TLS access"
+;  V145 rat4        [V145,T06] (  5,364.84)    long  ->  x26         "TLS access"
 ;  V146 rat5        [V146,T07] (  3,364.84)    long  ->   x0         "ThreadStaticBlockBase access"
 ;
 ; Lcl frame size = 80
@@ -181,10 +181,10 @@ G_M63069_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldr     x0, [x0, #0x10]
             ldr     w1, [x0, #0xD0]
             cmp     w1, #4
-            blt     G_M63069_IG115
+            blt     G_M63069_IG122
             ldr     x0, [x0, #0xD8]
             ldr     x0, [x0, #0x20]
-            cbz     x0, G_M63069_IG115
+            cbz     x0, G_M63069_IG122
             ldr     x0, [x0]
             ; byrRegs +[x0]
             add     x21, x0, #16
@@ -194,7 +194,7 @@ G_M63069_IG03:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=200000 {x2
             ; byrRegs -[x0]
             ldr     x22, [x21, #0x38]
             ; gcrRegs +[x22]
-            cbz     x22, G_M63069_IG39
+            cbz     x22, G_M63069_IG24
                        ;; size=8 bbWeight=1 PerfScore 4.00
 G_M63069_IG04:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x21]
@@ -202,12 +202,12 @@ G_M63069_IG04:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             dmb     ish
             str     xzr, [fp, #0x58]   // [V02 loc2]
             ldrb    w0, [x20, #0x35]
-            cbnz    w0, G_M63069_IG116
+            cbnz    w0, G_M63069_IG123
                        ;; size=20 bbWeight=1.00 PerfScore 16.04
 G_M63069_IG05:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [fp, #0x58]    // [V02 loc2]
             ; gcrRegs +[x0]
-            cbnz    x0, G_M63069_IG65
+            cbnz    x0, G_M63069_IG63
                       ;; size=8 bbWeight=1.00 PerfScore 3.01
 G_M63069_IG06:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -223,7 +223,7 @@ G_M63069_IG06:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             ldapr   w2, [x2]
             ; byrRegs -[x2]
             cmp     w1, w2
-            blt     G_M63069_IG121
+            blt     G_M63069_IG36
             mov     x2, xzr
             ; gcrRegs +[x2]
                        ;; size=36 bbWeight=1.00 PerfScore 13.02
@@ -232,7 +232,7 @@ G_M63069_IG07:        ; bbWeight=1.00, gcrefRegs=500004 {x2 x20 x22}, byrefRegs=
             str     x2, [fp, #0x40]    // [V17 tmp6]
             ldr     x0, [fp, #0x40]    // [V17 tmp6]
             ; gcrRegs +[x0]
-            cbnz    x0, G_M63069_IG120
+            cbnz    x0, G_M63069_IG23
             ldrb    w0, [x22, #0x3C]
             ; gcrRegs -[x0]
             cbnz    w0, G_M63069_IG13
@@ -240,7 +240,7 @@ G_M63069_IG07:        ; bbWeight=1.00, gcrefRegs=500004 {x2 x20 x22}, byrefRegs=
 G_M63069_IG08:        ; bbWeight=0.99, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x2]
             ldr     w0, [x20, #0x30]
-            cbnz    w0, G_M63069_IG117
+            cbnz    w0, G_M63069_IG124
                        ;; size=8 bbWeight=0.99 PerfScore 3.96
 G_M63069_IG09:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref
             ldr     x23, [x20, #0x08]
@@ -262,7 +262,7 @@ G_M63069_IG10:        ; bbWeight=1.01, gcrefRegs=3D00000 {x20 x22 x23 x24 x25},
             and     w0, w27, w0
             ldr     w21, [x25, #0x08]
             cmp     w0, w21
-            bhs     G_M63069_IG114
+            bhs     G_M63069_IG121
             ubfiz   x0, x0, #4, #32
             add     x28, x0, #16
             add     x0, x25, x28
@@ -273,7 +273,7 @@ G_M63069_IG10:        ; bbWeight=1.01, gcrefRegs=3D00000 {x20 x22 x23 x24 x25},
             ; byrRegs -[x0]
             add     w1, w27, #1
             sub     w0, w0, w1
-            cbnz    w0, G_M63069_IG44
+            cbnz    w0, G_M63069_IG37
                        ;; size=56 bbWeight=1.01 PerfScore 18.73
 G_M63069_IG11:        ; bbWeight=1.00, gcrefRegs=3D00000 {x20 x22 x23 x24 x25}, byrefRegs=4000004 {x2 x26}, byref, isz
             add     w0, w27, #1
@@ -285,7 +285,7 @@ G_M63069_IG11:        ; bbWeight=1.00, gcrefRegs=3D00000 {x20 x22 x23 x24 x25},
 G_M63069_IG12:        ; bbWeight=1.00, gcrefRegs=3500000 {x20 x22 x24 x25}, byrefRegs=0004 {x2}, byref
             ; gcrRegs -[x23]
             ; byrRegs -[x26]
-            b       G_M63069_IG53
+            b       G_M63069_IG47
                      ;; size=4 bbWeight=1.00 PerfScore 1.00
 G_M63069_IG13:        ; bbWeight=0.01, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x24-x25]
@@ -301,7 +301,7 @@ G_M63069_IG13:        ; bbWeight=0.01, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             blr     x2
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            cbnz    w0, G_M63069_IG120
+            cbnz    w0, G_M63069_IG23
             strb    wzr, [x22, #0x3C]
             b       G_M63069_IG09
                        ;; size=44 bbWeight=0.01 PerfScore 0.17
@@ -331,7 +331,7 @@ G_M63069_IG16:        ; bbWeight=243.23, gcrefRegs=F00000 {x20 x21 x22 x23}, byr
                        ;; size=20 bbWeight=243.23 PerfScore 1337.75
 G_M63069_IG17:        ; bbWeight=60.81, gcrefRegs=F00001 {x0 x20 x21 x22 x23}, byrefRegs=0000 {}, byref, isz
             cmp     x23, x0
-            bne     G_M63069_IG137
+            bne     G_M63069_IG140
                         ;; size=8 bbWeight=60.81 PerfScore 91.21
 G_M63069_IG18:        ; bbWeight=60.81, gcrefRegs=F00000 {x20 x21 x22 x23}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -340,89 +340,73 @@ G_M63069_IG18:        ; bbWeight=60.81, gcrefRegs=F00000 {x20 x21 x22 x23}, byre
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            cbz     w0, G_M63069_IG138
+            cbz     w0, G_M63069_IG141
                         ;; size=12 bbWeight=60.81 PerfScore 152.02
 G_M63069_IG19:        ; bbWeight=60.81, gcrefRegs=F00000 {x20 x21 x22 x23}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [x23, #0x38]
-            cbnz    w0, G_M63069_IG139
+            cbnz    w0, G_M63069_IG142
                        ;; size=8 bbWeight=60.81 PerfScore 243.23
 G_M63069_IG20:        ; bbWeight=60.81, gcrefRegs=F00000 {x20 x21 x22 x23}, byrefRegs=0000 {}, byref, isz
             bl      <unknown method>
             ; gcr arg pop 0
-            sxtw    w26, w0
-            ldr     x25, [x19, #0xD1FFAB1E]
-            ; gcrRegs +[x25]
-            cbz     x21, G_M63069_IG140
-                       ;; size=16 bbWeight=60.81 PerfScore 334.44
-G_M63069_IG21:        ; bbWeight=60.81, gcrefRegs=2F00000 {x20 x21 x22 x23 x25}, byrefRegs=0000 {}, byref, isz
-            mov     x0, x21
-            ; gcrRegs +[x0]
-            cbz     x0, G_M63069_IG23
-                       ;; size=8 bbWeight=60.81 PerfScore 91.21
-G_M63069_IG22:        ; bbWeight=30.40, gcrefRegs=2F00001 {x0 x20 x21 x22 x23 x25}, byrefRegs=0000 {}, byref, isz
-            ldr     x0, [x0]
-            ; gcrRegs -[x0]
+            sxtw    w25, w0
+            ldr     x28, [x19, #0xD1FFAB1E]
+            ; gcrRegs +[x28]
+            cbz     x21, G_M63069_IG143
+            mov     x1, x21
+            ; gcrRegs +[x1]
+            cbz     x1, G_M63069_IG144
+                       ;; size=24 bbWeight=60.81 PerfScore 425.65
+G_M63069_IG21:        ; bbWeight=30.40, gcrefRegs=10F00002 {x1 x20 x21 x22 x23 x28}, byrefRegs=0000 {}, byref, isz
+            ldr     x0, [x1]
             movz    x1, #0xD1FFAB1E
+            ; gcrRegs -[x1]
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x0, x1
-            beq     G_M63069_IG24
+            bne     G_M63069_IG144
                       ;; size=24 bbWeight=30.40 PerfScore 182.42
-G_M63069_IG23:        ; bbWeight=60.81, gcrefRegs=2F00000 {x20 x21 x22 x23 x25}, byrefRegs=0000 {}, byref
-            movz    x0, #8
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            movz    x1, #8
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
...
  
+44 (+1.35%) : 71558.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
@@ -12,7 +12,7 @@
 ;  V00 loc0         [V00,T01] ( 26,  9.88)     ref  ->  x20         class-hnd exact single-def <System.Threading.ThreadPoolWorkQueue>
 ;  V01 loc1         [V01,T03] ( 18,  8.27)     ref  ->  x22         class-hnd exact single-def <System.Threading.ThreadPoolWorkQueueThreadLocals>
 ;  V02 loc2         [V02    ] ( 11,  8.88)     ref  ->  [fp+0x58]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Object>
-;  V03 loc3         [V03,T27] (  6,  4.07)     ref  ->  x24         class-hnd single-def <System.Object>
+;  V03 loc3         [V03,T27] (  8,  4.07)     ref  ->  x24         class-hnd single-def <System.Object>
 ;  V04 loc4         [V04,T08] ( 13,  7.33)     ref  ->  x21         class-hnd exact single-def <System.Threading.Thread>
 ;  V05 loc5         [V05,T72] (  3,  1.63)     int  ->  x25        
 ;  V06 loc6         [V06,T63] (  2,  2.01)   ubyte  ->   x0        
@@ -59,17 +59,17 @@
 ;* V47 tmp36        [V47    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V48 tmp37        [V48    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V49 tmp38        [V49    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <<unknown class>>
-;  V50 tmp39        [V50,T77] (  3,  1.26)     ref  ->   x1         class-hnd "Inline return value spill temp" <System.Object>
-;  V51 tmp40        [V51    ] ( 12,  4.81)     ref  ->  [fp+0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" <System.Object>
+;  V50 tmp39        [V50,T77] (  3,  1.26)     ref  ->   x0         class-hnd "Inline return value spill temp" <System.Object>
+;  V51 tmp40        [V51    ] ( 14,  4.81)     ref  ->  [fp+0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd "Inline stloc first use temp" <System.Object>
 ;  V52 tmp41        [V52,T76] (  3,  1.35)     int  ->  x23         "Inline stloc first use temp"
 ;  V53 tmp42        [V53,T66] (  2,  1.78)     ref  ->  x26         class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
 ;  V54 tmp43        [V54,T35] (  4,  3.55)     ref  ->  x27         class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue[]>
 ;  V55 tmp44        [V55,T10] (  9,  6.68)     int  ->  x28         "Inline stloc first use temp"
 ;  V56 tmp45        [V56,T67] (  2,  1.78)     int  ->  [fp+0x2C]  "Inline stloc first use temp"
 ;  V57 tmp46        [V57,T11] (  6,  6.64)     int  ->  x23         "Inline stloc first use temp"
-;  V58 tmp47        [V58,T25] (  5,  4.42)     ref  ->   x0         class-hnd exact "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
-;  V59 tmp48        [V59,T50] (  3,  2.66)     int  ->   x0        
-;  V60 tmp49        [V60,T73] (  3,  1.61)     ref  ->   x2         class-hnd "Inline return value spill temp" <System.Object>
+;  V58 tmp47        [V58,T25] (  5,  4.42)     ref  ->  [fp+0x10]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
+;  V59 tmp48        [V59,T50] (  3,  2.66)     int  ->   x1        
+;  V60 tmp49        [V60,T73] (  4,  1.61)     ref  ->   x2         class-hnd "Inline return value spill temp" <System.Object>
 ;  V61 tmp50        [V61,T22] (  4,  4.84)     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Threading.ThreadPoolWorkQueue+WorkStealingQueue>
 ;  V62 tmp51        [V62,T57] (  2,  1.61)   ubyte  ->   x0         "Inline return value spill temp"
 ;  V63 tmp52        [V63,T23] (  3,  4.84)     ref  ->  x23         class-hnd "Inlining Arg" <<unknown class>>
@@ -108,11 +108,11 @@
 ;  V96 tmp85        [V96,T06] (  8,  8.14)     ref  ->  x27         class-hnd exact "Inlining Arg" <System.Threading.PortableThreadPool>
 ;* V97 tmp86        [V97    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V98 tmp87        [V98    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V99 tmp88        [V99,T24] (  3,  4.07)     ref  ->   x0         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
+;  V99 tmp88        [V99,T24] (  5,  4.07)     ref  ->   x1         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V100 tmp89       [V100    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V101 tmp90       [V101    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V102 tmp91       [V102    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V103 tmp92       [V103,T54] (  3,  2.44)     int  ->   x0         "Inline stloc first use temp"
+;  V103 tmp92       [V103,T54] (  5,  2.44)     int  ->  x28         "Inline stloc first use temp"
 ;* V104 tmp93       [V104,T86] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V105 tmp94       [V105,T55] (  3,  2.44)     int  ->   x0         "Inline stloc first use temp"
 ;* V106 tmp95       [V106    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
@@ -164,17 +164,17 @@ G_M63069_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldr     x0, [x0, #0x10]
             ldr     w1, [x0, #0xD0]
             cmp     w1, #4
-            blt     G_M63069_IG95
+            blt     G_M63069_IG96
             ldr     x0, [x0, #0xD8]
             ldr     x0, [x0, #0x20]
-            cbz     x0, G_M63069_IG95
+            cbz     x0, G_M63069_IG96
             ldr     x0, [x0]
             ; byrRegs +[x0]
             add     x21, x0, #16
             ; byrRegs +[x21]
             ldr     x22, [x21, #0x38]
             ; gcrRegs +[x22]
-            cbz     x22, G_M63069_IG96
+            cbz     x22, G_M63069_IG97
                        ;; size=64 bbWeight=1 PerfScore 29.50
 G_M63069_IG03:        ; bbWeight=1.01, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x0 x21]
@@ -182,12 +182,12 @@ G_M63069_IG03:        ; bbWeight=1.01, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             dmb     ish
             str     xzr, [fp, #0x58]   // [V02 loc2]
             ldrb    w0, [x20, #0x35]
-            cbnz    w0, G_M63069_IG97
+            cbnz    w0, G_M63069_IG98
                      ;; size=20 bbWeight=1.01 PerfScore 16.10
 G_M63069_IG04:        ; bbWeight=1.01, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [fp, #0x58]    // [V02 loc2]
             ; gcrRegs +[x0]
-            cbnz    x0, G_M63069_IG58
+            cbnz    x0, G_M63069_IG41
                       ;; size=8 bbWeight=1.01 PerfScore 3.02
 G_M63069_IG05:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -203,12 +203,12 @@ G_M63069_IG05:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             ldapr   w2, [x2]
             ; byrRegs -[x2]
             cmp     w1, w2
-            blt     G_M63069_IG98
+            blt     G_M63069_IG99
             mov     x2, xzr
             ; gcrRegs +[x2]
             str     x2, [fp, #0x40]    // [V17 tmp6]
             ldr     x0, [fp, #0x40]    // [V17 tmp6]
-            cbnz    x0, G_M63069_IG99
+            cbnz    x0, G_M63069_IG100
                         ;; size=48 bbWeight=1.00 PerfScore 16.96
 G_M63069_IG06:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0 x2]
@@ -217,7 +217,7 @@ G_M63069_IG06:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=000
                        ;; size=8 bbWeight=1.00 PerfScore 3.99
 G_M63069_IG07:        ; bbWeight=0.99, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x20, #0x30]
-            cbnz    w0, G_M63069_IG100
+            cbnz    w0, G_M63069_IG101
                        ;; size=8 bbWeight=0.99 PerfScore 3.95
 G_M63069_IG08:        ; bbWeight=1.00, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref
             ldr     x23, [x20, #0x08]
@@ -240,7 +240,7 @@ G_M63069_IG09:        ; bbWeight=1.00, gcrefRegs=3D00000 {x20 x22 x23 x24 x25},
             and     w0, w26, w0
             ldr     w21, [x25, #0x08]
             cmp     w0, w21
-            bhs     G_M63069_IG94
+            bhs     G_M63069_IG95
             ubfiz   x0, x0, #4, #32
             add     x27, x0, #16
             add     x0, x25, x27
@@ -251,7 +251,7 @@ G_M63069_IG09:        ; bbWeight=1.00, gcrefRegs=3D00000 {x20 x22 x23 x24 x25},
             ; byrRegs -[x0]
             add     w1, w26, #1
             sub     w0, w0, w1
-            cbnz    w0, G_M63069_IG39
+            cbnz    w0, G_M63069_IG21
                        ;; size=60 bbWeight=1.00 PerfScore 19.07
 G_M63069_IG10:        ; bbWeight=0.45, gcrefRegs=3D00000 {x20 x22 x23 x24 x25}, byrefRegs=10000000 {x28}, byref, isz
             add     x0, x24, #160
@@ -261,7 +261,7 @@ G_M63069_IG10:        ; bbWeight=0.45, gcrefRegs=3D00000 {x20 x22 x23 x24 x25},
             casal   w2, w1, [x0]
             cmp     w2, w26
             bne     G_M63069_IG09
-            b       G_M63069_IG47
+            b       G_M63069_IG28
                         ;; size=28 bbWeight=0.45 PerfScore 3.16
 G_M63069_IG11:        ; bbWeight=0.01, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x23-x25]
@@ -277,7 +277,7 @@ G_M63069_IG11:        ; bbWeight=0.01, gcrefRegs=500000 {x20 x22}, byrefRegs=000
             blr     x2
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            cbnz    w0, G_M63069_IG99
+            cbnz    w0, G_M63069_IG100
             strb    wzr, [x22, #0x3C]
             b       G_M63069_IG08
                        ;; size=44 bbWeight=0.01 PerfScore 0.16
@@ -307,7 +307,7 @@ G_M63069_IG14:        ; bbWeight=3.25, gcrefRegs=1700000 {x20 x21 x22 x24}, byre
                        ;; size=20 bbWeight=3.25 PerfScore 17.90
 G_M63069_IG15:        ; bbWeight=0.81, gcrefRegs=1700001 {x0 x20 x21 x22 x24}, byrefRegs=0000 {}, byref, isz
             cmp     x21, x0
-            bne     G_M63069_IG118
+            bne     G_M63069_IG119
                         ;; size=8 bbWeight=0.81 PerfScore 1.22
 G_M63069_IG16:        ; bbWeight=0.81, gcrefRegs=1700000 {x20 x21 x22 x24}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -316,11 +316,11 @@ G_M63069_IG16:        ; bbWeight=0.81, gcrefRegs=1700000 {x20 x21 x22 x24}, byre
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            cbz     w0, G_M63069_IG119
+            cbz     w0, G_M63069_IG120
                         ;; size=12 bbWeight=0.81 PerfScore 2.03
 G_M63069_IG17:        ; bbWeight=0.81, gcrefRegs=1700000 {x20 x21 x22 x24}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [x21, #0x38]
-            cbnz    w0, G_M63069_IG120
+            cbnz    w0, G_M63069_IG121
                        ;; size=8 bbWeight=0.81 PerfScore 3.25
 G_M63069_IG18:        ; bbWeight=0.81, gcrefRegs=1700000 {x20 x21 x22 x24}, byrefRegs=0000 {}, byref, isz
             bl      <unknown method>
@@ -328,231 +328,28 @@ G_M63069_IG18:        ; bbWeight=0.81, gcrefRegs=1700000 {x20 x21 x22 x24}, byre
             sxtw    w26, w0
             ldr     x27, [x19, #0xD1FFAB1E]
             ; gcrRegs +[x27]
-            cbz     x24, G_M63069_IG121
-                       ;; size=16 bbWeight=0.81 PerfScore 4.48
-G_M63069_IG19:        ; bbWeight=0.81, gcrefRegs=9700000 {x20 x21 x22 x24 x27}, byrefRegs=0000 {}, byref, isz
-            mov     x0, x24
-            ; gcrRegs +[x0]
-            cbz     x0, G_M63069_IG21
-                       ;; size=8 bbWeight=0.81 PerfScore 1.22
-G_M63069_IG20:        ; bbWeight=0.41, gcrefRegs=9700001 {x0 x20 x21 x22 x24 x27}, byrefRegs=0000 {}, byref, isz
-            ldr     x0, [x0]
-            ; gcrRegs -[x0]
+            cbz     x24, G_M63069_IG122
+            mov     x1, x24
+            ; gcrRegs +[x1]
+            cbz     x1, G_M63069_IG123
+                       ;; size=24 bbWeight=0.81 PerfScore 5.70
+G_M63069_IG19:        ; bbWeight=0.41, gcrefRegs=9700002 {x1 x20 x21 x22 x24 x27}, byrefRegs=0000 {}, byref, isz
+            ldr     x0, [x1]
             movz    x1, #0xD1FFAB1E
+            ; gcrRegs -[x1]
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x0, x1
-            beq     G_M63069_IG22
+            bne     G_M63069_IG123
                       ;; size=24 bbWeight=0.41 PerfScore 2.44
-G_M63069_IG21:        ; bbWeight=0.81, gcrefRegs=9700000 {x20 x21 x22 x24 x27}, byrefRegs=0000 {}, byref
-            movz    x0, #8
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            movz    x1, #8
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            ; gcr arg pop 0
-                       ;; size=44 bbWeight=0.81 PerfScore 6.92
-G_M63069_IG22:        ; bbWeight=0.81, gcrefRegs=9700000 {x20 x21 x22 x24 x27}, byrefRegs=0000 {}, byref, isz
+G_M63069_IG20:        ; bbWeight=0.81, gcrefRegs=9700000 {x20 x21 x22 x24 x27}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x24, #0x20]
-            add     w0, w0, #1
-            cbz     w0, G_M63069_IG122
-            str     w0, [x24, #0x20]
+            add     w28, w0, #1
+            cbz     w28, G_M63069_IG124
+            b       G_M63069_IG88
                       ;; size=16 bbWeight=0.81 PerfScore 4.48
-G_M63069_IG23:        ; bbWeight=0.81, gcrefRegs=9700000 {x20 x21 x22 x24 x27}, byrefRegs=0000 {}, byref, isz
-            str     w26, [x27, #0xD1FFAB1E]
-            add     x0, x27, #0xD1FFAB1E
-            ; byrRegs +[x0]
-            ldapr   w0, [x0]
-            ; byrRegs -[x0]
-            sub     w1, w26, w0
-            ldr     w2, [x27, #0xD1FFAB1E]
-            sub     w0, w2, w0
-            cmp     w1, w0
-            bhs     G_M63069_IG123
-                       ;; size=32 bbWeight=0.81 PerfScore 8.14
-G_M63069_IG24:        ; bbWeight=0.81, gcrefRegs=9700000 {x20 x21 x22 x24 x27}, byrefRegs=0000 {}, byref, isz
-            mov     x0, x27
-            ; gcrRegs +[x0]
-            movz    x1, #0xD1FFAB1E      // code for System.Threading.PortableThreadPool+WorkerThread:ShouldStopProcessingWorkNow(System.Threading.PortableThreadPool):ubyte
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            ldr     x1, [x1]
-            blr     x1
-            ; gcrRegs -[x0 x27]
-            ; gcr arg pop 0
-            cbnz    w0, G_M63069_IG91
-                       ;; size=28 bbWeight=0.81 PerfScore 5.70
-G_M63069_IG25:        ; bbWeight=0.81, gcrefRegs=1700000 {x20 x21 x22 x24}, byrefRegs=0000 {}, byref, isz
-            sub     w0, w26, w25
-            cmp     w0, #30
-            bhs     G_M63069_IG35
-                       ;; size=12 bbWeight=0.81 PerfScore 1.63
-G_M63069_IG26:        ; bbWeight=1.63, gcrefRegs=1700000 {x20 x21 x22 x24}, byrefRegs=0000 {}, byref, isz
-            ldr     x0, [fp, #0x58]    // [V02 loc2]
-            ; gcrRegs +[x0]
...
  
  
benchmarks.run_tiered.windows.arm64.checked.mch
-24 (-4.92%) : 8071.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
@@ -8,10 +8,10 @@
 ; 0 inlinees with PGO data; 12 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] (  3,  3   )    long  ->  x19         single-def
-;  V01 arg1         [V01,T19] (  3,  3   )    long  ->  x20         single-def
-;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x20]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T20] (  4, 11   )    long  ->  x20        
+;  V00 arg0         [V00,T19] (  3,  3   )    long  ->  x19         single-def
+;  V01 arg1         [V01,T20] (  3,  3   )    long  ->  x20         single-def
+;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x28]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
+;  V03 loc1         [V03,T21] (  4, 11   )    long  ->  x20        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
@@ -19,14 +19,14 @@
 ;  V08 tmp1         [V08,T10] (  7, 84   )     ref  ->  x19         class-hnd single-def "non-inline candidate call" <<unknown class>>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V11 tmp4         [V11,T29] (  3,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V12 tmp5         [V12,T22] (  2,  4   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp4         [V11,T30] (  3,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp5         [V12,T23] (  2,  4   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp10        [V17,T08] (  2, 16   )     int  ->   x4         "Inlining Arg"
-;  V18 tmp11        [V18,T07] (  2, 16   )   byref  ->   x3         "Inlining Arg"
+;  V17 tmp10        [V17,T07] (  2, 16   )     int  ->   x4         "Inlining Arg"
+;  V18 tmp11        [V18,T06] (  2, 16   )   byref  ->   x3         "Inlining Arg"
 ;* V19 tmp12        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V21 tmp14        [V21,T12] (  2,  8   )   ubyte  ->   x0         "Inline return value spill temp"
@@ -40,30 +40,30 @@
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V30 tmp23        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V32 tmp25        [V32,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V32 tmp25        [V32,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V33 tmp26        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V34 tmp27        [V34,T23] (  3, 17   )     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
-;  V35 tmp28        [V35,T21] (  4, 18   )     int  ->  x15         "Inline stloc first use temp"
-;  V36 tmp29        [V36,T17] (  3, 20   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [fp+0x10]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
-;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
-;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
-;  V40 tmp33        [V40,T02] (  4, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V41 tmp34        [V41,T03] (  4, 20   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V34 tmp27        [V34,T24] (  3, 17   )     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
+;  V35 tmp28        [V35,T22] (  4, 18   )     int  ->  x15         "Inline stloc first use temp"
+;  V36 tmp29        [V36,T18] (  3, 20   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [fp+0x18]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
+;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
+;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
+;  V40 tmp33        [V40,T03] (  4, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V41 tmp34        [V41,T02] (  4, 20   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V42 tmp35        [V42,T00] (  6, 41   )     int  ->  x22         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V43 tmp36        [V43,T05] (  3, 17   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
-;  V44 tmp37        [V44,T13] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp38        [V45,T15] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp36        [V43,T13] (  2,  9   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
+;  V44 tmp37        [V44,T14] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp38        [V45,T16] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V46 tmp39        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V47 tmp40        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V48 tmp41        [V48,T24] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;  V48 tmp41        [V48,T25] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V49 tmp42        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V50 tmp43        [V50,T27] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
-;  V51 tmp44        [V51,T25] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
+;* V50 tmp43        [V50,T28] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
+;  V51 tmp44        [V51,T26] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
 ;  V52 tmp45        [V52,T11] (  3, 12   )   byref  ->   x3         "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V53 tmp46        [V53,T06] (  4, 16   )     int  ->   x4         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V54 tmp47        [V54,T14] (  2,  8   )   byref  ->   x3         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V55 tmp48        [V55,T16] (  2,  8   )     int  ->   x4         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V53 tmp46        [V53,T05] (  4, 16   )     int  ->   x4         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V54 tmp47        [V54,T15] (  2,  8   )   byref  ->   x3         "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V55 tmp48        [V55,T17] (  2,  8   )     int  ->   x4         "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp50        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V58 tmp51        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
@@ -79,26 +79,26 @@
 ;* V68 tmp61        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V69 tmp62        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;  V70 tmp63        [V70,T01] (  3, 48   )     ref  ->   x2         "arr expr"
-;  V71 PSPSym       [V71,T28] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
-;  V72 cse0         [V72,T04] (  3, 24   )     int  ->  x23         "CSE - aggressive"
-;  V73 cse1         [V73,T26] (  2, 16   )     int  ->  x12         "CSE - moderate"
+;  V71 PSPSym       [V71,T29] (  1,  1   )    long  ->  [fp+0x38]  do-not-enreg[V] "PSPSym"
+;  V72 cse0         [V72,T09] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V73 cse1         [V73,T04] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V74 cse2         [V74,T27] (  2, 16   )     int  ->  x12         "CSE - moderate"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 48
 
 G_M19804_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x38]
-            stp     x21, x22, [sp, #0x48]
-            str     x23, [sp, #0x58]
+            stp     x19, x20, [sp, #0x40]
+            stp     x21, x22, [sp, #0x50]
             mov     fp, sp
-            str     xzr, [fp, #0x20]  // [V02 loc0]
+            str     xzr, [fp, #0x28] // [V02 loc0]
             add     x2, sp, #96
-            str     x2, [fp, #0x30]   // [V71 PSPSym]
+            str     x2, [fp, #0x38]    // [V71 PSPSym]
             mov     x19, x0
             mov     x20, x1
-                      ;; size=40 bbWeight=1 PerfScore 8.00
+                      ;; size=36 bbWeight=1 PerfScore 7.00
 G_M19804_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x0, fp, #16    // [V37 tmp30]
+            add     x0, fp, #24 // [V37 tmp30]
             bl      CORINFO_HELP_JIT_REVERSE_PINVOKE_ENTER
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 1.50
@@ -111,9 +111,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             blr     x1
             ; byrRegs +[x0]
             ; gcr arg pop 0
-            stp     x0, x1, [fp, #0x20]   // [V02 loc0], [V02 loc0+0x08]
+            stp     x0, x1, [fp, #0x28] // [V02 loc0], [V02 loc0+0x08]
             ldrb    w2, [x20, #0x08]
-            cbz     w2, G_M19804_IG11
+            cbz     w2, G_M19804_IG10
             ldr     x19, [x20]
             ; gcrRegs +[x19]
             ldr     w21, [x19, #0x14]
@@ -123,9 +123,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M19804_IG04:        ; bbWeight=4, gcrefRegs=80004 {x2 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x2]
             ; byrRegs -[x0]
-            ldr     x0, [fp, #0x20]   // [V38 tmp31]
+            ldr     x0, [fp, #0x28] // [V38 tmp31]
             ; byrRegs +[x0]
-            ldr     w1, [fp, #0x28]  // [V39 tmp32]
+            ldr     w1, [fp, #0x30] // [V39 tmp32]
             cbnz    x2, G_M19804_IG05
             mov     x3, xzr
             ; byrRegs +[x3]
@@ -153,15 +153,15 @@ G_M19804_IG06:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0009 {x0 x3
             blr     x3
             ; byrRegs -[x0-x1]
             ; gcr arg pop 0
-            cbnz    w0, G_M19804_IG14
+            cbnz    w0, G_M19804_IG13
                       ;; size=40 bbWeight=4 PerfScore 38.00
 G_M19804_IG07:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            ldr     w23, [x19, #0x14]
-            cmp     w21, w23
-            bne     G_M19804_IG10
+            ldr     w2, [x19, #0x14]
+            cmp     w21, w2
+            bne     G_M19804_IG09
             ldr     w2, [x19, #0x10]
             cmp     w22, w2
-            bhs     G_M19804_IG11
+            bhs     G_M19804_IG10
             ldr     x2, [x19, #0x08]
             ; gcrRegs +[x2]
             ldr     w0, [x2, #0x08]
@@ -191,13 +191,9 @@ G_M19804_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
 G_M19804_IG10:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            cmp     w21, w23
-            bne     G_M19804_IG09
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldr     x19, [x20]
             ; gcrRegs +[x19]
-            add     x0, fp, #32  // [V02 loc0]
+            add     x0, fp, #40  // [V02 loc0]
             movz    x1, #0xD1FFAB1E      // code for <unknown method>
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
@@ -214,9 +210,9 @@ G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x14]
             ldr     w12, [x14, #0x08]
             cmp     w12, w15
-            bls     G_M19804_IG13
+            bls     G_M19804_IG12
                      ;; size=60 bbWeight=8 PerfScore 172.00
-G_M19804_IG12:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG11:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             add     w12, w15, #1
             str     w12, [x19, #0x10]
@@ -229,9 +225,9 @@ G_M19804_IG12:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x1 x15 x19]
             ; byrRegs -[x14]
-            b       G_M19804_IG14
+            b       G_M19804_IG13
                      ;; size=28 bbWeight=1 PerfScore 5.50
-G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG12:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x1 x19]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -243,28 +239,26 @@ G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {},
             ; gcrRegs -[x0-x1 x19]
             ; gcr arg pop 0
                        ;; size=24 bbWeight=1 PerfScore 6.00
-G_M19804_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x0, fp, #16    // [V37 tmp30]
+G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            add     x0, fp, #24    // [V37 tmp30]
             bl      CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x23, [sp, #0x58]
-            ldp     x21, x22, [sp, #0x48]
-            ldp     x19, x20, [sp, #0x38]
+G_M19804_IG14:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x50]
+            ldp     x19, x20, [sp, #0x40]
             ldp     fp, lr, [sp], #0x60
             ret     lr
-                       ;; size=20 bbWeight=1 PerfScore 6.00
-G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                      ;; size=16 bbWeight=1 PerfScore 4.00
+G_M19804_IG15:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             ; gcrRegs +[x0]
             stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            str     x23, [sp, #0x38]
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
             add     x3, fp, #96
-            str     x3, [sp, #0x10]
-                       ;; size=24 bbWeight=0 PerfScore 0.00
-G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
+            str     x3, [sp, #0x18]
+                       ;; size=20 bbWeight=0 PerfScore 0.00
+G_M19804_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
             ldr     x1, [x0]
             ldr     x1, [x1, #0x48]
             ldr     x1, [x1, #0x08]
@@ -277,17 +271,16 @@ G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
...
  
-12 (-1.06%) : 5823.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
@@ -8,28 +8,28 @@
 ; 0 inlinees with PGO data; 21 single block inlinees; 14 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T38] (  4,  1   )     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Object>
+;  V00 loc0         [V00,T39] (  4,  1   )     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Object>
 ;  V01 loc1         [V01    ] (  6,  2.50)   ubyte  ->  [fp+0x38]  do-not-enreg[X] addr-exposed ld-addr-op
 ;  V02 loc2         [V02,T03] (  6, 26.50)     ref  ->  x20         class-hnd exact single-def <<unknown class>>
 ;  V03 loc3         [V03,T08] (  6, 17   )     ref  ->  x21         class-hnd <System.Diagnostics.Tracing.EventListener>
 ;  V04 loc4         [V04,T15] (  4, 10.50)     int  ->  x21        
 ;* V05 loc5         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.WeakReference`1[System.Diagnostics.Tracing.EventSource]]>
 ;* V06 loc6         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.WeakReference`1[System.Diagnostics.Tracing.EventSource]>
-;  V07 loc7         [V07,T17] (  4,  8   )     ref  ->  x25         ld-addr-op class-hnd <System.Diagnostics.Tracing.EventSource>
+;  V07 loc7         [V07,T16] (  4,  8   )     ref  ->  x25         ld-addr-op class-hnd <System.Diagnostics.Tracing.EventSource>
 ;  V08 loc8         [V08,T00] ( 11,468   )     ref  ->  x25         class-hnd <<unknown class>>
 ;  V09 loc9         [V09    ] (  7, 42   )  struct (24) [fp+0x20]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.Diagnostics.Tracing.EventListener,ubyte]>
 ;  V10 loc10        [V10,T01] (  2,144   )     ref  ->  x27         class-hnd <System.Diagnostics.Tracing.EventListener>
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V12 tmp1         [V12,T31] (  3,  3   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V13 tmp2         [V13,T34] (  2,  2   )   ubyte  ->   x0         "Inlining Arg"
+;  V12 tmp1         [V12,T32] (  3,  3   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V13 tmp2         [V13,T35] (  2,  2   )   ubyte  ->   x0         "Inlining Arg"
 ;* V14 tmp3         [V14    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V15 tmp4         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;  V16 tmp5         [V16,T33] (  2,  2   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V16 tmp5         [V16,T34] (  2,  2   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V17 tmp6         [V17    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.WeakReference`1[System.Diagnostics.Tracing.EventSource]]>
 ;* V18 tmp7         [V18    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V19 tmp8         [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Diagnostics.Tracing.EventSource>
 ;  V20 tmp9         [V20,T24] (  3,  6   )     ref  ->  x25         class-hnd "Inline return value spill temp" <System.Diagnostics.Tracing.EventSource>
-;  V21 tmp10        [V21,T11] (  5, 14   )    long  ->   x0         "Inline stloc first use temp"
+;  V21 tmp10        [V21,T10] (  5, 14   )    long  ->   x0         "Inline stloc first use temp"
 ;* V22 tmp11        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Diagnostics.Tracing.EventSource>
 ;  V23 tmp12        [V23,T25] (  3,  6   )     ref  ->  x25         class-hnd "Inline stloc first use temp" <System.Diagnostics.Tracing.EventSource>
 ;* V24 tmp13        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Diagnostics.Tracing.EventSource>
@@ -37,47 +37,48 @@
 ;  V26 tmp15        [V26,T13] (  3, 12   )     ref  ->  x25         class-hnd "updating class info" <System.ComAwareWeakReference>
 ;* V27 tmp16        [V27    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V28 tmp17        [V28    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V29 tmp18        [V29,T20] (  2,  8   )     ref  ->   x0         class-hnd "dup spill" <System.Object>
-;  V30 tmp19        [V30,T18] (  4,  8   )     ref  ->   x0        
+;  V29 tmp18        [V29,T19] (  2,  8   )     ref  ->   x0         class-hnd "dup spill" <System.Object>
+;  V30 tmp19        [V30,T17] (  4,  8   )     ref  ->   x0        
 ;* V31 tmp20        [V31    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V32 tmp21        [V32,T02] (  2, 64   )     ref  ->   x1         class-hnd "Inlining Arg" <System.Diagnostics.Tracing.EventListener>
 ;* V33 tmp22        [V33    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V34 tmp23        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <<unknown class>>
-;  V35 tmp24        [V35,T21] (  2,  8   )     ref  ->   x1         class-hnd exact "dup spill" <System.Collections.Generic.Dictionary`2+KeyCollection[System.__Canon,ubyte]>
-;  V36 tmp25        [V36,T19] (  4,  8   )     ref  ->   x1        
-;  V37 tmp26        [V37,T10] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <<unknown class>>
+;  V35 tmp24        [V35,T20] (  2,  8   )     ref  ->   x1         class-hnd exact "dup spill" <System.Collections.Generic.Dictionary`2+KeyCollection[System.__Canon,ubyte]>
+;  V36 tmp25        [V36,T18] (  4,  8   )     ref  ->   x1        
+;  V37 tmp26        [V37,T09] (  4, 16   )     ref  ->   x1         class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V38 tmp27        [V38    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <<unknown class>>
 ;* V39 tmp28        [V39    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.Diagnostics.Tracing.EventListener,ubyte]>
-;  V40 tmp29        [V40,T22] (  2,  8   )     ref  ->   x0         class-hnd "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.__Canon,ubyte]>
+;  V40 tmp29        [V40,T21] (  2,  8   )     ref  ->   x0         class-hnd "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.__Canon,ubyte]>
 ;* V41 tmp30        [V41    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V42 tmp31        [V42    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V43 tmp32        [V43,T23] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V43 tmp32        [V43,T22] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V44 tmp33        [V44    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V45 tmp34        [V45,T09] (  4, 12.50)     ref  ->  x19         single-def "field V05._list (fldOffset=0x0)" P-INDEP
-;  V46 tmp35        [V46,T12] (  3, 10   )     ref  ->  x24         "field V05._current (fldOffset=0x8)" P-INDEP
+;  V45 tmp34        [V45,T12] (  4, 12.50)     ref  ->  x19         single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V46 tmp35        [V46,T11] (  3, 10   )     ref  ->  x24         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V47 tmp36        [V47,T04] (  6, 20.50)     int  ->  x23         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V48 tmp37        [V48,T16] (  3,  8.50)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V48 tmp37        [V48,T29] (  2,  4.50)     int  ->  x22         "field V05._version (fldOffset=0x14)" P-INDEP
 ;  V49 tmp38        [V49    ] (  3, 20   )     ref  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "field V09._dictionary (fldOffset=0x0)" P-DEP
 ;  V50 tmp39        [V50    ] (  4, 36   )     ref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V09._currentKey (fldOffset=0x8)" P-DEP
 ;  V51 tmp40        [V51    ] (  3, 20   )     int  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V09._index (fldOffset=0x10)" P-DEP
 ;  V52 tmp41        [V52    ] (  3, 20   )     int  ->  [fp+0x34]  do-not-enreg[X] addr-exposed "field V09._version (fldOffset=0x14)" P-DEP
-;  V53 tmp42        [V53,T37] (  3,  1.50)     ref  ->  x19         single-def "field V17._list (fldOffset=0x0)" P-INDEP
+;  V53 tmp42        [V53,T38] (  3,  1.50)     ref  ->  x19         single-def "field V17._list (fldOffset=0x0)" P-INDEP
 ;* V54 tmp43        [V54    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V17._current (fldOffset=0x8)" P-INDEP
-;* V55 tmp44        [V55,T41] (  0,  0   )     int  ->  zero-ref    "field V17._index (fldOffset=0x10)" P-INDEP
-;  V56 tmp45        [V56,T39] (  2,  1   )     int  ->  x22         "field V17._version (fldOffset=0x14)" P-INDEP
+;* V55 tmp44        [V55,T42] (  0,  0   )     int  ->  zero-ref    "field V17._index (fldOffset=0x10)" P-INDEP
+;  V56 tmp45        [V56,T40] (  2,  1   )     int  ->  x22         "field V17._version (fldOffset=0x14)" P-INDEP
 ;  V57 tmp46        [V57,T26] (  3,  6   )     ref  ->   x0         "field V39._dictionary (fldOffset=0x0)" P-INDEP
-;* V58 tmp47        [V58,T35] (  0,  0   )     ref  ->  zero-ref    "field V39._currentKey (fldOffset=0x8)" P-INDEP
-;* V59 tmp48        [V59,T36] (  0,  0   )     int  ->  zero-ref    "field V39._index (fldOffset=0x10)" P-INDEP
-;  V60 tmp49        [V60,T30] (  2,  4   )     int  ->   x1         "field V39._version (fldOffset=0x14)" P-INDEP
+;* V58 tmp47        [V58,T36] (  0,  0   )     ref  ->  zero-ref    "field V39._currentKey (fldOffset=0x8)" P-INDEP
+;* V59 tmp48        [V59,T37] (  0,  0   )     int  ->  zero-ref    "field V39._index (fldOffset=0x10)" P-INDEP
+;  V60 tmp49        [V60,T31] (  2,  4   )     int  ->   x1         "field V39._version (fldOffset=0x14)" P-INDEP
 ;  V61 tmp50        [V61,T05] (  3, 24   )     ref  ->   x0         "arr expr"
-;  V62 PSPSym       [V62,T40] (  1,  1   )    long  ->  [fp+0x40]  do-not-enreg[V] "PSPSym"
-;  V63 cse0         [V63,T14] (  3, 12   )     int  ->  x24         "CSE - moderate"
-;  V64 cse1         [V64,T06] (  3, 20   )   byref  ->  x24         "CSE - aggressive"
-;  V65 cse2         [V65,T07] (  3, 20   )    long  ->  x26         "CSE - aggressive"
-;  V66 cse3         [V66,T32] (  4,  2   )    long  ->  x19         "CSE - moderate"
-;  V67 rat0         [V67,T29] (  3,  4   )    long  ->   x0         "TLS field access"
-;  V68 rat1         [V68,T27] (  3,  6   )    long  ->   x0         "TLS access"
-;  V69 rat2         [V69,T28] (  3,  6   )    long  ->   x0         "ThreadStaticBlockBase access"
+;  V62 PSPSym       [V62,T41] (  1,  1   )    long  ->  [fp+0x40]  do-not-enreg[V] "PSPSym"
+;  V63 cse0         [V63,T23] (  2,  8   )     int  ->   x0         "CSE - moderate"
+;  V64 cse1         [V64,T14] (  2,  8   )     int  ->   x0         "CSE - moderate"
+;  V65 cse2         [V65,T06] (  3, 20   )   byref  ->  x24         "CSE - aggressive"
+;  V66 cse3         [V66,T07] (  3, 20   )    long  ->  x26         "CSE - aggressive"
+;  V67 cse4         [V67,T33] (  4,  2   )    long  ->  x19         "CSE - moderate"
+;  V68 rat0         [V68,T30] (  3,  4   )    long  ->   x0         "TLS field access"
+;  V69 rat1         [V69,T27] (  3,  6   )    long  ->   x0         "TLS access"
+;  V70 rat2         [V70,T28] (  3,  6   )    long  ->   x0         "ThreadStaticBlockBase access"
 ;
 ; Lcl frame size = 56
 
@@ -98,10 +99,10 @@ G_M15982_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldr     x0, [x0, #0x10]
             ldr     w1, [x0, #0xC0]
             cmp     w1, #2
-            blt     G_M15982_IG39
+            blt     G_M15982_IG38
             ldr     x0, [x0, #0xC8]
             ldr     x0, [x0, #0x10]
-            cbz     x0, G_M15982_IG39
+            cbz     x0, G_M15982_IG38
                       ;; size=32 bbWeight=1 PerfScore 17.50
 G_M15982_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [x0, #0xD1FFAB1E]
@@ -128,7 +129,7 @@ G_M15982_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000
             ; GC ptr vars +{V00}
             str     wzr, [fp, #0x38]   // [V01 loc1]
                        ;; size=28 bbWeight=0.50 PerfScore 3.75
-G_M15982_IG06:        ; bbWeight=0.50, gcVars=0000004000000000 {V00}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M15982_IG06:        ; bbWeight=0.50, gcVars=0000008000000000 {V00}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w1, [fp, #0x38]  // [V01 loc1]
             cbnz    w1, G_M15982_IG32
             add     x1, fp, #56    // [V01 loc1]
@@ -239,17 +240,17 @@ G_M15982_IG12:        ; bbWeight=0.50, gcrefRegs=100000 {x20}, byrefRegs=0000 {}
             mov     w23, wzr
                        ;; size=16 bbWeight=0.50 PerfScore 3.50
 G_M15982_IG13:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            ldr     w24, [x19, #0x14]
-            cmp     w22, w24
-            bne     G_M15982_IG35
+            ldr     w0, [x19, #0x14]
+            cmp     w22, w0
+            bne     G_M15982_IG36
             ldr     w0, [x19, #0x10]
             cmp     w23, w0
-            bhs     G_M15982_IG38
+            bhs     G_M15982_IG37
             ldr     x0, [x19, #0x08]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x08]
             cmp     w23, w1
-            bhs     G_M15982_IG36
+            bhs     G_M15982_IG35
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
@@ -482,17 +483,12 @@ G_M15982_IG34:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             ; byrRegs -[x24]
             b       G_M15982_IG13
                        ;; size=4 bbWeight=4 PerfScore 4.00
-G_M15982_IG35:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M15982_IG35:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19-x20]
-            cmp     w22, w24
-            bne     G_M15982_IG37
-            b       G_M15982_IG38
-                       ;; size=12 bbWeight=4 PerfScore 10.00
-G_M15982_IG36:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M15982_IG37:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M15982_IG36:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -501,7 +497,7 @@ G_M15982_IG37:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M15982_IG38:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M15982_IG37:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [fp, #0x38]   // [V01 loc1]
             cbz     w0, G_M15982_IG04
             ldr     x0, [fp, #0x18]    // [V00 loc0]
@@ -512,13 +508,13 @@ G_M15982_IG38:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ; gcr arg pop 0
             b       G_M15982_IG04
                        ;; size=20 bbWeight=0.50 PerfScore 3.50
-G_M15982_IG39:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M15982_IG38:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #2
             bl      CORINFO_HELP_GETSHARED_NONGCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
             ; gcr arg pop 0
             b       G_M15982_IG03
                        ;; size=12 bbWeight=0 PerfScore 0.00
-G_M15982_IG40:        ; bbWeight=0, gcVars=0000004000000000 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+G_M15982_IG39:        ; bbWeight=0, gcVars=0000008000000000 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
             ; GC ptr vars +{V00}
             stp     fp, lr, [sp, #-0x60]!
             stp     x19, x20, [sp, #0x18]
@@ -529,9 +525,9 @@ G_M15982_IG40:        ; bbWeight=0, gcVars=0000004000000000 {V00}, gcrefRegs=000
             add     x3, fp, #144
             str     x3, [sp, #0x10]
                        ;; size=32 bbWeight=0 PerfScore 0.00
-G_M15982_IG41:        ; bbWeight=0, gcVars=0000004000000000 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M15982_IG40:        ; bbWeight=0, gcVars=0000008000000000 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w0, [fp, #0x38]   // [V01 loc1]
-            cbz     w0, G_M15982_IG42
+            cbz     w0, G_M15982_IG41
             ldr     x0, [fp, #0x18]  // [V00 loc0]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V00}
@@ -539,7 +535,7 @@ G_M15982_IG41:        ; bbWeight=0, gcVars=0000004000000000 {V00}, gcrefRegs=000
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M15982_IG42:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M15982_IG41:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldr     x27, [sp, #0x58]
             ldp     x25, x26, [sp, #0x48]
             ldp     x23, x24, [sp, #0x38]
@@ -549,7 +545,7 @@ G_M15982_IG42:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1136, prolog size 40, PerfScore 2112.00, instruction count 284, allocated bytes for code 1136 (MethodHash=ddb2c191) for method System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
+; Total bytes of code 1124, prolog size 40, PerfScore 2102.00, instruction count 281, allocated bytes for code 1124 (MethodHash=ddb2c191) for method System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -560,7 +556,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 265 (0x00109) Actual length = 1060 (0x000424)
+  Function Length   : 262 (0x00106) Actual length = 1048 (0x000418)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -603,4 +599,4 @@ Unwind Info:
 
 *************** EH table for System.Diagnostics.Tracing.EventListener:Validate()
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M15982_IG06..G_M15982_IG38) handled by [G_M15982_IG40..END) (fault)
+EH#0: try [G_M15982_IG06..G_M15982_IG37) handled by [G_M15982_IG39..END) (fault)
  
-8 (-0.90%) : 8678.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (Tier0-FullOpts)
@@ -8,27 +8,27 @@
 ; 0 inlinees with PGO data; 33 single block inlinees; 18 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T22] (  7,  7   )     ref  ->  [fp+0x20]  class-hnd EH-live single-def <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;  V01 arg1         [V01,T18] (  3, 10   )     int  ->  x19         single-def
+;  V00 arg0         [V00,T23] (  7,  7   )     ref  ->  [fp+0x20]  class-hnd EH-live single-def <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
+;  V01 arg1         [V01,T19] (  3, 10   )     int  ->  x19         single-def
 ;* V02 arg2         [V02    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Threading.CancellationToken>
-;  V03 loc0         [V03,T19] (  4, 11   )   ubyte  ->  [fp+0x2C]  do-not-enreg[Z] EH-live
-;  V04 loc1         [V04,T05] (  8, 32   )     ref  ->  [fp+0x18]  class-hnd exact EH-live spill-single-def <System.Threading.Tasks.Task+SetOnCountdownMres>
+;  V03 loc0         [V03,T20] (  4, 11   )   ubyte  ->  [fp+0x2C]  do-not-enreg[Z] EH-live
+;  V04 loc1         [V04,T04] (  8, 32   )     ref  ->  [fp+0x18]  class-hnd exact EH-live spill-single-def <System.Threading.Tasks.Task+SetOnCountdownMres>
 ;* V05 loc2         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V06 loc3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
 ;* V07 loc4         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V08 loc5         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V10 tmp1         [V10,T21] (  4,  8   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task+SetOnCountdownMres>
+;  V10 tmp1         [V10,T22] (  4,  8   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task+SetOnCountdownMres>
 ;* V11 tmp2         [V11    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V12 tmp3         [V12    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V13 tmp4         [V13    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V14 tmp5         [V14,T24] (  3,  6   )     int  ->  x22         "Inlining Arg"
+;  V14 tmp5         [V14,T26] (  3,  6   )     int  ->  x22         "Inlining Arg"
 ;* V15 tmp6         [V15    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V16 tmp7         [V16    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V17 tmp8         [V17    ] (  0,  0   )     int  ->  zero-ref   
 ;* V18 tmp9         [V18    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;* V19 tmp10        [V19,T30] (  0,  0   )     ref  ->  zero-ref    single-def
-;* V20 tmp11        [V20,T31] (  0,  0   )     int  ->  zero-ref   
+;* V19 tmp10        [V19,T32] (  0,  0   )     ref  ->  zero-ref    single-def
+;* V20 tmp11        [V20,T33] (  0,  0   )     int  ->  zero-ref   
 ;* V21 tmp12        [V21    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V22 tmp13        [V22    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V23 tmp14        [V23    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -36,44 +36,46 @@
 ;* V25 tmp16        [V25    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V26 tmp17        [V26    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V27 tmp18        [V27    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
-;  V28 tmp19        [V28,T13] (  2,  8   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V28 tmp19        [V28,T12] (  2,  8   )   ubyte  ->   x0         "Inline return value spill temp"
 ;* V29 tmp20        [V29    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V30 tmp21        [V30    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V31 tmp22        [V31    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V32 tmp23        [V32,T09] (  3, 24   )   byref  ->   x1         "Inlining Arg"
 ;* V33 tmp24        [V33    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V34 tmp25        [V34    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V35 tmp26        [V35,T14] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V35 tmp26        [V35,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V36 tmp27        [V36    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
 ;* V37 tmp28        [V37    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V38 tmp29        [V38    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;* V39 tmp30        [V39,T15] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V39 tmp30        [V39,T14] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V40 tmp31        [V40    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;  V41 tmp32        [V41,T20] (  2,  9   )     ref  ->  x20         single-def "field V02._source (fldOffset=0x0)" P-INDEP
-;  V42 tmp33        [V42,T04] (  4, 25   )     ref  ->  x22         single-def "field V05._list (fldOffset=0x0)" P-INDEP
-;  V43 tmp34        [V43,T06] (  5, 24   )     ref  ->  x25         "field V05._current (fldOffset=0x8)" P-INDEP
+;  V41 tmp32        [V41,T21] (  2,  9   )     ref  ->  x20         single-def "field V02._source (fldOffset=0x0)" P-INDEP
+;  V42 tmp33        [V42,T06] (  4, 25   )     ref  ->  x22         single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V43 tmp34        [V43,T05] (  5, 24   )     ref  ->  x25         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V44 tmp35        [V44,T00] (  6, 41   )     int  ->  x24         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V45 tmp36        [V45,T12] (  3, 17   )     int  ->  x23         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V45 tmp36        [V45,T24] (  2,  9   )     int  ->  x23         "field V05._version (fldOffset=0x14)" P-INDEP
 ;  V46 tmp37        [V46,T07] (  4, 25   )     ref  ->  x19         single-def "field V07._list (fldOffset=0x0)" P-INDEP
 ;  V47 tmp38        [V47,T08] (  3, 16   )     ref  ->   x0         "field V07._current (fldOffset=0x8)" P-INDEP
 ;  V48 tmp39        [V48,T01] (  6, 41   )     int  ->  x21         "field V07._index (fldOffset=0x10)" P-INDEP
-;  V49 tmp40        [V49,T23] (  2,  9   )     int  ->  x20         "field V07._version (fldOffset=0x14)" P-INDEP
-;  V50 tmp41        [V50,T26] (  3,  3   )     ref  ->  x22         single-def "field V27._list (fldOffset=0x0)" P-INDEP
+;  V49 tmp40        [V49,T25] (  2,  9   )     int  ->  x20         "field V07._version (fldOffset=0x14)" P-INDEP
+;  V50 tmp41        [V50,T28] (  3,  3   )     ref  ->  x22         single-def "field V27._list (fldOffset=0x0)" P-INDEP
 ;* V51 tmp42        [V51    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V27._current (fldOffset=0x8)" P-INDEP
-;* V52 tmp43        [V52,T32] (  0,  0   )     int  ->  zero-ref    "field V27._index (fldOffset=0x10)" P-INDEP
-;  V53 tmp44        [V53,T28] (  2,  2   )     int  ->  x23         "field V27._version (fldOffset=0x14)" P-INDEP
-;  V54 tmp45        [V54,T27] (  3,  3   )     ref  ->  x19         single-def "field V37._list (fldOffset=0x0)" P-INDEP
+;* V52 tmp43        [V52,T34] (  0,  0   )     int  ->  zero-ref    "field V27._index (fldOffset=0x10)" P-INDEP
+;  V53 tmp44        [V53,T30] (  2,  2   )     int  ->  x23         "field V27._version (fldOffset=0x14)" P-INDEP
+;  V54 tmp45        [V54,T29] (  3,  3   )     ref  ->  x19         single-def "field V37._list (fldOffset=0x0)" P-INDEP
 ;* V55 tmp46        [V55    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V37._current (fldOffset=0x8)" P-INDEP
-;* V56 tmp47        [V56,T33] (  0,  0   )     int  ->  zero-ref    "field V37._index (fldOffset=0x10)" P-INDEP
-;  V57 tmp48        [V57,T29] (  2,  2   )     int  ->  x20         "field V37._version (fldOffset=0x14)" P-INDEP
+;* V56 tmp47        [V56,T35] (  0,  0   )     int  ->  zero-ref    "field V37._index (fldOffset=0x10)" P-INDEP
+;  V57 tmp48        [V57,T31] (  2,  2   )     int  ->  x20         "field V37._version (fldOffset=0x14)" P-INDEP
 ;  V58 tmp49        [V58,T02] (  3, 48   )     ref  ->   x1         "arr expr"
 ;  V59 tmp50        [V59,T03] (  3, 48   )     ref  ->   x0         "arr expr"
-;  V60 PSPSym       [V60,T34] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
-;  V61 cse0         [V61,T10] (  3, 24   )     int  ->  x25         "CSE - aggressive"
-;  V62 cse1         [V62,T11] (  2, 16   )     int  ->   x0         "CSE - aggressive"
-;  V63 cse2         [V63,T16] (  8, 14   )     ref  ->   x1         multi-def "CSE - aggressive"
-;  V64 cse3         [V64,T17] (  3, 12   )   byref  ->   x1         "CSE - aggressive"
-;  V65 cse4         [V65,T25] (  4,  4   )   byref  ->   x1         "CSE - moderate"
+;  V60 PSPSym       [V60,T36] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
+;  V61 cse0         [V61,T15] (  2, 16   )     int  ->   x1         "CSE - aggressive"
+;  V62 cse1         [V62,T10] (  2, 16   )     int  ->   x1         "CSE - aggressive"
+;  V63 cse2         [V63,T16] (  2, 16   )     int  ->   x0         "CSE - aggressive"
+;  V64 cse3         [V64,T11] (  2, 16   )     int  ->   x0         "CSE - aggressive"
+;  V65 cse4         [V65,T17] (  8, 14   )     ref  ->   x1         multi-def "CSE - aggressive"
+;  V66 cse5         [V66,T18] (  3, 12   )   byref  ->   x1         "CSE - aggressive"
+;  V67 cse6         [V67,T27] (  4,  4   )   byref  ->   x1         "CSE - moderate"
 ;
 ; Lcl frame size = 40
 
@@ -92,7 +94,7 @@ G_M12834_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             mov     x20, x2
             ; gcrRegs +[x20]
                        ;; size=44 bbWeight=1 PerfScore 9.00
-G_M12834_IG02:        ; bbWeight=1, gcVars=0000000000400000 {V00}, gcrefRegs=100001 {x0 x20}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M12834_IG02:        ; bbWeight=1, gcVars=0000000000800000 {V00}, gcrefRegs=100001 {x0 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x0]
             cbnz    x0, G_M12834_IG03
             movz    x0, #0xD1FFAB1E
@@ -171,7 +173,7 @@ G_M12834_IG05:        ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {
             str     x21, [fp, #0x18]   // [V04 loc1]
             ; GC ptr vars +{V04}
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M12834_IG06:        ; bbWeight=1, gcVars=0000000000400020 {V00 V04}, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, gcvars, byref
+G_M12834_IG06:        ; bbWeight=1, gcVars=0000000000800010 {V00 V04}, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, gcvars, byref
             ldr     x0, [fp, #0x20]    // [V00 arg0]
             ; gcrRegs +[x0]
             mov     x22, x0
@@ -261,12 +263,12 @@ G_M12834_IG10:        ; bbWeight=4, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=00
             ; gcr arg pop 0
                        ;; size=52 bbWeight=4 PerfScore 50.00
 G_M12834_IG11:        ; bbWeight=8, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0000 {}, byref, isz
-            ldr     w25, [x22, #0x14]
-            cmp     w23, w25
-            bne     G_M12834_IG15
+            ldr     w1, [x22, #0x14]
+            cmp     w23, w1
+            bne     G_M12834_IG14
             ldr     w1, [x22, #0x10]
             cmp     w24, w1
-            bhs     G_M12834_IG16
+            bhs     G_M12834_IG15
             ldr     x1, [x22, #0x08]
             ; gcrRegs +[x1]
             ldr     w2, [x1, #0x08]
@@ -305,12 +307,8 @@ G_M12834_IG14:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, b
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M12834_IG15:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M12834_IG15:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x20]
-            cmp     w23, w25
-            bne     G_M12834_IG14
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M12834_IG16:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
             mov     x0, x21
             ; gcrRegs +[x0]
             mov     w1, w19
@@ -325,19 +323,19 @@ G_M12834_IG16:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {
             ; gcr arg pop 0
             str     w0, [fp, #0x2C]    // [V03 loc0]
                        ;; size=36 bbWeight=8 PerfScore 64.00
-G_M12834_IG17:        ; bbWeight=1, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
+G_M12834_IG16:        ; bbWeight=1, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
             ldr     x0, [fp, #0x30]    // [V60 PSPSym]
-            bl      G_M12834_IG21
+            bl      G_M12834_IG20
                        ;; size=8 bbWeight=1 PerfScore 3.00
-G_M12834_IG18:        ; bbWeight=1, nogc, extend
+G_M12834_IG17:        ; bbWeight=1, nogc, extend
             nop     
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M12834_IG19:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M12834_IG18:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x21]
             ; GC ptr vars -{V00 V04}
             ldr     w0, [fp, #0x2C]    // [V03 loc0]
                        ;; size=4 bbWeight=1 PerfScore 2.00
-G_M12834_IG20:        ; bbWeight=1, epilog, nogc, extend
+G_M12834_IG19:        ; bbWeight=1, epilog, nogc, extend
             ldr     x25, [sp, #0x68]
             ldp     x23, x24, [sp, #0x58]
             ldp     x21, x22, [sp, #0x48]
@@ -345,7 +343,7 @@ G_M12834_IG20:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x70
             ret     lr
                        ;; size=24 bbWeight=1 PerfScore 7.00
-G_M12834_IG21:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M12834_IG20:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x18]
             stp     x21, x22, [sp, #0x28]
@@ -354,19 +352,19 @@ G_M12834_IG21:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             add     x3, fp, #112
             str     x3, [sp, #0x10]
                        ;; size=28 bbWeight=1 PerfScore 6.50
-G_M12834_IG22:        ; bbWeight=1, gcVars=0000000000400020 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M12834_IG21:        ; bbWeight=1, gcVars=0000000000800010 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ; GC ptr vars +{V00 V04}
             ldr     w0, [fp, #0x2C]    // [V03 loc0]
-            cbnz    w0, G_M12834_IG27
+            cbnz    w0, G_M12834_IG26
             ldr     x0, [fp, #0x20]  // [V00 arg0]
             ; gcrRegs +[x0]
             mov     x19, x0
             ; gcrRegs +[x19]
             ldr     w20, [x19, #0x14]
             mov     w21, wzr
-            b       G_M12834_IG24
+            b       G_M12834_IG23
                      ;; size=28 bbWeight=1 PerfScore 10.00
-G_M12834_IG23:        ; bbWeight=4, gcVars=0000000000000020 {V04}, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M12834_IG22:        ; bbWeight=4, gcVars=0000000000000010 {V04}, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, gcvars, byref, isz
             ; GC ptr vars -{V00}
             add     x1, x0, #52
             ; byrRegs +[x1]
@@ -374,7 +372,7 @@ G_M12834_IG23:        ; bbWeight=4, gcVars=0000000000000020 {V04}, gcrefRegs=800
             ; byrRegs -[x1]
             mov     w2, #0xD1FFAB1E
             tst     w1, w2
-            bne     G_M12834_IG24
+            bne     G_M12834_IG23
             ldr     x1, [fp, #0x18]    // [V04 loc1]
             ; gcrRegs +[x1]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
@@ -385,18 +383,18 @@ G_M12834_IG23:        ; bbWeight=4, gcVars=0000000000000020 {V04}, gcrefRegs=800
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
                        ;; size=44 bbWeight=4 PerfScore 52.00
-G_M12834_IG24:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
+G_M12834_IG23:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x19, #0x14]
             cmp     w20, w0
-            bne     G_M12834_IG26
+            bne     G_M12834_IG25
             ldr     w0, [x19, #0x10]
             cmp     w21, w0
-            bhs     G_M12834_IG27
+            bhs     G_M12834_IG26
             ldr     x0, [x19, #0x08]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x08]
             cmp     w21, w1
-            bhs     G_M12834_IG25
+            bhs     G_M12834_IG24
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
@@ -404,15 +402,15 @@ G_M12834_IG24:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; gcrRegs +[x0]
             ; byrRegs -[x0]
             add     w21, w21, #1
-            b       G_M12834_IG23
+            b       G_M12834_IG22
                      ;; size=56 bbWeight=8 PerfScore 172.00
-G_M12834_IG25:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
...
  
-4 (-0.29%) : 22038.dasm - System.Text.RegularExpressions.RegexWriter:EmitCode():System.Text.RegularExpressions.RegexInterpreterCode:this (Tier1)
@@ -8,10 +8,10 @@
 ; 0 inlinees with PGO data; 24 single block inlinees; 13 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] ( 20, 34   )   byref  ->  x19         this single-def
+;  V00 this         [V00,T03] ( 19, 33   )   byref  ->  x19         this single-def
 ;  V01 loc0         [V01,T01] ( 13, 39   )     ref  ->  x21         class-hnd <System.Text.RegularExpressions.RegexNode>
 ;  V02 loc1         [V02,T02] ( 12, 38   )     int  ->  x22        
-;  V03 loc2         [V03,T49] (  2,  2   )     ref  ->  x22         class-hnd single-def <int[]>
+;  V03 loc2         [V03,T50] (  2,  2   )     ref  ->  x22         class-hnd single-def <int[]>
 ;  V04 loc3         [V04,T34] (  5,  4   )     ref  ->  x21         class-hnd exact single-def <System.String[]>
 ;* V05 loc4         [V05    ] (  0,  0   )     int  ->  zero-ref   
 ;* V06 loc5         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[int]>
@@ -55,16 +55,16 @@
 ;  V44 tmp35        [V44,T15] (  6, 10   )     int  ->  x20         "Inlining Arg"
 ;  V45 tmp36        [V45,T26] (  3,  6   )   byref  ->   x0         single-def "Inlining Arg"
 ;* V46 tmp37        [V46    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
-;  V47 tmp38        [V47,T47] (  2,  3   )   byref  ->  x21         single-def "Inlining Arg"
+;  V47 tmp38        [V47,T48] (  2,  3   )   byref  ->  x21         single-def "Inlining Arg"
 ;* V48 tmp39        [V48    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;* V49 tmp40        [V49    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[int]>
 ;* V50 tmp41        [V50    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V51 tmp42        [V51    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;  V52 tmp43        [V52,T48] (  3,  2   )     ref  ->  x22         class-hnd "Inline return value spill temp" <int[]>
-;  V53 tmp44        [V53,T56] (  3,  1.50)     ref  ->  x22         class-hnd exact single-def "Inline stloc first use temp" <int[]>
-;  V54 tmp45        [V54,T50] (  2,  2   )   byref  ->   x0         single-def "Inlining Arg"
+;  V52 tmp43        [V52,T49] (  3,  2   )     ref  ->  x22         class-hnd "Inline return value spill temp" <int[]>
+;  V53 tmp44        [V53,T57] (  3,  1.50)     ref  ->  x22         class-hnd exact single-def "Inline stloc first use temp" <int[]>
+;  V54 tmp45        [V54,T51] (  2,  2   )   byref  ->   x0         single-def "Inlining Arg"
 ;* V55 tmp46        [V55    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
-;  V56 tmp47        [V56,T51] (  2,  2   )    long  ->   x2         "Inlining Arg"
+;  V56 tmp47        [V56,T52] (  2,  2   )    long  ->   x2         "Inlining Arg"
 ;* V57 tmp48        [V57    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V58 tmp49        [V58,T27] (  3,  6   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;  V59 tmp50        [V59,T28] (  3,  6   )     ref  ->  x20         class-hnd single-def "Inlining Arg" <<unknown class>>
@@ -76,14 +76,14 @@
 ;* V65 tmp56        [V65    ] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
 ;  V66 tmp57        [V66,T19] (  2,  8   )     ref  ->  x15         "field V08.key (fldOffset=0x0)" P-INDEP
 ;  V67 tmp58        [V67,T11] (  3, 12   )     int  ->  x14         "field V08.value (fldOffset=0x8)" P-INDEP
-;  V68 tmp59        [V68,T57] (  2,  1.50)   byref  ->   x2         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V69 tmp60        [V69,T52] (  2,  2   )     int  ->   x3         "field V15._length (fldOffset=0x8)" P-INDEP
-;  V70 tmp61        [V70,T58] (  2,  1.50)   byref  ->   x2         single-def "field V18._reference (fldOffset=0x0)" P-INDEP
-;  V71 tmp62        [V71,T53] (  2,  2   )     int  ->   x3         "field V18._length (fldOffset=0x8)" P-INDEP
+;  V68 tmp59        [V68,T58] (  2,  1.50)   byref  ->   x2         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V69 tmp60        [V69,T53] (  2,  2   )     int  ->   x3         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V70 tmp61        [V70,T59] (  2,  1.50)   byref  ->   x2         single-def "field V18._reference (fldOffset=0x0)" P-INDEP
+;  V71 tmp62        [V71,T54] (  2,  2   )     int  ->   x3         "field V18._length (fldOffset=0x8)" P-INDEP
 ;  V72 tmp63        [V72,T36] (  2,  4   )   byref  ->   x2         "field V30._reference (fldOffset=0x0)" P-INDEP
 ;  V73 tmp64        [V73,T41] (  2,  4   )     int  ->   x3         "field V30._length (fldOffset=0x8)" P-INDEP
-;  V74 tmp65        [V74,T59] (  2,  1.50)   byref  ->   x2         single-def "field V41._reference (fldOffset=0x0)" P-INDEP
-;  V75 tmp66        [V75,T54] (  2,  2   )     int  ->   x3         "field V41._length (fldOffset=0x8)" P-INDEP
+;  V74 tmp65        [V74,T60] (  2,  1.50)   byref  ->   x2         single-def "field V41._reference (fldOffset=0x0)" P-INDEP
+;  V75 tmp66        [V75,T55] (  2,  2   )     int  ->   x3         "field V41._length (fldOffset=0x8)" P-INDEP
 ;* V76 tmp67        [V76    ] (  0,  0   )   byref  ->  zero-ref    "field V43._reference (fldOffset=0x0)" P-INDEP
 ;* V77 tmp68        [V77    ] (  0,  0   )     int  ->  zero-ref    "field V43._length (fldOffset=0x8)" P-INDEP
 ;* V78 tmp69        [V78    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V46._reference (fldOffset=0x0)" P-INDEP
@@ -93,17 +93,18 @@
 ;* V82 tmp73        [V82    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V49._reference (fldOffset=0x0)" P-INDEP
 ;* V83 tmp74        [V83    ] (  0,  0   )     int  ->  zero-ref    "field V49._length (fldOffset=0x8)" P-INDEP
 ;* V84 tmp75        [V84    ] (  0,  0   )     ref  ->  zero-ref    single-def "V60.[000..008)"
-;  V85 tmp76        [V85,T55] (  2,  2   )     int  ->   x0         "V60.[008..012)"
+;  V85 tmp76        [V85,T56] (  2,  2   )     int  ->   x0         "V60.[008..012)"
 ;* V86 tmp77        [V86    ] (  0,  0   )     int  ->  zero-ref    "V60.[012..016)"
 ;* V87 tmp78        [V87    ] (  0,  0   )     int  ->  zero-ref    "V60.[016..020)"
 ;  V88 tmp79        [V88,T10] (  3, 12   )     ref  ->   x0         "arr expr"
-;  V89 cse0         [V89,T46] (  3,  3   )     int  ->  x22         "CSE - moderate"
+;  V89 cse0         [V89,T47] (  3,  3   )     int  ->  x22         "CSE - moderate"
 ;  V90 cse1         [V90,T29] (  3,  6   )     ref  ->   x1         "CSE - moderate"
 ;  V91 cse2         [V91,T45] (  3,  3   )     ref  ->  x20         "CSE - moderate"
 ;  V92 cse3         [V92,T30] (  3,  6   )    long  ->  x20         "CSE - moderate"
 ;  V93 cse4         [V93,T33] (  2,  4.50)   byref  ->  x24         hoist "CSE - moderate"
 ;  V94 cse5         [V94,T21] (  4,  6.50)     int  ->  x23         hoist multi-def "CSE - moderate"
 ;  V95 cse6         [V95,T31] (  5,  5   )   byref  ->  x20         "CSE - moderate"
+;  V96 cse7         [V96,T46] (  3,  3   )     ref  ->  x14         "CSE - moderate"
 ;
 ; Lcl frame size = 80
 
@@ -581,7 +582,6 @@ G_M2365_IG42:        ; bbWeight=1, gcrefRegs=600000 {x21 x22}, byrefRegs=80000 {
             ; gcrRegs +[x14]
             ldr     x15, [x14, #0x10]
             ; gcrRegs +[x15]
-            ldr     x14, [x19]
             ldr     w1, [x14, #0x38]
             ldr     w19, [x19, #0x10]
             ; byrRegs -[x19]
@@ -623,7 +623,7 @@ G_M2365_IG42:        ; bbWeight=1, gcrefRegs=600000 {x21 x22}, byrefRegs=80000 {
             str     w19, [x20, #0x2C]
             mov     x0, x20
             ; gcrRegs +[x0]
-                      ;; size=120 bbWeight=1 PerfScore 34.00
+                        ;; size=116 bbWeight=1 PerfScore 31.00
 G_M2365_IG43:        ; bbWeight=1, epilog, nogc, extend
             ldp     x23, x24, [sp, #0x80]
             ldp     x21, x22, [sp, #0x70]
@@ -652,7 +652,7 @@ G_M2365_IG46:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1380, prolog size 40, PerfScore 659.00, instruction count 345, allocated bytes for code 1380 (MethodHash=a52ef6c2) for method System.Text.RegularExpressions.RegexWriter:EmitCode():System.Text.RegularExpressions.RegexInterpreterCode:this (Tier1)
+; Total bytes of code 1376, prolog size 40, PerfScore 656.00, instruction count 344, allocated bytes for code 1376 (MethodHash=a52ef6c2) for method System.Text.RegularExpressions.RegexWriter:EmitCode():System.Text.RegularExpressions.RegexInterpreterCode:this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -663,7 +663,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 345 (0x00159) Actual length = 1380 (0x000564)
+  Function Length   : 344 (0x00158) Actual length = 1376 (0x000560)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-4 (-0.19%) : 44428.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan1[ushort],System.ReadOnlySpan1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
@@ -8,16 +8,16 @@
 ; 0 inlinees with PGO data; 66 single block inlinees; 39 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T56] (  4,   4   )  struct (16) [fp-0x68]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
-;  V01 arg1         [V01,T57] (  4,   4   )  struct (16) [fp-0x78]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
-;  V02 arg2         [V02,T53] (  4,  10.50)   ubyte  ->  x20         single-def
-;  V03 arg3         [V03,T36] (  5,  66.50)   ubyte  ->  x19         single-def
+;  V00 arg0         [V00,T57] (  4,   4   )  struct (16) [fp-0x68]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
+;  V01 arg1         [V01,T58] (  4,   4   )  struct (16) [fp-0x78]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
+;  V02 arg2         [V02,T54] (  4,  10.50)   ubyte  ->  x20         single-def
+;  V03 arg3         [V03,T47] (  4,  34.50)   ubyte  ->  x19         single-def
 ;  V04 loc0         [V04,T46] (  5,  40.50)     int  ->  registers   ptr
 ;  V05 loc1         [V05,T06] ( 10, 488   )     int  ->  [fp-0x7C]  ptr
 ;  V06 loc2         [V06,T00] ( 10,1348   )     int  ->  [fp-0x80]  ptr
 ;  V07 loc3         [V07,T08] ( 22, 428   )     int  ->  [fp-0x84]  ptr
 ;  V08 loc4         [V08,T03] (  7, 724   )     int  ->  [fp-0x88]  ptr
-;  V09 loc5         [V09,T44] (  8,  43.50)     int  ->  x26        
+;  V09 loc5         [V09,T44] (  8,  43.50)     int  ->  x25        
 ;  V10 loc6         [V10,T21] ( 11, 146.50)  ushort  ->  registers   ptr
 ;  V11 loc7         [V11,T10] ( 13, 288   )  ushort  ->  [fp-0x8C]  ptr
 ;* V12 loc8         [V12    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[int]>
@@ -29,9 +29,9 @@
 ;* V18 loc14        [V18    ] (  0,   0   )  struct (16) zero-ref    multireg-arg ld-addr-op <System.ReadOnlySpan`1[ushort]>
 ;* V19 loc15        [V19    ] (  0,   0   )   ubyte  ->  zero-ref   
 ;* V20 loc16        [V20    ] (  0,   0   )  struct (16) zero-ref    <System.Span`1[int]>
-;  V21 loc17        [V21,T28] (  3,  96   )     int  ->  [fp-0x9C]  spill-single-def ptr
-;  V22 loc18        [V22,T29] (  3,  96   )   ubyte  ->  x14        
-;  V23 loc19        [V23,T01] (  7,1344   )     int  ->  x13        
+;  V21 loc17        [V21,T29] (  3,  96   )     int  ->  [fp-0x9C]  spill-single-def ptr
+;  V22 loc18        [V22,T30] (  3,  96   )   ubyte  ->  x14        
+;  V23 loc19        [V23,T01] (  7,1344   )     int  ->   x1        
 ;  V24 loc20        [V24,T02] (  3, 832   )     int  ->   x0        
 ;# V25 OutArgs      [V25    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V26 tmp1         [V26    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
@@ -41,16 +41,16 @@
 ;  V30 tmp5         [V30,T13] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
 ;  V31 tmp6         [V31,T15] (  2, 256   )     int  ->  x10         "dup spill"
 ;  V32 tmp7         [V32,T14] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
-;  V33 tmp8         [V33,T49] (  2,  32   )     int  ->  [fp-0xA0]  spill-single-def ptr "impAppendStmt"
+;  V33 tmp8         [V33,T50] (  2,  32   )     int  ->  [fp-0xA0]  spill-single-def ptr "impAppendStmt"
 ;* V34 tmp9         [V34    ] (  0,   0   )     int  ->  zero-ref    ptr
 ;  V35 tmp10        [V35,T37] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V36 tmp11        [V36,T38] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
-;  V37 tmp12        [V37,T34] (  5,  80   )     int  ->  x13         "dup spill"
+;  V37 tmp12        [V37,T35] (  5,  80   )     int  ->  x13         "dup spill"
 ;  V38 tmp13        [V38,T39] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
 ;  V39 tmp14        [V39,T40] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V40 tmp15        [V40,T41] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
-;  V41 tmp16        [V41,T30] (  3,  96   )     int  ->   x1        
-;  V42 tmp17        [V42,T52] (  4,  16   )     int  ->  x25         "impSpillLclRefs"
+;  V41 tmp16        [V41,T31] (  3,  96   )     int  ->   x1        
+;  V42 tmp17        [V42,T53] (  4,  16   )     int  ->  x27         "impSpillLclRefs"
 ;* V43 tmp18        [V43    ] (  0,   0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V44 tmp19        [V44    ] (  0,   0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V45 tmp20        [V45    ] (  0,   0   )     int  ->  zero-ref    ptr
@@ -58,15 +58,15 @@
 ;* V47 tmp22        [V47    ] (  0,   0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
 ;* V48 tmp23        [V48    ] (  0,   0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
 ;* V49 tmp24        [V49    ] (  0,   0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
-;  V50 tmp25        [V50,T69] (  2,   1   )     int  ->   x4        
+;  V50 tmp25        [V50,T70] (  2,   1   )     int  ->   x4        
 ;* V51 tmp26        [V51    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;  V52 tmp27        [V52,T59] (  3,   3   )     int  ->  x26         "Inlining Arg"
-;  V53 tmp28        [V53,T60] (  2,   2   )   byref  ->  x25         single-def "Inlining Arg"
+;  V52 tmp27        [V52,T60] (  3,   3   )     int  ->  x26         "Inlining Arg"
+;  V53 tmp28        [V53,T61] (  2,   2   )   byref  ->  x25         single-def "Inlining Arg"
 ;* V54 tmp29        [V54    ] (  0,   0   )  struct (16) zero-ref    "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V55 tmp30        [V55    ] (  0,   0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V56 tmp31        [V56    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V57 tmp32        [V57,T72] (  0,   0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V58 tmp33        [V58,T73] (  0,   0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
+;* V57 tmp32        [V57,T73] (  0,   0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
+;* V58 tmp33        [V58,T74] (  0,   0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
 ;* V59 tmp34        [V59    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V60 tmp35        [V60    ] (  0,   0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V61 tmp36        [V61    ] (  0,   0   )   short  ->  zero-ref    "Inlining Arg"
@@ -76,7 +76,7 @@
 ;* V65 tmp40        [V65    ] (  0,   0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V66 tmp41        [V66    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V67 tmp42        [V67    ] (  0,   0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V68 tmp43        [V68,T70] (  2,   1   )     int  ->   x0         "Inline return value spill temp"
+;  V68 tmp43        [V68,T71] (  2,   1   )     int  ->   x0         "Inline return value spill temp"
 ;* V69 tmp44        [V69    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V70 tmp45        [V70    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V71 tmp46        [V71    ] (  0,   0   )   byref  ->  zero-ref    "impAppendStmt"
@@ -142,8 +142,8 @@
 ;* V131 tmp106      [V131    ] (  0,   0   )  struct (32) zero-ref    HFA(simd16)  ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.Intrinsics.Vector256`1[ubyte]>
 ;* V132 tmp107      [V132    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V133 tmp108      [V133    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;  V134 tmp109      [V134,T64] (  2,   2   )    long  ->  x28         "Inlining Arg"
-;  V135 tmp110      [V135,T65] (  2,   2   )    long  ->   x3         "Inlining Arg"
+;  V134 tmp109      [V134,T65] (  2,   2   )    long  ->  x28         "Inlining Arg"
+;  V135 tmp110      [V135,T66] (  2,   2   )    long  ->   x3         "Inlining Arg"
 ;  V136 tmp111      [V136,T18] (  3, 192   )     ref  ->   x0         class-hnd exact "Inlining Arg" <int[]>
 ;* V137 tmp112      [V137    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V138 tmp113      [V138    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
@@ -158,7 +158,7 @@
 ;* V147 tmp122      [V147    ] (  0,   0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;  V148 tmp123      [V148,T24] (  2, 128   )    long  ->   x2         "Inlining Arg"
 ;* V149 tmp124      [V149    ] (  0,   0   )    long  ->  zero-ref    "Inlining Arg"
-;  V150 tmp125      [V150,T50] (  3,  24   )  ushort  ->  registers   ptr "Inline return value spill temp"
+;  V150 tmp125      [V150,T51] (  3,  24   )  ushort  ->  registers   ptr "Inline return value spill temp"
 ;  V151 tmp126      [V151,T42] (  4,  64   )  ushort  ->  x10         "Inlining Arg"
 ;* V152 tmp127      [V152    ] (  0,   0   )  ushort  ->  zero-ref    "Inline return value spill temp"
 ;* V153 tmp128      [V153    ] (  0,   0   )    long  ->  zero-ref    "Inline stloc first use temp"
@@ -169,9 +169,9 @@
 ;* V158 tmp133      [V158    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V159 tmp134      [V159    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;  V160 tmp135      [V160    ] (  3,  24   )  ushort  ->  [fp-0xA8]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inline stloc first use temp"
-;  V161 tmp136      [V161,T47] (  2,  32   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Globalization.TextInfo>
+;  V161 tmp136      [V161,T48] (  2,  32   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Globalization.TextInfo>
 ;  V162 tmp137      [V162    ] (  2,  32   )  ushort  ->  [fp-0xB0]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inlining Arg"
-;  V163 tmp138      [V163,T51] (  3,  24   )  ushort  ->  x13         "Inline return value spill temp"
+;  V163 tmp138      [V163,T52] (  3,  24   )  ushort  ->  x13         "Inline return value spill temp"
 ;  V164 tmp139      [V164,T43] (  4,  64   )  ushort  ->  x13         "Inlining Arg"
 ;* V165 tmp140      [V165    ] (  0,   0   )  ushort  ->  zero-ref    "Inline return value spill temp"
 ;* V166 tmp141      [V166    ] (  0,   0   )    long  ->  zero-ref    "Inline stloc first use temp"
@@ -182,37 +182,37 @@
 ;* V171 tmp146      [V171    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V172 tmp147      [V172    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;  V173 tmp148      [V173    ] (  3,  24   )  ushort  ->  [fp-0xB8]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inline stloc first use temp"
-;  V174 tmp149      [V174,T48] (  2,  32   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Globalization.TextInfo>
+;  V174 tmp149      [V174,T49] (  2,  32   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Globalization.TextInfo>
 ;  V175 tmp150      [V175    ] (  2,  32   )  ushort  ->  [fp-0xC0]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inlining Arg"
-;  V176 tmp151      [V176,T61] (  3,   3   )     int  ->   x0         "Single return block return value"
-;  V177 tmp152      [V177,T54] (  2,   8   )   byref  ->   x1         "field V12._reference (fldOffset=0x0)" P-INDEP
-;  V178 tmp153      [V178,T55] (  2,   8   )     int  ->   x0         "field V12._length (fldOffset=0x8)" P-INDEP
+;  V176 tmp151      [V176,T62] (  3,   3   )     int  ->   x0         "Single return block return value"
+;  V177 tmp152      [V177,T55] (  2,   8   )   byref  ->   x1         "field V12._reference (fldOffset=0x0)" P-INDEP
+;  V178 tmp153      [V178,T56] (  2,   8   )     int  ->   x0         "field V12._length (fldOffset=0x8)" P-INDEP
 ;  V179 tmp154      [V179,T07] ( 14, 464.50)   byref  ->  x28         "field V13._reference (fldOffset=0x0)" P-INDEP
 ;  V180 tmp155      [V180,T04] ( 17, 592.50)     int  ->  [fp-0xC4]  ptr "field V13._length (fldOffset=0x8)" P-INDEP
 ;  V181 tmp156      [V181,T09] ( 10, 347.50)   byref  ->  [fp-0xD8]  ptr "field V14._reference (fldOffset=0x0)" P-INDEP
 ;  V182 tmp157      [V182,T20] ( 10, 187   )     int  ->  [fp-0xC8]  ptr "field V14._length (fldOffset=0x8)" P-INDEP
-;  V183 tmp158      [V183,T63] (  4,   2   )   byref  ->  x25         single-def "field V18._reference (fldOffset=0x0)" P-INDEP
-;  V184 tmp159      [V184,T62] (  5,   2.50)     int  ->  x26         "field V18._length (fldOffset=0x8)" P-INDEP
+;  V183 tmp158      [V183,T64] (  4,   2   )   byref  ->  x25         single-def "field V18._reference (fldOffset=0x0)" P-INDEP
+;  V184 tmp159      [V184,T63] (  5,   2.50)     int  ->  x26         "field V18._length (fldOffset=0x8)" P-INDEP
 ;* V185 tmp160      [V185    ] (  0,   0   )   byref  ->  zero-ref    "field V20._reference (fldOffset=0x0)" P-INDEP
 ;* V186 tmp161      [V186    ] (  0,   0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
-;  V187 tmp162      [V187,T66] (  2,   1   )   byref  ->  x28         single-def "field V26._reference (fldOffset=0x0)" P-INDEP
-;* V188 tmp163      [V188,T76] (  0,   0   )     int  ->  zero-ref    ptr "field V26._length (fldOffset=0x8)" P-INDEP
-;  V189 tmp164      [V189,T67] (  2,   1   )   byref  ->   x3         single-def "field V27._reference (fldOffset=0x0)" P-INDEP
-;* V190 tmp165      [V190,T77] (  0,   0   )     int  ->  zero-ref    ptr "field V27._length (fldOffset=0x8)" P-INDEP
+;  V187 tmp162      [V187,T67] (  2,   1   )   byref  ->  x28         single-def "field V26._reference (fldOffset=0x0)" P-INDEP
+;* V188 tmp163      [V188,T77] (  0,   0   )     int  ->  zero-ref    ptr "field V26._length (fldOffset=0x8)" P-INDEP
+;  V189 tmp164      [V189,T68] (  2,   1   )   byref  ->   x3         single-def "field V27._reference (fldOffset=0x0)" P-INDEP
+;* V190 tmp165      [V190,T78] (  0,   0   )     int  ->  zero-ref    ptr "field V27._length (fldOffset=0x8)" P-INDEP
 ;* V191 tmp166      [V191    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V43._reference (fldOffset=0x0)" P-INDEP
 ;* V192 tmp167      [V192    ] (  0,   0   )     int  ->  zero-ref    ptr "field V43._length (fldOffset=0x8)" P-INDEP
 ;* V193 tmp168      [V193    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V44._reference (fldOffset=0x0)" P-INDEP
 ;* V194 tmp169      [V194    ] (  0,   0   )     int  ->  zero-ref    ptr "field V44._length (fldOffset=0x8)" P-INDEP
-;  V195 tmp170      [V195,T68] (  2,   1   )   byref  ->   x0         single-def "field V46._reference (fldOffset=0x0)" P-INDEP
-;  V196 tmp171      [V196,T71] (  2,   1   )     int  ->   x1         "field V46._length (fldOffset=0x8)" P-INDEP
+;  V195 tmp170      [V195,T69] (  2,   1   )   byref  ->   x0         single-def "field V46._reference (fldOffset=0x0)" P-INDEP
+;  V196 tmp171      [V196,T72] (  2,   1   )     int  ->   x1         "field V46._length (fldOffset=0x8)" P-INDEP
 ;* V197 tmp172      [V197    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V47._reference (fldOffset=0x0)" P-INDEP
 ;* V198 tmp173      [V198    ] (  0,   0   )     int  ->  zero-ref    ptr "field V47._length (fldOffset=0x8)" P-INDEP
 ;* V199 tmp174      [V199    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V48._reference (fldOffset=0x0)" P-INDEP
 ;* V200 tmp175      [V200    ] (  0,   0   )     int  ->  zero-ref    ptr "field V48._length (fldOffset=0x8)" P-INDEP
 ;* V201 tmp176      [V201    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V49._reference (fldOffset=0x0)" P-INDEP
 ;* V202 tmp177      [V202    ] (  0,   0   )     int  ->  zero-ref    ptr "field V49._length (fldOffset=0x8)" P-INDEP
-;* V203 tmp178      [V203,T74] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V51._reference (fldOffset=0x0)" P-INDEP
-;* V204 tmp179      [V204,T78] (  0,   0   )     int  ->  zero-ref    ptr "field V51._length (fldOffset=0x8)" P-INDEP
+;* V203 tmp178      [V203,T75] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V51._reference (fldOffset=0x0)" P-INDEP
+;* V204 tmp179      [V204,T79] (  0,   0   )     int  ->  zero-ref    ptr "field V51._length (fldOffset=0x8)" P-INDEP
 ;* V205 tmp180      [V205    ] (  0,   0   )   byref  ->  zero-ref    "field V54._reference (fldOffset=0x0)" P-INDEP
 ;* V206 tmp181      [V206    ] (  0,   0   )     int  ->  zero-ref    "field V54._length (fldOffset=0x8)" P-INDEP
 ;* V207 tmp182      [V207    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V56._reference (fldOffset=0x0)" P-INDEP
@@ -223,7 +223,7 @@
 ;* V212 tmp187      [V212    ] (  0,   0   )     int  ->  zero-ref    "field V64._length (fldOffset=0x8)" P-INDEP
 ;* V213 tmp188      [V213    ] (  0,   0   )   byref  ->  zero-ref    "field V65._reference (fldOffset=0x0)" P-INDEP
 ;* V214 tmp189      [V214    ] (  0,   0   )     int  ->  zero-ref    "field V65._length (fldOffset=0x8)" P-INDEP
-;* V215 tmp190      [V215,T75] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V66._reference (fldOffset=0x0)" P-INDEP
+;* V215 tmp190      [V215,T76] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V66._reference (fldOffset=0x0)" P-INDEP
 ;* V216 tmp191      [V216    ] (  0,   0   )     int  ->  zero-ref    ptr "field V66._length (fldOffset=0x8)" P-INDEP
 ;* V217 tmp192      [V217    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V69._reference (fldOffset=0x0)" P-INDEP
 ;* V218 tmp193      [V218    ] (  0,   0   )     int  ->  zero-ref    ptr "field V69._length (fldOffset=0x8)" P-INDEP
@@ -251,12 +251,12 @@
 ;* V240 tmp215      [V240    ] (  0,   0   )     int  ->  zero-ref    "field V132._length (fldOffset=0x8)" P-INDEP
 ;* V241 tmp216      [V241    ] (  0,   0   )   byref  ->  zero-ref    "field V133._reference (fldOffset=0x0)" P-INDEP
 ;* V242 tmp217      [V242    ] (  0,   0   )     int  ->  zero-ref    "field V133._length (fldOffset=0x8)" P-INDEP
-;  V243 tmp218      [V243,T26] (  3,  96   )   byref  ->  [fp-0xE0]  spill-single-def ptr "field V137._reference (fldOffset=0x0)" P-INDEP
-;  V244 tmp219      [V244,T31] (  3,  96   )     int  ->  [fp-0xCC]  spill-single-def ptr "field V137._length (fldOffset=0x8)" P-INDEP
+;  V243 tmp218      [V243,T27] (  3,  96   )   byref  ->  [fp-0xE0]  spill-single-def ptr "field V137._reference (fldOffset=0x0)" P-INDEP
+;  V244 tmp219      [V244,T32] (  3,  96   )     int  ->  [fp-0xCC]  spill-single-def ptr "field V137._length (fldOffset=0x8)" P-INDEP
 ;* V245 tmp220      [V245    ] (  0,   0   )   byref  ->  zero-ref    ptr "field V138._reference (fldOffset=0x0)" P-INDEP
 ;* V246 tmp221      [V246    ] (  0,   0   )     int  ->  zero-ref    ptr "field V138._length (fldOffset=0x8)" P-INDEP
-;  V247 tmp222      [V247,T27] (  3,  96   )   byref  ->  [fp-0xE8]  spill-single-def ptr "field V144._reference (fldOffset=0x0)" P-INDEP
-;  V248 tmp223      [V248,T32] (  3,  96   )     int  ->  [fp-0xD0]  spill-single-def ptr "field V144._length (fldOffset=0x8)" P-INDEP
+;  V247 tmp222      [V247,T28] (  3,  96   )   byref  ->  [fp-0xE8]  spill-single-def ptr "field V144._reference (fldOffset=0x0)" P-INDEP
+;  V248 tmp223      [V248,T33] (  3,  96   )     int  ->  [fp-0xD0]  spill-single-def ptr "field V144._length (fldOffset=0x8)" P-INDEP
 ;* V249 tmp224      [V249    ] (  0,   0   )   byref  ->  zero-ref    ptr "field V145._reference (fldOffset=0x0)" P-INDEP
 ;* V250 tmp225      [V250    ] (  0,   0   )     int  ->  zero-ref    ptr "field V145._length (fldOffset=0x8)" P-INDEP
 ;* V251 tmp226      [V251    ] (  0,   0   )   byref  ->  zero-ref    "field V154._reference (fldOffset=0x0)" P-INDEP
@@ -271,14 +271,15 @@
 ;* V260 tmp235      [V260    ] (  0,   0   )     int  ->  zero-ref    "field V171._length (fldOffset=0x8)" P-INDEP
 ;* V261 tmp236      [V261    ] (  0,   0   )   byref  ->  zero-ref    "field V172._reference (fldOffset=0x0)" P-INDEP
 ;* V262 tmp237      [V262    ] (  0,   0   )     int  ->  zero-ref    "field V172._length (fldOffset=0x8)" P-INDEP
-;  V263 tmp238      [V263,T35] (  5,  74   )   byref  ->  x21         single-def "V00.[000..008)"
+;  V263 tmp238      [V263,T36] (  5,  74   )   byref  ->  x21         single-def "V00.[000..008)"
 ;  V264 tmp239      [V264,T17] ( 11, 227.50)     int  ->  x22         "V00.[008..012)"
 ;  V265 tmp240      [V265,T11] (  4, 259.50)   byref  ->  x23         single-def "V01.[000..008)"
 ;  V266 tmp241      [V266,T05] (  9, 552.50)     int  ->  x24         "V01.[008..012)"
 ;* V267 tmp242      [V267    ] (  0,   0   )    long  ->  zero-ref    ptr "Cast away GC"
 ;  V268 GsCookie    [V268    ] (  1,   1   )    long  ->  [fp-0x58]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
-;  V269 cse0        [V269,T58] (  3,   6   )     int  ->   x6         "CSE - moderate"
-;  V270 rat0        [V270,T33] (  3,  96   )     int  ->   x1         "ReplaceWithLclVar is creating a new local variable"
+;  V269 cse0        [V269,T26] (  5,  97   )     int  ->  registers   multi-def "CSE - moderate"
+;  V270 cse1        [V270,T59] (  3,   6   )     int  ->   x6         "CSE - moderate"
+;  V271 rat0        [V271,T34] (  3,  96   )     int  ->   x1         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 160
 
@@ -355,8 +356,8 @@ G_M9731_IG05:        ; bbWeight=0.50, gcVars=00000000000000000000000000000000 {}
             ldr     x1, [x1]
             blr     x1
             ; gcr arg pop 0
-            tst     w19, #255
-            bne     G_M9731_IG06
+            uxtb    w27, w19
+            cbnz    w27, G_M9731_IG06
             mov     w2, #63
             mov     w1, #42
             mov     x0, x25
@@ -414,9 +415,9 @@ G_M9731_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2800000 {x23
                        ;; size=60 bbWeight=0.50 PerfScore 5.75
 G_M9731_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x23}, byref
             ; byrRegs +[x21 x23]
-            mov     w25, wzr
-            mov     w26, #1
             mov     w27, wzr
+            mov     w25, #1
+            mov     w26, wzr
             ldr     wzr, [sp], #-0x40
             mov     x28, sp
             mov     w2, #16
@@ -430,20 +431,20 @@ G_M9731_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x
                        ;; size=52 bbWeight=0.50 PerfScore 5.50
 G_M9731_IG09:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21 x23 x28}, byref, isz
             ; byrRegs +[x3 x28]
-            cmp     w25, w24
+            cmp     w27, w24
             bge     G_M9731_IG11
                        ;; size=8 bbWeight=4 PerfScore 6.00
 G_M9731_IG10:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21 x23 x28}, byref, isz
-            add     w1, w25, #1
-            sxtw    w27, w1
-            cmp     w25, w24
...
  
-8 (-0.15%) : 2237.dasm - System.Number:NumberToStringFormatushort (Tier0-FullOpts)
@@ -10,7 +10,7 @@
 ;
 ;  V00 arg0         [V00,T02] ( 79,268.50)   byref  ->  x19         single-def
 ;  V01 arg1         [V01,T60] ( 17, 21.50)   byref  ->  x21         single-def
-;  V02 arg2         [V02,T81] (  6, 12   )  struct (16) [fp+0xE8]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
+;  V02 arg2         [V02,T82] (  6, 12   )  struct (16) [fp+0xE8]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
 ;  V03 arg3         [V03,T42] ( 15, 25   )     ref  ->  x20         class-hnd single-def <System.Globalization.NumberFormatInfo>
 ;  V04 loc0         [V04,T08] ( 15, 96   )     int  ->  x27        
 ;  V05 loc1         [V05,T16] ( 18, 56   )     int  ->  x28        
@@ -24,55 +24,55 @@
 ;  V13 loc9         [V13,T19] (  8, 48   )     int  ->   x8        
 ;  V14 loc10        [V14,T26] ( 11, 42   )     int  ->  [fp+0xD0]  ptr
 ;  V15 loc11        [V15,T64] (  6, 18.50)     int  ->  x26        
-;  V16 loc12        [V16,T00] ( 57,909.50)     int  ->  [fp+0xCC]  ptr
+;  V16 loc12        [V16,T00] ( 55,905.50)     int  ->  [fp+0xCC]  ptr
 ;  V17 loc13        [V17,T67] (  6, 17   )    long  ->  x25        
 ;  V18 loc14        [V18,T05] ( 36,238   )  ushort  ->  [fp+0xC8]  ptr
 ;* V19 loc15        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[int]>
 ;  V20 loc16        [V20,T10] ( 16, 71   )     int  ->  [fp+0xC4]  ptr
-;  V21 loc17        [V21,T147] (  3,  5   )   ubyte  ->  [fp+0xC0] 
+;  V21 loc17        [V21,T148] (  3,  5   )   ubyte  ->  [fp+0xC0] 
 ;  V22 loc18        [V22,T07] (  8,184   )    long  ->   x9        
 ;  V23 loc19        [V23    ] (  2, 16   )   byref  ->  [fp+0xB8]  must-init pinned ptr
 ;* V24 loc20        [V24    ] (  0,  0   )     int  ->  zero-ref   
 ;* V25 loc21        [V25    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[int]>
-;  V26 loc22        [V26,T146] (  5,  5.50)     ref  ->  [fp+0x60]  class-hnd spill-single-def ptr <int[]>
-;  V27 loc23        [V27,T82] (  6, 12.50)     int  ->  [fp+0xB4]  ptr
+;  V26 loc22        [V26,T147] (  5,  5.50)     ref  ->  [fp+0x60]  class-hnd spill-single-def ptr <int[]>
+;  V27 loc23        [V27,T83] (  6, 12.50)     int  ->  [fp+0xB4]  ptr
 ;  V28 loc24        [V28,T66] (  7, 17.50)     int  ->  [fp+0xB0]  ptr
-;  V29 loc25        [V29,T148] (  3,  5   )     int  ->  [fp+0xAC]  spill-single-def ptr
-;  V30 loc26        [V30,T87] (  5, 11   )     int  ->  [fp+0xA8]  ptr
-;  V31 loc27        [V31,T194] (  3,  1.50)     int  ->   x1        
-;  V32 loc28        [V32,T149] (  3,  5   )     int  ->  [fp+0xA4]  spill-single-def ptr
-;  V33 loc29        [V33,T88] (  5, 10   )     ref  ->  [fp+0x58]  class-hnd exact spill-single-def ptr <int[]>
+;  V29 loc25        [V29,T149] (  3,  5   )     int  ->  [fp+0xAC]  spill-single-def ptr
+;  V30 loc26        [V30,T88] (  5, 11   )     int  ->  [fp+0xA8]  ptr
+;  V31 loc27        [V31,T195] (  3,  1.50)     int  ->   x1        
+;  V32 loc28        [V32,T150] (  3,  5   )     int  ->  [fp+0xA4]  spill-single-def ptr
+;  V33 loc29        [V33,T89] (  5, 10   )     ref  ->  [fp+0x58]  class-hnd exact spill-single-def ptr <int[]>
 ;  V34 loc30        [V34,T11] ( 11, 65   )    long  ->  x22        
 ;  V35 loc31        [V35    ] (  2,  2   )   byref  ->  [fp+0x98]  must-init pinned ptr
 ;  V36 loc32        [V36,T33] (  8, 33   )    long  ->  [fp+0x90]  ptr
-;  V37 loc33        [V37,T121] (  3,  6   )   ubyte  ->  x14        
+;  V37 loc33        [V37,T122] (  3,  6   )   ubyte  ->  x14        
 ;  V38 loc34        [V38,T46] (  6, 24   )     int  ->  x12        
 ;* V39 loc35        [V39    ] (  0,  0   )     int  ->  zero-ref   
 ;# V40 OutArgs      [V40    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V41 tmp1         [V41    ] (  0,  0   )     int  ->  zero-ref   
 ;* V42 tmp2         [V42    ] (  0,  0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
 ;* V43 tmp3         [V43    ] (  0,  0   )  struct (16) zero-ref    multireg-arg <System.ReadOnlySpan`1[ushort]>
-;  V44 tmp4         [V44,T182] (  3,  2   )     int  ->   x2        
-;  V45 tmp5         [V45,T187] (  2,  2   )     int  ->   x3        
-;  V46 tmp6         [V46,T188] (  2,  2   )     int  ->   x4        
-;  V47 tmp7         [V47,T206] (  2,  1   )     int  ->   x3        
+;  V44 tmp4         [V44,T183] (  3,  2   )     int  ->   x2        
+;  V45 tmp5         [V45,T188] (  2,  2   )     int  ->   x3        
+;  V46 tmp6         [V46,T189] (  2,  2   )     int  ->   x4        
+;  V47 tmp7         [V47,T207] (  2,  1   )     int  ->   x3        
 ;  V48 tmp8         [V48    ] (  1,  1   )  struct (16) [fp+0xF8]  do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
 ;* V49 tmp9         [V49    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V50 tmp10        [V50    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V51 tmp11        [V51,T50] (  3, 24   )     int  ->   x1         "impSpillLclRefs"
-;  V52 tmp12        [V52,T79] (  2, 16   )     int  ->   x1         "dup spill"
-;  V53 tmp13        [V53,T106] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
-;  V54 tmp14        [V54,T107] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
+;  V52 tmp12        [V52,T80] (  2, 16   )     int  ->   x1         "dup spill"
+;  V53 tmp13        [V53,T107] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
+;  V54 tmp14        [V54,T108] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
 ;  V55 tmp15        [V55,T35] (  2, 32   )     int  ->   x6         "impSpillLclRefs"
 ;  V56 tmp16        [V56,T13] (  2, 64   )     int  ->   x6         "dup spill"
-;  V57 tmp17        [V57,T122] (  3,  6   )     int  ->   x5        
+;  V57 tmp17        [V57,T123] (  3,  6   )     int  ->   x5        
 ;* V58 tmp18        [V58    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V59 tmp19        [V59    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V60 tmp20        [V60    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V61 tmp21        [V61,T83] (  3, 12   )    long  ->   x1         "impSpillLclRefs"
-;  V62 tmp22        [V62,T99] (  4,  8   )     int  ->   x1        
+;  V61 tmp21        [V61,T84] (  3, 12   )    long  ->   x1         "impSpillLclRefs"
+;  V62 tmp22        [V62,T100] (  4,  8   )     int  ->   x1        
 ;* V63 tmp23        [V63    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V64 tmp24        [V64,T123] (  3,  6   )     int  ->  x13        
+;  V64 tmp24        [V64,T124] (  3,  6   )     int  ->  x13        
 ;  V65 tmp25        [V65,T36] (  2, 32   )     int  ->   x6         "impSpillLclRefs"
 ;* V66 tmp26        [V66    ] (  0,  0   )   byref  ->  zero-ref    ptr
 ;  V67 tmp27        [V67,T37] (  2, 32   )    long  ->   x0         "impSpillLclRefs"
@@ -82,11 +82,11 @@
 ;* V71 tmp31        [V71    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V72 tmp32        [V72    ] (  0,  0   )     int  ->  zero-ref   
 ;* V73 tmp33        [V73    ] (  0,  0   )     int  ->  zero-ref    ptr
-;  V74 tmp34        [V74,T207] (  2,  1   )     int  ->   x1        
-;  V75 tmp35        [V75,T208] (  2,  1   )     int  ->  xip0        
+;  V74 tmp34        [V74,T208] (  2,  1   )     int  ->   x1        
+;  V75 tmp35        [V75,T209] (  2,  1   )     int  ->  xip0        
 ;* V76 tmp36        [V76    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[int]>
 ;  V77 tmp37        [V77,T47] (  3, 24   )   byref  ->   x0         "dup spill"
-;  V78 tmp38        [V78,T101] (  3,  8   )     int  ->   x1        
+;  V78 tmp38        [V78,T102] (  3,  8   )     int  ->   x1        
 ;  V79 tmp39        [V79,T09] (  3, 96   )     int  ->   x0         "impSpillLclRefs"
 ;  V80 tmp40        [V80,T14] (  2, 64   )     int  ->  x11         "dup spill"
 ;  V81 tmp41        [V81,T03] (  2,256   )     int  ->  x10         "dup spill"
@@ -97,28 +97,28 @@
 ;* V86 tmp46        [V86    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;* V87 tmp47        [V87    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V88 tmp48        [V88    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
-;  V89 tmp49        [V89,T108] (  2,  8   )    long  ->   x2         "Inlining Arg"
+;  V89 tmp49        [V89,T109] (  2,  8   )    long  ->   x2         "Inlining Arg"
 ;* V90 tmp50        [V90    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V91 tmp51        [V91    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V92 tmp52        [V92    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V93 tmp53        [V93    ] (  0,  0   )     int  ->  zero-ref   
 ;* V94 tmp54        [V94    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V95 tmp55        [V95    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V96 tmp56        [V96,T150] (  4,  4   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V96 tmp56        [V96,T151] (  4,  4   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V97 tmp57        [V97    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V98 tmp58        [V98    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V99 tmp59        [V99,T189] (  2,  2   )     int  ->  [fp+0x8C]  spill-single-def ptr "Inlining Arg"
-;  V100 tmp60       [V100,T183] (  2,  2   )   byref  ->  [fp+0x50]  spill-single-def ptr "Inlining Arg"
+;  V99 tmp59        [V99,T190] (  2,  2   )     int  ->  [fp+0x8C]  spill-single-def ptr "Inlining Arg"
+;  V100 tmp60       [V100,T184] (  2,  2   )   byref  ->  [fp+0x50]  spill-single-def ptr "Inlining Arg"
 ;* V101 tmp61       [V101    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V102 tmp62       [V102    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V103 tmp63       [V103    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V104 tmp64       [V104    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V105 tmp65       [V105    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V106 tmp66       [V106,T195] (  3,  1.50)     int  ->  [fp+0x88]  spill-single-def ptr "Inline stloc first use temp"
+;  V106 tmp66       [V106,T196] (  3,  1.50)     int  ->  [fp+0x88]  spill-single-def ptr "Inline stloc first use temp"
 ;* V107 tmp67       [V107    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V108 tmp68       [V108    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V109 tmp69       [V109    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "Inlining Arg"
-;  V110 tmp70       [V110,T180] (  4,  2   )     int  ->   x3         "Inline stloc first use temp"
+;  V110 tmp70       [V110,T181] (  4,  2   )     int  ->   x3         "Inline stloc first use temp"
 ;* V111 tmp71       [V111    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V112 tmp72       [V112    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V113 tmp73       [V113    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
@@ -153,7 +153,7 @@
 ;  V142 tmp102      [V142,T29] (  5, 40   )     int  ->  x15         "Inline stloc first use temp"
 ;* V143 tmp103      [V143    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V144 tmp104      [V144    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;  V145 tmp105      [V145,T89] (  5, 10   )     int  ->   x1         "Inline stloc first use temp"
+;  V145 tmp105      [V145,T90] (  5, 10   )     int  ->   x1         "Inline stloc first use temp"
 ;* V146 tmp106      [V146    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V147 tmp107      [V147    ] (  0,  0   )  ushort  ->  zero-ref    ptr "Inlining Arg"
 ;* V148 tmp108      [V148    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -162,11 +162,11 @@
 ;* V151 tmp111      [V151    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V152 tmp112      [V152    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V153 tmp113      [V153    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V154 tmp114      [V154,T69] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V154 tmp114      [V154,T70] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V155 tmp115      [V155    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V156 tmp116      [V156    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V157 tmp117      [V157,T109] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V158 tmp118      [V158,T102] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V157 tmp117      [V157,T110] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V158 tmp118      [V158,T103] (  2,  8   )   byref  ->  x13         "Inlining Arg"
 ;* V159 tmp119      [V159    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V160 tmp120      [V160    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V161 tmp121      [V161    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -174,13 +174,13 @@
 ;* V163 tmp123      [V163    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V164 tmp124      [V164    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V165 tmp125      [V165    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V166 tmp126      [V166,T124] (  3,  6   )     int  ->  [fp+0x80]  spill-single-def ptr "Inline stloc first use temp"
+;  V166 tmp126      [V166,T125] (  3,  6   )     int  ->  [fp+0x80]  spill-single-def ptr "Inline stloc first use temp"
 ;* V167 tmp127      [V167    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V168 tmp128      [V168    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V169 tmp129      [V169    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V170 tmp130      [V170    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V171 tmp131      [V171    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V172 tmp132      [V172,T90] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
+;  V172 tmp132      [V172,T91] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
 ;* V173 tmp133      [V173    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V174 tmp134      [V174    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V175 tmp135      [V175    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -189,11 +189,11 @@
 ;* V178 tmp138      [V178    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V179 tmp139      [V179    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V180 tmp140      [V180    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V181 tmp141      [V181,T70] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V181 tmp141      [V181,T71] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V182 tmp142      [V182    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V183 tmp143      [V183    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V184 tmp144      [V184,T110] (  2,  8   )     int  ->  x13         "Inlining Arg"
-;  V185 tmp145      [V185,T103] (  2,  8   )   byref  ->  x11         "Inlining Arg"
+;  V184 tmp144      [V184,T111] (  2,  8   )     int  ->  x13         "Inlining Arg"
+;  V185 tmp145      [V185,T104] (  2,  8   )   byref  ->  x11         "Inlining Arg"
 ;* V186 tmp146      [V186    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V187 tmp147      [V187    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V188 tmp148      [V188    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -201,13 +201,13 @@
 ;* V190 tmp150      [V190    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V191 tmp151      [V191    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V192 tmp152      [V192    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V193 tmp153      [V193,T125] (  3,  6   )     int  ->  [fp+0x7C]  spill-single-def ptr "Inline stloc first use temp"
+;  V193 tmp153      [V193,T126] (  3,  6   )     int  ->  [fp+0x7C]  spill-single-def ptr "Inline stloc first use temp"
 ;* V194 tmp154      [V194    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V195 tmp155      [V195    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V196 tmp156      [V196    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V197 tmp157      [V197    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V198 tmp158      [V198    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V199 tmp159      [V199,T91] (  5, 10   )     int  ->  x14         "Inline stloc first use temp"
+;  V199 tmp159      [V199,T92] (  5, 10   )     int  ->  x14         "Inline stloc first use temp"
 ;* V200 tmp160      [V200    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V201 tmp161      [V201    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V202 tmp162      [V202    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -216,11 +216,11 @@
 ;* V205 tmp165      [V205    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V206 tmp166      [V206    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V207 tmp167      [V207    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V208 tmp168      [V208,T71] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V208 tmp168      [V208,T72] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V209 tmp169      [V209    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V210 tmp170      [V210    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V211 tmp171      [V211,T111] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V212 tmp172      [V212,T104] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V211 tmp171      [V211,T112] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V212 tmp172      [V212,T105] (  2,  8   )   byref  ->  x13         "Inlining Arg"
 ;* V213 tmp173      [V213    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V214 tmp174      [V214    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V215 tmp175      [V215    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -228,13 +228,13 @@
 ;* V217 tmp177      [V217    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V218 tmp178      [V218    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V219 tmp179      [V219    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V220 tmp180      [V220,T126] (  3,  6   )     int  ->  [fp+0x78]  spill-single-def ptr "Inline stloc first use temp"
+;  V220 tmp180      [V220,T127] (  3,  6   )     int  ->  [fp+0x78]  spill-single-def ptr "Inline stloc first use temp"
 ;* V221 tmp181      [V221    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V222 tmp182      [V222    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V223 tmp183      [V223    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V224 tmp184      [V224    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V225 tmp185      [V225    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V226 tmp186      [V226,T92] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
+;  V226 tmp186      [V226,T93] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
 ;* V227 tmp187      [V227    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V228 tmp188      [V228    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V229 tmp189      [V229    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -243,11 +243,11 @@
 ;* V232 tmp192      [V232    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V233 tmp193      [V233    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V234 tmp194      [V234    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V235 tmp195      [V235,T72] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V235 tmp195      [V235,T73] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V236 tmp196      [V236    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V237 tmp197      [V237    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V238 tmp198      [V238,T112] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V239 tmp199      [V239,T105] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V238 tmp198      [V238,T113] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V239 tmp199      [V239,T106] (  2,  8   )   byref  ->  x13         "Inlining Arg"
...
  
  
coreclr_tests.run.windows.arm64.checked.mch
-36 (-14.75%) : 251101.dasm - Program:M49() (FullOpts)
@@ -10,11 +10,12 @@
 ;  V00 loc0         [V00,T01] (  4, 13   )     int  ->  x19        
 ;* V01 loc1         [V01    ] (  0,  0   )    long  ->  zero-ref   
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T02] (  3, 12   )     ref  ->   x1         "arr expr"
-;  V04 tmp2         [V04,T00] (  3, 24   )     ref  ->   x0         "arr expr"
-;  V05 PSPSym       [V05,T05] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
-;  V06 cse0         [V06,T03] (  3, 12   )     int  ->   x0         "CSE - aggressive"
-;  V07 cse1         [V07,T04] (  4,  9   )    long  ->  x20         hoist "CSE - aggressive"
+;  V03 tmp1         [V03,T00] (  3, 24   )     ref  ->   x0         "arr expr"
+;* V04 tmp2         [V04,T05] (  0,  0   )     ref  ->  zero-ref    "arr expr"
+;  V05 PSPSym       [V05,T06] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
+;  V06 cse0         [V06,T02] (  3, 12   )   byref  ->   x0         "CSE - aggressive"
+;  V07 cse1         [V07,T03] (  2,  8   )     ref  ->   x0         "CSE - aggressive"
+;  V08 cse2         [V08,T04] (  4,  9   )    long  ->  x20         hoist "CSE - aggressive"
 ;
 ; Lcl frame size = 16
 
@@ -34,7 +35,7 @@ G_M37813_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             blr     x0
             ; gcr arg pop 0
             cmp     w0, #0
-            ble     G_M37813_IG08
+            ble     G_M37813_IG06
                        ;; size=32 bbWeight=1 PerfScore 7.50
 G_M37813_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x20, #0xD1FFAB1E
@@ -43,32 +44,7 @@ G_M37813_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
                        ;; size=12 bbWeight=0.50 PerfScore 0.75
 G_M37813_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [x20]
-            cbnz    w0, G_M37813_IG06
-                       ;; size=8 bbWeight=4 PerfScore 16.00
-G_M37813_IG05:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            movz    x1, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            ldr     x1, [x1]
-            ; gcrRegs +[x1]
-            ldr     w2, [x1, #0x08]
-            cmp     w2, #0
-            bls     G_M37813_IG13
-            str     wzr, [x1, #0x10]
-                       ;; size=32 bbWeight=2 PerfScore 20.00
-G_M37813_IG06:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x1]
-            cbz     w0, G_M37813_IG09
-                       ;; size=4 bbWeight=4 PerfScore 4.00
-G_M37813_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            str     wzr, [x20, #-0x08]
-                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M37813_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            ldp     x19, x20, [sp, #0x20]
-            ldp     fp, lr, [sp], #0x30
-            ret     lr
-                       ;; size=12 bbWeight=1 PerfScore 3.00
-G_M37813_IG09:        ; bbWeight=4, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+            cbnz    w0, G_M37813_IG05
             movz    x0, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -77,17 +53,28 @@ G_M37813_IG09:        ; bbWeight=4, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ldr     w1, [x0, #0x08]
             cmp     w1, #0
             bls     G_M37813_IG10
-            ldr     w1, [x20, #-0x08]
-            str     w1, [x0, #0x10]
-            b       G_M37813_IG11
-                       ;; size=40 bbWeight=4 PerfScore 56.00
-G_M37813_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            add     x0, x0, #16
             ; gcrRegs -[x0]
-            bl      CORINFO_HELP_RNGCHKFAIL
-            ; gcr arg pop 0
-            brk_windows #0
-                       ;; size=8 bbWeight=0 PerfScore 0.00
-G_M37813_IG11:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            ; byrRegs +[x0]
+            str     wzr, [x0]
+            b       G_M37813_IG07
+                       ;; size=48 bbWeight=4 PerfScore 62.00
+G_M37813_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; byrRegs -[x0]
+            str     wzr, [x20, #-0x08]
+                       ;; size=4 bbWeight=0.50 PerfScore 0.50
+G_M37813_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+            ldp     x19, x20, [sp, #0x20]
+            ldp     fp, lr, [sp], #0x30
+            ret     lr
+                       ;; size=12 bbWeight=1 PerfScore 3.00
+G_M37813_IG07:        ; bbWeight=4, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0001 {x0}, gcvars, byref
+            ; byrRegs +[x0]
+            ldr     w1, [x20, #-0x08]
+            str     w1, [x0]
+                       ;; size=8 bbWeight=4 PerfScore 16.00
+G_M37813_IG08:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+            ; byrRegs -[x0]
             add     w19, w19, #1
             movz    x0, #0xD1FFAB1E      // code for <unknown method>
             movk    x0, #0xD1FFAB1E LSL #16
@@ -98,27 +85,27 @@ G_M37813_IG11:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             cmp     w0, w19
             bgt     G_M37813_IG04
                        ;; size=32 bbWeight=4 PerfScore 30.00
-G_M37813_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            b       G_M37813_IG08
+G_M37813_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            b       G_M37813_IG06
                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M37813_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M37813_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
-G_M37813_IG14:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M37813_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x20]
             add     x3, fp, #48
             str     x3, [sp, #0x18]
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M37813_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M37813_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x30
             ret     lr
                        ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 244, prolog size 20, PerfScore 142.25, instruction count 61, allocated bytes for code 244 (MethodHash=996e6c4a) for method Program:M49() (FullOpts)
+; Total bytes of code 208, prolog size 20, PerfScore 124.25, instruction count 52, allocated bytes for code 208 (MethodHash=996e6c4a) for method Program:M49() (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -129,7 +116,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 54 (0x00036) Actual length = 216 (0x0000d8)
+  Function Length   : 45 (0x0002d) Actual length = 180 (0x0000b4)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -162,4 +149,4 @@ Unwind Info:
 
 *************** EH table for Program:M49()
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M37813_IG09..G_M37813_IG11) handled by [G_M37813_IG14..END) (fault)
+EH#0: try [G_M37813_IG07..G_M37813_IG08) handled by [G_M37813_IG11..END) (fault)
  
-28 (-10.61%) : 257016.dasm - Test.BB:TestEntryPoint() (FullOpts)
@@ -8,29 +8,27 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T07] (  2,  0   )     ref  ->  [fp+0x10]  class-hnd exact EH-live single-def <<unknown class>>
+;  V00 loc0         [V00,T06] (  2,  0   )     ref  ->  [fp+0x18]  class-hnd exact EH-live single-def <<unknown class>>
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V02 tmp1         [V02    ] (  0,  0   )   float  ->  zero-ref    "bubbling QMark2"
 ;  V03 tmp2         [V03,T00] (  4, 38   )     ref  ->   x1         "CASTCLASS eval op1"
-;  V04 tmp3         [V04,T02] (  3, 10   )    long  ->   x2         "fgMakeTemp is creating a new local variable"
+;  V04 tmp3         [V04,T01] (  3, 10   )    long  ->   x2         "fgMakeTemp is creating a new local variable"
 ;* V05 tmp4         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <double[]>
 ;* V06 tmp5         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
-;  V07 tmp6         [V07,T08] (  2,  0   )   float  ->  [fp+0x1C]  spill-single-def "bubbling QMark2"
-;  V08 tmp7         [V08,T05] (  3,  0   )     ref  ->  x19         single-def "CASTCLASS eval op1"
-;  V09 tmp8         [V09,T06] (  3,  0   )    long  ->   x2         "fgMakeTemp is creating a new local variable"
-;  V10 tmp9         [V10,T04] (  5,  0   )     ref  ->   x0         class-hnd "spilling QMark2" <double[]>
-;  V11 PSPSym       [V11,T03] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
-;  V12 cse0         [V12,T01] (  5, 24   )     ref  ->  x19         multi-def "CSE - aggressive"
+;  V07 tmp6         [V07,T07] (  2,  0   )   float  ->  [fp+0x24]  spill-single-def "bubbling QMark2"
+;  V08 tmp7         [V08,T04] (  3,  0   )     ref  ->   x1         single-def "CASTCLASS eval op1"
+;  V09 tmp8         [V09,T05] (  3,  0   )    long  ->   x3         "fgMakeTemp is creating a new local variable"
+;  V10 tmp9         [V10,T03] (  5,  0   )     ref  ->   x0         class-hnd "spilling QMark2" <double[]>
+;  V11 PSPSym       [V11,T02] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 24
+; Lcl frame size = 32
 
 G_M52695_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x30]!
-            str     x19, [sp, #0x28]
             mov     fp, sp
             add     x0, sp, #48
-            str     x0, [fp, #0x20]   // [V11 PSPSym]
-                       ;; size=20 bbWeight=1 PerfScore 4.00
+            str     x0, [fp, #0x28]   // [V11 PSPSym]
+                       ;; size=16 bbWeight=1 PerfScore 3.00
 G_M52695_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -39,10 +37,10 @@ G_M52695_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_NEWARR_1_VC
             ; gcrRegs +[x0]
             ; gcr arg pop 0
-            str     x0, [fp, #0x10]   // [V00 loc0]
+            str     x0, [fp, #0x18]  // [V00 loc0]
             ; GC ptr vars +{V00}
                        ;; size=24 bbWeight=1 PerfScore 4.00
-G_M52695_IG03:        ; bbWeight=8, gcVars=0000000000000080 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M52695_IG03:        ; bbWeight=8, gcVars=0000000000000040 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0]
             mov     w0, #2
             cmp     w0, #3
@@ -50,13 +48,11 @@ G_M52695_IG03:        ; bbWeight=8, gcVars=0000000000000080 {V00}, gcrefRegs=000
             movz    x0, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x19, [x0]
-            ; gcrRegs +[x19]
-            mov     x1, x19
+            ldr     x1, [x0]
             ; gcrRegs +[x1]
-            cbz     x1, G_M52695_IG07
-                       ;; size=36 bbWeight=8 PerfScore 64.00
-G_M52695_IG04:        ; bbWeight=2, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref, isz
+            cbz     x1, G_M52695_IG03
+                       ;; size=32 bbWeight=8 PerfScore 60.00
+G_M52695_IG04:        ; bbWeight=2, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x1]
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
@@ -64,7 +60,7 @@ G_M52695_IG04:        ; bbWeight=2, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {},
             cmp     x0, x2
             beq     G_M52695_IG07
                        ;; size=24 bbWeight=2 PerfScore 12.00
-G_M52695_IG05:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
+G_M52695_IG05:        ; bbWeight=1, gcrefRegs=0002 {x1}, byrefRegs=0000 {}, byref
             mov     x0, x2
             bl      CORINFO_HELP_CHKCASTARRAY
             ; gcrRegs -[x1] +[x0]
@@ -72,59 +68,50 @@ G_M52695_IG05:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {},
             b       G_M52695_IG07
                        ;; size=12 bbWeight=1 PerfScore 2.50
 G_M52695_IG06:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0 x19]
+            ; gcrRegs -[x0]
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M52695_IG07:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x19]
-            cbz     x19, G_M52695_IG03
-                       ;; size=4 bbWeight=8 PerfScore 8.00
-G_M52695_IG08:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, epilog, nogc
-            ; gcrRegs -[x19]
+G_M52695_IG07:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, epilog, nogc
             ; GC ptr vars -{V00}
-            ldr     x19, [sp, #0x28]
             ldp     fp, lr, [sp], #0x30
             ret     lr
-                       ;; size=12 bbWeight=1 PerfScore 4.00
-G_M52695_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                        ;; size=8 bbWeight=1 PerfScore 2.00
+G_M52695_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             stp     fp, lr, [sp, #-0x20]!
-            str     x19, [sp, #0x18]
             add     x3, fp, #48
-            str     x3, [sp, #0x10]
-                       ;; size=16 bbWeight=0 PerfScore 0.00
-G_M52695_IG10:        ; bbWeight=0, gcVars=0000000000000080 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; GC ptr vars +{V00 V07}
-            ldr     x0, [fp, #0x10]    // [V00 loc0]
+            str     x3, [sp, #0x18]
+                       ;; size=12 bbWeight=0 PerfScore 0.00
+G_M52695_IG09:        ; bbWeight=0, gcVars=0000000000000040 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; GC ptr vars +{V00}
+            ldr     x0, [fp, #0x18]    // [V00 loc0]
             ; gcrRegs +[x0]
             ldr     s0, [x0, #0x10]
-            str     s0, [fp, #0x1C]   // [V07 tmp6]
+            str     s0, [fp, #0x24]  // [V07 tmp6]
             movz    x0, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
             ; gcrRegs -[x0]
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x19, [x0]
-            ; gcrRegs +[x19]
-            mov     x0, x19
-            ; gcrRegs +[x0]
-            cbz     x0, G_M52695_IG11
             ldr     x1, [x0]
-            movz    x2, #0xD1FFAB1E
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            cmp     x1, x2
-            beq     G_M52695_IG11
-            mov     x0, x2
-            ; gcrRegs -[x0]
-            mov     x1, x19
             ; gcrRegs +[x1]
-            ; GC ptr vars -{V00 V07}
+            mov     x0, x1
+            ; gcrRegs +[x0]
+            cbz     x0, G_M52695_IG10
+            ldr     x2, [x0]
+            movz    x3, #0xD1FFAB1E
+            movk    x3, #0xD1FFAB1E LSL #16
+            movk    x3, #0xD1FFAB1E LSL #32
+            cmp     x2, x3
+            beq     G_M52695_IG10
+            mov     x0, x3
+            ; gcrRegs -[x0]
+            ; GC ptr vars -{V00}
             bl      CORINFO_HELP_CHKCASTARRAY
-            ; gcrRegs -[x1 x19] +[x0]
+            ; gcrRegs -[x1] +[x0]
             ; gcr arg pop 0
-                       ;; size=72 bbWeight=0 PerfScore 0.00
-G_M52695_IG11:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
-            ldr     s0, [fp, #0x1C]    // [V07 tmp6]
+                     ;; size=68 bbWeight=0 PerfScore 0.00
+G_M52695_IG10:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            ldr     s0, [fp, #0x24]    // [V07 tmp6]
             movz    x1, #0xD1FFAB1E      // code for Test.BB:Method1(float,double[])
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
@@ -132,26 +119,25 @@ G_M52695_IG11:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            adr     x0, [G_M52695_IG08]
+            adr     x0, [G_M52695_IG07]
                       ;; size=28 bbWeight=0 PerfScore 0.00
-G_M52695_IG12:        ; bbWeight=0, funclet epilog, nogc, extend
-            ldr     x19, [sp, #0x18]
+G_M52695_IG11:        ; bbWeight=0, funclet epilog, nogc, extend
             ldp     fp, lr, [sp], #0x20
             ret     lr
-                       ;; size=12 bbWeight=0 PerfScore 0.00
+                      ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 264, prolog size 20, PerfScore 98.50, instruction count 66, allocated bytes for code 264 (MethodHash=459c3228) for method Test.BB:TestEntryPoint() (FullOpts)
+; Total bytes of code 236, prolog size 16, PerfScore 83.50, instruction count 59, allocated bytes for code 236 (MethodHash=459c3228) for method Test.BB:TestEntryPoint() (FullOpts)
 ; ============================================================
 
 Unwind Info:
   >> Start offset   : 0x000000 (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
-  Code Words        : 2
+  Code Words        : 1
   Epilog Count      : 1
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 34 (0x00022) Actual length = 136 (0x000088)
+  Function Length   : 30 (0x0001e) Actual length = 120 (0x000078)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -159,12 +145,9 @@ Unwind Info:
   ---- Unwind codes ----
     E1          set_fp; mov fp, sp
     ---- Epilog start at index 1 ----
-    D0 05       save_reg X#0 Z#5 (0x05); str x19, [sp, #40]
     85          save_fplr_x #5 (0x05); stp fp, lr, [sp, #-48]!
     E4          end
     E4          end
-    E4          end
-    E4          end
 
 Unwind Info:
   >> Start offset   : 0xd1ffab1e (not in unwind data)
@@ -174,14 +157,15 @@ Unwind Info:
   E bit             : 1
   X bit             : 0
   Vers              : 0
-  Function Length   : 32 (0x00020) Actual length = 128 (0x000080)
+  Function Length   : 29 (0x0001d) Actual length = 116 (0x000074)
   --- One epilog, unwind codes at 0
   ---- Unwind codes ----
     ---- Epilog start at index 0 ----
-    D0 03       save_reg X#0 Z#3 (0x03); str x19, [sp, #24]
     83          save_fplr_x #3 (0x03); stp fp, lr, [sp, #-32]!
     E4          end
+    E4          end
+    E4          end
 
 *************** EH table for Test.BB:TestEntryPoint()
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M52695_IG03..G_M52695_IG08) handled by [G_M52695_IG09..END) (class: 1000008)
+EH#0: try [G_M52695_IG03..G_M52695_IG07) handled by [G_M52695_IG08..END) (class: 1000008)
  
-40 (-5.29%) : 189214.dasm - CloningForIEnumerable:Sum(System.Collections.Generic.IEnumerable`1[int]):int (Tier1)
@@ -5,7 +5,7 @@
 ; optimized using Dynamic PGO
 ; fp based frame
 ; fully interruptible
-; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 6
+; with Dynamic PGO: edge weights are valid, and fgCalledCount is 6
 ; 3 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
@@ -25,7 +25,7 @@
 ;  V13 tmp9         [V13,T08] (  6, 12   )     ref  ->   x0         class-hnd exact single-def "Single-def Box Helper" <System.Collections.Generic.List`1+Enumerator[int]>
 ;* V14 tmp10        [V14    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[int]>
 ;* V15 tmp11        [V15    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V16 tmp12        [V16,T00] ( 25,158.20)   byref  ->  x11         "Inlining Arg"
+;  V16 tmp12        [V16,T00] ( 21,154.20)   byref  ->  x11         "Inlining Arg"
 ;  V17 tmp13        [V17,T03] (  8, 43   )     ref  ->   x1         class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[int]>
 ;* V18 tmp14        [V18    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V19 tmp15        [V19,T12] (  3,  3   )     ref  ->  x15         single-def "field V14._list (fldOffset=0x0)" P-INDEP
@@ -57,9 +57,9 @@ G_M48461_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x0, x1
-            bne     G_M48461_IG25
+            bne     G_M48461_IG24
             ldr     w0, [x19, #0x10]
-            cbz     w0, G_M48461_IG24
+            cbz     w0, G_M48461_IG23
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
@@ -83,13 +83,13 @@ G_M48461_IG03:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byre
             ; GC ptr vars +{V02}
                        ;; size=4 bbWeight=1 PerfScore 1.00
 G_M48461_IG04:        ; bbWeight=1, gcVars=0000000000000020 {V02}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
-            cbz     x0, G_M48461_IG13
+            cbz     x0, G_M48461_IG12
             ldr     x11, [x0]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             cmp     x11, x21
-            bne     G_M48461_IG13
+            bne     G_M48461_IG12
             b       G_M48461_IG06
                        ;; size=32 bbWeight=1 PerfScore 8.00
 G_M48461_IG05:        ; bbWeight=9.90, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
@@ -104,11 +104,11 @@ G_M48461_IG06:        ; bbWeight=10.89, gcrefRegs=0001 {x0}, byrefRegs=0000 {},
             ldr     w2, [x11, #0x0C]
             ldr     w3, [x1, #0x14]
             cmp     w2, w3
-            bne     G_M48461_IG11
+            bne     G_M48461_IG09
             ldr     w2, [x11, #0x08]
             ldr     w3, [x1, #0x10]
             cmp     w2, w3
-            bhs     G_M48461_IG12
+            bhs     G_M48461_IG11
                        ;; size=40 bbWeight=10.89 PerfScore 201.46
 G_M48461_IG07:        ; bbWeight=9.90, gcrefRegs=0003 {x0 x1}, byrefRegs=0800 {x11}, byref, isz
             ldr     x3, [x1, #0x08]
@@ -155,19 +155,10 @@ G_M48461_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             sxtw    w22, w0
             ldr     x0, [fp, #0x10]    // [V02 loc1]
             ; gcrRegs +[x0]
-            b       G_M48461_IG15
+            b       G_M48461_IG14
                       ;; size=36 bbWeight=0 PerfScore 0.00
-G_M48461_IG11:        ; bbWeight=0.99, gcrefRegs=0001 {x0}, byrefRegs=0800 {x11}, byref, isz
+G_M48461_IG11:        ; bbWeight=0.99, gcrefRegs=0001 {x0}, byrefRegs=0800 {x11}, byref
             ; byrRegs +[x11]
-            ldr     w1, [x11, #0x0C]
-            ldr     x2, [x11]
-            ; gcrRegs +[x2]
-            ldr     w2, [x2, #0x14]
-            ; gcrRegs -[x2]
-            cmp     w1, w2
-            bne     G_M48461_IG09
-                       ;; size=20 bbWeight=0.99 PerfScore 10.39
-G_M48461_IG12:        ; bbWeight=0.99, gcrefRegs=0001 {x0}, byrefRegs=0800 {x11}, byref
             ldr     x1, [x11]
             ; gcrRegs +[x1]
             ldr     w1, [x1, #0x10]
@@ -175,39 +166,26 @@ G_M48461_IG12:        ; bbWeight=0.99, gcrefRegs=0001 {x0}, byrefRegs=0800 {x11}
             add     w1, w1, #1
             str     w1, [x11, #0x08]
             str     wzr, [x11, #0x10]
-            b       G_M48461_IG21
+            b       G_M48461_IG20
                         ;; size=24 bbWeight=0.99 PerfScore 9.40
-G_M48461_IG13:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M48461_IG12:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ; byrRegs -[x11]
             ldr     xzr, [x0]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
-            b       G_M48461_IG16
+            b       G_M48461_IG15
                      ;; size=20 bbWeight=0.01 PerfScore 0.06
-G_M48461_IG14:        ; bbWeight=0.10, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M48461_IG13:        ; bbWeight=0.10, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ldr     w22, [x0, #0x18]
                        ;; size=4 bbWeight=0.10 PerfScore 0.30
-G_M48461_IG15:        ; bbWeight=0.10, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M48461_IG14:        ; bbWeight=0.10, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             add     w20, w20, w22
                        ;; size=4 bbWeight=0.10 PerfScore 0.05
-G_M48461_IG16:        ; bbWeight=0.11, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+G_M48461_IG15:        ; bbWeight=0.11, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ldr     x11, [x0]
             cmp     x11, x21
-            beq     G_M48461_IG17
-            movz    x11, #80
-            movk    x11, #0xD1FFAB1E LSL #16
-            movk    x11, #0xD1FFAB1E LSL #32
-            ldr     x1, [x11]
-            blr     x1
-            ; gcrRegs -[x0]
-            ; gcr arg pop 0
-            cbnz    w0, G_M48461_IG10
-            ldr     x0, [fp, #0x10]    // [V02 loc1]
-            ; gcrRegs +[x0]
-            b       G_M48461_IG21
-                       ;; size=44 bbWeight=0.11 PerfScore 1.54
-G_M48461_IG17:        ; bbWeight=0.11, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+            bne     G_M48461_IG17
             add     x11, x0, #8
             ; byrRegs +[x11]
             ldr     x1, [x11]
@@ -215,13 +193,13 @@ G_M48461_IG17:        ; bbWeight=0.11, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b
             ldr     w2, [x11, #0x0C]
             ldr     w3, [x1, #0x14]
             cmp     w2, w3
-            bne     G_M48461_IG19
+            bne     G_M48461_IG09
             ldr     w2, [x11, #0x08]
             ldr     w3, [x1, #0x10]
             cmp     w2, w3
-            bhs     G_M48461_IG20
-                       ;; size=40 bbWeight=0.11 PerfScore 2.04
-G_M48461_IG18:        ; bbWeight=0.10, gcrefRegs=0003 {x0 x1}, byrefRegs=0800 {x11}, byref, isz
+            bhs     G_M48461_IG19
+                       ;; size=52 bbWeight=0.11 PerfScore 2.53
+G_M48461_IG16:        ; bbWeight=0.10, gcrefRegs=0003 {x0 x1}, byrefRegs=0800 {x11}, byref, isz
             ldr     x3, [x1, #0x08]
             ; gcrRegs +[x3]
             ldr     w2, [x11, #0x08]
@@ -237,19 +215,27 @@ G_M48461_IG18:        ; bbWeight=0.10, gcrefRegs=0003 {x0 x1}, byrefRegs=0800 {x
             ldr     w1, [x11, #0x08]
             add     w1, w1, #1
             str     w1, [x11, #0x08]
-            b       G_M48461_IG14
+            b       G_M48461_IG13
                      ;; size=48 bbWeight=0.10 PerfScore 2.05
-G_M48461_IG19:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0800 {x11}, byref, isz
+G_M48461_IG17:        ; bbWeight=0.11, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x3]
-            ldr     w1, [x11, #0x0C]
-            ldr     x2, [x11]
-            ; gcrRegs +[x2]
-            ldr     w2, [x2, #0x14]
-            ; gcrRegs -[x2]
-            cmp     w1, w2
-            bne     G_M48461_IG09
-                       ;; size=20 bbWeight=0.01 PerfScore 0.11
-G_M48461_IG20:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0800 {x11}, byref
+            ; byrRegs -[x11]
+            movz    x11, #80
+            movk    x11, #0xD1FFAB1E LSL #16
+            movk    x11, #0xD1FFAB1E LSL #32
+            ldr     x1, [x11]
+            blr     x1
+            ; gcrRegs -[x0]
+            ; gcr arg pop 0
+            cbnz    w0, G_M48461_IG10
+                       ;; size=24 bbWeight=0.11 PerfScore 0.72
+G_M48461_IG18:        ; bbWeight=0.11, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ldr     x0, [fp, #0x10]    // [V02 loc1]
+            ; gcrRegs +[x0]
+            b       G_M48461_IG20
+                       ;; size=8 bbWeight=0.11 PerfScore 0.33
+G_M48461_IG19:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0800 {x11}, byref
+            ; byrRegs +[x11]
             ldr     x1, [x11]
             ; gcrRegs +[x1]
             ldr     w1, [x1, #0x10]
@@ -258,24 +244,24 @@ G_M48461_IG20:        ; bbWeight=0.01, gcrefRegs=0001 {x0}, byrefRegs=0800 {x11}
             str     w1, [x11, #0x08]
             str     wzr, [x11, #0x10]
                        ;; size=20 bbWeight=0.01 PerfScore 0.09
-G_M48461_IG21:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+G_M48461_IG20:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x11]
             ldr     x1, [x0]
             cmp     x1, x21
-            bne     G_M48461_IG26
+            bne     G_M48461_IG25
                       ;; size=12 bbWeight=1 PerfScore 4.50
-G_M48461_IG22:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48461_IG21:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             ; GC ptr vars -{V02}
             mov     w0, w20
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M48461_IG23:        ; bbWeight=1, epilog, nogc, extend
+G_M48461_IG22:        ; bbWeight=1, epilog, nogc, extend
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=16 bbWeight=1 PerfScore 4.00
-G_M48461_IG24:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48461_IG23:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -289,7 +275,7 @@ G_M48461_IG24:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ; gcrRegs +[x0]
             b       G_M48461_IG03
                        ;; size=40 bbWeight=0 PerfScore 0.00
-G_M48461_IG25:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M48461_IG24:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0] +[x19]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -302,7 +288,7 @@ G_M48461_IG25:        ; bbWeight=0, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; gcr arg pop 0
             b       G_M48461_IG03
                        ;; size=28 bbWeight=0 PerfScore 0.00
-G_M48461_IG26:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref
+G_M48461_IG25:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref
             ; GC ptr vars +{V02 V05}
             movz    x11, #96      // code for <unknown method>
             movk    x11, #0xD1FFAB1E LSL #16
@@ -312,9 +298,9 @@ G_M48461_IG26:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=000
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            b       G_M48461_IG22
+            b       G_M48461_IG21
                       ;; size=24 bbWeight=0 PerfScore 0.00
-G_M48461_IG27:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+G_M48461_IG26:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
             ; GC ptr vars +{V02 V05}
             stp     fp, lr, [sp, #-0x40]!
             stp     x19, x20, [sp, #0x20]
@@ -322,16 +308,16 @@ G_M48461_IG27:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=000
             add     x3, fp, #64
             str     x3, [sp, #0x18]
                        ;; size=20 bbWeight=0 PerfScore 0.00
...
  
+4 (+0.08%) : 220823.dasm - GenClass1[int]:DoTest_Inner[System.__Canon,System.__Canon,System.__Canon](int,GenClass1[System.Canon],GenClass1[System.__Canon],GenClass1[System.Canon]) (FullOpts)
@@ -15,20 +15,20 @@
 ;  V04 arg3         [V04,T56] (  3,  6   )     ref  ->  x22         class-hnd single-def <GenClass`1[System.__Canon]>
 ;  V05 loc0         [V05,T06] (  7, 23   )     int  ->  x24        
 ;  V06 loc1         [V06    ] (153,301.93)  struct (40) [fp+0x10]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
-;  V07 loc2         [V07,T07] (  7, 23   )     int  ->  x26        
+;  V07 loc2         [V07,T07] (  7, 23   )     int  ->  x27        
 ;  V08 loc3         [V08,T08] (  7, 23   )     int  ->  x25        
-;  V09 loc4         [V09,T09] (  7, 23   )     int  ->  x26        
+;  V09 loc4         [V09,T09] (  7, 23   )     int  ->  x27        
 ;# V10 OutArgs      [V10    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V11 tmp1         [V11,T38] (  5, 12   )     ref  ->  x25        
 ;* V12 tmp2         [V12    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V13 tmp3         [V13,T34] (  7, 12   )     ref  ->  x26        
-;  V14 tmp4         [V14,T39] (  5, 12   )     ref  ->  x27        
+;  V14 tmp4         [V14,T39] (  5, 12   )     ref  ->  x28        
 ;* V15 tmp5         [V15    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V16 tmp6         [V16,T35] (  6, 12   )     ref  ->   x1        
-;  V17 tmp7         [V17,T40] (  5, 12   )     ref  ->  x28        
+;  V17 tmp7         [V17,T40] (  5, 12   )     ref  ->  x26        
 ;* V18 tmp8         [V18    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V19 tmp9         [V19,T36] (  6, 12   )     ref  ->   x1        
-;  V20 tmp10        [V20,T41] (  5, 12   )     ref  ->  x27        
+;  V20 tmp10        [V20,T41] (  5, 12   )     ref  ->  x28        
 ;* V21 tmp11        [V21    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V22 tmp12        [V22,T37] (  6, 12   )     ref  ->  x24        
 ;* V23 tmp13        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.Buffers.SharedArrayPool`1[ushort]>
@@ -89,7 +89,7 @@
 ;* V78 tmp68        [V78    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "spilling ret_expr" <System.Buffers.SharedArrayPool`1[ushort]>
 ;* V79 tmp69        [V79    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.Buffers.SharedArrayPool`1[ushort]>
 ;* V80 tmp70        [V80    ] (  0,  0   )     int  ->  zero-ref    "spilling ret_expr"
-;  V81 tmp71        [V81,T12] (  5, 20.00)     ref  ->   x0         class-hnd "dup spill" <ushort[]>
+;  V81 tmp71        [V81,T12] (  5, 20   )     ref  ->   x0         class-hnd "dup spill" <ushort[]>
 ;* V82 tmp72        [V82    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <ushort[]>
 ;* V83 tmp73        [V83    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V84 tmp74        [V84    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
@@ -134,8 +134,8 @@
 ;* V123 tmp113      [V123    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V124 tmp114      [V124,T25] (  4, 16   )     int  ->   x0         "Inlining Arg"
 ;* V125 tmp115      [V125    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V126 tmp116      [V126,T46] (  3, 12   )     int  ->  x24         "Inlining Arg"
-;  V127 tmp117      [V127,T94] (  2,  7.99)   byref  ->  x21         "Inlining Arg"
+;  V126 tmp116      [V126,T46] (  3, 12   )     int  ->  x21         "Inlining Arg"
+;  V127 tmp117      [V127,T94] (  2,  7.99)   byref  ->  x26         "Inlining Arg"
 ;* V128 tmp118      [V128    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V129 tmp119      [V129    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V130 tmp120      [V130,T185] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
@@ -206,7 +206,7 @@
 ;  V195 tmp185      [V195,T29] (  4, 16   )     int  ->   x0         "Inlining Arg"
 ;* V196 tmp186      [V196    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V197 tmp187      [V197,T50] (  3, 12   )     int  ->  x21         "Inlining Arg"
-;  V198 tmp188      [V198,T98] (  2,  7.99)   byref  ->  x27         "Inlining Arg"
+;  V198 tmp188      [V198,T98] (  2,  7.99)   byref  ->  x28         "Inlining Arg"
 ;* V199 tmp189      [V199    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V200 tmp190      [V200    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V201 tmp191      [V201,T189] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
@@ -273,7 +273,7 @@
 ;  V262 tmp252      [V262,T33] (  4, 16   )     int  ->   x0         "Inlining Arg"
 ;* V263 tmp253      [V263    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V264 tmp254      [V264,T54] (  3, 12   )     int  ->  x20         "Inlining Arg"
-;  V265 tmp255      [V265,T102] (  2,  7.99)   byref  ->  x28         "Inlining Arg"
+;  V265 tmp255      [V265,T102] (  2,  7.99)   byref  ->  x26         "Inlining Arg"
 ;* V266 tmp256      [V266,T193] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V267 tmp257      [V267    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;* V268 tmp258      [V268    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
@@ -294,7 +294,7 @@
 ;* V283 tmp273      [V283    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V284 tmp274      [V284    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
 ;  V285 tmp275      [V285,T90] (  2,  8   )     int  ->  x24         "Inlining Arg"
-;  V286 tmp276      [V286,T66] (  2,  8   )   byref  ->  x27         "Inlining Arg"
+;  V286 tmp276      [V286,T66] (  2,  8   )   byref  ->  x28         "Inlining Arg"
 ;  V287 tmp277      [V287,T120] (  3,  4   )   byref  ->  x26         "field V28._reference (fldOffset=0x0)" P-INDEP
 ;  V288 tmp278      [V288,T128] (  3,  4   )     int  ->  x27         "field V28._length (fldOffset=0x8)" P-INDEP
 ;* V289 tmp279      [V289    ] (  0,  0   )   byref  ->  zero-ref    "field V29._reference (fldOffset=0x0)" P-INDEP
@@ -351,8 +351,8 @@
 ;  V340 tmp330      [V340,T169] (  2,  4   )     int  ->   x3         "field V111._length (fldOffset=0x8)" P-INDEP
 ;* V341 tmp331      [V341    ] (  0,  0   )   byref  ->  zero-ref    "field V112._reference (fldOffset=0x0)" P-INDEP
 ;* V342 tmp332      [V342    ] (  0,  0   )     int  ->  zero-ref    "field V112._length (fldOffset=0x8)" P-INDEP
-;  V343 tmp333      [V343,T122] (  3,  4   )   byref  ->  x28         "field V122._reference (fldOffset=0x0)" P-INDEP
-;  V344 tmp334      [V344,T130] (  3,  4   )     int  ->   x2         "field V122._length (fldOffset=0x8)" P-INDEP
+;  V343 tmp333      [V343,T122] (  3,  4   )   byref  ->   x2         "field V122._reference (fldOffset=0x0)" P-INDEP
+;  V344 tmp334      [V344,T130] (  3,  4   )     int  ->   x3         "field V122._length (fldOffset=0x8)" P-INDEP
 ;* V345 tmp335      [V345    ] (  0,  0   )   byref  ->  zero-ref    "field V123._reference (fldOffset=0x0)" P-INDEP
 ;* V346 tmp336      [V346    ] (  0,  0   )     int  ->  zero-ref    "field V123._length (fldOffset=0x8)" P-INDEP
 ;* V347 tmp337      [V347    ] (  0,  0   )   byref  ->  zero-ref    "field V125._reference (fldOffset=0x0)" P-INDEP
@@ -560,7 +560,7 @@ G_M13079_IG03:        ; bbWeight=4, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=00
             mov     x25, x0
             ; gcrRegs +[x25]
             str     xzr, [fp, #0x10]   // [V06 loc1]
-            cbz     w24, G_M13079_IG26
+            cbz     w24, G_M13079_IG29
                        ;; size=60 bbWeight=4 PerfScore 88.00
 G_M13079_IG04:        ; bbWeight=2.00, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -623,7 +623,7 @@ G_M13079_IG06:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRe
                        ;; size=96 bbWeight=2 PerfScore 49.00
 G_M13079_IG07:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=4000000 {x26}, byref, isz
             cmp     w27, #8
-            blo     G_M13079_IG16
+            blo     G_M13079_IG19
                       ;; size=8 bbWeight=2 PerfScore 3.00
 G_M13079_IG08:        ; bbWeight=2.00, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=4000000 {x26}, byref
             movz    x0, #0xD1FFAB1E
@@ -673,7 +673,7 @@ G_M13079_IG09:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRe
                        ;; size=108 bbWeight=2 PerfScore 54.00
 G_M13079_IG10:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=4000000 {x26}, byref, isz
             cmp     w27, #3
-            blo     G_M13079_IG18
+            blo     G_M13079_IG24
                       ;; size=8 bbWeight=2 PerfScore 3.00
 G_M13079_IG11:        ; bbWeight=2.00, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=4000000 {x26}, byref
             movz    x0, #0xD1FFAB1E
@@ -733,7 +733,7 @@ G_M13079_IG12:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRe
             ; gcrRegs -[x0-x1]
                        ;; size=128 bbWeight=2 PerfScore 65.00
 G_M13079_IG13:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=4000000 {x26}, byref, isz
-            cbz     w27, G_M13079_IG19
+            cbz     w27, G_M13079_IG26
                        ;; size=4 bbWeight=2 PerfScore 2.00
 G_M13079_IG14:        ; bbWeight=2.00, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=4000000 {x26}, byref
             movz    x0, #0xD1FFAB1E
@@ -753,7 +753,7 @@ G_M13079_IG15:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRe
             bhi     G_M13079_IG104
             ldr     x27, [fp, #0x28]   // [V06 loc1+0x18]
             ; byrRegs +[x27]
-            tbz     w26, #31, G_M13079_IG23
+            tbz     w26, #31, G_M13079_IG16
             movz    x28, #8
             movk    x28, #0xD1FFAB1E LSL #16
             movk    x28, #0xD1FFAB1E LSL #32
@@ -767,25 +767,6 @@ G_M13079_IG15:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRe
             ldr     x2, [x2]
             blr     x2
             ; gcrRegs -[x0-x1] +[x28]
-            b       G_M13079_IG22
-                       ;; size=68 bbWeight=2 PerfScore 35.00
-G_M13079_IG16:        ; bbWeight=0.01, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x28]
-            ; byrRegs -[x27]
-            add     x0, fp, #16    // [V06 loc1]
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            b       G_M13079_IG09
-                       ;; size=40 bbWeight=0.01 PerfScore 0.05
-G_M13079_IG17:        ; bbWeight=2, gcrefRegs=12700000 {x20 x21 x22 x25 x28}, byrefRegs=8000000 {x27}, byref
-            ; gcrRegs +[x28]
-            ; byrRegs +[x27]
             mov     x0, x28
             ; gcrRegs +[x0]
             mov     x1, x28
@@ -796,35 +777,8 @@ G_M13079_IG17:        ; bbWeight=2, gcrefRegs=12700000 {x20 x21 x22 x25 x28}, by
             ldr     x2, [x2]
             blr     x2
             ; gcrRegs -[x0-x1 x28]
-            b       G_M13079_IG20
-                       ;; size=32 bbWeight=2 PerfScore 15.00
-G_M13079_IG18:        ; bbWeight=0.01, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x27]
-            add     x0, fp, #16    // [V06 loc1]
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            b       G_M13079_IG12
-                       ;; size=40 bbWeight=0.01 PerfScore 0.05
-G_M13079_IG19:        ; bbWeight=0.01, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=0000 {}, byref
-            add     x0, fp, #16    // [V06 loc1]
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            b       G_M13079_IG15
-                       ;; size=40 bbWeight=0.01 PerfScore 0.05
-G_M13079_IG20:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=8000000 {x27}, byref, isz
-            ; byrRegs +[x27]
+                     ;; size=92 bbWeight=2 PerfScore 46.00
+G_M13079_IG16:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=8000000 {x27}, byref, isz
             mov     x0, x27
             ; byrRegs +[x0]
             sxtw    w1, w26
@@ -838,43 +792,9 @@ G_M13079_IG20:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRe
             stp     xzr, xzr, [fp, #0x10]
             stp     xzr, xzr, [fp, #0x20]
             str     xzr, [fp, #0x30]
-            cbz     x1, G_M13079_IG30
+            cbz     x1, G_M13079_IG18
                      ;; size=36 bbWeight=2 PerfScore 17.00
-G_M13079_IG21:        ; bbWeight=1.94, gcrefRegs=6700002 {x1 x20 x21 x22 x25 x26}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x0]
-            b       G_M13079_IG29
-                       ;; size=4 bbWeight=1.94 PerfScore 1.94
-G_M13079_IG22:        ; bbWeight=2, gcrefRegs=12700000 {x20 x21 x22 x25 x28}, byrefRegs=8000000 {x27}, byref
-            ; gcrRegs -[x1 x26] +[x28]
-            ; byrRegs +[x27]
-            mov     x0, x28
-            ; gcrRegs +[x0]
-            mov     x1, x28
-            ; gcrRegs +[x1]
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            ; gcrRegs -[x0-x1 x28]
-                       ;; size=28 bbWeight=2 PerfScore 13.00
-G_M13079_IG23:        ; bbWeight=2, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=8000000 {x27}, byref, isz
-            mov     x0, x27
-            ; byrRegs +[x0]
-            sxtw    w1, w26
-            bl      <unknown method>
-            ; gcrRegs +[x0]
-            ; byrRegs -[x0 x27]
-            mov     x26, x0
-            ; gcrRegs +[x26]
-            ldr     x1, [fp, #0x18]    // [V06 loc1+0x08]
-            ; gcrRegs +[x1]
-            stp     xzr, xzr, [fp, #0x10]
-            stp     xzr, xzr, [fp, #0x20]
-            str     xzr, [fp, #0x30]
-            cbz     x1, G_M13079_IG25
-                       ;; size=36 bbWeight=2 PerfScore 17.00
-G_M13079_IG24:        ; bbWeight=1.94, gcrefRegs=6700002 {x1 x20 x21 x22 x25 x26}, byrefRegs=0000 {}, byref
+G_M13079_IG17:        ; bbWeight=1.94, gcrefRegs=6700002 {x1 x20 x21 x22 x25 x26}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             movz    x0, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
             movk    x0, #0xD1FFAB1E LSL #16
@@ -890,37 +810,29 @@ G_M13079_IG24:        ; bbWeight=1.94, gcrefRegs=6700002 {x1 x20 x21 x22 x25 x26
             blr     x3
             ; gcrRegs -[x0-x1]
                        ;; size=44 bbWeight=1.94 PerfScore 26.26
-G_M13079_IG25:        ; bbWeight=2, gcrefRegs=6700000 {x20 x21 x22 x25 x26}, byrefRegs=0000 {}, byref
-            b       G_M13079_IG30
+G_M13079_IG18:        ; bbWeight=2, gcrefRegs=6700000 {x20 x21 x22 x25 x26}, byrefRegs=0000 {}, byref
+            b       G_M13079_IG27
                       ;; size=4 bbWeight=2 PerfScore 2.00
-G_M13079_IG26:        ; bbWeight=2.00, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=0000 {}, byref, isz
+G_M13079_IG19:        ; bbWeight=0.01, gcrefRegs=2700000 {x20 x21 x22 x25}, byrefRegs=0000 {}, byref
...
  
+4 (+0.14%) : 254100.dasm - System.Xml.Xsl.IlGen.XmlILModule:DefineMethod(System.String,System.Type,System.Type[],System.String[],int):System.Reflection.MethodInfo:this (FullOpts)
@@ -241,7 +241,7 @@ G_M15401_IG02:        ; bbWeight=1, gcVars=00000000000000000000000000004000 {V04
             ; gcr arg pop 0
             str     x19, [fp, #0xA0]   // [V01 arg1]
             ; GC ptr vars +{V01}
-            cbz     x0, G_M15401_IG24
+            cbz     x0, G_M15401_IG23
                      ;; size=80 bbWeight=1 PerfScore 23.00
 G_M15401_IG03:        ; bbWeight=0.50, gcrefRegs=9600000 {x21 x22 x24 x27}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0 x19]
@@ -279,11 +279,11 @@ G_M15401_IG06:        ; bbWeight=4, gcrefRegs=9680000 {x19 x21 x22 x24 x27}, byr
             str     wzr, [fp, #0xE8]   // [V11 loc5+0x10]
             strb    wzr, [fp, #0xEC]   // [V11 loc5+0x14]
             ldrb    w0, [fp, #0xEC]    // [V11 loc5+0x14]
-            cbnz    w0, G_M15401_IG20
+            cbnz    w0, G_M15401_IG25
                         ;; size=24 bbWeight=4 PerfScore 28.00
 G_M15401_IG07:        ; bbWeight=2, gcrefRegs=9680000 {x19 x21 x22 x24 x27}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x2]
-            cbz     x27, G_M15401_IG20
+            cbz     x27, G_M15401_IG25
             ldr     w0, [fp, #0xE8] // [V11 loc5+0x10]
             ldr     w1, [fp, #0xF8]    // [V11 loc5+0x20]
             cmp     w0, w1
@@ -318,7 +318,7 @@ G_M15401_IG08:        ; bbWeight=2, gcrefRegs=9680000 {x19 x21 x22 x24 x27}, byr
             str     w4, [fp, #0xB4]    // [V176 cse10]
             ldr     w3, [fp, #0xD4]    // [V36 tmp21]
             cmp     w4, w3
-            bhi     G_M15401_IG20
+            bhi     G_M15401_IG25
                        ;; size=20 bbWeight=2 PerfScore 15.00
 G_M15401_IG09:        ; bbWeight=2.00, gcrefRegs=9680000 {x19 x21 x22 x24 x27}, byrefRegs=0000 {}, byref
             add     x1, x27, #12
@@ -375,7 +375,7 @@ G_M15401_IG11:        ; bbWeight=2, gcVars=00000000000000000000000000104000 {V04
 G_M15401_IG12:        ; bbWeight=4, gcrefRegs=9680000 {x19 x21 x22 x24 x27}, byrefRegs=0000 {}, byref, isz
             ldr     w3, [fp, #0xD0]    // [V49 tmp34]
             cmp     w3, #2
-            blo     G_M15401_IG26
+            blo     G_M15401_IG28
                        ;; size=12 bbWeight=4 PerfScore 14.00
 G_M15401_IG13:        ; bbWeight=2.00, gcrefRegs=9680000 {x19 x21 x22 x24 x27}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E
@@ -433,7 +433,7 @@ G_M15401_IG15:        ; bbWeight=2, gcVars=00000000000000000000000000204000 {V04
                        ;; size=40 bbWeight=2 PerfScore 16.00
 G_M15401_IG16:        ; bbWeight=4, gcrefRegs=9680000 {x19 x21 x22 x24 x27}, byrefRegs=0000 {}, byref, isz
             ldr     w3, [fp, #0xCC]    // [V60 tmp45]
-            cbz     w3, G_M15401_IG29
+            cbz     w3, G_M15401_IG31
                         ;; size=8 bbWeight=4 PerfScore 12.00
 G_M15401_IG17:        ; bbWeight=2.00, gcrefRegs=9680000 {x19 x21 x22 x24 x27}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E
@@ -460,7 +460,7 @@ G_M15401_IG18:        ; bbWeight=4, gcVars=00000000000000000000000000004000 {V04
             ; byrRegs +[x2]
             str     x2, [fp, #0x68]    // [V74 tmp59]
             ; GC ptr vars +{V74}
-            tbz     w1, #31, G_M15401_IG21
+            tbz     w1, #31, G_M15401_IG20
                        ;; size=36 bbWeight=4 PerfScore 44.00
 G_M15401_IG19:        ; bbWeight=2, gcVars=00000000000000000000000000004800 {V04 V74}, gcrefRegs=9680000 {x19 x21 x22 x24 x27}, byrefRegs=0000 {}, gcvars, byref
             ; byrRegs -[x2]
@@ -482,24 +482,20 @@ G_M15401_IG19:        ; bbWeight=2, gcVars=00000000000000000000000000004800 {V04
             blr     x3
             ; gcrRegs -[x0-x2]
             ; gcr arg pop 0
-            b       G_M15401_IG30
-                       ;; size=52 bbWeight=2 PerfScore 21.00
-G_M15401_IG20:        ; bbWeight=0.00, gcVars=00000000000000000000000000004000 {V04}, gcrefRegs=9680000 {x19 x21 x22 x24 x27}, byrefRegs=0000 {}, gcvars, byref
-            ; GC ptr vars -{V74 V173}
-            add     x0, fp, #216   // [V11 loc5]
-            mov     x1, x27
+            ldr     x0, [fp, #0x58]   // [V173 cse7]
+            ; gcrRegs +[x0]
+            mov     x1, x0
             ; gcrRegs +[x1]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
+            ; GC ptr vars -{V173}
             blr     x2
-            ; gcrRegs -[x1]
+            ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            b       G_M15401_IG10
-                       ;; size=32 bbWeight=0.00 PerfScore 0.03
-G_M15401_IG21:        ; bbWeight=4, gcVars=00000000000000000000000000004800 {V04 V74}, gcrefRegs=9680000 {x19 x21 x22 x24 x27}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; GC ptr vars +{V74}
+                     ;; size=76 bbWeight=2 PerfScore 35.00
+G_M15401_IG20:        ; bbWeight=4, gcrefRegs=9680000 {x19 x21 x22 x24 x27}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [fp, #0x68]  // [V74 tmp59]
             ; byrRegs +[x0]
             ldr     w1, [fp, #0xC8]    // [V72 tmp57]
@@ -515,23 +511,25 @@ G_M15401_IG21:        ; bbWeight=4, gcVars=00000000000000000000000000004800 {V04
             stp     xzr, xzr, [fp, #0xD8]
             stp     xzr, xzr, [fp, #0xE8]
             str     xzr, [fp, #0xF8]
-            cbz     x1, G_M15401_IG23
+            cbz     x1, G_M15401_IG22
                      ;; size=36 bbWeight=4 PerfScore 48.00
-G_M15401_IG22:        ; bbWeight=1.94, gcVars=00000000000000000000000008004000 {V04 V70}, gcrefRegs=9680002 {x1 x19 x21 x22 x24 x27}, byrefRegs=0000 {}, gcvars, byref
+G_M15401_IG21:        ; bbWeight=1.94, gcVars=00000000000000000000000008004000 {V04 V70}, gcrefRegs=9680002 {x1 x19 x21 x22 x24 x27}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             mov     x0, x19
             ; gcrRegs +[x0]
             mov     w2, wzr
-            movz    x3, #0xD1FFAB1E      // code for <unknown method>
-            movk    x3, #0xD1FFAB1E LSL #16
-            movk    x3, #0xD1FFAB1E LSL #32
-            ldr     x3, [x3]
-            blr     x3
+            movz    x4, #0xD1FFAB1E      // code for <unknown method>
+            movk    x4, #0xD1FFAB1E LSL #16
+            movk    x4, #0xD1FFAB1E LSL #32
+            ldr     x4, [x4]
+            blr     x4
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
                        ;; size=28 bbWeight=1.94 PerfScore 12.64
-G_M15401_IG23:        ; bbWeight=4, gcrefRegs=9680000 {x19 x21 x22 x24 x27}, byrefRegs=0000 {}, byref, isz
-            ldr     x2, [fp, #0x70]    // [V70 tmp55]
+G_M15401_IG22:        ; bbWeight=4, gcrefRegs=9680000 {x19 x21 x22 x24 x27}, byrefRegs=0000 {}, byref, isz
+            ldr     x3, [fp, #0x70]    // [V70 tmp55]
+            ; gcrRegs +[x3]
+            mov     x2, x3
             ; gcrRegs +[x2]
             ldr     x0, [x21, #0x10]
             ; gcrRegs +[x0]
@@ -540,6 +538,7 @@ G_M15401_IG23:        ; bbWeight=4, gcrefRegs=9680000 {x19 x21 x22 x24 x27}, byr
             mov     x1, x2
             ; gcrRegs +[x1]
             ldr     x3, [x0]
+            ; gcrRegs -[x3]
             ldr     x3, [x3, #0x50]
             ldr     x3, [x3, #0x20]
             ; GC ptr vars -{V70}
@@ -547,12 +546,12 @@ G_M15401_IG23:        ; bbWeight=4, gcrefRegs=9680000 {x19 x21 x22 x24 x27}, byr
             ; gcrRegs -[x1-x2]
             ; gcr arg pop 0
             cbnz    x0, G_M15401_IG04
-                        ;; size=36 bbWeight=4 PerfScore 70.00
-G_M15401_IG24:        ; bbWeight=1, gcrefRegs=1600000 {x21 x22 x24}, byrefRegs=0000 {}, byref, isz
+                       ;; size=40 bbWeight=4 PerfScore 72.00
+G_M15401_IG23:        ; bbWeight=1, gcrefRegs=1600000 {x21 x22 x24}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0 x19 x27]
-            cbnz    w28, G_M15401_IG31
+            cbnz    w28, G_M15401_IG35
                       ;; size=4 bbWeight=1 PerfScore 1.00
-G_M15401_IG25:        ; bbWeight=0.50, gcrefRegs=1600000 {x21 x22 x24}, byrefRegs=0000 {}, byref, isz
+G_M15401_IG24:        ; bbWeight=0.50, gcrefRegs=1600000 {x21 x22 x24}, byrefRegs=0000 {}, byref, isz
             ldr     w1, [x22, #0x08]
             add     w1, w1, #1
             sxtw    x1, w1
@@ -586,24 +585,24 @@ G_M15401_IG25:        ; bbWeight=0.50, gcrefRegs=1600000 {x21 x22 x24}, byrefReg
             ; gcr arg pop 0
             mov     x22, x19
             ; gcrRegs +[x22]
-            b       G_M15401_IG31
+            b       G_M15401_IG35
                      ;; size=108 bbWeight=0.50 PerfScore 13.00
-G_M15401_IG26:        ; bbWeight=0.01, gcVars=00000000000000000000000000004000 {V04}, gcrefRegs=9680000 {x19 x21 x22 x24 x27}, byrefRegs=0000 {}, gcvars, byref
+G_M15401_IG25:        ; bbWeight=0.00, gcVars=00000000000000000000000000004000 {V04}, gcrefRegs=9680000 {x19 x21 x22 x24 x27}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs +[x27]
             ; GC ptr vars -{V01}
             add     x0, fp, #216   // [V11 loc5]
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
+            mov     x1, x27
+            ; gcrRegs +[x1]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
+            ; gcrRegs -[x1]
             ; gcr arg pop 0
-            b       G_M15401_IG14
-                       ;; size=40 bbWeight=0.01 PerfScore 0.05
-G_M15401_IG27:        ; bbWeight=0.50, gcVars=0000000000000000000000000040C000 {V00 V04 V12}, gcrefRegs=4080000 {x19 x26}, byrefRegs=0000 {}, gcvars, byref, isz
+            b       G_M15401_IG10
+                       ;; size=32 bbWeight=0.00 PerfScore 0.03
+G_M15401_IG26:        ; bbWeight=0.50, gcVars=0000000000000000000000000040C000 {V00 V04 V12}, gcrefRegs=4080000 {x19 x26}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x21-x22 x24 x27] +[x26]
             ; GC ptr vars +{V00 V12 V22}
             mov     w22, wzr
@@ -611,13 +610,13 @@ G_M15401_IG27:        ; bbWeight=0.50, gcVars=0000000000000000000000000040C000 {
             ; gcrRegs +[x20]
             ldr     w0, [x20, #0x08]
             cmp     w0, #0
-            ble     G_M15401_IG48
+            ble     G_M15401_IG33
                        ;; size=20 bbWeight=0.50 PerfScore 3.50
-G_M15401_IG28:        ; bbWeight=0.25, gcVars=00000000000000000000000000408000 {V00 V12}, gcrefRegs=4180000 {x19 x20 x26}, byrefRegs=0000 {}, gcvars, byref
+G_M15401_IG27:        ; bbWeight=0.25, gcVars=00000000000000000000000000408000 {V00 V12}, gcrefRegs=4180000 {x19 x20 x26}, byrefRegs=0000 {}, gcvars, byref
             ; GC ptr vars -{V04 V22}
-            b       G_M15401_IG42
+            b       G_M15401_IG29
                      ;; size=4 bbWeight=0.25 PerfScore 0.25
-G_M15401_IG29:        ; bbWeight=0.01, gcVars=00000000000000000000000000004000 {V04}, gcrefRegs=9680000 {x19 x21 x22 x24 x27}, byrefRegs=0000 {}, gcvars, byref
+G_M15401_IG28:        ; bbWeight=0.01, gcVars=00000000000000000000000000004000 {V04}, gcrefRegs=9680000 {x19 x21 x22 x24 x27}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x20 x26] +[x21-x22 x24 x27]
             ; GC ptr vars -{V00 V12} +{V04}
             add     x0, fp, #216   // [V11 loc5]
@@ -630,31 +629,84 @@ G_M15401_IG29:        ; bbWeight=0.01, gcVars=00000000000000000000000000004000 {
             ldr     x2, [x2]
             blr     x2
             ; gcr arg pop 0
-            b       G_M15401_IG18
+            b       G_M15401_IG14
                       ;; size=40 bbWeight=0.01 PerfScore 0.05
-G_M15401_IG30:        ; bbWeight=2, gcVars=00000000000000000000000000004820 {V04 V74 V173}, gcrefRegs=9680000 {x19 x21 x22 x24 x27}, byrefRegs=0000 {}, gcvars, byref
-            ; GC ptr vars +{V05 V74 V173}
-            ldr     x0, [fp, #0x58]    // [V173 cse7]
+G_M15401_IG29:        ; bbWeight=4, gcVars=00000000000000000000000000408000 {V00 V12}, gcrefRegs=4180000 {x19 x20 x26}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs -[x21-x22 x24 x27] +[x20 x26]
+            ; GC ptr vars -{V04} +{V00 V12 V22}
+            add     x0, x20, #16
+            ; byrRegs +[x0]
+            ldr     x3, [x0, w22, UXTW #3]
+            ; gcrRegs +[x3]
+            mov     x0, x3
             ; gcrRegs +[x0]
-            mov     x1, x0
-            ; gcrRegs +[x1]
+            ; byrRegs -[x0]
+            cbz     x0, G_M15401_IG32
+                       ;; size=16 bbWeight=4 PerfScore 20.00
+G_M15401_IG30:        ; bbWeight=1.86, gcrefRegs=4180009 {x0 x3 x19 x20 x26}, byrefRegs=0000 {}, byref
+            b       G_M15401_IG46
+                       ;; size=4 bbWeight=1.86 PerfScore 1.86
+G_M15401_IG31:        ; bbWeight=0.01, gcVars=00000000000000000000000000004000 {V04}, gcrefRegs=9680000 {x19 x21 x22 x24 x27}, byrefRegs=0000 {}, gcvars, byref
+            ; gcrRegs -[x0 x3 x20 x26] +[x21-x22 x24 x27]
+            ; GC ptr vars -{V00 V12 V22} +{V04}
+            add     x0, fp, #216   // [V11 loc5]
+            movz    x1, #0xD1FFAB1E
+            movk    x1, #0xD1FFAB1E LSL #16
+            movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
-            ; GC ptr vars -{V05 V173}
             blr     x2
-            ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            b       G_M15401_IG21
-                       ;; size=32 bbWeight=2 PerfScore 18.00
-G_M15401_IG31:        ; bbWeight=1, gcVars=00000000000000000000000000005000 {V01 V04}, gcrefRegs=1600000 {x21 x22 x24}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs -[x19 x27]
-            ; GC ptr vars -{V74} +{V01 V12}
+            b       G_M15401_IG18
...
  
+4 (+0.26%) : 295277.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.TypeValidationChecker:LogErrors(System.Action`1[System.String]):this (FullOpts)
@@ -11,7 +11,7 @@
 ;  V00 this         [V00,T30] (  4,  4   )     ref  ->  x20         this class-hnd single-def <ILCompiler.DependencyAnalysis.ReadyToRun.TypeValidationChecker>
 ;  V01 arg1         [V01,T06] ( 10, 16   )     ref  ->  x19         class-hnd single-def <System.Action`1[System.String]>
 ;  V02 loc0         [V02,T36] (  5,  5   )     ref  ->  x21         class-hnd single-def <<unknown class>>
-;  V03 loc1         [V03    ] ( 40, 90.99)  struct (40) [fp+0x10]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
+;  V03 loc1         [V03    ] ( 42, 86.99)  struct (40) [fp+0x10]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
 ;  V04 loc2         [V04,T38] (  2,  5.00)     ref  ->  x21         class-hnd exact single-def <<unknown class>>
 ;  V05 loc3         [V05,T07] (  5, 17   )     int  ->  x20        
 ;* V06 loc4         [V06    ] (  0,  0   )  struct (16) zero-ref    <System.ValueTuple`2[Internal.TypeSystem.TypeDesc,System.String]>
@@ -77,11 +77,11 @@
 ;* V66 tmp59        [V66    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V67 tmp60        [V67    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.String>
 ;* V68 tmp61        [V68    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V69 tmp62        [V69,T18] (  2,  8   )     ref  ->  x26         class-hnd exact "Inline stloc first use temp" <System.String>
+;  V69 tmp62        [V69,T18] (  2,  8   )     ref  ->  x24         class-hnd exact "Inline stloc first use temp" <System.String>
 ;* V70 tmp63        [V70    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
-;  V71 tmp64        [V71,T02] (  4, 32   )     int  ->  x25         "Inlining Arg"
+;  V71 tmp64        [V71,T02] (  6, 24.00)     int  ->  x24         "Inlining Arg"
 ;* V72 tmp65        [V72    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V73 tmp66        [V73,T09] (  2, 16   )   byref  ->  x24         "Inlining Arg"
+;  V73 tmp66        [V73,T09] (  2, 16   )   byref  ->  x25         "Inlining Arg"
 ;* V74 tmp67        [V74    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V75 tmp68        [V75    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V76 tmp69        [V76    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
@@ -293,7 +293,7 @@ G_M18368_IG08:        ; bbWeight=1, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=10
             ldr     w0, [fp, #0x20]    // [V03 loc1+0x10]
             ldr     w1, [fp, #0x30]    // [V03 loc1+0x20]
             cmp     w0, w1
-            bhi     G_M18368_IG40
+            bhi     G_M18368_IG33
             ldr     x1, [fp, #0x28]    // [V03 loc1+0x18]
             ; byrRegs +[x1]
             ubfiz   x2, x0, #1, #32
@@ -372,7 +372,7 @@ G_M18368_IG13:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {
             ; gcrRegs -[x0]
             mov     w20, wzr
             cmp     w22, #0
-            ble     G_M18368_IG30
+            ble     G_M18368_IG29
                       ;; size=76 bbWeight=1 PerfScore 24.00
 G_M18368_IG14:        ; bbWeight=4.00, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
             ubfiz   x0, x20, #4, #32
@@ -422,7 +422,7 @@ G_M18368_IG16:        ; bbWeight=4, gcrefRegs=3280000 {x19 x21 x24 x25}, byrefRe
             ldr     w0, [fp, #0x20]    // [V03 loc1+0x10]
             ldr     w1, [fp, #0x30]    // [V03 loc1+0x20]
             cmp     w0, w1
-            bhi     G_M18368_IG40
+            bhi     G_M18368_IG33
             ldr     x2, [fp, #0x28]    // [V03 loc1+0x18]
             ; byrRegs +[x2]
             ubfiz   x3, x0, #1, #32
@@ -449,7 +449,7 @@ G_M18368_IG17:        ; bbWeight=2, gcrefRegs=2280000 {x19 x21 x25}, byrefRegs=4
                        ;; size=40 bbWeight=2 PerfScore 16.00
 G_M18368_IG18:        ; bbWeight=4, gcrefRegs=2280000 {x19 x21 x25}, byrefRegs=4000000 {x26}, byref, isz
             cmp     w27, #2
-            blo     G_M18368_IG26
+            blo     G_M18368_IG31
                       ;; size=8 bbWeight=4 PerfScore 6.00
 G_M18368_IG19:        ; bbWeight=2.00, gcrefRegs=2280000 {x19 x21 x25}, byrefRegs=4000000 {x26}, byref
             movz    x0, #0xD1FFAB1E
@@ -471,7 +471,7 @@ G_M18368_IG21:        ; bbWeight=2, gcrefRegs=2280000 {x19 x21 x25}, byrefRegs=0
             ldr     w0, [fp, #0x20]    // [V03 loc1+0x10]
             ldr     w1, [fp, #0x30]    // [V03 loc1+0x20]
             cmp     w0, w1
-            bhi     G_M18368_IG40
+            bhi     G_M18368_IG33
             ldr     x2, [fp, #0x28]    // [V03 loc1+0x18]
             ; byrRegs +[x2]
             ubfiz   x3, x0, #1, #32
@@ -499,7 +499,7 @@ G_M18368_IG22:        ; bbWeight=2, gcrefRegs=2280000 {x19 x21 x25}, byrefRegs=1
             cmp     w27, w26
             bhi     G_M18368_IG32
                        ;; size=12 bbWeight=2 PerfScore 9.00
-G_M18368_IG23:        ; bbWeight=2.00, gcrefRegs=2280000 {x19 x21 x25}, byrefRegs=1000000 {x24}, byref
+G_M18368_IG23:        ; bbWeight=2.00, gcrefRegs=2280000 {x19 x21 x25}, byrefRegs=1000000 {x24}, byref, isz
             add     x1, x25, #12
             ; byrRegs +[x1]
             mov     w2, w27
@@ -516,17 +516,17 @@ G_M18368_IG23:        ; bbWeight=2.00, gcrefRegs=2280000 {x19 x21 x25}, byrefReg
             ldr     w0, [fp, #0x20]    // [V03 loc1+0x10]
             add     w0, w0, w27
             str     w0, [fp, #0x20]    // [V03 loc1+0x10]
-                        ;; size=48 bbWeight=2.00 PerfScore 22.96
-G_M18368_IG24:        ; bbWeight=4, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
-            ldr     w25, [fp, #0x20]   // [V03 loc1+0x10]
+            ldr     w24, [fp, #0x20]    // [V03 loc1+0x10]
             ldr     w0, [fp, #0x30]   // [V03 loc1+0x20]
-            cmp     w25, w0
-            bhi     G_M18368_IG40
-            ldr     x24, [fp, #0x28]   // [V03 loc1+0x18]
-            ; byrRegs +[x24]
-            tbz     w25, #31, G_M18368_IG27
-                       ;; size=24 bbWeight=4 PerfScore 34.00
-G_M18368_IG25:        ; bbWeight=2, gcrefRegs=280000 {x19 x21}, byrefRegs=1000000 {x24}, byref
+            cmp     w24, w0
+            bhi     G_M18368_IG33
+                       ;; size=64 bbWeight=2.00 PerfScore 33.93
+G_M18368_IG24:        ; bbWeight=4, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
+            ldr     x25, [fp, #0x28]   // [V03 loc1+0x18]
+            ; byrRegs +[x25]
+            tbz     w24, #31, G_M18368_IG26
+                       ;; size=8 bbWeight=4 PerfScore 12.00
+G_M18368_IG25:        ; bbWeight=2, gcrefRegs=280000 {x19 x21}, byrefRegs=2000000 {x25}, byref
             movz    x27, #8
             movk    x27, #0xD1FFAB1E LSL #16
             movk    x27, #0xD1FFAB1E LSL #32
@@ -540,41 +540,34 @@ G_M18368_IG25:        ; bbWeight=2, gcrefRegs=280000 {x19 x21}, byrefRegs=100000
             ldr     x2, [x2]
             blr     x2
             ; gcrRegs -[x0-x1] +[x27]
-            b       G_M18368_IG33
-                       ;; size=44 bbWeight=2 PerfScore 18.00
-G_M18368_IG26:        ; bbWeight=0.01, gcrefRegs=2280000 {x19 x21 x25}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x27] +[x25]
-            ; byrRegs -[x24]
-            add     x0, fp, #16    // [V03 loc1]
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
+            mov     x0, x27
+            ; gcrRegs +[x0]
+            mov     x1, x27
+            ; gcrRegs +[x1]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            b       G_M18368_IG20
-                       ;; size=40 bbWeight=0.01 PerfScore 0.05
-G_M18368_IG27:        ; bbWeight=4, gcrefRegs=280000 {x19 x21}, byrefRegs=1000000 {x24}, byref, isz
-            ; gcrRegs -[x25]
-            ; byrRegs +[x24]
-            mov     x0, x24
+            ; gcrRegs -[x0-x1 x27]
+                       ;; size=68 bbWeight=2 PerfScore 29.00
+G_M18368_IG26:        ; bbWeight=4, gcrefRegs=280000 {x19 x21}, byrefRegs=2000000 {x25}, byref, isz
+            mov     x0, x25
             ; byrRegs +[x0]
-            sxtw    w1, w25
+            sxtw    w1, w24
             bl      <unknown method>
             ; gcrRegs +[x0]
-            ; byrRegs -[x0 x24]
-            mov     x26, x0
-            ; gcrRegs +[x26]
+            ; byrRegs -[x0 x25]
+            mov     x24, x0
+            ; gcrRegs +[x24]
             ldr     x1, [fp, #0x18]    // [V03 loc1+0x08]
             ; gcrRegs +[x1]
             stp     xzr, xzr, [fp, #0x10]
             stp     xzr, xzr, [fp, #0x20]
             str     xzr, [fp, #0x30]
-            cbz     x1, G_M18368_IG29
+            cbz     x1, G_M18368_IG28
                      ;; size=36 bbWeight=4 PerfScore 34.00
-G_M18368_IG28:        ; bbWeight=1.94, gcrefRegs=4280002 {x1 x19 x21 x26}, byrefRegs=0000 {}, byref
+G_M18368_IG27:        ; bbWeight=1.94, gcrefRegs=1280002 {x1 x19 x21 x24}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             ldr     x0, [x23]
             ; gcrRegs +[x0]
@@ -587,19 +580,19 @@ G_M18368_IG28:        ; bbWeight=1.94, gcrefRegs=4280002 {x1 x19 x21 x26}, byref
             blr     x3
             ; gcrRegs -[x0-x1]
                        ;; size=32 bbWeight=1.94 PerfScore 23.34
-G_M18368_IG29:        ; bbWeight=4, gcrefRegs=4280000 {x19 x21 x26}, byrefRegs=0000 {}, byref, isz
-            mov     x1, x26
+G_M18368_IG28:        ; bbWeight=4, gcrefRegs=1280000 {x19 x21 x24}, byrefRegs=0000 {}, byref, isz
+            mov     x1, x24
             ; gcrRegs +[x1]
             ldr     x0, [x19, #0x08]
             ; gcrRegs +[x0]
             ldr     x2, [x19, #0x18]
             blr     x2
-            ; gcrRegs -[x0-x1 x26]
+            ; gcrRegs -[x0-x1 x24]
             add     w20, w20, #1
             cmp     w22, w20
             bgt     G_M18368_IG14
                        ;; size=28 bbWeight=4 PerfScore 38.00
-G_M18368_IG30:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+G_M18368_IG29:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
@@ -610,7 +603,7 @@ G_M18368_IG30:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             blr     x2
             ; gcrRegs -[x0 x19]
                        ;; size=24 bbWeight=1 PerfScore 8.50
-G_M18368_IG31:        ; bbWeight=1, epilog, nogc, extend
+G_M18368_IG30:        ; bbWeight=1, epilog, nogc, extend
             ldr     x27, [sp, #0x78]
             ldp     x25, x26, [sp, #0x68]
             ldp     x23, x24, [sp, #0x58]
@@ -619,8 +612,20 @@ G_M18368_IG31:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x80
             ret     lr
                        ;; size=28 bbWeight=1 PerfScore 8.00
-G_M18368_IG32:        ; bbWeight=0.00, gcVars=0000000000000000 {}, gcrefRegs=2280000 {x19 x21 x25}, byrefRegs=0000 {}, gcvars, byref
+G_M18368_IG31:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=2280000 {x19 x21 x25}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs +[x19 x21 x25]
+            add     x0, fp, #16   // [V03 loc1]
+            movz    x1, #0xD1FFAB1E
+            movk    x1, #0xD1FFAB1E LSL #16
+            movk    x1, #0xD1FFAB1E LSL #32
+            movz    x2, #0xD1FFAB1E      // code for <unknown method>
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
+            b       G_M18368_IG20
+                       ;; size=40 bbWeight=0.01 PerfScore 0.05
+G_M18368_IG32:        ; bbWeight=0.00, gcrefRegs=2280000 {x19 x21 x25}, byrefRegs=0000 {}, byref, isz
             add     x0, fp, #16   // [V03 loc1]
             mov     x1, x25
             ; gcrRegs +[x1]
@@ -630,26 +635,22 @@ G_M18368_IG32:        ; bbWeight=0.00, gcVars=0000000000000000 {}, gcrefRegs=228
             ldr     x2, [x2]
             blr     x2
             ; gcrRegs -[x1 x25]
-            b       G_M18368_IG24
-                       ;; size=32 bbWeight=0.00 PerfScore 0.03
-G_M18368_IG33:        ; bbWeight=2, gcrefRegs=8280000 {x19 x21 x27}, byrefRegs=1000000 {x24}, byref
-            ; gcrRegs +[x27]
-            ; byrRegs +[x24]
-            mov     x0, x27
-            ; gcrRegs +[x0]
-            mov     x1, x27
-            ; gcrRegs +[x1]
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            ; gcrRegs -[x0-x1 x27]
-            b       G_M18368_IG27
-                       ;; size=32 bbWeight=2 PerfScore 15.00
+            ldr     w24, [fp, #0x20] // [V03 loc1+0x10]
+            ldr     w0, [fp, #0x30]    // [V03 loc1+0x20]
+            cmp     w24, w0
+            bls     G_M18368_IG24
+                       ;; size=44 bbWeight=0.00 PerfScore 0.05
+G_M18368_IG33:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x19 x21]
+            movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
+            ldr     x0, [x0]
+            blr     x0
...
  
  
libraries.crossgen2.windows.arm64.checked.mch
-24 (-4.65%) : 24095.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
@@ -9,10 +9,10 @@
 ; 0 inlinees with PGO data; 12 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] (  3,  3   )    long  ->  x19         single-def
-;  V01 arg1         [V01,T19] (  3,  3   )    long  ->  x20         single-def
-;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x20]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T20] (  4, 11   )    long  ->  x20        
+;  V00 arg0         [V00,T19] (  3,  3   )    long  ->  x19         single-def
+;  V01 arg1         [V01,T20] (  3,  3   )    long  ->  x20         single-def
+;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x28]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
+;  V03 loc1         [V03,T21] (  4, 11   )    long  ->  x20        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
@@ -20,14 +20,14 @@
 ;  V08 tmp1         [V08,T10] (  7, 84   )     ref  ->  x19         class-hnd single-def "non-inline candidate call" <<unknown class>>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V11 tmp4         [V11,T29] (  2,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V12 tmp5         [V12,T22] (  2,  4   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp4         [V11,T30] (  2,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp5         [V12,T23] (  2,  4   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp10        [V17,T08] (  2, 16   )     int  ->   x3         "Inlining Arg"
-;  V18 tmp11        [V18,T07] (  2, 16   )   byref  ->  x11         "Inlining Arg"
+;  V17 tmp10        [V17,T07] (  2, 16   )     int  ->   x3         "Inlining Arg"
+;  V18 tmp11        [V18,T06] (  2, 16   )   byref  ->  x11         "Inlining Arg"
 ;* V19 tmp12        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V21 tmp14        [V21,T12] (  2,  8   )   ubyte  ->   x0         "Inline return value spill temp"
@@ -41,30 +41,30 @@
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V30 tmp23        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V32 tmp25        [V32,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V32 tmp25        [V32,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V33 tmp26        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V34 tmp27        [V34,T23] (  3, 17   )     ref  ->  x14         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V35 tmp28        [V35,T21] (  4, 18   )     int  ->  x15         "Inline stloc first use temp"
-;  V36 tmp29        [V36,T17] (  3, 20   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [fp+0x10]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
-;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
-;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
-;  V40 tmp33        [V40,T02] (  4, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V41 tmp34        [V41,T03] (  4, 20   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V34 tmp27        [V34,T24] (  3, 17   )     ref  ->  x14         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V35 tmp28        [V35,T22] (  4, 18   )     int  ->  x15         "Inline stloc first use temp"
+;  V36 tmp29        [V36,T18] (  3, 20   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [fp+0x18]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
+;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
+;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
+;  V40 tmp33        [V40,T03] (  4, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V41 tmp34        [V41,T02] (  4, 20   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V42 tmp35        [V42,T00] (  6, 41   )     int  ->  x22         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V43 tmp36        [V43,T05] (  3, 17   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
-;  V44 tmp37        [V44,T13] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp38        [V45,T15] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp36        [V43,T13] (  2,  9   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
+;  V44 tmp37        [V44,T14] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp38        [V45,T16] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V46 tmp39        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V47 tmp40        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V48 tmp41        [V48,T24] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;  V48 tmp41        [V48,T25] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V49 tmp42        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V50 tmp43        [V50,T27] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
-;  V51 tmp44        [V51,T25] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
+;* V50 tmp43        [V50,T28] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
+;  V51 tmp44        [V51,T26] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
 ;  V52 tmp45        [V52,T11] (  3, 12   )   byref  ->  x11         "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V53 tmp46        [V53,T06] (  4, 16   )     int  ->   x3         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V54 tmp47        [V54,T14] (  2,  8   )   byref  ->  x11         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V55 tmp48        [V55,T16] (  2,  8   )     int  ->   x3         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V53 tmp46        [V53,T05] (  4, 16   )     int  ->   x3         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V54 tmp47        [V54,T15] (  2,  8   )   byref  ->  x11         "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V55 tmp48        [V55,T17] (  2,  8   )     int  ->   x3         "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp50        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V58 tmp51        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
@@ -80,27 +80,27 @@
 ;* V68 tmp61        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V69 tmp62        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;  V70 tmp63        [V70,T01] (  3, 48   )     ref  ->   x2         "arr expr"
-;  V71 tmp64        [V71,T30] (  2,  0   )     ref  ->   x0         single-def "argument with side effect"
-;  V72 PSPSym       [V72,T28] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
-;  V73 cse0         [V73,T04] (  3, 24   )     int  ->  x23         "CSE - aggressive"
-;  V74 cse1         [V74,T26] (  2, 16   )     int  ->  x12         "CSE - moderate"
+;  V71 tmp64        [V71,T31] (  2,  0   )     ref  ->   x0         single-def "argument with side effect"
+;  V72 PSPSym       [V72,T29] (  1,  1   )    long  ->  [fp+0x38]  do-not-enreg[V] "PSPSym"
+;  V73 cse0         [V73,T09] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V74 cse1         [V74,T04] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V75 cse2         [V75,T27] (  2, 16   )     int  ->  x12         "CSE - moderate"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 48
 
 G_M19804_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x38]
-            stp     x21, x22, [sp, #0x48]
-            str     x23, [sp, #0x58]
+            stp     x19, x20, [sp, #0x40]
+            stp     x21, x22, [sp, #0x50]
             mov     fp, sp
-            str     xzr, [fp, #0x20]  // [V02 loc0]
+            str     xzr, [fp, #0x28] // [V02 loc0]
             add     x2, sp, #96
-            str     x2, [fp, #0x30]   // [V72 PSPSym]
+            str     x2, [fp, #0x38]    // [V72 PSPSym]
             mov     x19, x0
             mov     x20, x1
-                      ;; size=40 bbWeight=1 PerfScore 8.00
+                      ;; size=36 bbWeight=1 PerfScore 7.00
 G_M19804_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x0, fp, #16    // [V37 tmp30]
+            add     x0, fp, #24 // [V37 tmp30]
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x1, x1, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x1]
@@ -115,9 +115,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             blr     x1
             ; byrRegs +[x0]
             ; gcr arg pop 0
-            stp     x0, x1, [fp, #0x20]   // [V02 loc0], [V02 loc0+0x08]
+            stp     x0, x1, [fp, #0x28] // [V02 loc0], [V02 loc0+0x08]
             ldrb    w2, [x20, #0x08]
-            cbz     w2, G_M19804_IG11
+            cbz     w2, G_M19804_IG10
             ldr     x19, [x20]
             ; gcrRegs +[x19]
             ldr     w21, [x19, #0x14]
@@ -127,9 +127,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M19804_IG04:        ; bbWeight=4, gcrefRegs=80004 {x2 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x2]
             ; byrRegs -[x0]
-            ldr     x0, [fp, #0x20]   // [V38 tmp31]
+            ldr     x0, [fp, #0x28] // [V38 tmp31]
             ; byrRegs +[x0]
-            ldr     w1, [fp, #0x28]  // [V39 tmp32]
+            ldr     w1, [fp, #0x30] // [V39 tmp32]
             cbnz    x2, G_M19804_IG05
             mov     x11, xzr
             ; byrRegs +[x11]
@@ -156,15 +156,15 @@ G_M19804_IG06:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0801 {x0 x1
             blr     x3
             ; byrRegs -[x0-x1]
             ; gcr arg pop 0
-            cbnz    w0, G_M19804_IG14
+            cbnz    w0, G_M19804_IG13
                       ;; size=36 bbWeight=4 PerfScore 36.00
 G_M19804_IG07:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            ldr     w23, [x19, #0x14]
-            cmp     w21, w23
-            bne     G_M19804_IG10
+            ldr     w2, [x19, #0x14]
+            cmp     w21, w2
+            bne     G_M19804_IG09
             ldr     w2, [x19, #0x10]
             cmp     w22, w2
-            bhs     G_M19804_IG11
+            bhs     G_M19804_IG10
             ldr     x2, [x19, #0x08]
             ; gcrRegs +[x2]
             ldr     w0, [x2, #0x08]
@@ -196,13 +196,9 @@ G_M19804_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_windows #0
                        ;; size=20 bbWeight=0 PerfScore 0.00
 G_M19804_IG10:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            cmp     w21, w23
-            bne     G_M19804_IG09
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldr     x19, [x20]
             ; gcrRegs +[x19]
-            add     x0, fp, #32  // [V02 loc0]
+            add     x0, fp, #40  // [V02 loc0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x11]
@@ -218,9 +214,9 @@ G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x14]
             ldr     w12, [x14, #0x08]
             cmp     w12, w15
-            bls     G_M19804_IG13
+            bls     G_M19804_IG12
                      ;; size=56 bbWeight=8 PerfScore 168.00
-G_M19804_IG12:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG11:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             add     w12, w15, #1
             str     w12, [x19, #0x10]
@@ -236,9 +232,9 @@ G_M19804_IG12:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000
             blr     x12
             ; gcrRegs -[x1 x15 x19]
             ; byrRegs -[x14]
-            b       G_M19804_IG14
+            b       G_M19804_IG13
                      ;; size=40 bbWeight=1 PerfScore 9.50
-G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG12:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x1 x19]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -249,31 +245,29 @@ G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {},
             ; gcrRegs -[x0-x1 x19]
             ; gcr arg pop 0
                        ;; size=20 bbWeight=1 PerfScore 5.50
-G_M19804_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x0, fp, #16    // [V37 tmp30]
+G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            add     x0, fp, #24    // [V37 tmp30]
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x1, x1, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x1]
             blr     x1
             ; gcr arg pop 0
                        ;; size=20 bbWeight=1 PerfScore 5.50
-G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x23, [sp, #0x58]
-            ldp     x21, x22, [sp, #0x48]
-            ldp     x19, x20, [sp, #0x38]
+G_M19804_IG14:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x50]
+            ldp     x19, x20, [sp, #0x40]
             ldp     fp, lr, [sp], #0x60
             ret     lr
-                       ;; size=20 bbWeight=1 PerfScore 6.00
-G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                      ;; size=16 bbWeight=1 PerfScore 4.00
+G_M19804_IG15:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             ; gcrRegs +[x0]
             stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            str     x23, [sp, #0x38]
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
             add     x3, fp, #96
-            str     x3, [sp, #0x10]
-                       ;; size=24 bbWeight=0 PerfScore 0.00
-G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
+            str     x3, [sp, #0x18]
+                       ;; size=20 bbWeight=0 PerfScore 0.00
+G_M19804_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
...
  
-24 (-2.86%) : 22008.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
@@ -9,74 +9,75 @@
 ; 0 inlinees with PGO data; 23 single block inlinees; 10 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T17] (  7,  7   )     ref  ->  [fp+0x20]  class-hnd EH-live single-def <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;  V01 arg1         [V01,T14] (  3, 10   )     int  ->  x19         single-def
+;  V00 arg0         [V00,T18] (  7,  7   )     ref  ->  [fp+0x18]  class-hnd EH-live single-def <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
+;  V01 arg1         [V01,T15] (  3, 10   )     int  ->  x19         single-def
 ;* V02 arg2         [V02    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Threading.CancellationToken>
-;  V03 loc0         [V03,T15] (  4, 11   )   ubyte  ->  [fp+0x2C]  do-not-enreg[Z] EH-live
-;  V04 loc1         [V04,T05] (  7, 28   )     ref  ->  [fp+0x18]  class-hnd exact EH-live spill-single-def <System.Threading.Tasks.Task+SetOnCountdownMres>
+;  V03 loc0         [V03,T16] (  4, 11   )   ubyte  ->  [fp+0x24]  do-not-enreg[Z] EH-live
+;  V04 loc1         [V04,T04] (  7, 28   )     ref  ->  [fp+0x10]  class-hnd exact EH-live spill-single-def <System.Threading.Tasks.Task+SetOnCountdownMres>
 ;* V05 loc2         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V06 loc3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
 ;* V07 loc4         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V08 loc5         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V10 tmp1         [V10,T19] (  4,  8   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task+SetOnCountdownMres>
+;  V10 tmp1         [V10,T21] (  4,  8   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task+SetOnCountdownMres>
 ;* V11 tmp2         [V11    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V12 tmp3         [V12    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V13 tmp4         [V13    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V14 tmp5         [V14,T20] (  3,  6   )     int  ->  x22         "Inlining Arg"
+;  V14 tmp5         [V14,T22] (  3,  6   )     int  ->  x22         "Inlining Arg"
 ;* V15 tmp6         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V16 tmp7         [V16    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V17 tmp8         [V17    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V18 tmp9         [V18    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V19 tmp10        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V20 tmp11        [V20,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V20 tmp11        [V20,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V21 tmp12        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
 ;* V22 tmp13        [V22    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V23 tmp14        [V23    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;* V24 tmp15        [V24,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V24 tmp15        [V24,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V25 tmp16        [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;  V26 tmp17        [V26,T16] (  2,  9   )     ref  ->  x20         single-def "field V02._source (fldOffset=0x0)" P-INDEP
-;  V27 tmp18        [V27,T04] (  4, 25   )     ref  ->  x22         single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V26 tmp17        [V26,T17] (  2,  9   )     ref  ->  x20         single-def "field V02._source (fldOffset=0x0)" P-INDEP
+;  V27 tmp18        [V27,T05] (  4, 25   )     ref  ->  x22         single-def "field V05._list (fldOffset=0x0)" P-INDEP
 ;  V28 tmp19        [V28,T07] (  3, 16   )     ref  ->   x1         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V29 tmp20        [V29,T00] (  6, 41   )     int  ->  x24         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V30 tmp21        [V30,T11] (  3, 17   )     int  ->  x23         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V30 tmp21        [V30,T19] (  2,  9   )     int  ->  x23         "field V05._version (fldOffset=0x14)" P-INDEP
 ;  V31 tmp22        [V31,T06] (  4, 25   )     ref  ->  x19         single-def "field V07._list (fldOffset=0x0)" P-INDEP
 ;  V32 tmp23        [V32,T08] (  3, 16   )     ref  ->   x0         "field V07._current (fldOffset=0x8)" P-INDEP
 ;  V33 tmp24        [V33,T01] (  6, 41   )     int  ->  x21         "field V07._index (fldOffset=0x10)" P-INDEP
-;  V34 tmp25        [V34,T18] (  2,  9   )     int  ->  x20         "field V07._version (fldOffset=0x14)" P-INDEP
-;  V35 tmp26        [V35,T22] (  3,  3   )     ref  ->  x22         single-def "field V17._list (fldOffset=0x0)" P-INDEP
+;  V34 tmp25        [V34,T20] (  2,  9   )     int  ->  x20         "field V07._version (fldOffset=0x14)" P-INDEP
+;  V35 tmp26        [V35,T24] (  3,  3   )     ref  ->  x22         single-def "field V17._list (fldOffset=0x0)" P-INDEP
 ;* V36 tmp27        [V36    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V17._current (fldOffset=0x8)" P-INDEP
-;* V37 tmp28        [V37,T26] (  0,  0   )     int  ->  zero-ref    "field V17._index (fldOffset=0x10)" P-INDEP
-;  V38 tmp29        [V38,T24] (  2,  2   )     int  ->  x23         "field V17._version (fldOffset=0x14)" P-INDEP
-;  V39 tmp30        [V39,T23] (  3,  3   )     ref  ->  x19         single-def "field V22._list (fldOffset=0x0)" P-INDEP
+;* V37 tmp28        [V37,T28] (  0,  0   )     int  ->  zero-ref    "field V17._index (fldOffset=0x10)" P-INDEP
+;  V38 tmp29        [V38,T26] (  2,  2   )     int  ->  x23         "field V17._version (fldOffset=0x14)" P-INDEP
+;  V39 tmp30        [V39,T25] (  3,  3   )     ref  ->  x19         single-def "field V22._list (fldOffset=0x0)" P-INDEP
 ;* V40 tmp31        [V40    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V22._current (fldOffset=0x8)" P-INDEP
-;* V41 tmp32        [V41,T27] (  0,  0   )     int  ->  zero-ref    "field V22._index (fldOffset=0x10)" P-INDEP
-;  V42 tmp33        [V42,T25] (  2,  2   )     int  ->  x20         "field V22._version (fldOffset=0x14)" P-INDEP
-;  V43 tmp34        [V43,T21] (  2,  4   )     int  ->   x2         "argument with side effect"
+;* V41 tmp32        [V41,T29] (  0,  0   )     int  ->  zero-ref    "field V22._index (fldOffset=0x10)" P-INDEP
+;  V42 tmp33        [V42,T27] (  2,  2   )     int  ->  x20         "field V22._version (fldOffset=0x14)" P-INDEP
+;  V43 tmp34        [V43,T23] (  2,  4   )     int  ->   x2         "argument with side effect"
 ;  V44 tmp35        [V44,T02] (  3, 48   )     ref  ->   x1         "arr expr"
 ;  V45 tmp36        [V45,T03] (  3, 48   )     ref  ->   x0         "arr expr"
-;  V46 PSPSym       [V46,T28] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
-;  V47 cse0         [V47,T09] (  3, 24   )     int  ->  x25         "CSE - aggressive"
-;  V48 cse1         [V48,T10] (  2, 16   )     int  ->   x0         "CSE - aggressive"
+;  V46 PSPSym       [V46,T30] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
+;  V47 cse0         [V47,T13] (  2, 16   )     int  ->   x1         "CSE - aggressive"
+;  V48 cse1         [V48,T09] (  2, 16   )     int  ->   x1         "CSE - aggressive"
+;  V49 cse2         [V49,T14] (  2, 16   )     int  ->   x0         "CSE - aggressive"
+;  V50 cse3         [V50,T10] (  2, 16   )     int  ->   x0         "CSE - aggressive"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 32
 
 G_M12834_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x70]!
-            stp     x19, x20, [sp, #0x38]
-            stp     x21, x22, [sp, #0x48]
-            stp     x23, x24, [sp, #0x58]
-            str     x25, [sp, #0x68]
+            stp     fp, lr, [sp, #-0x60]!
+            stp     x19, x20, [sp, #0x30]
+            stp     x21, x22, [sp, #0x40]
+            stp     x23, x24, [sp, #0x50]
             mov     fp, sp
-            add     x3, sp, #112
-            str     x3, [fp, #0x30]    // [V46 PSPSym]
-            str     x0, [fp, #0x20]    // [V00 arg0]
+            add     x3, sp, #96
+            str     x3, [fp, #0x28]    // [V46 PSPSym]
+            str     x0, [fp, #0x18]    // [V00 arg0]
             ; GC ptr vars +{V00}
             mov     w19, w1
             mov     x20, x2
             ; gcrRegs +[x20]
-                     ;; size=44 bbWeight=1 PerfScore 9.00
-G_M12834_IG02:        ; bbWeight=1, gcVars=0000000000020000 {V00}, gcrefRegs=100001 {x0 x20}, byrefRegs=0000 {}, gcvars, byref, isz
+                      ;; size=40 bbWeight=1 PerfScore 8.00
+G_M12834_IG02:        ; bbWeight=1, gcVars=0000000000040000 {V00}, gcrefRegs=100001 {x0 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x0]
             cbnz    x0, G_M12834_IG03
             adrp    x1, [HIGH RELOC #0xD1FFAB1E]      // const ptr
@@ -96,7 +97,7 @@ G_M12834_IG02:        ; bbWeight=1, gcVars=0000000000020000 {V00}, gcrefRegs=100
             ; gcr arg pop 0
                        ;; size=52 bbWeight=1 PerfScore 20.00
 G_M12834_IG03:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
-            ldr     x0, [fp, #0x20] // [V00 arg0]
+            ldr     x0, [fp, #0x18]  // [V00 arg0]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x10]
             cmp     w1, #0
@@ -118,7 +119,7 @@ G_M12834_IG03:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, b
             ; gcr arg pop 0
                        ;; size=64 bbWeight=1 PerfScore 25.50
 G_M12834_IG04:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
-            str     wzr, [fp, #0x2C]    // [V03 loc0]
+            str     wzr, [fp, #0x24] // [V03 loc0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x11]
@@ -127,7 +128,7 @@ G_M12834_IG04:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, b
             ; gcr arg pop 0
             mov     x21, x0
             ; gcrRegs +[x21]
-            ldr     x0, [fp, #0x20]  // [V00 arg0]
+            ldr     x0, [fp, #0x18]  // [V00 arg0]
             ldr     w22, [x0, #0x10]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
@@ -168,11 +169,11 @@ G_M12834_IG04:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, b
                        ;; size=132 bbWeight=1 PerfScore 46.00
 G_M12834_IG05:        ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
             str     w22, [x21, #0x1C]
-            str     x21, [fp, #0x18]    // [V04 loc1]
+            str     x21, [fp, #0x10] // [V04 loc1]
             ; GC ptr vars +{V04}
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M12834_IG06:        ; bbWeight=1, gcVars=0000000000020020 {V00 V04}, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, gcvars, byref
-            ldr     x0, [fp, #0x20]    // [V00 arg0]
+G_M12834_IG06:        ; bbWeight=1, gcVars=0000000000040010 {V00 V04}, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, gcvars, byref
+            ldr     x0, [fp, #0x18]    // [V00 arg0]
             ; gcrRegs +[x0]
             mov     x22, x0
             ; gcrRegs +[x22]
@@ -232,12 +233,12 @@ G_M12834_IG08:        ; bbWeight=4, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=00
             ; gcr arg pop 0
                        ;; size=56 bbWeight=4 PerfScore 92.00
 G_M12834_IG09:        ; bbWeight=8, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0000 {}, byref, isz
-            ldr     w25, [x22, #0x14]
-            cmp     w23, w25
-            bne     G_M12834_IG12
+            ldr     w1, [x22, #0x14]
+            cmp     w23, w1
+            bne     G_M12834_IG11
             ldr     w1, [x22, #0x10]
             cmp     w24, w1
-            bhs     G_M12834_IG13
+            bhs     G_M12834_IG12
             ldr     x1, [x22, #0x08]
             ; gcrRegs +[x1]
             ldr     w11, [x1, #0x08]
@@ -269,12 +270,8 @@ G_M12834_IG11:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, b
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=20 bbWeight=0 PerfScore 0.00
-G_M12834_IG12:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M12834_IG12:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x20]
-            cmp     w23, w25
-            bne     G_M12834_IG11
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M12834_IG13:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
             mov     x0, x21
             ; gcrRegs +[x0]
             mov     x2, x20
@@ -286,50 +283,48 @@ G_M12834_IG13:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {
             blr     x3
             ; gcrRegs -[x0 x2 x20]
             ; gcr arg pop 0
-            str     w0, [fp, #0x2C]   // [V03 loc0]
+            str     w0, [fp, #0x24]  // [V03 loc0]
                        ;; size=32 bbWeight=8 PerfScore 60.00
-G_M12834_IG14:        ; bbWeight=1, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
-            ldr     x0, [fp, #0x30]    // [V46 PSPSym]
-            bl      G_M12834_IG18
+G_M12834_IG13:        ; bbWeight=1, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
+            ldr     x0, [fp, #0x28]    // [V46 PSPSym]
+            bl      G_M12834_IG17
                       ;; size=8 bbWeight=1 PerfScore 3.00
-G_M12834_IG15:        ; bbWeight=1, nogc, extend
+G_M12834_IG14:        ; bbWeight=1, nogc, extend
             nop     
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M12834_IG16:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M12834_IG15:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x21]
             ; GC ptr vars -{V00 V04}
-            ldr     w0, [fp, #0x2C]  // [V03 loc0]
+            ldr     w0, [fp, #0x24]  // [V03 loc0]
                        ;; size=4 bbWeight=1 PerfScore 2.00
-G_M12834_IG17:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x25, [sp, #0x68]
-            ldp     x23, x24, [sp, #0x58]
-            ldp     x21, x22, [sp, #0x48]
-            ldp     x19, x20, [sp, #0x38]
-            ldp     fp, lr, [sp], #0x70
+G_M12834_IG16:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x23, x24, [sp, #0x50]
+            ldp     x21, x22, [sp, #0x40]
+            ldp     x19, x20, [sp, #0x30]
+            ldp     fp, lr, [sp], #0x60
             ret     lr
-                        ;; size=24 bbWeight=1 PerfScore 7.00
-G_M12834_IG18:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                        ;; size=20 bbWeight=1 PerfScore 5.00
+G_M12834_IG17:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             stp     fp, lr, [sp, #-0x50]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            stp     x23, x24, [sp, #0x38]
-            str     x25, [sp, #0x48]
-            add     x3, fp, #112
-            str     x3, [sp, #0x10]
-                       ;; size=28 bbWeight=1 PerfScore 6.50
-G_M12834_IG19:        ; bbWeight=1, gcVars=0000000000020020 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
+            stp     x23, x24, [sp, #0x40]
+            add     x3, fp, #96
+            str     x3, [sp, #0x18]
+                       ;; size=24 bbWeight=1 PerfScore 5.50
+G_M12834_IG18:        ; bbWeight=1, gcVars=0000000000040010 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ; GC ptr vars +{V00 V04}
-            ldr     w0, [fp, #0x2C]   // [V03 loc0]
-            cbnz    w0, G_M12834_IG24
-            ldr     x0, [fp, #0x20]    // [V00 arg0]
+            ldr     w0, [fp, #0x24]  // [V03 loc0]
+            cbnz    w0, G_M12834_IG23
+            ldr     x0, [fp, #0x18]    // [V00 arg0]
             ; gcrRegs +[x0]
             mov     x19, x0
             ; gcrRegs +[x19]
             ldr     w20, [x19, #0x14]
...
  
-12 (-2.40%) : 24757.dasm - System.Diagnostics.Tracing.CounterGroup:ResetCounters():this (FullOpts)
@@ -9,32 +9,33 @@
 ; 0 inlinees with PGO data; 5 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T10] (  3,  3   )     ref  ->  x19         this class-hnd single-def <System.Diagnostics.Tracing.CounterGroup>
-;  V01 loc0         [V01,T15] (  4,  1.50)     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Object>
+;  V00 this         [V00,T11] (  3,  3   )     ref  ->  x19         this class-hnd single-def <System.Diagnostics.Tracing.CounterGroup>
+;  V01 loc0         [V01,T16] (  4,  1.50)     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Object>
 ;  V02 loc1         [V02    ] (  6,  5   )   ubyte  ->  [fp+0x20]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V03 loc2         [V03    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Diagnostics.Tracing.DiagnosticCounter]>
 ;* V04 loc3         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Diagnostics.Tracing.DiagnosticCounter>
 ;  V05 loc4         [V05,T06] (  3, 10   )     ref  ->   x0         class-hnd <<unknown class>>
-;  V06 loc5         [V06,T08] (  3,  6   )     ref  ->   x0         class-hnd <<unknown class>>
-;  V07 loc6         [V07,T09] (  3,  6   )     ref  ->   x0         class-hnd <<unknown class>>
+;  V06 loc5         [V06,T09] (  3,  6   )     ref  ->   x0         class-hnd <<unknown class>>
+;  V07 loc6         [V07,T10] (  3,  6   )     ref  ->   x0         class-hnd <<unknown class>>
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V09 tmp1         [V09,T12] (  2,  4   )   ubyte  ->   x1         "Inlining Arg"
-;  V10 tmp2         [V10,T11] (  2,  4   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V09 tmp1         [V09,T13] (  2,  4   )   ubyte  ->   x1         "Inlining Arg"
+;  V10 tmp2         [V10,T12] (  2,  4   )     ref  ->  x19         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V11 tmp3         [V11    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Diagnostics.Tracing.DiagnosticCounter]>
-;* V12 tmp4         [V12,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V12 tmp4         [V12,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V13 tmp5         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V14 tmp6         [V14,T02] (  4, 17   )     ref  ->  x19         single-def "field V03._list (fldOffset=0x0)" P-INDEP
-;  V15 tmp7         [V15,T04] (  4, 12   )     ref  ->  x22         "field V03._current (fldOffset=0x8)" P-INDEP
+;  V15 tmp7         [V15,T03] (  4, 12   )     ref  ->  x22         "field V03._current (fldOffset=0x8)" P-INDEP
 ;  V16 tmp8         [V16,T00] (  6, 21   )     int  ->  x21         "field V03._index (fldOffset=0x10)" P-INDEP
-;  V17 tmp9         [V17,T05] (  3, 13   )     int  ->  x20         "field V03._version (fldOffset=0x14)" P-INDEP
-;  V18 tmp10        [V18,T13] (  3,  3   )     ref  ->  x19         single-def "field V11._list (fldOffset=0x0)" P-INDEP
+;  V17 tmp9         [V17,T07] (  2,  9   )     int  ->  x20         "field V03._version (fldOffset=0x14)" P-INDEP
+;  V18 tmp10        [V18,T14] (  3,  3   )     ref  ->  x19         single-def "field V11._list (fldOffset=0x0)" P-INDEP
 ;* V19 tmp11        [V19    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V11._current (fldOffset=0x8)" P-INDEP
-;* V20 tmp12        [V20,T17] (  0,  0   )     int  ->  zero-ref    "field V11._index (fldOffset=0x10)" P-INDEP
-;  V21 tmp13        [V21,T14] (  2,  2   )     int  ->  x20         "field V11._version (fldOffset=0x14)" P-INDEP
+;* V20 tmp12        [V20,T18] (  0,  0   )     int  ->  zero-ref    "field V11._index (fldOffset=0x10)" P-INDEP
+;  V21 tmp13        [V21,T15] (  2,  2   )     int  ->  x20         "field V11._version (fldOffset=0x14)" P-INDEP
 ;  V22 tmp14        [V22,T01] (  3, 24   )     ref  ->   x0         "arr expr"
-;  V23 PSPSym       [V23,T18] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
-;  V24 cse0         [V24,T16] (  3,  1.50)     ref  ->   x0         "CSE - moderate"
-;  V25 cse1         [V25,T03] (  3, 20   )     int  ->  x22         "CSE - aggressive"
+;  V23 PSPSym       [V23,T19] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
+;  V24 cse0         [V24,T17] (  3,  1.50)     ref  ->   x0         "CSE - moderate"
+;  V25 cse1         [V25,T05] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V26 cse2         [V26,T04] (  2, 16   )     int  ->   x0         "CSE - aggressive"
 ;
 ; Lcl frame size = 32
 
@@ -62,7 +63,7 @@ G_M25759_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             ; GC ptr vars +{V01}
             str     wzr, [fp, #0x20]   // [V02 loc1]
                        ;; size=28 bbWeight=1 PerfScore 10.00
-G_M25759_IG03:        ; bbWeight=1, gcVars=0000000000008000 {V01}, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M25759_IG03:        ; bbWeight=1, gcVars=0000000000010000 {V01}, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w1, [fp, #0x20]    // [V02 loc1]
             cbnz    w1, G_M25759_IG09
             add     x1, fp, #32    // [V02 loc1]
@@ -96,19 +97,19 @@ G_M25759_IG05:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             mov     w21, wzr
                        ;; size=12 bbWeight=1 PerfScore 6.50
 G_M25759_IG06:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            ldr     w22, [x19, #0x14]
-            cmp     w20, w22
-            bne     G_M25759_IG12
+            ldr     w0, [x19, #0x14]
+            cmp     w20, w0
+            bne     G_M25759_IG13
                       ;; size=12 bbWeight=8 PerfScore 36.00
 G_M25759_IG07:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x19, #0x10]
             cmp     w21, w0
-            bhs     G_M25759_IG15
+            bhs     G_M25759_IG14
             ldr     x0, [x19, #0x08]
             ; gcrRegs +[x0]
             ldr     w11, [x0, #0x08]
             cmp     w21, w11
-            bhs     G_M25759_IG13
+            bhs     G_M25759_IG12
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
@@ -181,20 +182,15 @@ G_M25759_IG11:        ; bbWeight=2, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {
             ; gcr arg pop 0
             b       G_M25759_IG06
                        ;; size=44 bbWeight=2 PerfScore 25.00
-G_M25759_IG12:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M25759_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
-            cmp     w20, w22
-            bne     G_M25759_IG14
-            b       G_M25759_IG15
-                       ;; size=12 bbWeight=4 PerfScore 10.00
-G_M25759_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x0]
             blr     x0
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M25759_IG14:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M25759_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x11]
@@ -202,11 +198,11 @@ G_M25759_IG14:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=20 bbWeight=0 PerfScore 0.00
-G_M25759_IG15:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M25759_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [fp, #0x20] // [V02 loc1]
-            cbz     w0, G_M25759_IG17
+            cbz     w0, G_M25759_IG16
                      ;; size=8 bbWeight=1 PerfScore 3.00
-G_M25759_IG16:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M25759_IG15:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ldr     x0, [fp, #0x18]  // [V01 loc0]
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -217,41 +213,41 @@ G_M25759_IG16:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=20 bbWeight=0.50 PerfScore 3.50
-G_M25759_IG17:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M25759_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ldp     x21, x22, [sp, #0x40]
             ldp     x19, x20, [sp, #0x30]
             ldp     fp, lr, [sp], #0x50
             ret     lr
                        ;; size=16 bbWeight=1 PerfScore 4.00
-G_M25759_IG18:        ; bbWeight=0, gcVars=0000000000008000 {V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-            ; GC ptr vars +{V01 V15}
+G_M25759_IG17:        ; bbWeight=0, gcVars=0000000000010000 {V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+            ; GC ptr vars +{V01 V16}
             stp     fp, lr, [sp, #-0x40]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             add     x3, fp, #80
             str     x3, [sp, #0x18]
                        ;; size=20 bbWeight=0 PerfScore 0.00
-G_M25759_IG19:        ; bbWeight=0, gcVars=0000000000008000 {V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M25759_IG18:        ; bbWeight=0, gcVars=0000000000010000 {V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w0, [fp, #0x20]   // [V02 loc1]
-            cbz     w0, G_M25759_IG20
+            cbz     w0, G_M25759_IG19
             ldr     x0, [fp, #0x18]  // [V01 loc0]
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x11]
-            ; GC ptr vars -{V01 V15}
+            ; GC ptr vars -{V01 V16}
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=28 bbWeight=0 PerfScore 0.00
-G_M25759_IG20:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M25759_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=16 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 500, prolog size 28, PerfScore 248.25, instruction count 125, allocated bytes for code 500 (MethodHash=a2079b60) for method System.Diagnostics.Tracing.CounterGroup:ResetCounters():this (FullOpts)
+; Total bytes of code 488, prolog size 28, PerfScore 238.25, instruction count 122, allocated bytes for code 488 (MethodHash=a2079b60) for method System.Diagnostics.Tracing.CounterGroup:ResetCounters():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -262,7 +258,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 109 (0x0006d) Actual length = 436 (0x0001b4)
+  Function Length   : 106 (0x0006a) Actual length = 424 (0x0001a8)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -299,4 +295,4 @@ Unwind Info:
 
 *************** EH table for System.Diagnostics.Tracing.CounterGroup:ResetCounters():this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M25759_IG03..G_M25759_IG15) handled by [G_M25759_IG18..END) (fault)
+EH#0: try [G_M25759_IG03..G_M25759_IG14) handled by [G_M25759_IG17..END) (fault)
  
+0 (0.00%) : 264605.dasm - ParallelRunner:BuildProjects(int,int,int,int,System.Collections.Generic.List`1[ProcessInfo],ReadyToRunJittedMethods,int) (FullOpts)
@@ -10,36 +10,36 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T26] (  4,   4   )     int  ->  x24         single-def
-;  V01 arg1         [V01,T14] (  4,  35   )     int  ->  x19         single-def
-;  V02 arg2         [V02,T16] (  3,  34   )     int  ->  x21         single-def
-;  V03 arg3         [V03    ] (  5, 354   )     int  ->  [fp+0x34]  do-not-enreg[X] addr-exposed ld-addr-op single-def
-;  V04 arg4         [V04,T24] (  3,   6   )     ref  ->  x23         class-hnd single-def <System.Collections.Generic.List`1[ProcessInfo]>
-;  V05 arg5         [V05,T15] (  3,  34   )     ref  ->  x20         class-hnd single-def <ReadyToRunJittedMethods>
-;  V06 arg6         [V06,T23] (  7,   8.50)     int  ->  x22         single-def
-;  V07 loc0         [V07,T22] (  7,  15   )     ref  ->  [fp+0x18]  class-hnd exact EH-live single-def <System.Threading.AutoResetEvent>
+;  V01 arg1         [V01,T20] (  4,   7   )     int  ->  x20         single-def
+;  V02 arg2         [V02,T23] (  3,   6   )     int  ->  x23         single-def
+;  V03 arg3         [V03    ] (  5, 326   )     int  ->  [fp+0x34]  do-not-enreg[X] addr-exposed ld-addr-op single-def
+;  V04 arg4         [V04,T21] (  3,   6   )     ref  ->  x21         class-hnd single-def <System.Collections.Generic.List`1[ProcessInfo]>
+;  V05 arg5         [V05,T22] (  3,   6   )     ref  ->  x22         class-hnd single-def <ReadyToRunJittedMethods>
+;  V06 arg6         [V06,T19] (  7,   8.50)     int  ->  x19         single-def
+;  V07 loc0         [V07,T18] (  7,  15   )     ref  ->  [fp+0x18]  class-hnd exact EH-live single-def <System.Threading.AutoResetEvent>
 ;  V08 loc1         [V08,T07] (  8, 125.50)     ref  ->  x26         class-hnd exact single-def <<unknown class>>
-;  V09 loc2         [V09    ] (  4, 353   )     int  ->  [fp+0x28]  do-not-enreg[X] must-init addr-exposed ld-addr-op
-;  V10 loc3         [V10,T20] (  3,  24   )   ubyte  ->  x22        
-;  V11 loc4         [V11,T21] ( 12,  21.04)     int  ->  x27        
-;  V12 loc5         [V12,T10] (  7, 134   )     int  ->  x24        
-;  V13 loc6         [V13,T17] (  2,  36   )     ref  ->  x22         class-hnd <ProcessInfo>
-;  V14 loc7         [V14,T06] (  4, 196   )     ref  ->  x27         class-hnd <ParallelRunner+ProcessSlot>
-;* V15 loc8         [V15,T19] (  0,   0   )     ref  ->  zero-ref    class-hnd exact <<unknown class>>
+;  V09 loc2         [V09    ] (  4, 325   )     int  ->  [fp+0x28]  do-not-enreg[X] must-init addr-exposed ld-addr-op
+;  V10 loc3         [V10,T15] (  3,  24   )   ubyte  ->  x19        
+;  V11 loc4         [V11,T17] ( 12,  21.04)     int  ->  x27        
+;  V12 loc5         [V12,T16] (  7,  22   )     int  ->  x24        
+;  V13 loc6         [V13,T24] (  2,   8   )     ref  ->  x19         class-hnd <ProcessInfo>
+;  V14 loc7         [V14,T06] (  4, 168   )     ref  ->  x27         class-hnd <ParallelRunner+ProcessSlot>
+;* V15 loc8         [V15,T14] (  0,   0   )     ref  ->  zero-ref    class-hnd exact <<unknown class>>
 ;  V16 loc9         [V16,T04] (  5, 288   )     int  ->  x28        
 ;  V17 loc10        [V17,T01] (  5, 768   )     ref  ->  [fp+0x10]  class-hnd spill-single-def <ParallelRunner+ProcessSlot>
 ;* V18 loc11        [V18,T25] (  0,   0   )     ref  ->  zero-ref    class-hnd exact <<unknown class>>
-;  V19 loc12        [V19,T12] (  5,  72   )     int  ->  x24        
+;  V19 loc12        [V19,T11] (  5,  72   )     int  ->  x24        
 ;  V20 loc13        [V20,T09] (  4, 160   )     ref  ->  x27         class-hnd <ParallelRunner+ProcessSlot>
 ;# V21 OutArgs      [V21    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V22 tmp1         [V22,T27] (  3,   6   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Threading.AutoResetEvent>
-;  V23 tmp2         [V23,T18] (  8,  32   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <ParallelRunner+ProcessSlot>
+;  V23 tmp2         [V23,T13] (  8,  32   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <ParallelRunner+ProcessSlot>
 ;* V24 tmp3         [V24,T05] (  0,   0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V25 tmp4         [V25,T00] (  4,2048   )     ref  ->  x27         class-hnd "Inlining Arg" <ProcessRunner>
-;* V26 tmp5         [V26,T13] (  0,   0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V27 tmp6         [V27,T02] (  4, 512   )     ref  ->  x19         class-hnd "Inlining Arg" <ProcessRunner>
+;* V26 tmp5         [V26,T12] (  0,   0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V27 tmp6         [V27,T02] (  4, 512   )     ref  ->  x20         class-hnd "Inlining Arg" <ProcessRunner>
 ;  V28 PSPSym       [V28,T28] (  1,   1   )    long  ->  [fp+0x38]  do-not-enreg[V] "PSPSym"
 ;  V29 cse0         [V29,T03] (  3, 384   )     ref  ->   x0         "CSE - aggressive"
-;  V30 cse1         [V30,T11] (  3,  96   )     ref  ->   x0         "CSE - aggressive"
+;  V30 cse1         [V30,T10] (  3,  96   )     ref  ->   x0         "CSE - aggressive"
 ;  V31 cse2         [V31,T08] (  9, 161.04)     int  ->  [fp+0x24]  multi-def "CSE - aggressive"
 ;
 ; Lcl frame size = 48
@@ -57,15 +57,15 @@ G_M64833_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             str     x7, [fp, #0x38]    // [V28 PSPSym]
             str     w3, [fp, #0x34]    // [V03 arg3]
             mov     w24, w0
-            mov     w19, w1
-            mov     w21, w2
-            mov     x23, x4
-            ; gcrRegs +[x23]
-            mov     x20, x5
-            ; gcrRegs +[x20]
-            mov     w22, w6
+            mov     w20, w1
+            mov     w23, w2
+            mov     x21, x4
+            ; gcrRegs +[x21]
+            mov     x22, x5
+            ; gcrRegs +[x22]
+            mov     w19, w6
                         ;; size=68 bbWeight=1 PerfScore 13.00
-G_M64833_IG02:        ; bbWeight=1, gcrefRegs=900000 {x20 x23}, byrefRegs=0000 {}, byref
+G_M64833_IG02:        ; bbWeight=1, gcrefRegs=600000 {x21 x22}, byrefRegs=0000 {}, byref
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x11]
@@ -84,8 +84,8 @@ G_M64833_IG02:        ; bbWeight=1, gcrefRegs=900000 {x20 x23}, byrefRegs=0000 {
             str     x25, [fp, #0x18]   // [V07 loc0]
             ; GC ptr vars +{V07}
                        ;; size=44 bbWeight=1 PerfScore 12.00
-G_M64833_IG03:        ; bbWeight=1, gcVars=0000000000400000 {V07}, gcrefRegs=2900000 {x20 x23 x25}, byrefRegs=0000 {}, gcvars, byref, isz
-            sxtw    x0, w22
+G_M64833_IG03:        ; bbWeight=1, gcVars=0000000000040000 {V07}, gcrefRegs=2600000 {x21 x22 x25}, byrefRegs=0000 {}, gcvars, byref, isz
+            sxtw    x0, w19
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x1, [x11]
@@ -95,16 +95,16 @@ G_M64833_IG03:        ; bbWeight=1, gcVars=0000000000400000 {V07}, gcrefRegs=290
             mov     x26, x0
             ; gcrRegs +[x26]
             mov     w27, wzr
-            cmp     w22, #0
+            cmp     w19, #0
             ble     G_M64833_IG06
                        ;; size=36 bbWeight=1 PerfScore 8.00
-G_M64833_IG04:        ; bbWeight=0.50, gcrefRegs=6900000 {x20 x23 x25 x26}, byrefRegs=0000 {}, byref, isz
+G_M64833_IG04:        ; bbWeight=0.50, gcrefRegs=6600000 {x21 x22 x25 x26}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
             ldr     w28, [x26, #0x08]
-            cmp     w28, w22
+            cmp     w28, w19
             blt     G_M64833_IG14
                        ;; size=12 bbWeight=0.50 PerfScore 2.25
-G_M64833_IG05:        ; bbWeight=3.96, gcrefRegs=6900000 {x20 x23 x25 x26}, byrefRegs=0000 {}, byref, isz
+G_M64833_IG05:        ; bbWeight=3.96, gcrefRegs=6600000 {x21 x22 x25 x26}, byrefRegs=0000 {}, byref, isz
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x11]
@@ -134,16 +134,16 @@ G_M64833_IG05:        ; bbWeight=3.96, gcrefRegs=6900000 {x20 x23 x25 x26}, byre
             ; gcrRegs -[x0 x15]
             ; byrRegs -[x14]
             add     w27, w27, #1
-            cmp     w27, w22
+            cmp     w27, w19
             blt     G_M64833_IG05
                        ;; size=84 bbWeight=3.96 PerfScore 83.16
-G_M64833_IG06:        ; bbWeight=1, gcrefRegs=6900000 {x20 x23 x25 x26}, byrefRegs=0000 {}, byref, isz
+G_M64833_IG06:        ; bbWeight=1, gcrefRegs=6600000 {x21 x22 x25 x26}, byrefRegs=0000 {}, byref, isz
             str     w24, [fp, #0x28]    // [V09 loc2]
-            cmp     w24, w19
+            cmp     w24, w20
             bge     G_M64833_IG19
                        ;; size=12 bbWeight=1 PerfScore 2.50
-G_M64833_IG07:        ; bbWeight=4, gcrefRegs=6900000 {x20 x23 x25 x26}, byrefRegs=0000 {}, byref
-            mov     x0, x23
+G_M64833_IG07:        ; bbWeight=4, gcrefRegs=6600000 {x21 x22 x25 x26}, byrefRegs=0000 {}, byref
+            mov     x0, x21
             ; gcrRegs +[x0]
             mov     w1, w24
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -152,12 +152,12 @@ G_M64833_IG07:        ; bbWeight=4, gcrefRegs=6900000 {x20 x23 x25 x26}, byrefRe
             ldr     x2, [x11]
             blr     x2
             ; gcr arg pop 0
-            mov     x22, x0
-            ; gcrRegs +[x22]
+            mov     x19, x0
+            ; gcrRegs +[x19]
             mov     x27, xzr
             ; gcrRegs +[x27]
                        ;; size=36 bbWeight=4 PerfScore 40.00
-G_M64833_IG08:        ; bbWeight=32, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, byref, isz
+G_M64833_IG08:        ; bbWeight=32, gcrefRegs=E680000 {x19 x21 x22 x25 x26 x27}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
             mov     w28, wzr
             ldr     w0, [x26, #0x08]
@@ -166,7 +166,7 @@ G_M64833_IG08:        ; bbWeight=32, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}
             cmp     w3, #0
             ble     G_M64833_IG11
                        ;; size=24 bbWeight=32 PerfScore 208.00
-G_M64833_IG09:        ; bbWeight=64, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, byref, isz
+G_M64833_IG09:        ; bbWeight=64, gcrefRegs=E680000 {x19 x21 x22 x25 x26 x27}, byrefRegs=0000 {}, byref, isz
             add     x0, x26, #16
             ; byrRegs +[x0]
             ldr     x4, [x0, w28, UXTW #3]
@@ -178,17 +178,17 @@ G_M64833_IG09:        ; bbWeight=64, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}
             ; byrRegs -[x0]
             cbnz    x0, G_M64833_IG15
                        ;; size=20 bbWeight=64 PerfScore 544.00
-G_M64833_IG10:        ; bbWeight=128, gcVars=0000000000400002 {V07 V17}, gcrefRegs=6D00010 {x4 x20 x22 x23 x25 x26}, byrefRegs=0000 {}, gcvars, byref
+G_M64833_IG10:        ; bbWeight=128, gcVars=0000000000040002 {V07 V17}, gcrefRegs=6680010 {x4 x19 x21 x22 x25 x26}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0 x27]
             mov     x27, x4
             ; gcrRegs +[x27]
                        ;; size=4 bbWeight=128 PerfScore 64.00
-G_M64833_IG11:        ; bbWeight=32, gcVars=0000000000400000 {V07}, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M64833_IG11:        ; bbWeight=32, gcVars=0000000000040000 {V07}, gcrefRegs=E680000 {x19 x21 x22 x25 x26 x27}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x4]
             ; GC ptr vars -{V17}
             cbnz    x27, G_M64833_IG18
                        ;; size=4 bbWeight=32 PerfScore 32.00
-G_M64833_IG12:        ; bbWeight=8, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, byref
+G_M64833_IG12:        ; bbWeight=8, gcrefRegs=E680000 {x19 x21 x22 x25 x26 x27}, byrefRegs=0000 {}, byref
             mov     x0, x25
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -201,15 +201,15 @@ G_M64833_IG12:        ; bbWeight=8, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27},
             b       G_M64833_IG08
                        ;; size=28 bbWeight=8 PerfScore 56.00
 G_M64833_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x20 x22-x23 x25-x27]
+            ; gcrRegs -[x19 x21-x22 x25-x27]
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x0]
             blr     x0
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M64833_IG14:        ; bbWeight=0.04, gcrefRegs=6900000 {x20 x23 x25 x26}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x20 x23 x25-x26]
+G_M64833_IG14:        ; bbWeight=0.04, gcrefRegs=6600000 {x21 x22 x25 x26}, byrefRegs=0000 {}, byref, isz
+            ; gcrRegs +[x21-x22 x25-x26]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x11]
@@ -241,12 +241,12 @@ G_M64833_IG14:        ; bbWeight=0.04, gcrefRegs=6900000 {x20 x23 x25 x26}, byre
             ; gcrRegs -[x0 x15]
             ; byrRegs -[x14]
             add     w27, w27, #1
-            cmp     w27, w22
+            cmp     w27, w19
             blt     G_M64833_IG14
             b       G_M64833_IG06
                        ;; size=96 bbWeight=0.04 PerfScore 0.94
-G_M64833_IG15:        ; bbWeight=256, gcVars=0000000000400002 {V07 V17}, gcrefRegs=ED00011 {x0 x4 x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, gcvars, byref, isz
-            ; gcrRegs +[x0 x4 x22 x27]
+G_M64833_IG15:        ; bbWeight=256, gcVars=0000000000040002 {V07 V17}, gcrefRegs=E680011 {x0 x4 x19 x21 x22 x25 x26 x27}, byrefRegs=0000 {}, gcvars, byref, isz
+            ; gcrRegs +[x0 x4 x19 x27]
             ; GC ptr vars +{V01 V17}
             add     x2, fp, #52    // [V03 arg3]
             add     x1, fp, #40    // [V09 loc2]
@@ -283,7 +283,7 @@ G_M64833_IG15:        ; bbWeight=256, gcVars=0000000000400002 {V07 V17}, gcrefRe
             ; gcrRegs +[x4]
             b       G_M64833_IG10
                        ;; size=96 bbWeight=256 PerfScore 8064.00
-G_M64833_IG16:        ; bbWeight=64, gcVars=0000000000400000 {V07}, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M64833_IG16:        ; bbWeight=64, gcVars=0000000000040000 {V07}, gcrefRegs=E680000 {x19 x21 x22 x25 x26 x27}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x4 x28] +[x27]
             ; GC ptr vars -{V01 V17}
             add     w28, w28, #1
@@ -292,33 +292,33 @@ G_M64833_IG16:        ; bbWeight=64, gcVars=0000000000400000 {V07}, gcrefRegs=ED
             str     w2, [fp, #0x24]    // [V31 cse2]
             bgt     G_M64833_IG09
                        ;; size=20 bbWeight=64 PerfScore 320.00
-G_M64833_IG17:        ; bbWeight=32, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, byref
+G_M64833_IG17:        ; bbWeight=32, gcrefRegs=E680000 {x19 x21 x22 x25 x26 x27}, byrefRegs=0000 {}, byref
             b       G_M64833_IG11
                        ;; size=4 bbWeight=32 PerfScore 32.00
-G_M64833_IG18:        ; bbWeight=32, gcrefRegs=ED00000 {x20 x22 x23 x25 x26 x27}, byrefRegs=0000 {}, byref, isz
+G_M64833_IG18:        ; bbWeight=4, gcrefRegs=E680000 {x19 x21 x22 x25 x26 x27}, byrefRegs=0000 {}, byref, isz
             add     w3, w24, #1
             mov     x0, x27
             ; gcrRegs +[x0]
             ldr     w6, [fp, #0x34]    // [V03 arg3]
-            mov     x1, x22
+            mov     x1, x19
             ; gcrRegs +[x1]
-            mov     x2, x20
+            mov     x2, x22
             ; gcrRegs +[x2]
-            mov     w4, w21
+            mov     w4, w23
             ldr     w5, [fp, #0x28]    // [V09 loc2]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             ldr     x7, [x11]
...
  
+8 (+0.09%) : 23691.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
@@ -23,9 +23,9 @@
 ;* V11 loc10        [V11    ] (  0,  0   )     int  ->  zero-ref    ptr
 ;* V12 loc11        [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact ptr <System.Diagnostics.Tracing.ManifestBuilder+ChannelInfo>
 ;  V13 loc12        [V13,T63] (  5, 14   )     ref  ->  x24         class-hnd <System.String>
-;  V14 loc13        [V14,T90] (  3,  8   )   ubyte  ->  x25        
-;  V15 loc14        [V15,T82] (  4, 10   )     ref  ->  x26         class-hnd <System.String>
-;  V16 loc15        [V16,T87] (  4,  8   )     ref  ->  x25         class-hnd exact <System.Diagnostics.Tracing.EventChannelAttribute>
+;  V14 loc13        [V14,T89] (  3,  8   )   ubyte  ->  x25        
+;  V15 loc14        [V15,T81] (  4, 10   )     ref  ->  x26         class-hnd <System.String>
+;  V16 loc15        [V16,T86] (  4,  8   )     ref  ->  x25         class-hnd exact <System.Diagnostics.Tracing.EventChannelAttribute>
 ;  V17 loc16        [V17,T148] (  2,  4   )     int  ->  x24         ld-addr-op
 ;* V18 loc17        [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def ptr <System.Collections.Generic.List`1[int]>
 ;* V19 loc18        [V19    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[int]>
@@ -34,7 +34,7 @@
 ;  V22 loc21        [V22,T23] (  7, 28   )     ref  ->  x21         class-hnd <System.Type>
 ;  V23 loc22        [V23,T58] (  3, 16   )   ubyte  ->  x22        
 ;  V24 loc23        [V24,T51] (  7, 16   )     ref  ->  x23         class-hnd <System.String>
-;  V25 loc24        [V25,T92] (  2,  8   )     ref  ->  x24         class-hnd <System.Reflection.FieldInfo[]>
+;  V25 loc24        [V25,T91] (  2,  8   )     ref  ->  x24         class-hnd <System.Reflection.FieldInfo[]>
 ;  V26 loc25        [V26,T59] (  3, 16   )   ubyte  ->  x25        
 ;  V27 loc26        [V27,T32] (  3, 24   )     ref  ->  x24         class-hnd <System.Reflection.FieldInfo[]>
 ;  V28 loc27        [V28,T06] (  5, 68   )     int  ->  x26        
@@ -50,22 +50,22 @@
 ;* V38 loc37        [V38    ] (  0,  0   )    long  ->  zero-ref    ld-addr-op ptr
 ;  V39 loc38        [V39    ] (  2,  4   )     int  ->  [fp+0x88]  do-not-enreg[X] addr-exposed ld-addr-op ptr
 ;* V40 loc39        [V40    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[ushort]>
-;  V41 loc40        [V41,T83] (  4, 10   )     ref  ->  x20         class-hnd exact single-def <<unknown class>>
-;  V42 loc41        [V42,T48] (  5, 17   )     int  ->  x22        
+;  V41 loc40        [V41,T82] (  4, 10   )     ref  ->  x20         class-hnd exact single-def <<unknown class>>
+;  V42 loc41        [V42,T49] (  5, 17   )     int  ->  x22        
 ;  V43 loc42        [V43,T64] (  5, 14   )     ref  ->  x23         class-hnd exact <System.String>
-;  V44 loc43        [V44,T84] (  4, 10   )     ref  ->  x24         class-hnd exact <System.String>
+;  V44 loc43        [V44,T83] (  4, 10   )     ref  ->  x24         class-hnd exact <System.String>
 ;# V45 OutArgs      [V45    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V46 tmp1         [V46    ] (  1,  1   )  struct (32) [fp+0xF8]  do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
 ;* V47 tmp2         [V47    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V48 tmp3         [V48,T106] (  4,  6   )     ref  ->  x21         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
 ;* V49 tmp4         [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def ptr
-;  V50 tmp5         [V50,T80] (  5, 10   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[int]>
+;  V50 tmp5         [V50,T79] (  5, 10   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[int]>
 ;  V51 tmp6         [V51,T70] (  3, 12   )     ref  ->   x0         class-hnd exact "dup spill" <System.Text.StringBuilder>
 ;* V52 tmp7         [V52    ] (  0,  0   )     ref  ->  zero-ref    ptr
-;  V53 tmp8         [V53,T38] (  5, 20   )     ref  ->  x25         class-hnd exact "impAppendStmt" <System.Text.StringBuilder>
-;  V54 tmp9         [V54,T39] (  5, 20   )     ref  ->  x25         class-hnd exact "dup spill" <System.Text.StringBuilder>
+;  V53 tmp8         [V53,T39] (  5, 20   )     ref  ->  x25         class-hnd exact "impAppendStmt" <System.Text.StringBuilder>
+;  V54 tmp9         [V54,T40] (  5, 20   )     ref  ->  x25         class-hnd exact "dup spill" <System.Text.StringBuilder>
 ;* V55 tmp10        [V55    ] (  0,  0   )     ref  ->  zero-ref    ptr
-;  V56 tmp11        [V56,T45] (  4, 18   )     ref  ->  x21         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
+;  V56 tmp11        [V56,T46] (  4, 18   )     ref  ->  x21         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
 ;* V57 tmp12        [V57    ] (  0,  0   )     ref  ->  zero-ref    single-def ptr
 ;  V58 tmp13        [V58,T107] (  4,  6   )     ref  ->  x20         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
 ;* V59 tmp14        [V59    ] (  0,  0   )     ref  ->  zero-ref    single-def ptr
@@ -116,18 +116,18 @@
 ;  V104 tmp59       [V104,T126] (  5,  5   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[ulong]>
 ;  V105 tmp60       [V105,T71] (  3, 12   )     ref  ->   x0         class-hnd exact "dup spill" <System.Text.StringBuilder>
 ;* V106 tmp61       [V106    ] (  0,  0   )     ref  ->  zero-ref    ptr
-;  V107 tmp62       [V107,T40] (  5, 20   )     ref  ->  x25         class-hnd exact "impAppendStmt" <System.Text.StringBuilder>
+;  V107 tmp62       [V107,T41] (  5, 20   )     ref  ->  x25         class-hnd exact "impAppendStmt" <System.Text.StringBuilder>
 ;* V108 tmp63       [V108    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <System.Span`1[ushort]>
 ;* V109 tmp64       [V109    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V110 tmp65       [V110,T14] (  8, 32   )     ref  ->  x25         class-hnd exact "dup spill" <System.Text.StringBuilder>
 ;* V111 tmp66       [V111    ] (  0,  0   )     ref  ->  zero-ref    ptr
 ;* V112 tmp67       [V112    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact ptr "impAppendStmt" <System.Text.StringBuilder>
 ;* V113 tmp68       [V113    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V114 tmp69       [V114,T46] (  4, 18   )     ref  ->  x20         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
+;  V114 tmp69       [V114,T47] (  4, 18   )     ref  ->  x20         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
 ;* V115 tmp70       [V115    ] (  0,  0   )     ref  ->  zero-ref    single-def ptr
 ;  V116 tmp71       [V116,T136] (  4,  4   )     ref  ->  x21         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
 ;* V117 tmp72       [V117    ] (  0,  0   )     ref  ->  zero-ref    single-def ptr
-;  V118 tmp73       [V118,T88] (  3,  8   )     ref  ->  x23        
+;  V118 tmp73       [V118,T87] (  3,  8   )     ref  ->  x23        
 ;  V119 tmp74       [V119,T11] (  8, 40   )     ref  ->  x24         class-hnd exact "dup spill" <System.Text.StringBuilder>
 ;* V120 tmp75       [V120    ] (  0,  0   )     ref  ->  zero-ref    ptr
 ;* V121 tmp76       [V121    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact ptr "non-inline candidate call" <System.Text.StringBuilder>
@@ -156,10 +156,10 @@
 ;  V144 tmp99       [V144,T127] (  5,  5   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[int]>
 ;  V145 tmp100      [V145,T73] (  3, 12   )     ref  ->   x0         class-hnd exact "dup spill" <System.Text.StringBuilder>
 ;* V146 tmp101      [V146    ] (  0,  0   )     ref  ->  zero-ref    ptr
-;  V147 tmp102      [V147,T41] (  5, 20   )     ref  ->  x25         class-hnd exact "impAppendStmt" <System.Text.StringBuilder>
+;  V147 tmp102      [V147,T42] (  5, 20   )     ref  ->  x25         class-hnd exact "impAppendStmt" <System.Text.StringBuilder>
 ;  V148 tmp103      [V148,T53] (  4, 16   )     ref  ->  x25         class-hnd exact "dup spill" <System.Text.StringBuilder>
 ;* V149 tmp104      [V149    ] (  0,  0   )     ref  ->  zero-ref    ptr
-;  V150 tmp105      [V150,T47] (  4, 18   )     ref  ->  x21         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
+;  V150 tmp105      [V150,T48] (  4, 18   )     ref  ->  x21         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
 ;* V151 tmp106      [V151    ] (  0,  0   )     ref  ->  zero-ref    single-def ptr
 ;  V152 tmp107      [V152,T139] (  4,  4   )     ref  ->  x21         class-hnd exact single-def "dup spill" <System.Text.StringBuilder>
 ;* V153 tmp108      [V153    ] (  0,  0   )     ref  ->  zero-ref    single-def ptr
@@ -175,8 +175,8 @@
 ;* V163 tmp118      [V163    ] (  0,  0   )     ref  ->  zero-ref    ptr
 ;* V164 tmp119      [V164    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V165 tmp120      [V165    ] (  0,  0   )     ref  ->  zero-ref    ptr
-;  V166 tmp121      [V166,T81] (  5, 10   )     ref  ->   x2        
-;  V167 tmp122      [V167,T42] (  5, 20   )     ref  ->  x22         class-hnd exact "dup spill" <System.Text.StringBuilder>
+;  V166 tmp121      [V166,T80] (  5, 10   )     ref  ->   x2        
+;  V167 tmp122      [V167,T43] (  5, 20   )     ref  ->  x22         class-hnd exact "dup spill" <System.Text.StringBuilder>
 ;* V168 tmp123      [V168    ] (  0,  0   )     ref  ->  zero-ref    ptr
 ;  V169 tmp124      [V169,T74] (  3, 12   )     ref  ->  x26         class-hnd exact "impAppendStmt" <<unknown class>>
 ;  V170 tmp125      [V170,T75] (  3, 12   )     ref  ->   x0         class-hnd exact "Single-def Box Helper" <<unknown class>>
@@ -186,7 +186,7 @@
 ;  V174 tmp129      [V174,T141] (  4,  4   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;  V175 tmp130      [V175,T152] (  3,  3   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;  V176 tmp131      [V176,T164] (  2,  2   )  struct (40) [fp+0x60]  do-not-enreg[SF] must-init ld-addr-op ptr "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+Enumerator[int,System.Diagnostics.Tracing.ManifestBuilder+ChannelInfo]>
-;  V177 tmp132      [V177,T85] (  3, 10   )     ref  ->  x14         class-hnd exact "Inline stloc first use temp" <<unknown class>>
+;  V177 tmp132      [V177,T84] (  3, 10   )     ref  ->  x14         class-hnd exact "Inline stloc first use temp" <<unknown class>>
 ;  V178 tmp133      [V178,T66] (  4, 12   )     int  ->  x15         "Inline stloc first use temp"
 ;  V179 tmp134      [V179,T165] (  2,  2   )  struct (32) [fp+0x40]  do-not-enreg[SF] must-init ld-addr-op ptr "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Collections.Generic.KeyValuePair`2[int,System.Diagnostics.Tracing.ManifestBuilder+ChannelInfo]]>
 ;* V180 tmp135      [V180    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <<unknown class>>
@@ -195,7 +195,7 @@
 ;* V183 tmp138      [V183    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[int]>
 ;  V184 tmp139      [V184,T28] (  6, 24   )     ref  ->  x26         class-hnd "Inlining Arg" <System.__Canon>
 ;  V185 tmp140      [V185,T55] (  4, 16   )     ref  ->  x24         class-hnd exact "Inlining Arg" <System.Text.StringBuilder>
-;* V186 tmp141      [V186,T97] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V186 tmp141      [V186,T96] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V187 tmp142      [V187    ] (  0,  0   )     ref  ->  zero-ref    class-hnd ptr "Inline stloc first use temp" <System.Collections.Generic.List`1[int]>
 ;* V188 tmp143      [V188    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.Dictionary`2+ValueCollection[System.__Canon,System.__Canon]>
 ;* V189 tmp144      [V189    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+ValueCollection+Enumerator[System.String,System.Type]>
@@ -229,7 +229,7 @@
 ;* V217 tmp172      [V217    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[int]>
 ;  V218 tmp173      [V218,T29] (  6, 24   )     ref  ->  x26         class-hnd "Inlining Arg" <System.__Canon>
 ;  V219 tmp174      [V219,T57] (  4, 16   )     ref  ->  x24         class-hnd exact "Inlining Arg" <System.Text.StringBuilder>
-;* V220 tmp175      [V220,T98] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V220 tmp175      [V220,T97] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V221 tmp176      [V221    ] (  0,  0   )     ref  ->  zero-ref    class-hnd ptr "Inline stloc first use temp" <System.Collections.Generic.List`1[int]>
 ;* V222 tmp177      [V222    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[ulong]>
 ;  V223 tmp178      [V223,T30] (  6, 24   )     ref  ->  x26         class-hnd "Inlining Arg" <System.__Canon>
@@ -239,10 +239,10 @@
 ;* V227 tmp182      [V227    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V228 tmp183      [V228    ] (  0,  0   )     int  ->  zero-ref   
 ;* V229 tmp184      [V229    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;  V230 tmp185      [V230,T99] (  2,  8   )    long  ->   x0         "Inlining Arg"
+;  V230 tmp185      [V230,T98] (  2,  8   )    long  ->   x0         "Inlining Arg"
 ;* V231 tmp186      [V231    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V232 tmp187      [V232    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V233 tmp188      [V233,T43] (  5, 20   )     int  ->  x24         "Inlining Arg"
+;  V233 tmp188      [V233,T44] (  5, 20   )     int  ->  x24         "Inlining Arg"
 ;* V234 tmp189      [V234    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;* V235 tmp190      [V235    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V236 tmp191      [V236    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -255,7 +255,7 @@
 ;* V243 tmp198      [V243    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V244 tmp199      [V244    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V245 tmp200      [V245    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V246 tmp201      [V246,T100] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V246 tmp201      [V246,T99] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V247 tmp202      [V247    ] (  0,  0   )     ref  ->  zero-ref    class-hnd ptr "Inline stloc first use temp" <System.Collections.Generic.List`1[ulong]>
 ;* V248 tmp203      [V248    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Collections.Generic.Dictionary`2+KeyCollection[System.__Canon,System.__Canon]>
 ;  V249 tmp204      [V249,T122] (  3,  6   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <<unknown class>>
@@ -265,8 +265,8 @@
 ;* V253 tmp208      [V253,T179] (  0,  0   )     int  ->  zero-ref    "field V01._length (fldOffset=0x8)" P-INDEP
 ;* V254 tmp209      [V254    ] (  0,  0   )   byref  ->  zero-ref    "field V05._reference (fldOffset=0x0)" P-INDEP
 ;* V255 tmp210      [V255    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
-;  V256 tmp211      [V256,T89] (  3,  8   )     ref  ->   x1         "field V08.value (fldOffset=0x0)" P-INDEP
-;  V257 tmp212      [V257,T91] (  3,  8   )     int  ->   x2         "field V08.key (fldOffset=0x8)" P-INDEP
+;  V256 tmp211      [V256,T88] (  3,  8   )     ref  ->   x1         "field V08.value (fldOffset=0x0)" P-INDEP
+;  V257 tmp212      [V257,T90] (  3,  8   )     int  ->   x2         "field V08.key (fldOffset=0x8)" P-INDEP
 ;  V258 tmp213      [V258,T27] (  7, 24   )     ref  ->  x22         "field V10.value (fldOffset=0x0)" P-INDEP
 ;  V259 tmp214      [V259,T123] (  2,  6   )     int  ->  x23         "field V10.key (fldOffset=0x8)" P-INDEP
 ;  V260 tmp215      [V260,T65] (  4, 12.50)     ref  ->  x21         single-def "field V19._list (fldOffset=0x0)" P-INDEP
@@ -279,9 +279,9 @@
 ;  V267 tmp222      [V267    ] (  3,  5   )     int  ->  [fp+0xAC]  do-not-enreg[X] addr-exposed ptr "field V21._version (fldOffset=0x14)" P-DEP
 ;* V268 tmp223      [V268    ] (  0,  0   )   byref  ->  zero-ref    ptr "field V33._reference (fldOffset=0x0)" P-INDEP
 ;* V269 tmp224      [V269    ] (  0,  0   )     int  ->  zero-ref    ptr "field V33._length (fldOffset=0x8)" P-INDEP
-;  V270 tmp225      [V270,T49] (  4, 17   )     ref  ->  x21         single-def "field V34._list (fldOffset=0x0)" P-INDEP
+;  V270 tmp225      [V270,T38] (  4, 17   )     ref  ->  x21         single-def "field V34._list (fldOffset=0x0)" P-INDEP
 ;  V271 tmp226      [V271,T24] (  6, 21   )     int  ->  x23         "field V34._index (fldOffset=0x8)" P-INDEP
-;  V272 tmp227      [V272,T86] (  2,  9   )     int  ->  x22         "field V34._version (fldOffset=0xc)" P-INDEP
+;  V272 tmp227      [V272,T85] (  2,  9   )     int  ->  x22         "field V34._version (fldOffset=0xc)" P-INDEP
 ;  V273 tmp228      [V273,T68] (  3,  8   )     int  ->  x24         "field V34._current (fldOffset=0x10)" P-INDEP
 ;  V274 tmp229      [V274,T50] (  4, 12.50)     ref  ->  x21         single-def "field V37._list (fldOffset=0x0)" P-INDEP
 ;  V275 tmp230      [V275,T69] (  3,  8   )    long  ->  x24         "field V37._current (fldOffset=0x8)" P-INDEP
@@ -360,7 +360,7 @@
 ;  V348 tmp303      [V348,T178] (  2,  1   )     int  ->   x1         "V179.[012..016)"
 ;  V349 tmp304      [V349,T77] (  3, 12   )   byref  ->   x0         "BlockOp address local"
 ;  V350 tmp305      [V350,T160] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
-;  V351 tmp306      [V351,T93] (  2,  8   )     ref  ->   x0         "argument with side effect"
+;  V351 tmp306      [V351,T92] (  2,  8   )     ref  ->   x0         "argument with side effect"
 ;  V352 tmp307      [V352,T161] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
 ;  V353 tmp308      [V353,T33] (  3, 24   )     ref  ->   x1         "arr expr"
 ;  V354 tmp309      [V354,T62] (  2, 16   )     ref  ->   x1         "argument with side effect"
@@ -369,9 +369,9 @@
 ;  V357 tmp312      [V357,T18] (  2, 32   )     ref  ->   x4         "argument with side effect"
 ;  V358 tmp313      [V358,T19] (  2, 32   )     ref  ->  [fp+0x18]  spill-single-def ptr "argument with side effect"
 ;  V359 tmp314      [V359,T20] (  2, 32   )     ref  ->  x25         "argument with side effect"
-;  V360 tmp315      [V360,T94] (  2,  8   )     ref  ->   x0         "argument with side effect"
-;  V361 tmp316      [V361,T95] (  2,  8   )     ref  ->   x3         "argument with side effect"
-;  V362 tmp317      [V362,T96] (  2,  8   )     ref  ->  x22         "argument with side effect"
+;  V360 tmp315      [V360,T93] (  2,  8   )     ref  ->   x0         "argument with side effect"
+;  V361 tmp316      [V361,T94] (  2,  8   )     ref  ->   x3         "argument with side effect"
+;  V362 tmp317      [V362,T95] (  2,  8   )     ref  ->  x22         "argument with side effect"
 ;  V363 tmp318      [V363,T146] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
 ;  V364 tmp319      [V364,T34] (  3, 24   )     ref  ->   x1         "arr expr"
 ;  V365 tmp320      [V365,T162] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
@@ -383,9 +383,9 @@
 ;  V371 cse1        [V371,T04] ( 18, 72   )     ref  ->   x0         multi-def "CSE - aggressive"
 ;  V372 cse2        [V372,T130] (  3,  5   )    long  ->  x22         "CSE - conservative"
 ;  V373 cse3        [V373,T131] (  3,  5   )    long  ->  x21         "CSE - conservative"
-;  V374 cse4        [V374,T44] (  3, 20   )    long  ->   x1         "CSE - moderate"
-;  V375 cse5        [V375,T78] (  2,  8   )     int  ->   x1         "CSE - conservative"
-;  V376 cse6        [V376,T79] (  2,  8   )     int  ->   x1         "CSE - conservative"
+;  V374 cse4        [V374,T45] (  3, 20   )    long  ->   x1         "CSE - moderate"
+;  V375 cse5        [V375,T100] (  2,  8   )     int  ->   x1         "CSE - conservative"
+;  V376 cse6        [V376,T78] (  2,  8   )     int  ->   x1         "CSE - conservative"
 ;  V377 cse7        [V377,T36] (  3, 24   )     int  ->  x27         "CSE - moderate"
 ;  V378 cse8        [V378,T00] (149,220   )    long  ->  [fp+0x38]  multi-def "CSE - aggressive"
 ;
@@ -1802,6 +1802,7 @@ G_M21650_IG67:        ; bbWeight=8, gcrefRegs=11A80000 {x19 x21 x23 x24 x28}, by
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
+            ldr     wzr, [x0]
             ldr     x1, [x11]
             blr     x1
             str     x0, [fp, #0x20]    // [V356 tmp311]
@@ -1889,7 +1890,7 @@ G_M21650_IG67:        ; bbWeight=8, gcrefRegs=11A80000 {x19 x21 x23 x24 x28}, by
             blr     x3
             ; gcrRegs -[x0 x25]
             ; byrRegs -[x1]
-                      ;; size=260 bbWeight=8 PerfScore 684.00
+                       ;; size=264 bbWeight=8 PerfScore 708.00
 G_M21650_IG68:        ; bbWeight=8, gcrefRegs=1A80000 {x19 x21 x23 x24}, byrefRegs=100000 {x20}, byref
             mov     w25, #1
                        ;; size=4 bbWeight=8 PerfScore 4.00
@@ -1930,6 +1931,7 @@ G_M21650_IG72:        ; bbWeight=2, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=10
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
+            ldr     wzr, [x0]
             ldr     x1, [x11]
             blr     x1
             ; gcrRegs -[x21]
@@ -2000,7 +2002,7 @@ G_M21650_IG72:        ; bbWeight=2, gcrefRegs=A80000 {x19 x21 x23}, byrefRegs=10
             blr     x3
             ; gcrRegs -[x0 x21]
             ; byrRegs -[x1]
-                      ;; size=212 bbWeight=2 PerfScore 144.00
+                       ;; size=216 bbWeight=2 PerfScore 150.00
 G_M21650_IG73:        ; bbWeight=4, gcrefRegs=880000 {x19 x23}, byrefRegs=100000 {x20}, byref, isz
             ldr     x21, [x19, #0x38]
             ; gcrRegs +[x21]
@@ -3761,7 +3763,7 @@ G_M21650_IG150:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_windows #0
                        ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 8476, prolog size 80, PerfScore 5811.50, instruction count 2119, allocated bytes for code 8476 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
+; Total bytes of code 8484, prolog size 80, PerfScore 5841.50, instruction count 2121, allocated bytes for code 8484 (MethodHash=ecf5ab6d) for method System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -3772,7 +3774,7 @@ Unwind Info:
   E bit             : 0
...
  
+12 (+0.54%) : 157542.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
@@ -9,54 +9,55 @@
 ; 0 inlinees with PGO data; 18 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T15] ( 15, 14.50)     ref  ->  x23         class-hnd <System.Reflection.MemberInfo>
+;  V00 arg0         [V00,T16] ( 15, 14.50)     ref  ->  x23         class-hnd <System.Reflection.MemberInfo>
 ;  V01 arg1         [V01,T07] ( 12, 39.50)     ref  ->  registers   class-hnd <System.Reflection.ParameterInfo[]>
-;  V02 arg2         [V02,T13] (  6, 19.50)     int  ->  x22         single-def
-;  V03 arg3         [V03,T10] (  8, 29.50)   ubyte  ->  x20         single-def
-;  V04 arg4         [V04,T30] (  3,  2.50)     ref  ->  x25         class-hnd single-def <System.Object[]>
-;  V05 arg5         [V05,T12] (  4, 20   )     int  ->  x21         single-def
-;  V06 arg6         [V06,T31] (  3,  2.50)     ref  ->  x26         class-hnd single-def <System.String[]>
-;  V07 arg7         [V07,T32] (  3,  2.50)     ref  ->  x27         class-hnd single-def <System.Type[]>
-;  V08 arg8         [V08,T40] (  1,  1   )   ubyte  ->  [fp+0xD0]  single-def
-;  V09 arg9         [V09,T16] (  6, 14   )     ref  ->  x24         class-hnd single-def <System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
-;  V10 arg10        [V10,T33] (  2,  4   )     ref  ->  x28         class-hnd single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Container>
-;  V11 loc0         [V11,T28] (  9,  5   )     ref  ->  [fp+0x48]  class-hnd <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V12 loc1         [V12,T14] (  6, 18.50)     ref  ->  [fp+0x40]  class-hnd spill-single-def <System.Reflection.MethodBase>
-;  V13 loc2         [V13,T27] (  5,  5.50)   ubyte  ->  [fp+0x7C] 
-;  V14 loc3         [V14,T29] (  3,  5   )     int  ->  x26         single-def
+;  V02 arg2         [V02,T14] (  6, 19.50)     int  ->  x22         single-def
+;  V03 arg3         [V03,T13] (  7, 21.50)   ubyte  ->  x21         single-def
+;  V04 arg4         [V04,T31] (  3,  2.50)     ref  ->  x25         class-hnd single-def <System.Object[]>
+;  V05 arg5         [V05,T12] (  4, 20   )     int  ->  x20         single-def
+;  V06 arg6         [V06,T32] (  3,  2.50)     ref  ->  x26         class-hnd single-def <System.String[]>
+;  V07 arg7         [V07,T33] (  3,  2.50)     ref  ->  x27         class-hnd single-def <System.Type[]>
+;  V08 arg8         [V08,T41] (  1,  1   )   ubyte  ->  [fp+0xD0]  single-def
+;  V09 arg9         [V09,T17] (  6, 14   )     ref  ->  x24         class-hnd single-def <System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
+;  V10 arg10        [V10,T34] (  2,  4   )     ref  ->  x28         class-hnd single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Container>
+;  V11 loc0         [V11,T29] (  9,  5   )     ref  ->  [fp+0x48]  class-hnd <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V12 loc1         [V12,T15] (  6, 18.50)     ref  ->  [fp+0x40]  class-hnd spill-single-def <System.Reflection.MethodBase>
+;  V13 loc2         [V13,T28] (  5,  5.50)   ubyte  ->  [fp+0x7C] 
+;  V14 loc3         [V14,T30] (  3,  5   )     int  ->  x26         single-def
 ;  V15 loc4         [V15,T11] (  6, 24.50)     int  ->  x27        
-;  V16 loc5         [V16,T02] ( 15, 82   )     ref  ->  [fp+0x38]  class-hnd exact spill-single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V16 loc5         [V16,T02] ( 15, 74   )     ref  ->  [fp+0x38]  class-hnd exact spill-single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
 ;  V17 loc6         [V17,T08] (  3, 34   )     ref  ->  [fp+0x30]  class-hnd spill-single-def <System.Reflection.ParameterInfo[]>
 ;  V18 loc7         [V18,T09] (  9, 32   )     ref  ->  [fp+0x28]  class-hnd <System.Reflection.MethodBase>
 ;  V19 loc8         [V19,T00] (  8, 84   )     int  ->  [fp+0x78] 
 ;  V20 loc9         [V20,T01] (  8, 84   )     int  ->  [fp+0x74] 
-;* V21 loc10        [V21,T37] (  0,  0   )     int  ->  zero-ref   
-;  V22 loc11        [V22,T06] (  4, 50   )     int  ->  [fp+0x70] 
+;* V21 loc10        [V21,T38] (  0,  0   )     int  ->  zero-ref   
+;  V22 loc11        [V22,T05] (  4, 50   )     int  ->  [fp+0x70] 
 ;  V23 loc12        [V23    ] (  3, 48   )   ubyte  ->  [fp+0x68]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V24 loc13        [V24    ] (  3, 48   )   ubyte  ->  [fp+0x60]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V25 loc14        [V25    ] (  3, 48   )   ubyte  ->  [fp+0x58]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V26 OutArgs      [V26    ] (  1,  1   )  struct (16) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V27 tmp1         [V27,T17] (  9,  9   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V28 tmp2         [V28,T19] (  8,  8   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V27 tmp1         [V27,T18] (  9,  9   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V28 tmp2         [V28,T20] (  8,  8   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
 ;* V29 tmp3         [V29    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V30 tmp4         [V30    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Reflection.ParameterInfo[]>
 ;* V31 tmp5         [V31    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Type>
-;  V32 tmp6         [V32,T18] (  9,  9   )     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V33 tmp7         [V33,T38] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V34 tmp8         [V34,T39] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V35 tmp9         [V35,T34] (  3,  3   )     ref  ->  x25         class-hnd single-def "Inlining Arg" <System.Reflection.MethodBase>
-;  V36 tmp10        [V36,T25] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V37 tmp11        [V37,T26] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V38 tmp12        [V38,T36] (  2,  2   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Reflection.PropertyInfo>
-;  V39 tmp13        [V39,T35] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Reflection.MethodBase>
+;  V32 tmp6         [V32,T19] (  9,  9   )     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V33 tmp7         [V33,T39] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V34 tmp8         [V34,T40] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V35 tmp9         [V35,T35] (  3,  3   )     ref  ->  x25         class-hnd single-def "Inlining Arg" <System.Reflection.MethodBase>
+;  V36 tmp10        [V36,T26] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V37 tmp11        [V37,T27] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V38 tmp12        [V38,T37] (  2,  2   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Reflection.PropertyInfo>
+;  V39 tmp13        [V39,T36] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Reflection.MethodBase>
 ;  V40 tmp14        [V40,T03] (  2, 64   )     ref  ->   x1         "argument with side effect"
 ;  V41 tmp15        [V41,T04] (  2, 64   )     ref  ->   x4         "argument with side effect"
-;  V42 tmp16        [V42,T23] (  2,  8   )     int  ->   x3         "argument with side effect"
-;  V43 tmp17        [V43,T24] (  2,  8   )     int  ->  [fp+0x54]  spill-single-def "argument with side effect"
-;  V44 tmp18        [V44,T20] (  2,  8   )     ref  ->  [fp+0x20]  spill-single-def "argument with side effect"
-;  V45 tmp19        [V45,T21] (  2,  8   )     ref  ->   x0         "argument with side effect"
-;  V46 tmp20        [V46,T22] (  2,  8   )     ref  ->   x0         "argument with side effect"
-;  V47 cse0         [V47,T05] (  5, 52   )     int  ->   x4         multi-def "CSE - aggressive"
+;  V42 tmp16        [V42,T24] (  2,  8   )     int  ->   x3         "argument with side effect"
+;  V43 tmp17        [V43,T25] (  2,  8   )     int  ->  [fp+0x54]  spill-single-def "argument with side effect"
+;  V44 tmp18        [V44,T21] (  2,  8   )     ref  ->  [fp+0x20]  spill-single-def "argument with side effect"
+;  V45 tmp19        [V45,T22] (  2,  8   )     ref  ->   x0         "argument with side effect"
+;  V46 tmp20        [V46,T23] (  2,  8   )     ref  ->   x0         "argument with side effect"
+;  V47 cse0         [V47,T10] (  5, 28   )     int  ->   x4         multi-def "CSE - aggressive"
+;  V48 cse1         [V48,T06] (  5, 44   )     int  ->  [fp+0x50]  multi-def "CSE - aggressive"
 ;  TEMP_01                                     ref  ->  [fp+0x18]
 ;
 ; Lcl frame size = 128
@@ -78,10 +79,10 @@ G_M30168_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             mov     x19, x1
             ; gcrRegs +[x19]
             mov     w22, w2
-            mov     w20, w3
+            mov     w21, w3
             mov     x25, x4
             ; gcrRegs +[x25]
-            mov     w21, w5
+            mov     w20, w5
             mov     x26, x6
             ; gcrRegs +[x26]
             mov     x27, x7
@@ -96,7 +97,7 @@ G_M30168_IG02:        ; bbWeight=1, gcrefRegs=1F880000 {x19 x23 x24 x25 x26 x27
             tst     w0, #255
             bne     G_M30168_IG36
                        ;; size=16 bbWeight=1 PerfScore 4.50
-G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000000010000000 {V11}, gcrefRegs=1F880000 {x19 x23 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000000020000000 {V11}, gcrefRegs=1F880000 {x19 x23 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             mov     x0, x23
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -167,7 +168,7 @@ G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000000010000000 {V11}, gcrefRegs=
             ; gcrRegs -[x15 x19]
             ; byrRegs -[x14]
             str     w22, [x1, #0x48]
-            strb    w20, [x1, #0x4C]
+            strb    w21, [x1, #0x4C]
             mov     w14, #1
             strb    w14, [x1, #0x4F]
             add     x14, x1, #8
@@ -229,7 +230,7 @@ G_M30168_IG04:        ; bbWeight=0.50, gcrefRegs=11080000 {x19 x24 x28}, byrefRe
             ; GC ptr vars +{V11}
             mov     x19, x25
                        ;; size=48 bbWeight=0.50 PerfScore 7.50
-G_M30168_IG05:        ; bbWeight=0.50, gcVars=0000000010004000 {V11 V12}, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG05:        ; bbWeight=0.50, gcVars=0000000020008000 {V11 V12}, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0 x25]
             cbz     x23, G_M30168_IG06
             mov     x0, x23
@@ -306,7 +307,7 @@ G_M30168_IG07:        ; bbWeight=4, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefR
             ; GC ptr vars +{V16}
             cbz     x1, G_M30168_IG35
                        ;; size=36 bbWeight=4 PerfScore 34.00
-G_M30168_IG08:        ; bbWeight=2, gcVars=0000000010004004 {V11 V12 V16}, gcrefRegs=11880002 {x1 x19 x23 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG08:        ; bbWeight=2, gcVars=0000000020008004 {V11 V12 V16}, gcrefRegs=11880002 {x1 x19 x23 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0]
             ldr     x2, [x1, #0x18]
             ; gcrRegs +[x2]
@@ -349,7 +350,7 @@ G_M30168_IG10:        ; bbWeight=2, gcrefRegs=11880100 {x8 x19 x23 x24 x28}, byr
             mov     w13, wzr
             mov     w14, #1
             str     w14, [fp, #0x70]   // [V22 loc11]
-            cmp     w21, #0
+            cmp     w20, #0
             ble     G_M30168_IG26
                        ;; size=40 bbWeight=2 PerfScore 21.00
 G_M30168_IG11:        ; bbWeight=16, gcrefRegs=11880300 {x8 x9 x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
@@ -382,7 +383,9 @@ G_M30168_IG11:        ; bbWeight=16, gcrefRegs=11880300 {x8 x9 x19 x23 x24 x28},
             add     x6, fp, #104   // [V23 loc12]
             str     x6, [sp, #0x08]    // [V26 OutArgs+0x08]
             ldrb    w6, [x9, #0x4C]
-            uxtb    w3, w20
+            uxtb    w15, w21
+            str     w15, [fp, #0x50]   // [V48 cse1]
+            mov     w3, w15
             add     x7, fp, #96 // [V24 loc13]
             ldr     x2, [fp, #0x40]    // [V12 loc1]
             ; gcrRegs +[x2]
@@ -394,8 +397,8 @@ G_M30168_IG11:        ; bbWeight=16, gcrefRegs=11880300 {x8 x9 x19 x23 x24 x28},
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
             mov     x0, xzr
             ; gcrRegs +[x0]
-            ldr     x15, [x11]
-            blr     x15
+            ldr     xip0, [x11]
+            blr     xip0
             ; gcrRegs -[x0-x2 x4-x5 x8-x9 x12]
             ldrb    w0, [fp, #0x68]    // [V23 loc12]
             ldrb    w11, [fp, #0x60]   // [V24 loc13]
@@ -406,11 +409,11 @@ G_M30168_IG11:        ; bbWeight=16, gcrefRegs=11880300 {x8 x9 x19 x23 x24 x28},
             ldr     w1, [fp, #0x78]    // [V19 loc8]
             cmp     w1, w22
             bne     G_M30168_IG13
-                        ;; size=160 bbWeight=16 PerfScore 808.00
+                      ;; size=168 bbWeight=16 PerfScore 832.00
 G_M30168_IG12:        ; bbWeight=8, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
-            tst     w20, #255
-            bne     G_M30168_IG14
-                       ;; size=8 bbWeight=8 PerfScore 12.00
+            ldr     w2, [fp, #0x50]   // [V48 cse1]
+            cbnz    w2, G_M30168_IG14
+                       ;; size=8 bbWeight=8 PerfScore 24.00
 G_M30168_IG13:        ; bbWeight=8, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
             adds    w1, w1, #1
             bvs     G_M30168_IG43
@@ -418,48 +421,48 @@ G_M30168_IG13:        ; bbWeight=8, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefR
             ldr     w1, [fp, #0x78]    // [V19 loc8]
                        ;; size=16 bbWeight=8 PerfScore 36.00
 G_M30168_IG14:        ; bbWeight=16, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
-            ldr     x2, [fp, #0x38]  // [V16 loc5]
-            ; gcrRegs +[x2]
-            ldr     w0, [x2, #0x48]
-            ldr     w3, [fp, #0x74]    // [V20 loc9]
-            cmp     w3, w0
+            ldr     x3, [fp, #0x38]    // [V16 loc5]
+            ; gcrRegs +[x3]
+            ldr     w0, [x3, #0x48]
+            ldr     w4, [fp, #0x74]    // [V20 loc9]
+            cmp     w4, w0
             bne     G_M30168_IG17
                        ;; size=20 bbWeight=16 PerfScore 136.00
-G_M30168_IG15:        ; bbWeight=8, gcrefRegs=11880004 {x2 x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
-            ldrb    w0, [x2, #0x4C]
+G_M30168_IG15:        ; bbWeight=8, gcrefRegs=11880008 {x3 x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
+            ldrb    w0, [x3, #0x4C]
             cbnz    w0, G_M30168_IG18
                        ;; size=8 bbWeight=8 PerfScore 32.00
 G_M30168_IG16:        ; bbWeight=4, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x2]
-            ldr     x2, [fp, #0x38]    // [V16 loc5]
-            ; gcrRegs +[x2]
+            ; gcrRegs -[x3]
+            ldr     x3, [fp, #0x38]    // [V16 loc5]
+            ; gcrRegs +[x3]
                         ;; size=4 bbWeight=4 PerfScore 8.00
-G_M30168_IG17:        ; bbWeight=8, gcrefRegs=11880004 {x2 x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
-            adds    w3, w3, #1
+G_M30168_IG17:        ; bbWeight=8, gcrefRegs=11880008 {x3 x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
+            adds    w4, w4, #1
             bvs     G_M30168_IG43
-            str     w3, [fp, #0x74]   // [V20 loc9]
-            ldr     w3, [fp, #0x74]    // [V20 loc9]
+            str     w4, [fp, #0x74]  // [V20 loc9]
+            ldr     w4, [fp, #0x74]    // [V20 loc9]
                        ;; size=16 bbWeight=8 PerfScore 36.00
 G_M30168_IG18:        ; bbWeight=16, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x2]
+            ; gcrRegs -[x3]
             ldr     w0, [fp, #0x70]  // [V22 loc11]
             adds    w0, w0, #1
             bvs     G_M30168_IG43
-            cmp     w0, w21
+            cmp     w0, w20
             str     w0, [fp, #0x70] // [V22 loc11]
             ble     G_M30168_IG25
                        ;; size=24 bbWeight=16 PerfScore 96.00
-G_M30168_IG19:        ; bbWeight=8, gcVars=0000000010004204 {V11 V12 V16 V18}, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, gcvars, byref
+G_M30168_IG19:        ; bbWeight=8, gcVars=0000000020008204 {V11 V12 V16 V18}, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, gcvars, byref
             ; GC ptr vars -{V17}
-            stp     w3, w1, [fp, #0x74]   // [V20 loc9], [V19 loc8]
+            stp     w4, w1, [fp, #0x74]  // [V20 loc9], [V19 loc8]
                        ;; size=4 bbWeight=8 PerfScore 8.00
 G_M30168_IG20:        ; bbWeight=2, gcrefRegs=11880000 {x19 x23 x24 x28}, byrefRegs=0000 {}, byref, isz
             mov     x0, x23
             ; gcrRegs +[x0]
             adrp    x11, [HIGH RELOC #0xD1FFAB1E]      // function address
             add     x11, x11, [LOW RELOC #0xD1FFAB1E]
-            ldr     x4, [x11]
-            blr     x4
+            ldr     x2, [x11]
...
  
  
libraries.pmi.windows.arm64.checked.mch
-16 (-4.12%) : 305023.dasm - Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
@@ -8,30 +8,31 @@
 ; 3 inlinees with PGO data; 7 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T09] (  4,  4   )     ref  ->  x21         this class-hnd single-def <Xunit.AggregateMessageSink>
-;  V01 arg1         [V01,T06] (  3,  5.37)     ref  ->  x19         class-hnd single-def <Xunit.Abstractions.IMessageSinkMessage>
-;  V02 arg2         [V02,T07] (  3,  5.37)     ref  ->  x20         class-hnd single-def <System.Collections.Generic.HashSet`1[System.String]>
-;  V03 loc0         [V03,T05] (  4,  8.75)   ubyte  ->  x22        
-;  V04 loc1         [V04,T14] (  4,  1.50)     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
+;  V00 this         [V00,T10] (  4,  4   )     ref  ->  x21         this class-hnd single-def <Xunit.AggregateMessageSink>
+;  V01 arg1         [V01,T07] (  3,  5.37)     ref  ->  x19         class-hnd single-def <Xunit.Abstractions.IMessageSinkMessage>
+;  V02 arg2         [V02,T08] (  3,  5.37)     ref  ->  x20         class-hnd single-def <System.Collections.Generic.HashSet`1[System.String]>
+;  V03 loc0         [V03,T06] (  4,  8.75)   ubyte  ->  x22        
+;  V04 loc1         [V04,T15] (  4,  1.50)     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
 ;  V05 loc2         [V05    ] (  5,  4   )   ubyte  ->  [fp+0x20]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;* V06 loc3         [V06    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[Xunit.IMessageSinkWithTypes]>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V08 tmp1         [V08,T11] (  2,  4   )   ubyte  ->   x0         "Inlining Arg"
-;  V09 tmp2         [V09,T10] (  2,  4   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
+;  V08 tmp1         [V08,T12] (  2,  4   )   ubyte  ->   x0         "Inlining Arg"
+;  V09 tmp2         [V09,T11] (  2,  4   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[Xunit.IMessageSinkWithTypes]>
-;* V11 tmp4         [V11,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V11 tmp4         [V11,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V12 tmp5         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
-;  V13 tmp6         [V13,T01] (  5, 17.00)     ref  ->  x21         single-def "field V06._list (fldOffset=0x0)" P-INDEP
-;  V14 tmp7         [V14,T03] (  2,  6.75)     ref  ->   x0         "field V06._current (fldOffset=0x8)" P-INDEP
+;  V13 tmp6         [V13,T02] (  4, 16.37)     ref  ->  x21         single-def "field V06._list (fldOffset=0x0)" P-INDEP
+;  V14 tmp7         [V14,T04] (  2,  6.75)     ref  ->   x0         "field V06._current (fldOffset=0x8)" P-INDEP
 ;  V15 tmp8         [V15,T00] (  6, 18.50)     int  ->  x24         "field V06._index (fldOffset=0x10)" P-INDEP
-;  V16 tmp9         [V16,T04] (  3,  9.63)     int  ->  x23         single-def "field V06._version (fldOffset=0x14)" P-INDEP
-;  V17 tmp10        [V17,T12] (  3,  3   )     ref  ->  x21         single-def "field V10._list (fldOffset=0x0)" P-INDEP
+;  V16 tmp9         [V16,T05] (  2,  9   )     int  ->  x23         single-def "field V06._version (fldOffset=0x14)" P-INDEP
+;  V17 tmp10        [V17,T13] (  3,  3   )     ref  ->  x21         single-def "field V10._list (fldOffset=0x0)" P-INDEP
 ;* V18 tmp11        [V18    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V10._current (fldOffset=0x8)" P-INDEP
-;* V19 tmp12        [V19,T16] (  0,  0   )     int  ->  zero-ref    single-def "field V10._index (fldOffset=0x10)" P-INDEP
-;  V20 tmp13        [V20,T13] (  2,  2   )     int  ->  x23         single-def "field V10._version (fldOffset=0x14)" P-INDEP
-;  V21 tmp14        [V21,T02] (  3, 20.25)     ref  ->   x0         "arr expr"
-;  V22 PSPSym       [V22,T17] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
-;  V23 cse0         [V23,T15] (  3,  1.50)     ref  ->   x1         "CSE - moderate"
+;* V19 tmp12        [V19,T17] (  0,  0   )     int  ->  zero-ref    single-def "field V10._index (fldOffset=0x10)" P-INDEP
+;  V20 tmp13        [V20,T14] (  2,  2   )     int  ->  x23         single-def "field V10._version (fldOffset=0x14)" P-INDEP
+;  V21 tmp14        [V21,T01] (  3, 20.25)     ref  ->   x0         "arr expr"
+;  V22 PSPSym       [V22,T18] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
+;  V23 cse0         [V23,T03] (  2,  8.00)     int  ->   x0         "CSE - aggressive"
+;  V24 cse1         [V24,T16] (  3,  1.50)     ref  ->   x1         "CSE - moderate"
 ;
 ; Lcl frame size = 32
 
@@ -58,7 +59,7 @@ G_M52679_IG02:        ; bbWeight=1, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
             str     x0, [fp, #0x18]    // [V04 loc1]
             ; GC ptr vars +{V04}
                        ;; size=12 bbWeight=1 PerfScore 4.50
-G_M52679_IG03:        ; bbWeight=1, gcVars=0000000000004000 {V04}, gcrefRegs=380001 {x0 x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M52679_IG03:        ; bbWeight=1, gcVars=0000000000008000 {V04}, gcrefRegs=380001 {x0 x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w1, [fp, #0x20]   // [V05 loc2]
             cbnz    w1, G_M52679_IG09
             add     x1, fp, #32    // [V05 loc2]
@@ -90,19 +91,19 @@ G_M52679_IG05:        ; bbWeight=1, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
 G_M52679_IG06:        ; bbWeight=8, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x21, #0x14]
             cmp     w23, w0
-            bne     G_M52679_IG10
+            bne     G_M52679_IG11
                       ;; size=12 bbWeight=8 PerfScore 36.00
 G_M52679_IG07:        ; bbWeight=4.00, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x21, #0x10]
             cmp     w24, w0
-            bhs     G_M52679_IG14
+            bhs     G_M52679_IG12
                       ;; size=12 bbWeight=4.00 PerfScore 18.00
 G_M52679_IG08:        ; bbWeight=3.37, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x21, #0x08]
             ; gcrRegs +[x0]
             ldr     w2, [x0, #0x08]
             cmp     w24, w2
-            bhs     G_M52679_IG12
+            bhs     G_M52679_IG10
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
@@ -135,21 +136,11 @@ G_M52679_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M52679_IG10:        ; bbWeight=0.63, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x21]
-            ldr     w0, [x21, #0x14]
-            cmp     w23, w0
-            bne     G_M52679_IG13
-                       ;; size=12 bbWeight=0.63 PerfScore 2.81
-G_M52679_IG11:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x21]
-            b       G_M52679_IG14
-                       ;; size=4 bbWeight=4 PerfScore 4.00
-G_M52679_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52679_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M52679_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52679_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -158,11 +149,11 @@ G_M52679_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M52679_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M52679_IG12:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [fp, #0x20] // [V05 loc2]
-            cbz     w0, G_M52679_IG16
+            cbz     w0, G_M52679_IG14
                      ;; size=8 bbWeight=1 PerfScore 3.00
-G_M52679_IG15:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52679_IG13:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ldr     x0, [fp, #0x18]  // [V04 loc1]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V04}
@@ -170,18 +161,18 @@ G_M52679_IG15:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=8 bbWeight=0.50 PerfScore 1.50
-G_M52679_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52679_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, w22
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M52679_IG17:        ; bbWeight=1, epilog, nogc, extend
+G_M52679_IG15:        ; bbWeight=1, epilog, nogc, extend
             ldp     x23, x24, [sp, #0x50]
             ldp     x21, x22, [sp, #0x40]
             ldp     x19, x20, [sp, #0x30]
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=20 bbWeight=1 PerfScore 5.00
-G_M52679_IG18:        ; bbWeight=0, gcVars=0000000000004000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-            ; GC ptr vars +{V04 V14}
+G_M52679_IG16:        ; bbWeight=0, gcVars=0000000000008000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+            ; GC ptr vars +{V04 V15}
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
@@ -189,17 +180,17 @@ G_M52679_IG18:        ; bbWeight=0, gcVars=0000000000004000 {V04}, gcrefRegs=000
             add     x3, fp, #96
             str     x3, [sp, #0x18]
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M52679_IG19:        ; bbWeight=0, gcVars=0000000000004000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M52679_IG17:        ; bbWeight=0, gcVars=0000000000008000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w0, [fp, #0x20]   // [V05 loc2]
-            cbz     w0, G_M52679_IG20
+            cbz     w0, G_M52679_IG18
             ldr     x0, [fp, #0x18]  // [V04 loc1]
             ; gcrRegs +[x0]
-            ; GC ptr vars -{V04 V14}
+            ; GC ptr vars -{V04 V15}
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M52679_IG20:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M52679_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
@@ -207,7 +198,7 @@ G_M52679_IG20:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 388, prolog size 44, PerfScore 169.06, instruction count 97, allocated bytes for code 388 (MethodHash=39853238) for method Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
+; Total bytes of code 372, prolog size 44, PerfScore 162.25, instruction count 93, allocated bytes for code 372 (MethodHash=39853238) for method Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -218,7 +209,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 82 (0x00052) Actual length = 328 (0x000148)
+  Function Length   : 78 (0x0004e) Actual length = 312 (0x000138)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -255,4 +246,4 @@ Unwind Info:
 
 *************** EH table for Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M52679_IG03..G_M52679_IG14) handled by [G_M52679_IG18..END) (fault)
+EH#0: try [G_M52679_IG03..G_M52679_IG12) handled by [G_M52679_IG16..END) (fault)
  
-16 (-3.96%) : 218767.dasm - System.Speech.Recognition.RecognizerBase:set_PauseRecognizerOnRecognition(ubyte):this (FullOpts)
@@ -8,31 +8,32 @@
 ; 3 inlinees with PGO data; 8 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T04] (  7,  7.87)     ref  ->  x19         this class-hnd single-def <System.Speech.Recognition.RecognizerBase>
-;  V01 arg1         [V01,T06] (  4,  3.50)   ubyte  ->   x1         single-def
-;  V02 loc0         [V02,T12] (  4,  1   )     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Speech.Internal.SapiInterop.SapiRecognizer>
+;  V00 this         [V00,T05] (  7,  7.87)     ref  ->  x19         this class-hnd single-def <System.Speech.Recognition.RecognizerBase>
+;  V01 arg1         [V01,T07] (  4,  3.50)   ubyte  ->   x1         single-def
+;  V02 loc0         [V02,T13] (  4,  1   )     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Speech.Internal.SapiInterop.SapiRecognizer>
 ;  V03 loc1         [V03    ] (  6,  2.50)   ubyte  ->  [fp+0x20]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Speech.Recognition.Grammar]>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Speech.Recognition.Grammar>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V08 tmp1         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Uri>
-;  V09 tmp2         [V09,T09] (  2,  2   )   ubyte  ->   x0         "Inlining Arg"
-;  V10 tmp3         [V10,T08] (  2,  2   )     ref  ->  x20         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V09 tmp2         [V09,T10] (  2,  2   )   ubyte  ->   x0         "Inlining Arg"
+;  V10 tmp3         [V10,T09] (  2,  2   )     ref  ->  x20         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V11 tmp4         [V11    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Speech.Recognition.Grammar]>
-;* V12 tmp5         [V12,T05] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V12 tmp5         [V12,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V13 tmp6         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V14 tmp7         [V14,T03] (  5, 12.50)     ref  ->  x20         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V14 tmp7         [V14,T04] (  4, 11.87)     ref  ->  x20         single-def "field V04._list (fldOffset=0x0)" P-INDEP
 ;  V15 tmp8         [V15,T02] (  4, 13.50)     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V16 tmp9         [V16,T00] (  6, 18.00)     int  ->  x22         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V17 tmp10        [V17,T07] (  3,  5.13)     int  ->  x21         single-def "field V04._version (fldOffset=0x14)" P-INDEP
-;  V18 tmp11        [V18,T10] (  3,  1.50)     ref  ->  x20         single-def "field V11._list (fldOffset=0x0)" P-INDEP
+;  V17 tmp10        [V17,T08] (  2,  4.50)     int  ->  x21         single-def "field V04._version (fldOffset=0x14)" P-INDEP
+;  V18 tmp11        [V18,T11] (  3,  1.50)     ref  ->  x20         single-def "field V11._list (fldOffset=0x0)" P-INDEP
 ;* V19 tmp12        [V19    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V11._current (fldOffset=0x8)" P-INDEP
-;* V20 tmp13        [V20,T15] (  0,  0   )     int  ->  zero-ref    single-def "field V11._index (fldOffset=0x10)" P-INDEP
-;  V21 tmp14        [V21,T13] (  2,  1   )     int  ->  x21         single-def "field V11._version (fldOffset=0x14)" P-INDEP
+;* V20 tmp13        [V20,T16] (  0,  0   )     int  ->  zero-ref    single-def "field V11._index (fldOffset=0x10)" P-INDEP
+;  V21 tmp14        [V21,T14] (  2,  1   )     int  ->  x21         single-def "field V11._version (fldOffset=0x14)" P-INDEP
 ;  V22 tmp15        [V22,T01] (  3, 20.25)     ref  ->   x1         "arr expr"
-;  V23 PSPSym       [V23,T14] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
-;  V24 cse0         [V24,T11] (  3,  1.50)     ref  ->   x1         "CSE - moderate"
+;  V23 PSPSym       [V23,T15] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
+;  V24 cse0         [V24,T03] (  2,  8.00)     int  ->   x1         "CSE - aggressive"
+;  V25 cse1         [V25,T12] (  3,  1.50)     ref  ->   x1         "CSE - moderate"
 ;
 ; Lcl frame size = 32
 
@@ -51,7 +52,7 @@ G_M55354_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             uxtb    w0, w1
             ldrb    w2, [x19, #0xD1FFAB1E]
             cmp     w0, w2
-            beq     G_M55354_IG15
+            beq     G_M55354_IG13
                        ;; size=16 bbWeight=1 PerfScore 5.00
 G_M55354_IG03:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
             strb    w1, [x19, #0xD1FFAB1E]
@@ -67,7 +68,7 @@ G_M55354_IG03:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
             ; GC ptr vars +{V02}
             str     wzr, [fp, #0x20]   // [V03 loc1]
                        ;; size=36 bbWeight=0.50 PerfScore 4.50
-G_M55354_IG04:        ; bbWeight=0.50, gcVars=0000000000001000 {V02}, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M55354_IG04:        ; bbWeight=0.50, gcVars=0000000000002000 {V02}, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w1, [fp, #0x20]    // [V03 loc1]
             cbnz    w1, G_M55354_IG09
             add     x1, fp, #32    // [V03 loc1]
@@ -98,19 +99,19 @@ G_M55354_IG05:        ; bbWeight=0.50, gcrefRegs=80000 {x19}, byrefRegs=0000 {},
 G_M55354_IG06:        ; bbWeight=4, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     w1, [x20, #0x14]
             cmp     w21, w1
-            bne     G_M55354_IG10
+            bne     G_M55354_IG11
                       ;; size=12 bbWeight=4 PerfScore 18.00
 G_M55354_IG07:        ; bbWeight=4.00, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     w1, [x20, #0x10]
             cmp     w22, w1
-            bhs     G_M55354_IG14
+            bhs     G_M55354_IG12
                       ;; size=12 bbWeight=4.00 PerfScore 18.00
 G_M55354_IG08:        ; bbWeight=3.37, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     x1, [x20, #0x08]
             ; gcrRegs +[x1]
             ldr     w3, [x1, #0x08]
             cmp     w22, w3
-            bhs     G_M55354_IG12
+            bhs     G_M55354_IG10
             add     x1, x1, #16
             ; gcrRegs -[x1]
             ; byrRegs +[x1]
@@ -145,21 +146,11 @@ G_M55354_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M55354_IG10:        ; bbWeight=0.63, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x20]
-            ldr     w0, [x20, #0x14]
-            cmp     w21, w0
-            bne     G_M55354_IG13
-                       ;; size=12 bbWeight=0.63 PerfScore 2.81
-G_M55354_IG11:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x20]
-            b       G_M55354_IG14
-                       ;; size=4 bbWeight=4 PerfScore 4.00
-G_M55354_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M55354_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M55354_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M55354_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -168,9 +159,9 @@ G_M55354_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M55354_IG14:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M55354_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [fp, #0x20]   // [V03 loc1]
-            cbz     w0, G_M55354_IG15
+            cbz     w0, G_M55354_IG13
             ldr     x0, [fp, #0x18]  // [V02 loc0]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V02}
@@ -178,38 +169,38 @@ G_M55354_IG14:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0.50 PerfScore 3.00
-G_M55354_IG15:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M55354_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ldp     x21, x22, [sp, #0x40]
             ldp     x19, x20, [sp, #0x30]
             ldp     fp, lr, [sp], #0x50
             ret     lr
                        ;; size=16 bbWeight=1 PerfScore 4.00
-G_M55354_IG16:        ; bbWeight=0, gcVars=0000000000001000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-            ; GC ptr vars +{V02 V12}
+G_M55354_IG14:        ; bbWeight=0, gcVars=0000000000002000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+            ; GC ptr vars +{V02}
             stp     fp, lr, [sp, #-0x40]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             add     x3, fp, #80
             str     x3, [sp, #0x18]
                        ;; size=20 bbWeight=0 PerfScore 0.00
-G_M55354_IG17:        ; bbWeight=0, gcVars=0000000000001000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M55354_IG15:        ; bbWeight=0, gcVars=0000000000002000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w0, [fp, #0x20]   // [V03 loc1]
-            cbz     w0, G_M55354_IG18
+            cbz     w0, G_M55354_IG16
             ldr     x0, [fp, #0x18]  // [V02 loc0]
             ; gcrRegs +[x0]
-            ; GC ptr vars -{V02 V12}
+            ; GC ptr vars -{V02}
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M55354_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M55354_IG16:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=16 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 404, prolog size 32, PerfScore 179.50, instruction count 101, allocated bytes for code 404 (MethodHash=352a27c5) for method System.Speech.Recognition.RecognizerBase:set_PauseRecognizerOnRecognition(ubyte):this (FullOpts)
+; Total bytes of code 388, prolog size 32, PerfScore 172.68, instruction count 97, allocated bytes for code 388 (MethodHash=352a27c5) for method System.Speech.Recognition.RecognizerBase:set_PauseRecognizerOnRecognition(ubyte):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -220,7 +211,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 88 (0x00058) Actual length = 352 (0x000160)
+  Function Length   : 84 (0x00054) Actual length = 336 (0x000150)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -257,4 +248,4 @@ Unwind Info:
 
 *************** EH table for System.Speech.Recognition.RecognizerBase:set_PauseRecognizerOnRecognition(ubyte):this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M55354_IG04..G_M55354_IG14) handled by [G_M55354_IG16..END) (fault)
+EH#0: try [G_M55354_IG04..G_M55354_IG12) handled by [G_M55354_IG14..END) (fault)
  
-16 (-3.74%) : 154314.dasm - Microsoft.Build.Evaluation.ProjectCollection+LoadedProjectCollection:GetMatchingProjectIfAny(System.String,System.Collections.Generic.IDictionary`2[System.String,System.String],System.String):Microsoft.Build.Evaluation.Project:this (FullOpts)
@@ -8,36 +8,37 @@
 ; 4 inlinees with PGO data; 5 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T07] (  4,  4   )     ref  ->  x21         this class-hnd single-def <Microsoft.Build.Evaluation.ProjectCollection+LoadedProjectCollection>
+;  V00 this         [V00,T08] (  4,  4   )     ref  ->  x21         this class-hnd single-def <Microsoft.Build.Evaluation.ProjectCollection+LoadedProjectCollection>
 ;  V01 arg1         [V01,T10] (  3,  3   )     ref  ->  x22         class-hnd single-def <System.String>
-;  V02 arg2         [V02,T04] (  3,  5.37)     ref  ->  x19         class-hnd single-def <System.Collections.Generic.IDictionary`2[System.String,System.String]>
-;  V03 arg3         [V03,T05] (  3,  5.37)     ref  ->  x20         class-hnd single-def <System.String>
-;  V04 loc0         [V04,T14] (  4,  1.50)     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <<unknown class>>
+;  V02 arg2         [V02,T05] (  3,  5.37)     ref  ->  x19         class-hnd single-def <System.Collections.Generic.IDictionary`2[System.String,System.String]>
+;  V03 arg3         [V03,T06] (  3,  5.37)     ref  ->  x20         class-hnd single-def <System.String>
+;  V04 loc0         [V04,T15] (  4,  1.50)     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <<unknown class>>
 ;  V05 loc1         [V05    ] (  5,  4   )   ubyte  ->  [fp+0x20]  do-not-enreg[X] must-init addr-exposed ld-addr-op
-;  V06 loc2         [V06,T15] (  2,  1   )     ref  ->  x21         ld-addr-op class-hnd <<unknown class>>
+;  V06 loc2         [V06,T16] (  2,  1   )     ref  ->  x21         ld-addr-op class-hnd <<unknown class>>
 ;* V07 loc3         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[Microsoft.Build.Evaluation.Project]>
 ;* V08 loc4         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <Microsoft.Build.Evaluation.Project>
-;  V09 loc5         [V09,T13] (  3,  2   )     ref  ->  x24         class-hnd <Microsoft.Build.Evaluation.Project>
+;  V09 loc5         [V09,T14] (  3,  2   )     ref  ->  x24         class-hnd <Microsoft.Build.Evaluation.Project>
 ;# V10 OutArgs      [V10    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V11 tmp1         [V11,T11] (  2,  4   )   ubyte  ->   x0         "Inlining Arg"
-;* V12 tmp2         [V12,T18] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V13 tmp3         [V13,T08] (  3,  6.00)     ref  ->   x0         class-hnd single-def "Inlining Arg" <<unknown class>>
-;  V14 tmp4         [V14,T12] (  3,  2.50)   byref  ->   x0         single-def "Inline stloc first use temp"
+;  V11 tmp1         [V11,T12] (  2,  4   )   ubyte  ->   x0         "Inlining Arg"
+;* V12 tmp2         [V12,T19] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V13 tmp3         [V13,T09] (  3,  6.00)     ref  ->   x0         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V14 tmp4         [V14,T13] (  3,  2.50)   byref  ->   x0         single-def "Inline stloc first use temp"
 ;* V15 tmp5         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V16 tmp6         [V16    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[Microsoft.Build.Evaluation.Project]>
-;* V17 tmp7         [V17,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V17 tmp7         [V17,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V18 tmp8         [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V19 tmp9         [V19,T02] (  5, 12.50)     ref  ->  x21         single-def "field V07._list (fldOffset=0x0)" P-INDEP
-;  V20 tmp10        [V20,T03] (  3,  7.25)     ref  ->  x24         "field V07._current (fldOffset=0x8)" P-INDEP
+;  V19 tmp9         [V19,T03] (  4, 11.87)     ref  ->  x21         single-def "field V07._list (fldOffset=0x0)" P-INDEP
+;  V20 tmp10        [V20,T04] (  3,  7.25)     ref  ->  x24         "field V07._current (fldOffset=0x8)" P-INDEP
 ;  V21 tmp11        [V21,T00] (  6, 18.00)     int  ->  x23         "field V07._index (fldOffset=0x10)" P-INDEP
-;  V22 tmp12        [V22,T09] (  3,  5.13)     int  ->  x22         single-def "field V07._version (fldOffset=0x14)" P-INDEP
-;  V23 tmp13        [V23,T16] (  3,  1.50)     ref  ->  x21         single-def "field V16._list (fldOffset=0x0)" P-INDEP
+;  V22 tmp12        [V22,T11] (  2,  4.50)     int  ->  x22         single-def "field V07._version (fldOffset=0x14)" P-INDEP
+;  V23 tmp13        [V23,T17] (  3,  1.50)     ref  ->  x21         single-def "field V16._list (fldOffset=0x0)" P-INDEP
 ;* V24 tmp14        [V24    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V16._current (fldOffset=0x8)" P-INDEP
-;* V25 tmp15        [V25,T21] (  0,  0   )     int  ->  zero-ref    single-def "field V16._index (fldOffset=0x10)" P-INDEP
-;  V26 tmp16        [V26,T19] (  2,  1   )     int  ->  x22         single-def "field V16._version (fldOffset=0x14)" P-INDEP
+;* V25 tmp15        [V25,T22] (  0,  0   )     int  ->  zero-ref    single-def "field V16._index (fldOffset=0x10)" P-INDEP
+;  V26 tmp16        [V26,T20] (  2,  1   )     int  ->  x22         single-def "field V16._version (fldOffset=0x14)" P-INDEP
 ;  V27 tmp17        [V27,T01] (  3, 20.25)     ref  ->   x0         "arr expr"
-;  V28 PSPSym       [V28,T20] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
-;  V29 cse0         [V29,T17] (  3,  1.50)     ref  ->   x1         "CSE - moderate"
+;  V28 PSPSym       [V28,T21] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
+;  V29 cse0         [V29,T02] (  2,  8.00)     int  ->   x0         "CSE - aggressive"
+;  V30 cse1         [V30,T18] (  3,  1.50)     ref  ->   x1         "CSE - moderate"
 ;
 ; Lcl frame size = 32
 
@@ -65,7 +66,7 @@ G_M45377_IG02:        ; bbWeight=1, gcrefRegs=780000 {x19 x20 x21 x22}, byrefReg
             str     x0, [fp, #0x18]    // [V04 loc0]
             ; GC ptr vars +{V04}
                        ;; size=8 bbWeight=1 PerfScore 4.00
-G_M45377_IG03:        ; bbWeight=1, gcVars=0000000000004000 {V04}, gcrefRegs=780001 {x0 x19 x20 x21 x22}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M45377_IG03:        ; bbWeight=1, gcVars=0000000000008000 {V04}, gcrefRegs=780001 {x0 x19 x20 x21 x22}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w1, [fp, #0x20]    // [V05 loc1]
             cbnz    w1, G_M45377_IG11
             add     x1, fp, #32    // [V05 loc1]
@@ -103,7 +104,7 @@ G_M45377_IG05:        ; bbWeight=1.00, gcrefRegs=780000 {x19 x20 x21 x22}, byref
             ; gcrRegs -[x0-x1 x21-x22]
             ; byrRegs +[x0]
             ; gcr arg pop 0
-            cbz     x0, G_M45377_IG16
+            cbz     x0, G_M45377_IG14
                       ;; size=36 bbWeight=1.00 PerfScore 13.00
 G_M45377_IG06:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0001 {x0}, byref
             ldr     x21, [x0]
@@ -115,19 +116,19 @@ G_M45377_IG07:        ; bbWeight=4, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
             ; byrRegs -[x0]
             ldr     w0, [x21, #0x14]
             cmp     w22, w0
-            bne     G_M45377_IG12
+            bne     G_M45377_IG13
                       ;; size=12 bbWeight=4 PerfScore 18.00
 G_M45377_IG08:        ; bbWeight=4.00, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x21, #0x10]
             cmp     w23, w0
-            bhs     G_M45377_IG16
+            bhs     G_M45377_IG14
                       ;; size=12 bbWeight=4.00 PerfScore 18.00
 G_M45377_IG09:        ; bbWeight=3.37, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x21, #0x08]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x08]
             cmp     w23, w1
-            bhs     G_M45377_IG14
+            bhs     G_M45377_IG12
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
@@ -152,7 +153,7 @@ G_M45377_IG09:        ; bbWeight=3.37, gcrefRegs=380000 {x19 x20 x21}, byrefRegs
                        ;; size=64 bbWeight=3.37 PerfScore 65.81
 G_M45377_IG10:        ; bbWeight=0.50, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19-x21]
-            b       G_M45377_IG17
+            b       G_M45377_IG15
                      ;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M45377_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x24]
@@ -164,21 +165,11 @@ G_M45377_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M45377_IG12:        ; bbWeight=0.63, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x21]
-            ldr     w0, [x21, #0x14]
-            cmp     w22, w0
-            bne     G_M45377_IG15
-                       ;; size=12 bbWeight=0.63 PerfScore 2.81
-G_M45377_IG13:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x21]
-            b       G_M45377_IG16
-                       ;; size=4 bbWeight=4 PerfScore 4.00
-G_M45377_IG14:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M45377_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M45377_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M45377_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -187,15 +178,15 @@ G_M45377_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M45377_IG16:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M45377_IG14:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     x24, xzr
             ; gcrRegs +[x24]
                        ;; size=4 bbWeight=0.50 PerfScore 0.25
-G_M45377_IG17:        ; bbWeight=1, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
+G_M45377_IG15:        ; bbWeight=1, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [fp, #0x20]   // [V05 loc1]
-            cbz     w0, G_M45377_IG19
+            cbz     w0, G_M45377_IG17
                      ;; size=8 bbWeight=1 PerfScore 3.00
-G_M45377_IG18:        ; bbWeight=0.50, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
+G_M45377_IG16:        ; bbWeight=0.50, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
             ldr     x0, [fp, #0x18]  // [V04 loc0]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V04}
@@ -203,20 +194,20 @@ G_M45377_IG18:        ; bbWeight=0.50, gcrefRegs=1000000 {x24}, byrefRegs=0000 {
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=8 bbWeight=0.50 PerfScore 1.50
-G_M45377_IG19:        ; bbWeight=1, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
+G_M45377_IG17:        ; bbWeight=1, gcrefRegs=1000000 {x24}, byrefRegs=0000 {}, byref
             mov     x0, x24
             ; gcrRegs +[x0]
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M45377_IG20:        ; bbWeight=1, epilog, nogc, extend
+G_M45377_IG18:        ; bbWeight=1, epilog, nogc, extend
             ldp     x23, x24, [sp, #0x50]
             ldp     x21, x22, [sp, #0x40]
             ldp     x19, x20, [sp, #0x30]
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=20 bbWeight=1 PerfScore 5.00
-G_M45377_IG21:        ; bbWeight=0, gcVars=0000000000004000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+G_M45377_IG19:        ; bbWeight=0, gcVars=0000000000008000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
             ; gcrRegs -[x0 x24]
-            ; GC ptr vars +{V04 V14}
+            ; GC ptr vars +{V04}
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
@@ -224,17 +215,17 @@ G_M45377_IG21:        ; bbWeight=0, gcVars=0000000000004000 {V04}, gcrefRegs=000
             add     x3, fp, #96
             str     x3, [sp, #0x18]
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M45377_IG22:        ; bbWeight=0, gcVars=0000000000004000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M45377_IG20:        ; bbWeight=0, gcVars=0000000000008000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w0, [fp, #0x20]   // [V05 loc1]
-            cbz     w0, G_M45377_IG23
+            cbz     w0, G_M45377_IG21
             ldr     x0, [fp, #0x18]  // [V04 loc0]
             ; gcrRegs +[x0]
-            ; GC ptr vars -{V04 V14}
+            ; GC ptr vars -{V04}
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M45377_IG23:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M45377_IG21:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
@@ -242,7 +233,7 @@ G_M45377_IG23:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 428, prolog size 48, PerfScore 159.87, instruction count 107, allocated bytes for code 428 (MethodHash=14de4ebe) for method Microsoft.Build.Evaluation.ProjectCollection+LoadedProjectCollection:GetMatchingProjectIfAny(System.String,System.Collections.Generic.IDictionary`2[System.String,System.String],System.String):Microsoft.Build.Evaluation.Project:this (FullOpts)
+; Total bytes of code 412, prolog size 48, PerfScore 153.06, instruction count 103, allocated bytes for code 412 (MethodHash=14de4ebe) for method Microsoft.Build.Evaluation.ProjectCollection+LoadedProjectCollection:GetMatchingProjectIfAny(System.String,System.Collections.Generic.IDictionary`2[System.String,System.String],System.String):Microsoft.Build.Evaluation.Project:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -253,7 +244,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 92 (0x0005c) Actual length = 368 (0x000170)
+  Function Length   : 88 (0x00058) Actual length = 352 (0x000160)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -290,4 +281,4 @@ Unwind Info:
 
 *************** EH table for Microsoft.Build.Evaluation.ProjectCollection+LoadedProjectCollection:GetMatchingProjectIfAny(System.String,System.Collections.Generic.IDictionary`2[System.String,System.String],System.String):Microsoft.Build.Evaluation.Project:this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M45377_IG03..G_M45377_IG17) handled by [G_M45377_IG21..END) (fault)
+EH#0: try [G_M45377_IG03..G_M45377_IG15) handled by [G_M45377_IG19..END) (fault)
  
+12 (+0.45%) : 239081.dasm - R2RTest.BuildFolder:WriteJitStatistics(System.IO.TextWriter,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.HashSet`1[System.String]][],System.Collections.Generic.IEnumerable`1[R2RTest.CompilerRunner]) (FullOpts)
@@ -8,18 +8,18 @@
 ; 15 inlinees with PGO data; 35 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] ( 11, 24.50)     ref  ->  x20         class-hnd single-def <System.IO.TextWriter>
-;  V01 arg1         [V01,T17] (  6, 26.00)     ref  ->  x19         class-hnd single-def <System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.HashSet`1[System.String]][]>
+;  V00 arg0         [V00,T17] ( 11, 24.50)     ref  ->  x20         class-hnd single-def <System.IO.TextWriter>
+;  V01 arg1         [V01,T16] (  6, 26.00)     ref  ->  x19         class-hnd single-def <System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.HashSet`1[System.String]][]>
 ;  V02 arg2         [V02,T39] (  6,  8   )     ref  ->  x21         class-hnd single-def <System.Collections.Generic.IEnumerable`1[R2RTest.CompilerRunner]>
 ;  V03 loc0         [V03,T10] (  6, 35.50)     ref  ->  x22         class-hnd exact single-def <<unknown class>>
 ;  V04 loc1         [V04,T38] (  7, 10   )     ref  ->  [fp+0x30]  class-hnd EH-live spill-single-def <<unknown class>>
 ;* V05 loc2         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <R2RTest.CompilerRunner>
 ;  V06 loc3         [V06    ] (  9, 72   )  struct (40) [fp+0x90]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.Dictionary`2+Enumerator[System.String,System.Collections.Generic.HashSet`1[System.String]]>
 ;* V07 loc4         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.String,System.Collections.Generic.HashSet`1[System.String]]>
-;  V08 loc5         [V08,T16] (  4, 30.16)     int  ->   x2         ld-addr-op
+;  V08 loc5         [V08,T15] (  4, 30.16)     int  ->   x2         ld-addr-op
 ;  V09 loc6         [V09,T41] (  7,  9.00)     ref  ->  [fp+0x28]  class-hnd EH-live spill-single-def <<unknown class>>
 ;  V10 loc7         [V10,T35] (  3, 12   )     ref  ->  x27         class-hnd <R2RTest.CompilerRunner>
-;  V11 loc8         [V11    ] ( 20, 72.00)  struct (40) [fp+0x68]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
+;  V11 loc8         [V11    ] ( 22, 68.00)  struct (40) [fp+0x68]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
 ;  V12 loc9         [V12,T45] (  2,  8   )     int  ->  x28         ld-addr-op
 ;  V13 loc10        [V13,T42] (  7,  9   )     ref  ->  [fp+0x20]  class-hnd EH-live spill-single-def <<unknown class>>
 ;  V14 loc11        [V14,T29] (  3, 16.00)     ref  ->  x26         class-hnd <System.String>
@@ -80,7 +80,7 @@
 ;* V69 tmp50        [V69    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V70 tmp51        [V70,T43] (  2,  8   )     ref  ->  x27         class-hnd exact "Inline stloc first use temp" <System.String>
 ;* V71 tmp52        [V71    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
-;  V72 tmp53        [V72,T14] (  4, 32   )     int  ->  x27         "Inlining Arg"
+;  V72 tmp53        [V72,T18] (  6, 24.00)     int  ->  x27         "Inlining Arg"
 ;* V73 tmp54        [V73    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V74 tmp55        [V74,T31] (  2, 16   )   byref  ->  x28         "Inlining Arg"
 ;* V75 tmp56        [V75    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -145,7 +145,7 @@
 ;  V134 tmp115      [V134,T67] (  2,  2   )     ref  ->   x0         single-def "argument with side effect"
 ;  V135 tmp116      [V135,T08] (  3, 48.00)     int  ->   x0         "index expr"
 ;  V136 tmp117      [V136,T07] (  3, 48.00)     ref  ->   x0         "argument with side effect"
-;  V137 tmp118      [V137,T15] (  2, 32   )     ref  ->   x1         "argument with side effect"
+;  V137 tmp118      [V137,T14] (  2, 32   )     ref  ->   x1         "argument with side effect"
 ;  V138 PSPSym      [V138,T70] (  1,  1   )    long  ->  [fp+0xB8]  do-not-enreg[V] "PSPSym"
 ;* V139 cse0        [V139,T71] (  0,  0   )    long  ->  zero-ref    "CSE - conservative"
 ;  V140 cse1        [V140,T52] (  3,  6.19)     ref  ->  x26         hoist "CSE - conservative"
@@ -552,7 +552,7 @@ G_M25794_IG27:        ; bbWeight=4, gcrefRegs=4780000 {x19 x20 x21 x22 x26}, byr
             cmp     w28, #2
             blo     G_M25794_IG35
                        ;; size=8 bbWeight=4 PerfScore 6.00
-G_M25794_IG28:        ; bbWeight=2.00, gcrefRegs=4780000 {x19 x20 x21 x22 x26}, byrefRegs=8000000 {x27}, byref
+G_M25794_IG28:        ; bbWeight=2.00, gcrefRegs=4780000 {x19 x20 x21 x22 x26}, byrefRegs=8000000 {x27}, byref, isz
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -561,17 +561,17 @@ G_M25794_IG28:        ; bbWeight=2.00, gcrefRegs=4780000 {x19 x20 x21 x22 x26},
             ldr     w0, [fp, #0x78]    // [V11 loc8+0x10]
             add     w0, w0, #2
             str     w0, [fp, #0x78]    // [V11 loc8+0x10]
-                        ;; size=32 bbWeight=2.00 PerfScore 17.96
-G_M25794_IG29:        ; bbWeight=4, gcrefRegs=4780000 {x19 x20 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
-            ; byrRegs -[x27]
             ldr     w27, [fp, #0x78]   // [V11 loc8+0x10]
+            ; byrRegs -[x27]
             ldr     w0, [fp, #0x88] // [V11 loc8+0x20]
             cmp     w27, w0
             bhi     G_M25794_IG36
+                        ;; size=48 bbWeight=2.00 PerfScore 28.93
+G_M25794_IG29:        ; bbWeight=4, gcrefRegs=4780000 {x19 x20 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
             ldr     x28, [fp, #0x80] // [V11 loc8+0x18]
             ; byrRegs +[x28]
             tbz     w27, #31, G_M25794_IG31
-                      ;; size=24 bbWeight=4 PerfScore 34.00
+                     ;; size=8 bbWeight=4 PerfScore 12.00
 G_M25794_IG30:        ; bbWeight=2, gcrefRegs=4780000 {x19 x20 x21 x22 x26}, byrefRegs=10000000 {x28}, byref
             movz    x2, #8
             movk    x2, #0xD1FFAB1E LSL #16
@@ -655,7 +655,7 @@ G_M25794_IG34:        ; bbWeight=0.50, gcrefRegs=780000 {x19 x20 x21 x22}, byref
             ; gcrRegs -[x26]
             b       G_M25794_IG38
                        ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M25794_IG35:        ; bbWeight=0.01, gcrefRegs=4780000 {x19 x20 x21 x22 x26}, byrefRegs=0000 {}, byref
+G_M25794_IG35:        ; bbWeight=0.01, gcrefRegs=4780000 {x19 x20 x21 x22 x26}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x26]
             add     x0, fp, #104   // [V11 loc8]
             movz    x1, #0xD1FFAB1E
@@ -667,8 +667,11 @@ G_M25794_IG35:        ; bbWeight=0.01, gcrefRegs=4780000 {x19 x20 x21 x22 x26},
             ldr     x2, [x2]
             blr     x2
             ; gcr arg pop 0
-            b       G_M25794_IG29
-                       ;; size=40 bbWeight=0.01 PerfScore 0.05
+            ldr     w27, [fp, #0x78]   // [V11 loc8+0x10]
+            ldr     w0, [fp, #0x88]    // [V11 loc8+0x20]
+            cmp     w27, w0
+            bls     G_M25794_IG29
+                       ;; size=52 bbWeight=0.01 PerfScore 0.08
 G_M25794_IG36:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19-x22 x26]
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
@@ -1233,7 +1236,7 @@ G_M25794_IG70:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=28 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2660, prolog size 72, PerfScore 2462.83, instruction count 665, allocated bytes for code 2660 (MethodHash=43809b3d) for method R2RTest.BuildFolder:WriteJitStatistics(System.IO.TextWriter,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.HashSet`1[System.String]][],System.Collections.Generic.IEnumerable`1[R2RTest.CompilerRunner]) (FullOpts)
+; Total bytes of code 2672, prolog size 72, PerfScore 2451.83, instruction count 668, allocated bytes for code 2672 (MethodHash=43809b3d) for method R2RTest.BuildFolder:WriteJitStatistics(System.IO.TextWriter,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.HashSet`1[System.String]][],System.Collections.Generic.IEnumerable`1[R2RTest.CompilerRunner]) (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -1244,7 +1247,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 572 (0x0023c) Actual length = 2288 (0x0008f0)
+  Function Length   : 575 (0x0023f) Actual length = 2300 (0x0008fc)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+8 (+0.62%) : 278094.dasm - System.Net.Mail.SmtpClient:GetFileMailWriter(System.String):System.Net.Mail.MailWriter:this (FullOpts)
@@ -13,9 +13,9 @@
 ;* V02 loc0         [V02    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;  V03 loc1         [V03,T08] (  4, 18   )     ref  ->  x21         class-hnd exact <System.String>
 ;* V04 loc2         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <System.IO.FileStream>
-;  V05 loc3         [V05    ] ( 18,124.00)  struct (40) [fp+0x30]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
+;  V05 loc3         [V05    ] ( 20,112.00)  struct (40) [fp+0x30]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 tmp1         [V07,T03] (  3, 48   )  struct (16) [fp+0x20]  do-not-enreg[SAR] multireg-arg multireg-ret "spilled call-like call argument" <System.Guid>
+;  V07 tmp1         [V07,T02] (  3, 48   )  struct (16) [fp+0x20]  do-not-enreg[SAR] multireg-arg multireg-ret "spilled call-like call argument" <System.Guid>
 ;  V08 tmp2         [V08,T16] (  4,  8   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.IO.FileStream>
 ;  V09 tmp3         [V09,T22] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Net.Mail.MailWriter>
 ;  V10 tmp4         [V10,T50] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
@@ -45,14 +45,14 @@
 ;* V34 tmp28        [V34    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V35 tmp29        [V35    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.Buffers.SharedArrayPool`1[ushort]>
 ;* V36 tmp30        [V36    ] (  0,  0   )     int  ->  zero-ref    "spilling ret_expr"
-;  V37 tmp31        [V37,T02] (  5, 56.00)     ref  ->   x0         class-hnd "dup spill" <ushort[]>
+;  V37 tmp31        [V37,T01] (  5, 56.00)     ref  ->   x0         class-hnd "dup spill" <ushort[]>
 ;* V38 tmp32        [V38    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <ushort[]>
 ;* V39 tmp33        [V39    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V40 tmp34        [V40    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;* V41 tmp35        [V41    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V42 tmp36        [V42,T00] (  4, 64   )     int  ->   x0         "Inlining Arg"
 ;* V43 tmp37        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V44 tmp38        [V44,T04] (  3, 48   )     int  ->  x22         "Inlining Arg"
+;  V44 tmp38        [V44,T03] (  3, 48   )     int  ->  x22         "Inlining Arg"
 ;  V45 tmp39        [V45,T07] (  2, 19.99)   byref  ->  x21         "Inlining Arg"
 ;* V46 tmp40        [V46    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V47 tmp41        [V47    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -64,7 +64,7 @@
 ;* V53 tmp47        [V53    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V54 tmp48        [V54,T11] (  2, 16   )     ref  ->  x21         class-hnd exact "Inline stloc first use temp" <System.String>
 ;* V55 tmp49        [V55    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
-;  V56 tmp50        [V56,T01] (  4, 64   )     int  ->  x21         "Inlining Arg"
+;  V56 tmp50        [V56,T04] (  6, 40.00)     int  ->  x21         "Inlining Arg"
 ;* V57 tmp51        [V57    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V58 tmp52        [V58,T05] (  2, 32   )   byref  ->  x22         "Inlining Arg"
 ;* V59 tmp53        [V59    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -327,7 +327,7 @@ G_M50314_IG11:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=200000
             ldr     w0, [fp, #0x40]    // [V05 loc3+0x10]
             ldr     w1, [fp, #0x50]    // [V05 loc3+0x20]
             cmp     w0, w1
-            bhi     G_M50314_IG28
+            bhi     G_M50314_IG24
             ldr     x2, [fp, #0x48]    // [V05 loc3+0x18]
             ; byrRegs +[x2]
             ubfiz   x3, x0, #1, #32
@@ -354,9 +354,9 @@ G_M50314_IG12:        ; bbWeight=2, gcrefRegs=180000 {x19 x20}, byrefRegs=200000
                        ;; size=40 bbWeight=2 PerfScore 16.00
 G_M50314_IG13:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=200000 {x21}, byref, isz
             cmp     w22, #4
-            blo     G_M50314_IG17
+            blo     G_M50314_IG23
                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M50314_IG14:        ; bbWeight=2.00, gcrefRegs=180000 {x19 x20}, byrefRegs=200000 {x21}, byref
+G_M50314_IG14:        ; bbWeight=2.00, gcrefRegs=180000 {x19 x20}, byrefRegs=200000 {x21}, byref, isz
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -365,17 +365,17 @@ G_M50314_IG14:        ; bbWeight=2.00, gcrefRegs=180000 {x19 x20}, byrefRegs=200
             ldr     w0, [fp, #0x40]    // [V05 loc3+0x10]
             add     w0, w0, #4
             str     w0, [fp, #0x40]    // [V05 loc3+0x10]
-                        ;; size=32 bbWeight=2.00 PerfScore 17.96
-G_M50314_IG15:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            ; byrRegs -[x21]
             ldr     w21, [fp, #0x40]   // [V05 loc3+0x10]
+            ; byrRegs -[x21]
             ldr     w0, [fp, #0x50] // [V05 loc3+0x20]
             cmp     w21, w0
-            bhi     G_M50314_IG28
+            bhi     G_M50314_IG24
+                       ;; size=48 bbWeight=2.00 PerfScore 28.93
+G_M50314_IG15:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     x22, [fp, #0x48]  // [V05 loc3+0x18]
             ; byrRegs +[x22]
-            tbz     w21, #31, G_M50314_IG19
-                       ;; size=24 bbWeight=8 PerfScore 68.00
+            tbz     w21, #31, G_M50314_IG17
+                       ;; size=8 bbWeight=8 PerfScore 24.00
 G_M50314_IG16:        ; bbWeight=2, gcrefRegs=180000 {x19 x20}, byrefRegs=400000 {x22}, byref
             movz    x23, #8
             movk    x23, #0xD1FFAB1E LSL #16
@@ -390,25 +390,6 @@ G_M50314_IG16:        ; bbWeight=2, gcrefRegs=180000 {x19 x20}, byrefRegs=400000
             ldr     x2, [x2]
             blr     x2
             ; gcrRegs -[x0-x1] +[x23]
-            b       G_M50314_IG18
-                       ;; size=44 bbWeight=2 PerfScore 18.00
-G_M50314_IG17:        ; bbWeight=0.01, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x23]
-            ; byrRegs -[x22]
-            add     x0, fp, #48    // [V05 loc3]
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            b       G_M50314_IG15
-                       ;; size=40 bbWeight=0.01 PerfScore 0.05
-G_M50314_IG18:        ; bbWeight=2, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=400000 {x22}, byref
-            ; gcrRegs +[x23]
-            ; byrRegs +[x22]
             mov     x0, x23
             ; gcrRegs +[x0]
             mov     x1, x23
@@ -419,8 +400,8 @@ G_M50314_IG18:        ; bbWeight=2, gcrefRegs=980000 {x19 x20 x23}, byrefRegs=40
             ldr     x2, [x2]
             blr     x2
             ; gcrRegs -[x0-x1 x23]
-                       ;; size=28 bbWeight=2 PerfScore 13.00
-G_M50314_IG19:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=400000 {x22}, byref, isz
+                       ;; size=68 bbWeight=2 PerfScore 29.00
+G_M50314_IG17:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=400000 {x22}, byref, isz
             mov     x0, x22
             ; byrRegs +[x0]
             sxtw    w1, w21
@@ -434,9 +415,9 @@ G_M50314_IG19:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=400000
             stp     xzr, xzr, [fp, #0x30]
             stp     xzr, xzr, [fp, #0x40]
             str     xzr, [fp, #0x50]
-            cbnz    x1, G_M50314_IG22
+            cbnz    x1, G_M50314_IG20
                      ;; size=36 bbWeight=8 PerfScore 68.00
-G_M50314_IG20:        ; bbWeight=8, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M50314_IG18:        ; bbWeight=8, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0-x1]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -458,7 +439,7 @@ G_M50314_IG20:        ; bbWeight=8, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
             ; gcrRegs -[x0]
             cbnz    w0, G_M50314_IG09
                        ;; size=56 bbWeight=8 PerfScore 108.00
-G_M50314_IG21:        ; bbWeight=1, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
+G_M50314_IG19:        ; bbWeight=1, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19-x20]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -504,9 +485,9 @@ G_M50314_IG21:        ; bbWeight=1, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, b
             ldr     x8, [x8]
             blr     x8
             ; gcrRegs -[x0-x1 x21]
-            b       G_M50314_IG23
+            b       G_M50314_IG21
                        ;; size=152 bbWeight=1 PerfScore 29.00
-G_M50314_IG22:        ; bbWeight=1.94, gcrefRegs=380002 {x1 x19 x20 x21}, byrefRegs=0000 {}, byref
+G_M50314_IG20:        ; bbWeight=1.94, gcrefRegs=380002 {x1 x19 x20 x21}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x1 x21]
             mov     x0, x20
             ; gcrRegs +[x0]
@@ -517,9 +498,9 @@ G_M50314_IG22:        ; bbWeight=1.94, gcrefRegs=380002 {x1 x19 x20 x21}, byrefR
             ldr     x3, [x3]
             blr     x3
             ; gcrRegs -[x0-x1]
-            b       G_M50314_IG20
+            b       G_M50314_IG18
                        ;; size=32 bbWeight=1.94 PerfScore 14.59
-G_M50314_IG23:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+G_M50314_IG21:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x21]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
@@ -571,15 +552,40 @@ G_M50314_IG23:        ; bbWeight=1, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             mov     x0, x20
             ; gcrRegs +[x0]
                        ;; size=128 bbWeight=1 PerfScore 24.50
-G_M50314_IG24:        ; bbWeight=1, epilog, nogc, extend
+G_M50314_IG22:        ; bbWeight=1, epilog, nogc, extend
             ldr     x23, [sp, #0x78]
             ldp     x21, x22, [sp, #0x68]
             ldp     x19, x20, [sp, #0x58]
             ldp     fp, lr, [sp], #0x80
             ret     lr
                        ;; size=20 bbWeight=1 PerfScore 6.00
-G_M50314_IG25:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref
+G_M50314_IG23:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0] +[x19]
+            add     x0, fp, #48 // [V05 loc3]
+            movz    x1, #0xD1FFAB1E
+            movk    x1, #0xD1FFAB1E LSL #16
+            movk    x1, #0xD1FFAB1E LSL #32
+            movz    x2, #0xD1FFAB1E      // code for <unknown method>
+            movk    x2, #0xD1FFAB1E LSL #16
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x2, [x2]
+            blr     x2
+            ldr     w21, [fp, #0x40]   // [V05 loc3+0x10]
+            ldr     w0, [fp, #0x50]    // [V05 loc3+0x20]
+            cmp     w21, w0
+            bls     G_M50314_IG15
+                       ;; size=52 bbWeight=0.01 PerfScore 0.08
+G_M50314_IG24:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x19-x20]
+            movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
+            ldr     x0, [x0]
+            blr     x0
+            brk_windows #0
+                       ;; size=24 bbWeight=0 PerfScore 0.00
+G_M50314_IG25:        ; bbWeight=0, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x19-x20]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -624,18 +630,8 @@ G_M50314_IG27:        ; bbWeight=0, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {
             mov     w22, wzr
             b       G_M50314_IG11
                        ;; size=12 bbWeight=0 PerfScore 0.00
-G_M50314_IG28:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x19-x20]
-            ; byrRegs -[x21]
-            movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x0, [x0]
-            blr     x0
-            brk_windows #0
-                       ;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1300, prolog size 36, PerfScore 778.09, instruction count 325, allocated bytes for code 1300 (MethodHash=81d53b75) for method System.Net.Mail.SmtpClient:GetFileMailWriter(System.String):System.Net.Mail.MailWriter:this (FullOpts)
+; Total bytes of code 1308, prolog size 36, PerfScore 743.09, instruction count 327, allocated bytes for code 1308 (MethodHash=81d53b75) for method System.Net.Mail.SmtpClient:GetFileMailWriter(System.String):System.Net.Mail.MailWriter:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -646,7 +642,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 325 (0x00145) Actual length = 1300 (0x000514)
+  Function Length   : 327 (0x00147) Actual length = 1308 (0x00051c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
+28 (+1.14%) : 142570.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
@@ -8,49 +8,49 @@
 ; 6 inlinees with PGO data; 17 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] ( 21, 18   )     ref  ->  x24         class-hnd <System.Reflection.MemberInfo>
+;  V00 arg0         [V00,T19] ( 23, 19   )     ref  ->  x24         class-hnd <System.Reflection.MemberInfo>
 ;  V01 arg1         [V01,T10] ( 12, 39.50)     ref  ->  registers   class-hnd <System.Reflection.ParameterInfo[]>
-;  V02 arg2         [V02,T17] (  6, 19.50)     int  ->  x23         single-def
-;  V03 arg3         [V03,T13] (  8, 29.50)   ubyte  ->  x21         single-def
-;  V04 arg4         [V04,T38] (  3,  2.50)     ref  ->  x25         class-hnd single-def <System.Object[]>
-;  V05 arg5         [V05,T15] (  4, 20   )     int  ->  x22         single-def
-;  V06 arg6         [V06,T39] (  3,  2.50)     ref  ->  x26         class-hnd single-def <System.String[]>
-;  V07 arg7         [V07,T40] (  3,  2.50)     ref  ->  x27         class-hnd single-def <System.Type[]>
+;  V02 arg2         [V02,T18] (  6, 19.50)     int  ->  x23         single-def
+;  V03 arg3         [V03,T17] (  7, 21.50)   ubyte  ->  x22         single-def
+;  V04 arg4         [V04,T39] (  3,  2.50)     ref  ->  x25         class-hnd single-def <System.Object[]>
+;  V05 arg5         [V05,T15] (  4, 20   )     int  ->  x21         single-def
+;  V06 arg6         [V06,T40] (  3,  2.50)     ref  ->  x26         class-hnd single-def <System.String[]>
+;  V07 arg7         [V07,T41] (  3,  2.50)     ref  ->  x27         class-hnd single-def <System.Type[]>
 ;  V08 arg8         [V08,T62] (  1,  1   )   ubyte  ->  [fp+0xF0]  single-def
 ;  V09 arg9         [V09,T04] ( 27, 69.35)     ref  ->  x19         class-hnd single-def <System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
-;  V10 arg10        [V10,T42] (  2,  4   )     ref  ->  x28         class-hnd single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Container>
-;  V11 loc0         [V11,T36] ( 10,  5.45)     ref  ->  [fp+0x48]  class-hnd <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V12 loc1         [V12,T19] (  7, 19   )     ref  ->  [fp+0x40]  class-hnd spill-single-def <System.Reflection.MethodBase>
-;  V13 loc2         [V13,T35] (  5,  5.50)   ubyte  ->  [fp+0x9C] 
-;  V14 loc3         [V14,T37] (  3,  5   )     int  ->  x25         single-def
+;  V10 arg10        [V10,T43] (  2,  4   )     ref  ->  x28         class-hnd single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Container>
+;  V11 loc0         [V11,T37] ( 10,  5.45)     ref  ->  [fp+0x40]  class-hnd <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V12 loc1         [V12,T20] (  7, 19   )     ref  ->  [fp+0x38]  class-hnd spill-single-def <System.Reflection.MethodBase>
+;  V13 loc2         [V13,T36] (  5,  5.50)   ubyte  ->  [fp+0x9C] 
+;  V14 loc3         [V14,T38] (  3,  5   )     int  ->  x25         single-def
 ;  V15 loc4         [V15,T07] ( 11, 60.50)     int  ->  x27        
-;  V16 loc5         [V16,T01] ( 16, 84   )     ref  ->  [fp+0x38]  class-hnd exact spill-single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V17 loc6         [V17,T12] (  3, 34   )     ref  ->  [fp+0x30]  class-hnd spill-single-def <System.Reflection.ParameterInfo[]>
-;  V18 loc7         [V18,T11] ( 11, 36   )     ref  ->  [fp+0x28]  class-hnd <System.Reflection.MethodBase>
-;  V19 loc8         [V19,T02] (  8, 84   )     int  ->  [fp+0x98] 
-;  V20 loc9         [V20,T03] (  8, 84   )     int  ->  [fp+0x94] 
+;  V16 loc5         [V16,T03] ( 16, 76   )     ref  ->  [fp+0x30]  class-hnd exact spill-single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V17 loc6         [V17,T12] (  3, 34   )     ref  ->  [fp+0x28]  class-hnd spill-single-def <System.Reflection.ParameterInfo[]>
+;  V18 loc7         [V18,T11] ( 11, 36   )     ref  ->  [fp+0x20]  class-hnd <System.Reflection.MethodBase>
+;  V19 loc8         [V19,T01] (  8, 84   )     int  ->  [fp+0x98] 
+;  V20 loc9         [V20,T02] (  8, 84   )     int  ->  [fp+0x94] 
 ;* V21 loc10        [V21,T49] (  0,  0   )     int  ->  zero-ref   
-;  V22 loc11        [V22,T09] (  4, 50   )     int  ->  [fp+0x90] 
+;  V22 loc11        [V22,T08] (  4, 50   )     int  ->  [fp+0x90] 
 ;  V23 loc12        [V23    ] (  3, 48   )   ubyte  ->  [fp+0x88]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V24 loc13        [V24    ] (  3, 48   )   ubyte  ->  [fp+0x80]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V25 loc14        [V25    ] (  3, 48   )   ubyte  ->  [fp+0x78]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V26 OutArgs      [V26    ] (  1,  1   )  struct (16) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V27 tmp1         [V27,T44] (  3,  2.50)    long  ->   x0         "fgMakeTemp is creating a new local variable"
-;  V28 tmp2         [V28,T43] (  4,  3   )     ref  ->  x25         class-hnd "spilling QMark2" <System.Reflection.MethodBase>
-;  V29 tmp3         [V29,T26] ( 10,  9.90)     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V30 tmp4         [V30,T45] (  3,  2.50)    long  ->   x0         "fgMakeTemp is creating a new local variable"
-;  V31 tmp5         [V31,T48] (  3,  2   )     ref  ->  x22         class-hnd "spilling QMark2" <System.Reflection.PropertyInfo>
-;  V32 tmp6         [V32,T28] (  9,  8.90)     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V27 tmp1         [V27,T45] (  3,  2.50)    long  ->   x1         "fgMakeTemp is creating a new local variable"
+;  V28 tmp2         [V28,T44] (  4,  3   )     ref  ->  x25         class-hnd "spilling QMark2" <System.Reflection.MethodBase>
+;  V29 tmp3         [V29,T27] ( 10,  9.90)     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V30 tmp4         [V30,T46] (  3,  2.50)    long  ->   x1         "fgMakeTemp is creating a new local variable"
+;  V31 tmp5         [V31,T48] (  3,  2   )     ref  ->  x21         class-hnd "spilling QMark2" <System.Reflection.PropertyInfo>
+;  V32 tmp6         [V32,T29] (  9,  8.90)     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
 ;* V33 tmp7         [V33    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V34 tmp8         [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Reflection.ParameterInfo[]>
 ;* V35 tmp9         [V35    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Type>
-;  V36 tmp10        [V36,T27] (  9,  9   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V36 tmp10        [V36,T28] (  9,  9   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
 ;  V37 tmp11        [V37,T54] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V38 tmp12        [V38,T55] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V39 tmp13        [V39,T41] (  4,  4   )     ref  ->  x25         class-hnd single-def "Inlining Arg" <System.Reflection.MethodBase>
+;  V39 tmp13        [V39,T42] (  4,  4   )     ref  ->  x25         class-hnd single-def "Inlining Arg" <System.Reflection.MethodBase>
 ;* V40 tmp14        [V40,T50] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V41 tmp15        [V41,T33] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V42 tmp16        [V42,T34] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V41 tmp15        [V41,T34] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V42 tmp16        [V42,T35] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V43 tmp17        [V43,T58] (  3,  1.45)     ref  ->   x3         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
 ;  V44 tmp18        [V44,T51] (  4,  1.90)     int  ->   x2         single-def "Inline stloc first use temp"
 ;  V45 tmp19        [V45,T59] (  3,  1.45)     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
@@ -58,27 +58,27 @@
 ;  V47 tmp21        [V47,T60] (  3,  1.45)     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
 ;  V48 tmp22        [V48,T53] (  4,  1.90)     int  ->  x15         single-def "Inline stloc first use temp"
 ;  V49 tmp23        [V49,T16] (  3, 24   )     ref  ->   x0         "arr expr"
-;  V50 tmp24        [V50,T21] (  3, 12   )     ref  ->   x0         "argument with side effect"
-;  V51 tmp25        [V51,T22] (  3, 12   )     ref  ->   x0         "argument with side effect"
+;  V50 tmp24        [V50,T22] (  3, 12   )     ref  ->   x0         "argument with side effect"
+;  V51 tmp25        [V51,T23] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V52 tmp26        [V52,T05] (  2, 64   )     ref  ->   x4         "argument with side effect"
 ;  V53 tmp27        [V53,T06] (  2, 64   )     ref  ->   x6         "argument with side effect"
-;  V54 tmp28        [V54,T30] (  2,  8   )     int  ->  [fp+0x74]  spill-single-def "argument with side effect"
-;  V55 tmp29        [V55,T31] (  2,  8   )     int  ->   x3         "argument with side effect"
-;  V56 tmp30        [V56,T29] (  2,  8   )     ref  ->  [fp+0x20]  spill-single-def "argument with side effect"
-;  V57 tmp31        [V57,T23] (  3, 12   )     ref  ->   x2         "argument with side effect"
-;  V58 tmp32        [V58,T24] (  3, 12   )     ref  ->   x0         "argument with side effect"
+;  V54 tmp28        [V54,T31] (  2,  8   )     int  ->  [fp+0x74]  spill-single-def "argument with side effect"
+;  V55 tmp29        [V55,T32] (  2,  8   )     int  ->   x3         "argument with side effect"
+;  V56 tmp30        [V56,T30] (  2,  8   )     ref  ->  [fp+0x18]  spill-single-def "argument with side effect"
+;  V57 tmp31        [V57,T24] (  3, 12   )     ref  ->   x2         "argument with side effect"
+;  V58 tmp32        [V58,T25] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V59 tmp33        [V59,T00] (  3, 96   )     ref  ->   x3         "arr expr"
-;  V60 tmp34        [V60,T25] (  3, 12   )     ref  ->   x0         "arr expr"
-;  V61 cse0         [V61,T20] (  6, 12   )    long  ->  [fp+0x68]  multi-def "CSE - moderate"
-;  V62 cse1         [V62,T32] (  5,  7   )    long  ->  [fp+0x60]  multi-def "CSE - moderate"
+;  V60 tmp34        [V60,T26] (  3, 12   )     ref  ->   x0         "arr expr"
+;  V61 cse0         [V61,T21] (  6, 12   )    long  ->  [fp+0x68]  multi-def "CSE - moderate"
+;  V62 cse1         [V62,T33] (  5,  7   )    long  ->  [fp+0x60]  multi-def "CSE - moderate"
 ;  V63 cse2         [V63,T56] (  3,  1.50)    long  ->  [fp+0x58]  spill-single-def "CSE - conservative"
 ;  V64 cse3         [V64,T57] (  3,  1.50)    long  ->  x26         "CSE - conservative"
-;  V65 cse4         [V65,T08] (  5, 52   )     int  ->   x0         multi-def "CSE - aggressive"
-;  V66 cse5         [V66,T46] (  4,  2   )     int  ->  x25         multi-def "CSE - moderate"
+;  V65 cse4         [V65,T13] (  5, 28   )     int  ->   x0         multi-def "CSE - aggressive"
+;  V66 cse5         [V66,T47] (  4,  2   )     int  ->  x25         multi-def "CSE - moderate"
 ;  V67 cse6         [V67,T61] (  2,  1   )     int  ->   x0         "CSE - conservative"
-;  V68 cse7         [V68,T47] (  4,  2   )    long  ->  x22         "CSE - moderate"
-;  V69 cse8         [V69,T14] (  4, 26   )    long  ->  [fp+0x50]  spill-single-def "CSE - aggressive"
-;  TEMP_01                                     ref  ->  [fp+0x18]
+;  V68 cse7         [V68,T09] (  5, 44   )     int  ->  [fp+0x54]  multi-def "CSE - aggressive"
+;  V69 cse8         [V69,T14] (  4, 26   )    long  ->  [fp+0x48]  spill-single-def "CSE - aggressive"
+;  TEMP_01                                     ref  ->  [fp+0x10]
 ;
 ; Lcl frame size = 160
 
@@ -93,16 +93,16 @@ G_M30168_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             add     fp, sp, #16
             stp     xzr, xzr, [fp, #0x80]  // [V24 loc13], [V23 loc12]
             str     xzr, [fp, #0x78]   // [V25 loc14]
-            str     xzr, [fp, #0x18]    // [TEMP_01]
+            str     xzr, [fp, #0x10]  // [TEMP_01]
             mov     x24, x0
             ; gcrRegs +[x24]
             mov     x20, x1
             ; gcrRegs +[x20]
             mov     w23, w2
-            mov     w21, w3
+            mov     w22, w3
             mov     x25, x4
             ; gcrRegs +[x25]
-            mov     w22, w5
+            mov     w21, w5
             mov     x26, x6
             ; gcrRegs +[x26]
             mov     x27, x7
@@ -111,13 +111,13 @@ G_M30168_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x19 x28]
                        ;; size=80 bbWeight=1 PerfScore 17.00
 G_M30168_IG02:        ; bbWeight=1, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, byref, isz
-            str     xzr, [fp, #0x48]  // [V11 loc0]
+            str     xzr, [fp, #0x40] // [V11 loc0]
             ; GC ptr vars +{V11}
             ldrb    w1, [fp, #0xF0]    // [V08 arg8]
             tst     w1, #255
             bne     G_M30168_IG40
                        ;; size=16 bbWeight=1 PerfScore 4.50
-G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000001000000000 {V11}, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000002000000000 {V11}, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             mov     x1, x24
             ; gcrRegs +[x1]
             movz    x0, #0xD1FFAB1E
@@ -126,7 +126,7 @@ G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000001000000000 {V11}, gcrefRegs=
             bl      CORINFO_HELP_ISINSTANCEOFCLASS
             ; gcrRegs -[x1] +[x0]
             ; gcr arg pop 0
-            str     x0, [fp, #0x40]   // [V12 loc1]
+            str     x0, [fp, #0x38]  // [V12 loc1]
             ; GC ptr vars +{V12}
             str     wzr, [fp, #0x9C]   // [V13 loc2]
             mov     x0, x24
@@ -145,7 +145,7 @@ G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000001000000000 {V11}, gcrefRegs=
             tbz     w0, #0, G_M30168_IG58
                        ;; size=76 bbWeight=0.50 PerfScore 11.25
 G_M30168_IG04:        ; bbWeight=0.50, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, byref, isz
-            ldr     x0, [fp, #0x40]    // [V12 loc1]
+            ldr     x0, [fp, #0x38]  // [V12 loc1]
             ; gcrRegs +[x0]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x60]
@@ -155,7 +155,7 @@ G_M30168_IG04:        ; bbWeight=0.50, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x
             ; gcrRegs -[x0]
             ; gcr arg pop 0
             cbz     w0, G_M30168_IG06
-            ldr     x0, [fp, #0x40] // [V12 loc1]
+            ldr     x0, [fp, #0x38]  // [V12 loc1]
             ; gcrRegs +[x0]
             ldr     x1, [fp, #0x58]    // [V63 cse2]
             ldr     x1, [x1, #0x18]
@@ -187,19 +187,19 @@ G_M30168_IG04:        ; bbWeight=0.50, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x
             ; gcrRegs -[x15 x20]
             ; byrRegs -[x14]
             str     w23, [x2, #0x48]
-            strb    w21, [x2, #0x4C]
+            strb    w22, [x2, #0x4C]
             mov     w14, #1
             strb    w14, [x2, #0x4F]
             add     x14, x2, #8
             ; byrRegs +[x14]
-            ldr     x15, [fp, #0x40] // [V12 loc1]
+            ldr     x15, [fp, #0x38] // [V12 loc1]
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x15]
             ; byrRegs -[x14]
             add     x14, x2, #16
             ; byrRegs +[x14]
-            ldr     x15, [fp, #0x40] // [V12 loc1]
+            ldr     x15, [fp, #0x38] // [V12 loc1]
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x15]
@@ -242,11 +242,11 @@ G_M30168_IG05:        ; bbWeight=0.50, gcrefRegs=10180000 {x19 x20 x28}, byrefRe
             ldr     x0, [x20, #0x18]
             mov     x25, x0
             ; gcrRegs +[x25]
-            str     x20, [fp, #0x48] // [V11 loc0]
+            str     x20, [fp, #0x40] // [V11 loc0]
             ; GC ptr vars +{V11}
             mov     x20, x25
                        ;; size=52 bbWeight=0.50 PerfScore 6.50
-G_M30168_IG06:        ; bbWeight=0.50, gcVars=0000001000080000 {V11 V12}, gcrefRegs=11180000 {x19 x20 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG06:        ; bbWeight=0.50, gcVars=0000002000100000 {V11 V12}, gcrefRegs=11180000 {x19 x20 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0 x25]
             cbz     x24, G_M30168_IG08
             mov     x0, x24
@@ -318,18 +318,18 @@ G_M30168_IG09:        ; bbWeight=4, gcrefRegs=11180000 {x19 x20 x24 x28}, byrefR
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
             mov     w1, w27
-            str     x1, [fp, #0x50]   // [V69 cse8]
+            str     x1, [fp, #0x48]  // [V69 cse8]
             ldr     x2, [x0, x1, LSL #3]
             ; gcrRegs +[x2]
-            str     x2, [fp, #0x38]   // [V16 loc5]
+            str     x2, [fp, #0x30]  // [V16 loc5]
             ; GC ptr vars +{V16}
             cbz     x2, G_M30168_IG39
                        ;; size=52 bbWeight=4 PerfScore 76.00
-G_M30168_IG10:        ; bbWeight=2, gcVars=0000001000080002 {V11 V12 V16}, gcrefRegs=11180004 {x2 x19 x20 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG10:        ; bbWeight=2, gcVars=0000002000100008 {V11 V12 V16}, gcrefRegs=11180004 {x2 x19 x20 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             ; byrRegs -[x0]
             ldr     x3, [x2, #0x18]
             ; gcrRegs +[x3]
-            str     x3, [fp, #0x30]   // [V17 loc6]
+            str     x3, [fp, #0x28]  // [V17 loc6]
             ; GC ptr vars +{V17}
             ldr     x0, [x2, #0x08]
             ; gcrRegs +[x0]
@@ -341,7 +341,7 @@ G_M30168_IG10:        ; bbWeight=2, gcVars=0000001000080002 {V11 V12 V16}, gcref
             ; gcr arg pop 0
             cmp     w0, #8
             beq     G_M30168_IG11
-            ldr     x1, [fp, #0x38] // [V16 loc5]
+            ldr     x1, [fp, #0x30]  // [V16 loc5]
...
  
  
libraries_tests.run.windows.arm64.Release.mch
-16 (-2.17%) : 1429.dasm - System.Linq.Enumerable:TryGetFirstSystem.__Canon:System.__Canon (Tier1)
@@ -30,7 +30,7 @@
 ;  V18 tmp10        [V18,T17] (  3,  4.12)     ref  ->   x1         class-hnd "dup spill" <Internal.Microsoft.Extensions.DependencyModel.RuntimeAssetGroup>
 ;* V19 tmp11        [V19    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V20 tmp12        [V20,T18] (  2,  1.37)     ref  ->   x1        
-;  V21 tmp13        [V21,T00] ( 10, 16.15)   byref  ->   x1         "Inlining Arg"
+;  V21 tmp13        [V21,T00] (  9, 15.68)   byref  ->   x1         "Inlining Arg"
 ;  V22 tmp14        [V22,T19] (  4,  3.56)     ref  ->  x14         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;* V23 tmp15        [V23    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V24 tmp16        [V24,T15] (  3,  4.28)     ref  ->  x14         "arr expr"
@@ -38,7 +38,7 @@
 ;  V26 PSPSym       [V26,T22] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
 ;  V27 cse0         [V27,T21] (  3,  2.61)     int  ->  x15         "CSE - moderate"
 ;  V28 cse1         [V28,T13] (  5,  4.52)    long  ->  x21         hoist multi-def "CSE - aggressive"
-;  V29 cse2         [V29,T20] (  4,  3.09)     ref  ->   x2         "CSE - moderate"
+;  V29 cse2         [V29,T20] (  3,  2.85)     ref  ->   x2         "CSE - moderate"
 ;  V30 rat0         [V30,T11] (  3,  5.60)    long  ->  x11         "fgMakeTemp is creating a new local variable"
 ;  V31 rat1         [V31,T04] (  3,  8.54)    long  ->   x0         "spilling expr"
 ;  V32 rat2         [V32,T06] (  3,  6.83)    long  ->  x11         "fgMakeTemp is creating a new local variable"
@@ -64,11 +64,11 @@ G_M62024_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=48 bbWeight=1 PerfScore 9.00
 G_M62024_IG02:        ; bbWeight=1, gcVars=0000000000800000 {V06}, gcrefRegs=280000 {x19 x21}, byrefRegs=400000 {x22}, gcvars, byref, isz
             ; GC ptr vars +{V06}
-            cbz     x21, G_M62024_IG30
-            cbz     x19, G_M62024_IG31
+            cbz     x21, G_M62024_IG29
+            cbz     x19, G_M62024_IG30
             ldr     x0, [x20, #0x38]
             ldr     x11, [x0, #0x10]
-            cbz     x11, G_M62024_IG21
+            cbz     x11, G_M62024_IG20
                        ;; size=20 bbWeight=1 PerfScore 9.00
 G_M62024_IG03:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=400000 {x22}, byref
             mov     x0, x21
@@ -122,7 +122,7 @@ G_M62024_IG08:        ; bbWeight=0.69, gcrefRegs=880000 {x19 x23}, byrefRegs=400
             cbz     x1, G_M62024_IG11
             ldr     x1, [x1, #0x10]
             cbz     x1, G_M62024_IG11
-            b       G_M62024_IG20
+            b       G_M62024_IG19
                         ;; size=24 bbWeight=0.69 PerfScore 7.55
 G_M62024_IG09:        ; bbWeight=0.55, gcrefRegs=80000 {x19}, byrefRegs=400000 {x22}, byref
             ; gcrRegs -[x0-x1 x23]
@@ -145,7 +145,7 @@ G_M62024_IG10:        ; bbWeight=1.52, gcrefRegs=880000 {x19 x23}, byrefRegs=400
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            cbnz    w0, G_M62024_IG20
+            cbnz    w0, G_M62024_IG19
                       ;; size=20 bbWeight=1.52 PerfScore 12.96
 G_M62024_IG11:        ; bbWeight=2.26, gcrefRegs=80000 {x19}, byrefRegs=400000 {x22}, byref, isz
             ; gcrRegs -[x23]
@@ -153,7 +153,7 @@ G_M62024_IG11:        ; bbWeight=2.26, gcrefRegs=80000 {x19}, byrefRegs=400000 {
             ; gcrRegs +[x0]
             ldr     x11, [x0]
             cmp     x11, x21
-            bne     G_M62024_IG18
+            bne     G_M62024_IG17
                      ;; size=16 bbWeight=2.26 PerfScore 14.70
 G_M62024_IG12:        ; bbWeight=0.95, gcrefRegs=80001 {x0 x19}, byrefRegs=400000 {x22}, byref, isz
             add     x1, x0, #8
@@ -165,11 +165,11 @@ G_M62024_IG12:        ; bbWeight=0.95, gcrefRegs=80001 {x0 x19}, byrefRegs=40000
             ldr     w15, [x1, #0x14]
             ldr     w12, [x14, #0x14]
             cmp     w15, w12
-            bne     G_M62024_IG16
+            bne     G_M62024_IG15
             ldr     w15, [x1, #0x10]
             ldr     w12, [x14, #0x10]
             cmp     w15, w12
-            bhs     G_M62024_IG17
+            bhs     G_M62024_IG16
                      ;; size=44 bbWeight=0.95 PerfScore 18.05
 G_M62024_IG13:        ; bbWeight=0.71, gcrefRegs=84001 {x0 x14 x19}, byrefRegs=400002 {x1 x22}, byref, isz
             ; gcrRegs -[x2]
@@ -206,23 +206,17 @@ G_M62024_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M62024_IG16:        ; bbWeight=0.24, gcrefRegs=0005 {x0 x2}, byrefRegs=400002 {x1 x22}, byref, isz
+G_M62024_IG16:        ; bbWeight=0.95, gcrefRegs=0005 {x0 x2}, byrefRegs=400002 {x1 x22}, byref
             ; gcrRegs +[x0 x2]
             ; byrRegs +[x1 x22]
-            ldr     w3, [x1, #0x14]
-            ldr     w4, [x2, #0x14]
-            cmp     w3, w4
-            bne     G_M62024_IG15
-                       ;; size=16 bbWeight=0.24 PerfScore 1.78
-G_M62024_IG17:        ; bbWeight=0.95, gcrefRegs=0005 {x0 x2}, byrefRegs=400002 {x1 x22}, byref
             ldr     w2, [x2, #0x10]
             ; gcrRegs -[x2]
             add     w2, w2, #1
             str     w2, [x1, #0x10]
             str     xzr, [x1, #0x08]
-            b       G_M62024_IG22
+            b       G_M62024_IG21
                      ;; size=20 bbWeight=0.95 PerfScore 6.18
-G_M62024_IG18:        ; bbWeight=2.26, gcrefRegs=80001 {x0 x19}, byrefRegs=400000 {x22}, byref, isz
+G_M62024_IG17:        ; bbWeight=2.26, gcrefRegs=80001 {x0 x19}, byrefRegs=400000 {x22}, byref, isz
             ; gcrRegs +[x19]
             ; byrRegs -[x1]
             movz    x11, #0xD1FFAB1E      // code for <unknown method>
@@ -234,18 +228,18 @@ G_M62024_IG18:        ; bbWeight=2.26, gcrefRegs=80001 {x0 x19}, byrefRegs=40000
             ; gcr arg pop 0
             cbnz    w0, G_M62024_IG05
                        ;; size=24 bbWeight=2.26 PerfScore 14.70
-G_M62024_IG19:        ; bbWeight=0.74, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, byref
+G_M62024_IG18:        ; bbWeight=0.74, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, byref
             ; gcrRegs -[x19]
-            b       G_M62024_IG22
+            b       G_M62024_IG21
                         ;; size=4 bbWeight=0.74 PerfScore 0.74
-G_M62024_IG20:        ; bbWeight=0.69, gcrefRegs=800000 {x23}, byrefRegs=400000 {x22}, byref
+G_M62024_IG19:        ; bbWeight=0.69, gcrefRegs=800000 {x23}, byrefRegs=400000 {x22}, byref
             ; gcrRegs +[x23]
             mov     w0, #1
             strb    w0, [x22]
             str     x23, [fp, #0x18]   // [V06 loc2]
-            b       G_M62024_IG26
+            b       G_M62024_IG25
                      ;; size=16 bbWeight=0.69 PerfScore 2.40
-G_M62024_IG21:        ; bbWeight=0.20, gcVars=0000000000800000 {V06}, gcrefRegs=280000 {x19 x21}, byrefRegs=400000 {x22}, gcvars, byref
+G_M62024_IG20:        ; bbWeight=0.20, gcVars=0000000000800000 {V06}, gcrefRegs=280000 {x19 x21}, byrefRegs=400000 {x22}, gcvars, byref
             ; gcrRegs -[x23] +[x19 x21]
             ; GC ptr vars -{V04}
             mov     x0, x20
@@ -257,16 +251,16 @@ G_M62024_IG21:        ; bbWeight=0.20, gcVars=0000000000800000 {V06}, gcrefRegs=
             mov     x11, x0
             b       G_M62024_IG03
                        ;; size=28 bbWeight=0.20 PerfScore 0.90
-G_M62024_IG22:        ; bbWeight=0.74, gcVars=0000000000000002 {V04}, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, gcvars, byref, isz
+G_M62024_IG21:        ; bbWeight=0.74, gcVars=0000000000000002 {V04}, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, gcvars, byref, isz
             ; gcrRegs -[x19 x21]
             ; GC ptr vars -{V06} +{V01 V04}
             ldr     x0, [fp, #0x20]    // [V04 loc0]
             ; gcrRegs +[x0]
             ldr     x11, [x0]
             cmp     x11, x21
-            beq     G_M62024_IG24
+            beq     G_M62024_IG23
                      ;; size=16 bbWeight=0.74 PerfScore 4.80
-G_M62024_IG23:        ; bbWeight=0.33, gcrefRegs=0001 {x0}, byrefRegs=400000 {x22}, byref
+G_M62024_IG22:        ; bbWeight=0.33, gcrefRegs=0001 {x0}, byrefRegs=400000 {x22}, byref
             movz    x11, #0xD1FFAB1E      // code for <unknown method>
             movk    x11, #0xD1FFAB1E LSL #16
             movk    x11, #0xD1FFAB1E LSL #32
@@ -276,39 +270,39 @@ G_M62024_IG23:        ; bbWeight=0.33, gcrefRegs=0001 {x0}, byrefRegs=400000 {x2
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=20 bbWeight=0.33 PerfScore 1.83
-G_M62024_IG24:        ; bbWeight=0.74, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, byref
+G_M62024_IG23:        ; bbWeight=0.74, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, byref
             strb    wzr, [x22]
             mov     x0, xzr
                        ;; size=8 bbWeight=0.74 PerfScore 1.11
-G_M62024_IG25:        ; bbWeight=0.74, epilog, nogc, extend
+G_M62024_IG24:        ; bbWeight=0.74, epilog, nogc, extend
             ldr     x23, [sp, #0x58]
             ldp     x21, x22, [sp, #0x48]
             ldp     x19, x20, [sp, #0x38]
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=20 bbWeight=0.74 PerfScore 4.43
-G_M62024_IG26:        ; bbWeight=0.26, gcVars=0000000000800002 {V04 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M62024_IG25:        ; bbWeight=0.26, gcVars=0000000000800002 {V04 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; byrRegs -[x22]
             ; GC ptr vars +{V01 V04 V06}
             ldr     x0, [fp, #0x30]    // [V26 PSPSym]
-            bl      G_M62024_IG32
+            bl      G_M62024_IG31
                        ;; size=8 bbWeight=0.26 PerfScore 0.79
-G_M62024_IG27:        ; bbWeight=0.26, nogc, extend
+G_M62024_IG26:        ; bbWeight=0.26, nogc, extend
             nop     
                        ;; size=4 bbWeight=0.26 PerfScore 0.13
-G_M62024_IG28:        ; bbWeight=0.26, gcVars=0000000000800000 {V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M62024_IG27:        ; bbWeight=0.26, gcVars=0000000000800000 {V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; GC ptr vars -{V01 V04}
             ldr     x0, [fp, #0x18]    // [V06 loc2]
             ; gcrRegs +[x0]
                        ;; size=4 bbWeight=0.26 PerfScore 0.52
-G_M62024_IG29:        ; bbWeight=0.26, epilog, nogc, extend
+G_M62024_IG28:        ; bbWeight=0.26, epilog, nogc, extend
             ldr     x23, [sp, #0x58]
             ldp     x21, x22, [sp, #0x48]
             ldp     x19, x20, [sp, #0x38]
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=20 bbWeight=0.26 PerfScore 1.57
-G_M62024_IG30:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M62024_IG29:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             ; GC ptr vars -{V06}
             mov     w0, #17
@@ -320,7 +314,7 @@ G_M62024_IG30:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=28 bbWeight=0 PerfScore 0.00
-G_M62024_IG31:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M62024_IG30:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #12
             movz    x1, #0xD1FFAB1E      // code for System.Linq.ThrowHelper:ThrowArgumentNullException(int)
             movk    x1, #0xD1FFAB1E LSL #16
@@ -330,7 +324,7 @@ G_M62024_IG31:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=28 bbWeight=0 PerfScore 0.00
-G_M62024_IG32:        ; bbWeight=0.26, gcVars=0000000000800002 {V04 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+G_M62024_IG31:        ; bbWeight=0.26, gcVars=0000000000800002 {V04 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
             ; GC ptr vars +{V01 V04 V06}
             stp     fp, lr, [sp, #-0x40]!
             stp     x19, x20, [sp, #0x18]
@@ -339,18 +333,18 @@ G_M62024_IG32:        ; bbWeight=0.26, gcVars=0000000000800002 {V04 V06}, gcrefR
             add     x3, fp, #96
             str     x3, [sp, #0x10]
                        ;; size=24 bbWeight=0.26 PerfScore 1.44
-G_M62024_IG33:        ; bbWeight=0.26, gcVars=0000000000800002 {V04 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M62024_IG32:        ; bbWeight=0.26, gcVars=0000000000800002 {V04 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldr     x0, [fp, #0x20]  // [V04 loc0]
             ; gcrRegs +[x0]
-            cbz     x0, G_M62024_IG35
+            cbz     x0, G_M62024_IG34
             ldr     x11, [x0]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             cmp     x11, x21
-            beq     G_M62024_IG35
+            beq     G_M62024_IG34
                      ;; size=32 bbWeight=0.26 PerfScore 2.36
-G_M62024_IG34:        ; bbWeight=0.12, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M62024_IG33:        ; bbWeight=0.12, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             movz    x11, #0xD1FFAB1E      // code for <unknown method>
             movk    x11, #0xD1FFAB1E LSL #16
             movk    x11, #0xD1FFAB1E LSL #32
@@ -360,7 +354,7 @@ G_M62024_IG34:        ; bbWeight=0.12, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=20 bbWeight=0.12 PerfScore 0.65
-G_M62024_IG35:        ; bbWeight=0.26, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M62024_IG34:        ; bbWeight=0.26, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldr     x23, [sp, #0x38]
             ldp     x21, x22, [sp, #0x28]
             ldp     x19, x20, [sp, #0x18]
@@ -368,7 +362,7 @@ G_M62024_IG35:        ; bbWeight=0.26, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ret     lr
                        ;; size=20 bbWeight=0.26 PerfScore 3.15
 
-; Total bytes of code 736, prolog size 48, PerfScore 182.40, instruction count 184, allocated bytes for code 736 (MethodHash=c4780db7) for method System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
+; Total bytes of code 720, prolog size 48, PerfScore 180.62, instruction count 180, allocated bytes for code 720 (MethodHash=c4780db7) for method System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
 ; ============================================================
...
  
-16 (-2.17%) : 1897.dasm - System.Linq.Enumerable:TryGetFirstSystem.__Canon:System.__Canon (Tier1)
@@ -30,7 +30,7 @@
 ;  V18 tmp10        [V18,T17] (  3,  4.12)     ref  ->   x1         class-hnd "dup spill" <Internal.Microsoft.Extensions.DependencyModel.RuntimeAssetGroup>
 ;* V19 tmp11        [V19    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V20 tmp12        [V20,T18] (  2,  1.37)     ref  ->   x1        
-;  V21 tmp13        [V21,T00] ( 10, 16.13)   byref  ->   x1         "Inlining Arg"
+;  V21 tmp13        [V21,T00] (  9, 15.65)   byref  ->   x1         "Inlining Arg"
 ;  V22 tmp14        [V22,T19] (  4,  3.56)     ref  ->  x14         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;* V23 tmp15        [V23    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V24 tmp16        [V24,T15] (  3,  4.25)     ref  ->  x14         "arr expr"
@@ -38,7 +38,7 @@
 ;  V26 PSPSym       [V26,T22] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
 ;  V27 cse0         [V27,T21] (  3,  2.61)     int  ->  x15         "CSE - moderate"
 ;  V28 cse1         [V28,T13] (  5,  4.52)    long  ->  x21         hoist multi-def "CSE - aggressive"
-;  V29 cse2         [V29,T20] (  4,  3.09)     ref  ->   x2         "CSE - moderate"
+;  V29 cse2         [V29,T20] (  3,  2.85)     ref  ->   x2         "CSE - moderate"
 ;  V30 rat0         [V30,T11] (  3,  5.60)    long  ->  x11         "fgMakeTemp is creating a new local variable"
 ;  V31 rat1         [V31,T04] (  3,  8.54)    long  ->   x0         "spilling expr"
 ;  V32 rat2         [V32,T06] (  3,  6.83)    long  ->  x11         "fgMakeTemp is creating a new local variable"
@@ -64,11 +64,11 @@ G_M62024_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=48 bbWeight=1 PerfScore 9.00
 G_M62024_IG02:        ; bbWeight=1, gcVars=0000000000800000 {V06}, gcrefRegs=280000 {x19 x21}, byrefRegs=400000 {x22}, gcvars, byref, isz
             ; GC ptr vars +{V06}
-            cbz     x21, G_M62024_IG30
-            cbz     x19, G_M62024_IG31
+            cbz     x21, G_M62024_IG29
+            cbz     x19, G_M62024_IG30
             ldr     x0, [x20, #0x38]
             ldr     x11, [x0, #0x10]
-            cbz     x11, G_M62024_IG21
+            cbz     x11, G_M62024_IG20
                        ;; size=20 bbWeight=1 PerfScore 9.00
 G_M62024_IG03:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=400000 {x22}, byref
             mov     x0, x21
@@ -122,7 +122,7 @@ G_M62024_IG08:        ; bbWeight=0.69, gcrefRegs=880000 {x19 x23}, byrefRegs=400
             cbz     x1, G_M62024_IG11
             ldr     x1, [x1, #0x10]
             cbz     x1, G_M62024_IG11
-            b       G_M62024_IG20
+            b       G_M62024_IG19
                         ;; size=24 bbWeight=0.69 PerfScore 7.55
 G_M62024_IG09:        ; bbWeight=0.55, gcrefRegs=80000 {x19}, byrefRegs=400000 {x22}, byref
             ; gcrRegs -[x0-x1 x23]
@@ -145,7 +145,7 @@ G_M62024_IG10:        ; bbWeight=1.52, gcrefRegs=880000 {x19 x23}, byrefRegs=400
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            cbnz    w0, G_M62024_IG20
+            cbnz    w0, G_M62024_IG19
                       ;; size=20 bbWeight=1.52 PerfScore 12.96
 G_M62024_IG11:        ; bbWeight=2.26, gcrefRegs=80000 {x19}, byrefRegs=400000 {x22}, byref, isz
             ; gcrRegs -[x23]
@@ -153,7 +153,7 @@ G_M62024_IG11:        ; bbWeight=2.26, gcrefRegs=80000 {x19}, byrefRegs=400000 {
             ; gcrRegs +[x0]
             ldr     x11, [x0]
             cmp     x11, x21
-            bne     G_M62024_IG18
+            bne     G_M62024_IG17
                      ;; size=16 bbWeight=2.26 PerfScore 14.70
 G_M62024_IG12:        ; bbWeight=0.95, gcrefRegs=80001 {x0 x19}, byrefRegs=400000 {x22}, byref, isz
             add     x1, x0, #8
@@ -165,11 +165,11 @@ G_M62024_IG12:        ; bbWeight=0.95, gcrefRegs=80001 {x0 x19}, byrefRegs=40000
             ldr     w15, [x1, #0x14]
             ldr     w12, [x14, #0x14]
             cmp     w15, w12
-            bne     G_M62024_IG16
+            bne     G_M62024_IG15
             ldr     w15, [x1, #0x10]
             ldr     w12, [x14, #0x10]
             cmp     w15, w12
-            bhs     G_M62024_IG17
+            bhs     G_M62024_IG16
                      ;; size=44 bbWeight=0.95 PerfScore 18.05
 G_M62024_IG13:        ; bbWeight=0.71, gcrefRegs=84001 {x0 x14 x19}, byrefRegs=400002 {x1 x22}, byref, isz
             ; gcrRegs -[x2]
@@ -206,23 +206,17 @@ G_M62024_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M62024_IG16:        ; bbWeight=0.24, gcrefRegs=0005 {x0 x2}, byrefRegs=400002 {x1 x22}, byref, isz
+G_M62024_IG16:        ; bbWeight=0.95, gcrefRegs=0005 {x0 x2}, byrefRegs=400002 {x1 x22}, byref
             ; gcrRegs +[x0 x2]
             ; byrRegs +[x1 x22]
-            ldr     w3, [x1, #0x14]
-            ldr     w4, [x2, #0x14]
-            cmp     w3, w4
-            bne     G_M62024_IG15
-                       ;; size=16 bbWeight=0.24 PerfScore 1.82
-G_M62024_IG17:        ; bbWeight=0.95, gcrefRegs=0005 {x0 x2}, byrefRegs=400002 {x1 x22}, byref
             ldr     w2, [x2, #0x10]
             ; gcrRegs -[x2]
             add     w2, w2, #1
             str     w2, [x1, #0x10]
             str     xzr, [x1, #0x08]
-            b       G_M62024_IG22
+            b       G_M62024_IG21
                      ;; size=20 bbWeight=0.95 PerfScore 6.18
-G_M62024_IG18:        ; bbWeight=2.26, gcrefRegs=80001 {x0 x19}, byrefRegs=400000 {x22}, byref, isz
+G_M62024_IG17:        ; bbWeight=2.26, gcrefRegs=80001 {x0 x19}, byrefRegs=400000 {x22}, byref, isz
             ; gcrRegs +[x19]
             ; byrRegs -[x1]
             movz    x11, #0xD1FFAB1E      // code for <unknown method>
@@ -234,18 +228,18 @@ G_M62024_IG18:        ; bbWeight=2.26, gcrefRegs=80001 {x0 x19}, byrefRegs=40000
             ; gcr arg pop 0
             cbnz    w0, G_M62024_IG05
                        ;; size=24 bbWeight=2.26 PerfScore 14.70
-G_M62024_IG19:        ; bbWeight=0.74, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, byref
+G_M62024_IG18:        ; bbWeight=0.74, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, byref
             ; gcrRegs -[x19]
-            b       G_M62024_IG22
+            b       G_M62024_IG21
                         ;; size=4 bbWeight=0.74 PerfScore 0.74
-G_M62024_IG20:        ; bbWeight=0.69, gcrefRegs=800000 {x23}, byrefRegs=400000 {x22}, byref
+G_M62024_IG19:        ; bbWeight=0.69, gcrefRegs=800000 {x23}, byrefRegs=400000 {x22}, byref
             ; gcrRegs +[x23]
             mov     w0, #1
             strb    w0, [x22]
             str     x23, [fp, #0x18]   // [V06 loc2]
-            b       G_M62024_IG26
+            b       G_M62024_IG25
                      ;; size=16 bbWeight=0.69 PerfScore 2.40
-G_M62024_IG21:        ; bbWeight=0.20, gcVars=0000000000800000 {V06}, gcrefRegs=280000 {x19 x21}, byrefRegs=400000 {x22}, gcvars, byref
+G_M62024_IG20:        ; bbWeight=0.20, gcVars=0000000000800000 {V06}, gcrefRegs=280000 {x19 x21}, byrefRegs=400000 {x22}, gcvars, byref
             ; gcrRegs -[x23] +[x19 x21]
             ; GC ptr vars -{V04}
             mov     x0, x20
@@ -257,16 +251,16 @@ G_M62024_IG21:        ; bbWeight=0.20, gcVars=0000000000800000 {V06}, gcrefRegs=
             mov     x11, x0
             b       G_M62024_IG03
                        ;; size=28 bbWeight=0.20 PerfScore 0.90
-G_M62024_IG22:        ; bbWeight=0.74, gcVars=0000000000000002 {V04}, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, gcvars, byref, isz
+G_M62024_IG21:        ; bbWeight=0.74, gcVars=0000000000000002 {V04}, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, gcvars, byref, isz
             ; gcrRegs -[x19 x21]
             ; GC ptr vars -{V06} +{V01 V04}
             ldr     x0, [fp, #0x20]    // [V04 loc0]
             ; gcrRegs +[x0]
             ldr     x11, [x0]
             cmp     x11, x21
-            beq     G_M62024_IG24
+            beq     G_M62024_IG23
                      ;; size=16 bbWeight=0.74 PerfScore 4.80
-G_M62024_IG23:        ; bbWeight=0.33, gcrefRegs=0001 {x0}, byrefRegs=400000 {x22}, byref
+G_M62024_IG22:        ; bbWeight=0.33, gcrefRegs=0001 {x0}, byrefRegs=400000 {x22}, byref
             movz    x11, #0xD1FFAB1E      // code for <unknown method>
             movk    x11, #0xD1FFAB1E LSL #16
             movk    x11, #0xD1FFAB1E LSL #32
@@ -276,39 +270,39 @@ G_M62024_IG23:        ; bbWeight=0.33, gcrefRegs=0001 {x0}, byrefRegs=400000 {x2
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=20 bbWeight=0.33 PerfScore 1.83
-G_M62024_IG24:        ; bbWeight=0.74, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, byref
+G_M62024_IG23:        ; bbWeight=0.74, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, byref
             strb    wzr, [x22]
             mov     x0, xzr
                        ;; size=8 bbWeight=0.74 PerfScore 1.11
-G_M62024_IG25:        ; bbWeight=0.74, epilog, nogc, extend
+G_M62024_IG24:        ; bbWeight=0.74, epilog, nogc, extend
             ldr     x23, [sp, #0x58]
             ldp     x21, x22, [sp, #0x48]
             ldp     x19, x20, [sp, #0x38]
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=20 bbWeight=0.74 PerfScore 4.43
-G_M62024_IG26:        ; bbWeight=0.26, gcVars=0000000000800002 {V04 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M62024_IG25:        ; bbWeight=0.26, gcVars=0000000000800002 {V04 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; byrRegs -[x22]
             ; GC ptr vars +{V01 V04 V06}
             ldr     x0, [fp, #0x30]    // [V26 PSPSym]
-            bl      G_M62024_IG32
+            bl      G_M62024_IG31
                        ;; size=8 bbWeight=0.26 PerfScore 0.79
-G_M62024_IG27:        ; bbWeight=0.26, nogc, extend
+G_M62024_IG26:        ; bbWeight=0.26, nogc, extend
             nop     
                        ;; size=4 bbWeight=0.26 PerfScore 0.13
-G_M62024_IG28:        ; bbWeight=0.26, gcVars=0000000000800000 {V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M62024_IG27:        ; bbWeight=0.26, gcVars=0000000000800000 {V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; GC ptr vars -{V01 V04}
             ldr     x0, [fp, #0x18]    // [V06 loc2]
             ; gcrRegs +[x0]
                        ;; size=4 bbWeight=0.26 PerfScore 0.52
-G_M62024_IG29:        ; bbWeight=0.26, epilog, nogc, extend
+G_M62024_IG28:        ; bbWeight=0.26, epilog, nogc, extend
             ldr     x23, [sp, #0x58]
             ldp     x21, x22, [sp, #0x48]
             ldp     x19, x20, [sp, #0x38]
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=20 bbWeight=0.26 PerfScore 1.57
-G_M62024_IG30:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M62024_IG29:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             ; GC ptr vars -{V06}
             mov     w0, #17
@@ -320,7 +314,7 @@ G_M62024_IG30:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=28 bbWeight=0 PerfScore 0.00
-G_M62024_IG31:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M62024_IG30:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #12
             movz    x1, #0xD1FFAB1E      // code for System.Linq.ThrowHelper:ThrowArgumentNullException(int)
             movk    x1, #0xD1FFAB1E LSL #16
@@ -330,7 +324,7 @@ G_M62024_IG31:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=28 bbWeight=0 PerfScore 0.00
-G_M62024_IG32:        ; bbWeight=0.26, gcVars=0000000000800002 {V04 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+G_M62024_IG31:        ; bbWeight=0.26, gcVars=0000000000800002 {V04 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
             ; GC ptr vars +{V01 V04 V06}
             stp     fp, lr, [sp, #-0x40]!
             stp     x19, x20, [sp, #0x18]
@@ -339,18 +333,18 @@ G_M62024_IG32:        ; bbWeight=0.26, gcVars=0000000000800002 {V04 V06}, gcrefR
             add     x3, fp, #96
             str     x3, [sp, #0x10]
                        ;; size=24 bbWeight=0.26 PerfScore 1.44
-G_M62024_IG33:        ; bbWeight=0.26, gcVars=0000000000800002 {V04 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M62024_IG32:        ; bbWeight=0.26, gcVars=0000000000800002 {V04 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldr     x0, [fp, #0x20]  // [V04 loc0]
             ; gcrRegs +[x0]
-            cbz     x0, G_M62024_IG35
+            cbz     x0, G_M62024_IG34
             ldr     x11, [x0]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             cmp     x11, x21
-            beq     G_M62024_IG35
+            beq     G_M62024_IG34
                      ;; size=32 bbWeight=0.26 PerfScore 2.36
-G_M62024_IG34:        ; bbWeight=0.12, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M62024_IG33:        ; bbWeight=0.12, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             movz    x11, #0xD1FFAB1E      // code for <unknown method>
             movk    x11, #0xD1FFAB1E LSL #16
             movk    x11, #0xD1FFAB1E LSL #32
@@ -360,7 +354,7 @@ G_M62024_IG34:        ; bbWeight=0.12, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=20 bbWeight=0.12 PerfScore 0.65
-G_M62024_IG35:        ; bbWeight=0.26, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M62024_IG34:        ; bbWeight=0.26, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldr     x23, [sp, #0x38]
             ldp     x21, x22, [sp, #0x28]
             ldp     x19, x20, [sp, #0x18]
@@ -368,7 +362,7 @@ G_M62024_IG35:        ; bbWeight=0.26, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ret     lr
                        ;; size=20 bbWeight=0.26 PerfScore 3.15
 
-; Total bytes of code 736, prolog size 48, PerfScore 182.35, instruction count 184, allocated bytes for code 736 (MethodHash=c4780db7) for method System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
+; Total bytes of code 720, prolog size 48, PerfScore 180.53, instruction count 180, allocated bytes for code 720 (MethodHash=c4780db7) for method System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
 ; ============================================================
...
  
-16 (-2.17%) : 2081.dasm - System.Linq.Enumerable:TryGetFirstSystem.__Canon:System.__Canon (Tier1)
@@ -30,7 +30,7 @@
 ;  V18 tmp10        [V18,T17] (  3,  4.12)     ref  ->   x1         class-hnd "dup spill" <Internal.Microsoft.Extensions.DependencyModel.RuntimeAssetGroup>
 ;* V19 tmp11        [V19    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V20 tmp12        [V20,T18] (  2,  1.37)     ref  ->   x1        
-;  V21 tmp13        [V21,T00] ( 10, 16.14)   byref  ->   x1         "Inlining Arg"
+;  V21 tmp13        [V21,T00] (  9, 15.66)   byref  ->   x1         "Inlining Arg"
 ;  V22 tmp14        [V22,T19] (  4,  3.56)     ref  ->  x14         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;* V23 tmp15        [V23    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V24 tmp16        [V24,T15] (  3,  4.26)     ref  ->  x14         "arr expr"
@@ -38,7 +38,7 @@
 ;  V26 PSPSym       [V26,T22] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
 ;  V27 cse0         [V27,T21] (  3,  2.61)     int  ->  x15         "CSE - moderate"
 ;  V28 cse1         [V28,T13] (  5,  4.52)    long  ->  x21         hoist multi-def "CSE - aggressive"
-;  V29 cse2         [V29,T20] (  4,  3.09)     ref  ->   x2         "CSE - moderate"
+;  V29 cse2         [V29,T20] (  3,  2.85)     ref  ->   x2         "CSE - moderate"
 ;  V30 rat0         [V30,T11] (  3,  5.60)    long  ->  x11         "fgMakeTemp is creating a new local variable"
 ;  V31 rat1         [V31,T04] (  3,  8.54)    long  ->   x0         "spilling expr"
 ;  V32 rat2         [V32,T06] (  3,  6.83)    long  ->  x11         "fgMakeTemp is creating a new local variable"
@@ -64,11 +64,11 @@ G_M62024_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=48 bbWeight=1 PerfScore 9.00
 G_M62024_IG02:        ; bbWeight=1, gcVars=0000000000800000 {V06}, gcrefRegs=280000 {x19 x21}, byrefRegs=400000 {x22}, gcvars, byref, isz
             ; GC ptr vars +{V06}
-            cbz     x21, G_M62024_IG30
-            cbz     x19, G_M62024_IG31
+            cbz     x21, G_M62024_IG29
+            cbz     x19, G_M62024_IG30
             ldr     x0, [x20, #0x38]
             ldr     x11, [x0, #0x10]
-            cbz     x11, G_M62024_IG21
+            cbz     x11, G_M62024_IG20
                        ;; size=20 bbWeight=1 PerfScore 9.00
 G_M62024_IG03:        ; bbWeight=1, gcrefRegs=280000 {x19 x21}, byrefRegs=400000 {x22}, byref
             mov     x0, x21
@@ -122,7 +122,7 @@ G_M62024_IG08:        ; bbWeight=0.69, gcrefRegs=880000 {x19 x23}, byrefRegs=400
             cbz     x1, G_M62024_IG11
             ldr     x1, [x1, #0x10]
             cbz     x1, G_M62024_IG11
-            b       G_M62024_IG20
+            b       G_M62024_IG19
                         ;; size=24 bbWeight=0.69 PerfScore 7.55
 G_M62024_IG09:        ; bbWeight=0.55, gcrefRegs=80000 {x19}, byrefRegs=400000 {x22}, byref
             ; gcrRegs -[x0-x1 x23]
@@ -145,7 +145,7 @@ G_M62024_IG10:        ; bbWeight=1.52, gcrefRegs=880000 {x19 x23}, byrefRegs=400
             blr     x2
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            cbnz    w0, G_M62024_IG20
+            cbnz    w0, G_M62024_IG19
                       ;; size=20 bbWeight=1.52 PerfScore 12.96
 G_M62024_IG11:        ; bbWeight=2.26, gcrefRegs=80000 {x19}, byrefRegs=400000 {x22}, byref, isz
             ; gcrRegs -[x23]
@@ -153,7 +153,7 @@ G_M62024_IG11:        ; bbWeight=2.26, gcrefRegs=80000 {x19}, byrefRegs=400000 {
             ; gcrRegs +[x0]
             ldr     x11, [x0]
             cmp     x11, x21
-            bne     G_M62024_IG18
+            bne     G_M62024_IG17
                      ;; size=16 bbWeight=2.26 PerfScore 14.70
 G_M62024_IG12:        ; bbWeight=0.95, gcrefRegs=80001 {x0 x19}, byrefRegs=400000 {x22}, byref, isz
             add     x1, x0, #8
@@ -165,11 +165,11 @@ G_M62024_IG12:        ; bbWeight=0.95, gcrefRegs=80001 {x0 x19}, byrefRegs=40000
             ldr     w15, [x1, #0x14]
             ldr     w12, [x14, #0x14]
             cmp     w15, w12
-            bne     G_M62024_IG16
+            bne     G_M62024_IG15
             ldr     w15, [x1, #0x10]
             ldr     w12, [x14, #0x10]
             cmp     w15, w12
-            bhs     G_M62024_IG17
+            bhs     G_M62024_IG16
                      ;; size=44 bbWeight=0.95 PerfScore 18.05
 G_M62024_IG13:        ; bbWeight=0.71, gcrefRegs=84001 {x0 x14 x19}, byrefRegs=400002 {x1 x22}, byref, isz
             ; gcrRegs -[x2]
@@ -206,23 +206,17 @@ G_M62024_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M62024_IG16:        ; bbWeight=0.24, gcrefRegs=0005 {x0 x2}, byrefRegs=400002 {x1 x22}, byref, isz
+G_M62024_IG16:        ; bbWeight=0.95, gcrefRegs=0005 {x0 x2}, byrefRegs=400002 {x1 x22}, byref
             ; gcrRegs +[x0 x2]
             ; byrRegs +[x1 x22]
-            ldr     w3, [x1, #0x14]
-            ldr     w4, [x2, #0x14]
-            cmp     w3, w4
-            bne     G_M62024_IG15
-                       ;; size=16 bbWeight=0.24 PerfScore 1.80
-G_M62024_IG17:        ; bbWeight=0.95, gcrefRegs=0005 {x0 x2}, byrefRegs=400002 {x1 x22}, byref
             ldr     w2, [x2, #0x10]
             ; gcrRegs -[x2]
             add     w2, w2, #1
             str     w2, [x1, #0x10]
             str     xzr, [x1, #0x08]
-            b       G_M62024_IG22
+            b       G_M62024_IG21
                      ;; size=20 bbWeight=0.95 PerfScore 6.18
-G_M62024_IG18:        ; bbWeight=2.26, gcrefRegs=80001 {x0 x19}, byrefRegs=400000 {x22}, byref, isz
+G_M62024_IG17:        ; bbWeight=2.26, gcrefRegs=80001 {x0 x19}, byrefRegs=400000 {x22}, byref, isz
             ; gcrRegs +[x19]
             ; byrRegs -[x1]
             movz    x11, #0xD1FFAB1E      // code for <unknown method>
@@ -234,18 +228,18 @@ G_M62024_IG18:        ; bbWeight=2.26, gcrefRegs=80001 {x0 x19}, byrefRegs=40000
             ; gcr arg pop 0
             cbnz    w0, G_M62024_IG05
                        ;; size=24 bbWeight=2.26 PerfScore 14.70
-G_M62024_IG19:        ; bbWeight=0.74, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, byref
+G_M62024_IG18:        ; bbWeight=0.74, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, byref
             ; gcrRegs -[x19]
-            b       G_M62024_IG22
+            b       G_M62024_IG21
                         ;; size=4 bbWeight=0.74 PerfScore 0.74
-G_M62024_IG20:        ; bbWeight=0.69, gcrefRegs=800000 {x23}, byrefRegs=400000 {x22}, byref
+G_M62024_IG19:        ; bbWeight=0.69, gcrefRegs=800000 {x23}, byrefRegs=400000 {x22}, byref
             ; gcrRegs +[x23]
             mov     w0, #1
             strb    w0, [x22]
             str     x23, [fp, #0x18]   // [V06 loc2]
-            b       G_M62024_IG26
+            b       G_M62024_IG25
                      ;; size=16 bbWeight=0.69 PerfScore 2.40
-G_M62024_IG21:        ; bbWeight=0.20, gcVars=0000000000800000 {V06}, gcrefRegs=280000 {x19 x21}, byrefRegs=400000 {x22}, gcvars, byref
+G_M62024_IG20:        ; bbWeight=0.20, gcVars=0000000000800000 {V06}, gcrefRegs=280000 {x19 x21}, byrefRegs=400000 {x22}, gcvars, byref
             ; gcrRegs -[x23] +[x19 x21]
             ; GC ptr vars -{V04}
             mov     x0, x20
@@ -257,16 +251,16 @@ G_M62024_IG21:        ; bbWeight=0.20, gcVars=0000000000800000 {V06}, gcrefRegs=
             mov     x11, x0
             b       G_M62024_IG03
                        ;; size=28 bbWeight=0.20 PerfScore 0.90
-G_M62024_IG22:        ; bbWeight=0.74, gcVars=0000000000000002 {V04}, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, gcvars, byref, isz
+G_M62024_IG21:        ; bbWeight=0.74, gcVars=0000000000000002 {V04}, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, gcvars, byref, isz
             ; gcrRegs -[x19 x21]
             ; GC ptr vars -{V06} +{V01 V04}
             ldr     x0, [fp, #0x20]    // [V04 loc0]
             ; gcrRegs +[x0]
             ldr     x11, [x0]
             cmp     x11, x21
-            beq     G_M62024_IG24
+            beq     G_M62024_IG23
                      ;; size=16 bbWeight=0.74 PerfScore 4.80
-G_M62024_IG23:        ; bbWeight=0.33, gcrefRegs=0001 {x0}, byrefRegs=400000 {x22}, byref
+G_M62024_IG22:        ; bbWeight=0.33, gcrefRegs=0001 {x0}, byrefRegs=400000 {x22}, byref
             movz    x11, #0xD1FFAB1E      // code for <unknown method>
             movk    x11, #0xD1FFAB1E LSL #16
             movk    x11, #0xD1FFAB1E LSL #32
@@ -276,39 +270,39 @@ G_M62024_IG23:        ; bbWeight=0.33, gcrefRegs=0001 {x0}, byrefRegs=400000 {x2
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=20 bbWeight=0.33 PerfScore 1.83
-G_M62024_IG24:        ; bbWeight=0.74, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, byref
+G_M62024_IG23:        ; bbWeight=0.74, gcrefRegs=0000 {}, byrefRegs=400000 {x22}, byref
             strb    wzr, [x22]
             mov     x0, xzr
                        ;; size=8 bbWeight=0.74 PerfScore 1.11
-G_M62024_IG25:        ; bbWeight=0.74, epilog, nogc, extend
+G_M62024_IG24:        ; bbWeight=0.74, epilog, nogc, extend
             ldr     x23, [sp, #0x58]
             ldp     x21, x22, [sp, #0x48]
             ldp     x19, x20, [sp, #0x38]
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=20 bbWeight=0.74 PerfScore 4.43
-G_M62024_IG26:        ; bbWeight=0.26, gcVars=0000000000800002 {V04 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M62024_IG25:        ; bbWeight=0.26, gcVars=0000000000800002 {V04 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; byrRegs -[x22]
             ; GC ptr vars +{V01 V04 V06}
             ldr     x0, [fp, #0x30]    // [V26 PSPSym]
-            bl      G_M62024_IG32
+            bl      G_M62024_IG31
                        ;; size=8 bbWeight=0.26 PerfScore 0.79
-G_M62024_IG27:        ; bbWeight=0.26, nogc, extend
+G_M62024_IG26:        ; bbWeight=0.26, nogc, extend
             nop     
                        ;; size=4 bbWeight=0.26 PerfScore 0.13
-G_M62024_IG28:        ; bbWeight=0.26, gcVars=0000000000800000 {V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M62024_IG27:        ; bbWeight=0.26, gcVars=0000000000800000 {V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; GC ptr vars -{V01 V04}
             ldr     x0, [fp, #0x18]    // [V06 loc2]
             ; gcrRegs +[x0]
                        ;; size=4 bbWeight=0.26 PerfScore 0.52
-G_M62024_IG29:        ; bbWeight=0.26, epilog, nogc, extend
+G_M62024_IG28:        ; bbWeight=0.26, epilog, nogc, extend
             ldr     x23, [sp, #0x58]
             ldp     x21, x22, [sp, #0x48]
             ldp     x19, x20, [sp, #0x38]
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=20 bbWeight=0.26 PerfScore 1.57
-G_M62024_IG30:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M62024_IG29:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x0]
             ; GC ptr vars -{V06}
             mov     w0, #17
@@ -320,7 +314,7 @@ G_M62024_IG30:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=28 bbWeight=0 PerfScore 0.00
-G_M62024_IG31:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M62024_IG30:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, #12
             movz    x1, #0xD1FFAB1E      // code for System.Linq.ThrowHelper:ThrowArgumentNullException(int)
             movk    x1, #0xD1FFAB1E LSL #16
@@ -330,7 +324,7 @@ G_M62024_IG31:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=28 bbWeight=0 PerfScore 0.00
-G_M62024_IG32:        ; bbWeight=0.26, gcVars=0000000000800002 {V04 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+G_M62024_IG31:        ; bbWeight=0.26, gcVars=0000000000800002 {V04 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
             ; GC ptr vars +{V01 V04 V06}
             stp     fp, lr, [sp, #-0x40]!
             stp     x19, x20, [sp, #0x18]
@@ -339,18 +333,18 @@ G_M62024_IG32:        ; bbWeight=0.26, gcVars=0000000000800002 {V04 V06}, gcrefR
             add     x3, fp, #96
             str     x3, [sp, #0x10]
                        ;; size=24 bbWeight=0.26 PerfScore 1.44
-G_M62024_IG33:        ; bbWeight=0.26, gcVars=0000000000800002 {V04 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M62024_IG32:        ; bbWeight=0.26, gcVars=0000000000800002 {V04 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldr     x0, [fp, #0x20]  // [V04 loc0]
             ; gcrRegs +[x0]
-            cbz     x0, G_M62024_IG35
+            cbz     x0, G_M62024_IG34
             ldr     x11, [x0]
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             cmp     x11, x21
-            beq     G_M62024_IG35
+            beq     G_M62024_IG34
                      ;; size=32 bbWeight=0.26 PerfScore 2.36
-G_M62024_IG34:        ; bbWeight=0.12, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M62024_IG33:        ; bbWeight=0.12, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             movz    x11, #0xD1FFAB1E      // code for <unknown method>
             movk    x11, #0xD1FFAB1E LSL #16
             movk    x11, #0xD1FFAB1E LSL #32
@@ -360,7 +354,7 @@ G_M62024_IG34:        ; bbWeight=0.12, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, b
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=20 bbWeight=0.12 PerfScore 0.65
-G_M62024_IG35:        ; bbWeight=0.26, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M62024_IG34:        ; bbWeight=0.26, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldr     x23, [sp, #0x38]
             ldp     x21, x22, [sp, #0x28]
             ldp     x19, x20, [sp, #0x18]
@@ -368,7 +362,7 @@ G_M62024_IG35:        ; bbWeight=0.26, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ret     lr
                        ;; size=20 bbWeight=0.26 PerfScore 3.15
 
-; Total bytes of code 736, prolog size 48, PerfScore 182.38, instruction count 184, allocated bytes for code 736 (MethodHash=c4780db7) for method System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
+; Total bytes of code 720, prolog size 48, PerfScore 180.58, instruction count 180, allocated bytes for code 720 (MethodHash=c4780db7) for method System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
 ; ============================================================
...
  
+4 (+0.26%) : 1913.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
@@ -11,7 +11,7 @@
 ;
 ;  V00 this         [V00,T01] ( 26,883.41)   byref  ->  x19         this single-def
 ;  V01 arg1         [V01,T13] (  4,  3.50)   byref  ->  x20         single-def
-;  V02 loc0         [V02,T03] ( 18,501.87)  ushort  ->  x23        
+;  V02 loc0         [V02,T03] ( 18,502.16)  ushort  ->  x23        
 ;  V03 loc1         [V03    ] ( 39,253.51)  struct (32) [fp-0x50]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Text.ValueStringBuilder>
 ;  V04 loc2         [V04,T08] (  6, 63.91)  ushort  ->  x24        
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[ushort]>
@@ -112,18 +112,18 @@ G_M25128_IG03:        ; bbWeight=1.17, gcrefRegs=200000 {x21}, byrefRegs=180000
             ldr     w0, [x19, #0x10]
             ldr     w1, [x19, #0x08]
             cmp     w0, w1
-            bge     G_M25128_IG26
+            bge     G_M25128_IG23
                        ;; size=16 bbWeight=1.17 PerfScore 8.75
 G_M25128_IG04:        ; bbWeight=4.67, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
             add     w1, w0, #1
             str     w1, [x19, #0x10]
             ldr     w1, [x19, #0x08]
             cmp     w0, w1
-            bhs     G_M25128_IG55
+            bhs     G_M25128_IG53
             ldr     x1, [x19]
             ; byrRegs +[x1]
             ldrh    w22, [x1, w0, UXTW #2]
-            cbz     w22, G_M25128_IG52
+            cbz     w22, G_M25128_IG51
                      ;; size=32 bbWeight=4.67 PerfScore 60.67
 G_M25128_IG05:        ; bbWeight=1.17, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
             ; byrRegs -[x1]
@@ -132,11 +132,11 @@ G_M25128_IG05:        ; bbWeight=1.17, gcrefRegs=200000 {x21}, byrefRegs=180000
                        ;; size=8 bbWeight=1.17 PerfScore 1.75
 G_M25128_IG06:        ; bbWeight=1.27, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
             cmp     w23, #44
-            beq     G_M25128_IG27
+            beq     G_M25128_IG24
                      ;; size=8 bbWeight=1.27 PerfScore 1.91
 G_M25128_IG07:        ; bbWeight=1.11, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
             cmp     w23, #61
-            beq     G_M25128_IG30
+            beq     G_M25128_IG27
                      ;; size=8 bbWeight=1.11 PerfScore 1.66
 G_M25128_IG08:        ; bbWeight=0.94, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
             mov     w0, w23
@@ -167,16 +167,16 @@ G_M25128_IG10:        ; bbWeight=0.27, gcrefRegs=200000 {x21}, byrefRegs=180000
             ldr     w0, [x19, #0x10]
             ldr     w1, [x19, #0x08]
             cmp     w0, w1
-            bge     G_M25128_IG35
+            bge     G_M25128_IG38
             add     w1, w0, #1
             str     w1, [x19, #0x10]
             ldr     w1, [x19, #0x08]
             cmp     w0, w1
-            bhs     G_M25128_IG55
+            bhs     G_M25128_IG53
             ldr     x1, [x19]
             ; byrRegs +[x1]
             ldrh    w23, [x1, w0, UXTW #2]
-            cbz     w23, G_M25128_IG52
+            cbz     w23, G_M25128_IG51
                      ;; size=52 bbWeight=0.27 PerfScore 5.73
 G_M25128_IG11:        ; bbWeight=62.37, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
             ; byrRegs -[x1]
@@ -187,115 +187,112 @@ G_M25128_IG12:        ; bbWeight=62.20, gcrefRegs=200000 {x21}, byrefRegs=180000
             mov     w0, #61
             cmp     w23, #44
             ccmp    w23, w0, z, ne
-            bne     G_M25128_IG32
+            beq     G_M25128_IG37
                        ;; size=20 bbWeight=62.20 PerfScore 217.70
-G_M25128_IG13:        ; bbWeight=0.33, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref
-            ldr     w0, [x19, #0x10]
-            sub     w0, w0, #1
-            str     w0, [x19, #0x10]
-                       ;; size=12 bbWeight=0.33 PerfScore 1.50
-G_M25128_IG14:        ; bbWeight=0.50, gcrefRegs=200000 {x21}, byrefRegs=100000 {x20}, byref, isz
-            ; byrRegs -[x19]
-            cbnz    w24, G_M25128_IG18
-                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M25128_IG15:        ; bbWeight=0.50, gcrefRegs=200000 {x21}, byrefRegs=100000 {x20}, byref, isz
+G_M25128_IG13:        ; bbWeight=61.59, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
+            mov     w0, #34
+            cmp     w23, #39
+            ccmp    w23, w0, z, ne
+            beq     G_M25128_IG51
+                       ;; size=16 bbWeight=61.59 PerfScore 153.98
+G_M25128_IG14:        ; bbWeight=61.59, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
+            cmp     w23, #92
+            beq     G_M25128_IG19
+                       ;; size=8 bbWeight=61.59 PerfScore 92.39
+G_M25128_IG15:        ; bbWeight=61.55, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
             ldr     w0, [fp, #-0x48] // [V03 loc1+0x08]
-            cmp     w0, #0
-            ble     G_M25128_IG18
-            sub     w23, w0, #1
-            cmp     w23, w0
-            blt     G_M25128_IG17
-                       ;; size=24 bbWeight=0.50 PerfScore 2.75
-G_M25128_IG16:        ; bbWeight=2, gcrefRegs=200000 {x21}, byrefRegs=100000 {x20}, byref
-            mov     x0, x21
-            ; gcrRegs +[x0]
-            mov     x1, x21
-            ; gcrRegs +[x1]
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            ; gcrRegs -[x0-x1]
-            ; gcr arg pop 0
-                       ;; size=28 bbWeight=2 PerfScore 13.00
-G_M25128_IG17:        ; bbWeight=0.50, gcrefRegs=200000 {x21}, byrefRegs=100000 {x20}, byref, isz
-            ldr     w0, [fp, #-0x38]   // [V03 loc1+0x18]
-            cmp     w23, w0
-            bhs     G_M25128_IG55
-            ldr     x0, [fp, #-0x40]   // [V03 loc1+0x10]
-            ; byrRegs +[x0]
-            ldrh    w0, [x0, w23, UXTW #2]
-            ; byrRegs -[x0]
-            movz    x1, #0xD1FFAB1E      // code for System.Reflection.AssemblyNameParser:IsWhiteSpace(ushort):ubyte
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            ldr     x1, [x1]
-            blr     x1
-            ; gcr arg pop 0
-            cbnz    w0, G_M25128_IG53
-                       ;; size=44 bbWeight=0.50 PerfScore 7.50
-G_M25128_IG18:        ; bbWeight=0.50, gcrefRegs=200000 {x21}, byrefRegs=100000 {x20}, byref, isz
-            ldr     w24, [fp, #-0x48]  // [V03 loc1+0x08]
-            ldr     w0, [fp, #-0x38]   // [V03 loc1+0x18]
-            cmp     w24, w0
-            bhi     G_M25128_IG54
-            ldr     x19, [fp, #-0x40]  // [V03 loc1+0x10]
-            ; byrRegs +[x19]
-            tbz     w24, #31, G_M25128_IG19
-            mov     x0, x21
-            ; gcrRegs +[x0]
-            mov     x1, x21
-            ; gcrRegs +[x1]
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            ; gcrRegs -[x0-x1 x21]
-            ; gcr arg pop 0
-                       ;; size=52 bbWeight=0.50 PerfScore 7.50
-G_M25128_IG19:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=180000 {x19 x20}, byref, isz
-            str     x19, [fp, #-0x60]  // [V58 tmp51]
-            str     w24, [fp, #-0x58]  // [V59 tmp52]
-            sub     x0, fp, #96    // [V35 tmp28]
-            movz    x1, #0xD1FFAB1E      // code for <unknown method>
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            ldr     x1, [x1]
-            blr     x1
-            ; gcrRegs +[x0]
-            ; byrRegs -[x19]
-            ; gcr arg pop 0
-            mov     x21, x0
-            ; gcrRegs +[x21]
-            ldr     x1, [fp, #-0x50]   // [V03 loc1]
-            ; gcrRegs +[x1]
-            stp     xzr, xzr, [fp, #-0x50]
-            stp     xzr, xzr, [fp, #-0x40]
-            cbnz    x1, G_M25128_IG25
-                       ;; size=52 bbWeight=0.50 PerfScore 6.75
-G_M25128_IG20:        ; bbWeight=0.50, gcrefRegs=200000 {x21}, byrefRegs=100000 {x20}, byref, isz
-            ; gcrRegs -[x0-x1]
-            mov     x14, x20
-            ; byrRegs +[x14]
-            mov     x15, x21
-            ; gcrRegs +[x15]
-            bl      CORINFO_HELP_CHECKED_ASSIGN_REF
-            ; gcrRegs -[x15 x21]
-            ; byrRegs -[x14 x20]
-            mov     w0, #3
+            ldr     x1, [fp, #-0x40]   // [V03 loc1+0x10]
+            ; byrRegs +[x1]
+            ldr     w2, [fp, #-0x38]   // [V03 loc1+0x18]
+            cmp     w0, w2
+            bhs     G_M25128_IG54
+            strh    w23, [x1, w0, UXTW #2]
+            add     w0, w0, #1
+            str     w0, [fp, #-0x48]   // [V03 loc1+0x08]
+                       ;; size=32 bbWeight=61.55 PerfScore 615.53
+G_M25128_IG16:        ; bbWeight=61.59, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
+            ; byrRegs -[x1]
+            ldr     w0, [x19, #0x10]
+            ldr     w1, [x19, #0x08]
+            cmp     w0, w1
+            bge     G_M25128_IG26
+                       ;; size=16 bbWeight=61.59 PerfScore 461.95
+G_M25128_IG17:        ; bbWeight=246.37, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
+            add     w1, w0, #1
+            str     w1, [x19, #0x10]
+            ldr     w1, [x19, #0x08]
+            cmp     w0, w1
+            bhs     G_M25128_IG53
+            ldr     x1, [x19]
+            ; byrRegs +[x1]
+            ldrh    w23, [x1, w0, UXTW #2]
+            cbz     w23, G_M25128_IG51
+                       ;; size=32 bbWeight=246.37 PerfScore 3202.86
+G_M25128_IG18:        ; bbWeight=61.59, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref
+            ; byrRegs -[x1]
+            b       G_M25128_IG11
+                       ;; size=4 bbWeight=61.59 PerfScore 61.59
+G_M25128_IG19:        ; bbWeight=0.04, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
+            ldr     w0, [x19, #0x10]
+            ldr     w1, [x19, #0x08]
+            cmp     w0, w1
+            bge     G_M25128_IG43
+                       ;; size=16 bbWeight=0.04 PerfScore 0.30
+G_M25128_IG20:        ; bbWeight=0.16, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
+            ldr     w0, [x19, #0x10]
+            add     w1, w0, #1
+            str     w1, [x19, #0x10]
+            ldr     w1, [x19, #0x08]
+            cmp     w0, w1
+            bhs     G_M25128_IG53
+            ldr     x1, [x19]
+            ; byrRegs +[x1]
+            ldrh    w1, [x1, w0, UXTW #2]
+            ; byrRegs -[x1]
+            cbz     w1, G_M25128_IG51
+                       ;; size=36 bbWeight=0.16 PerfScore 2.60
+G_M25128_IG21:        ; bbWeight=0.04, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
+            cmp     w1, #61
+            bhi     G_M25128_IG58
+            cmp     w1, #39
+            bhi     G_M25128_IG57
+            mov     w0, #39
+            cmp     w1, #34
+            ccmp    w1, w0, z, ne
+            bne     G_M25128_IG51
+                       ;; size=32 bbWeight=0.04 PerfScore 0.22
+G_M25128_IG22:        ; bbWeight=0.04, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
+            ldr     w0, [fp, #-0x48]   // [V03 loc1+0x08]
+            ldr     x2, [fp, #-0x40]   // [V03 loc1+0x10]
+            ; byrRegs +[x2]
+            ldr     w3, [fp, #-0x38]   // [V03 loc1+0x18]
+            cmp     w0, w3
+            bhs     G_M25128_IG44
+            strh    w1, [x2, w0, UXTW #2]
+            add     w0, w0, #1
+            str     w0, [fp, #-0x48]   // [V03 loc1+0x08]
+            b       G_M25128_IG16
...
  
+4 (+0.26%) : 5807.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
@@ -11,7 +11,7 @@
 ;
 ;  V00 this         [V00,T01] ( 25,883.71)   byref  ->  x19         this single-def
 ;  V01 arg1         [V01,T13] (  4,  3.50)   byref  ->  x20         single-def
-;  V02 loc0         [V02,T03] ( 18,502.67)  ushort  ->  x23        
+;  V02 loc0         [V02,T03] ( 18,502.79)  ushort  ->  x23        
 ;  V03 loc1         [V03    ] ( 39,253.57)  struct (32) [fp-0x50]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Text.ValueStringBuilder>
 ;  V04 loc2         [V04,T08] (  6, 64.01)  ushort  ->  x24        
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[ushort]>
@@ -113,7 +113,7 @@ G_M25128_IG03:        ; bbWeight=1.17, gcrefRegs=200000 {x21}, byrefRegs=180000
             ldr     w0, [x19, #0x10]
             ldr     w1, [x19, #0x08]
             cmp     w0, w1
-            bge     G_M25128_IG26
+            bge     G_M25128_IG23
                        ;; size=16 bbWeight=1.17 PerfScore 8.75
 G_M25128_IG04:        ; bbWeight=4.67, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
             add     w1, w0, #1
@@ -124,7 +124,7 @@ G_M25128_IG04:        ; bbWeight=4.67, gcrefRegs=200000 {x21}, byrefRegs=180000
             ldr     x1, [x19]
             ; byrRegs +[x1]
             ldrh    w22, [x1, w0, UXTW #2]
-            cbz     w22, G_M25128_IG56
+            cbz     w22, G_M25128_IG57
                      ;; size=32 bbWeight=4.67 PerfScore 60.67
 G_M25128_IG05:        ; bbWeight=1.17, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
             ; byrRegs -[x1]
@@ -133,11 +133,11 @@ G_M25128_IG05:        ; bbWeight=1.17, gcrefRegs=200000 {x21}, byrefRegs=180000
                        ;; size=8 bbWeight=1.17 PerfScore 1.75
 G_M25128_IG06:        ; bbWeight=1.32, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
             cmp     w23, #44
-            beq     G_M25128_IG27
+            beq     G_M25128_IG24
                      ;; size=8 bbWeight=1.32 PerfScore 1.98
 G_M25128_IG07:        ; bbWeight=1.16, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
             cmp     w23, #61
-            beq     G_M25128_IG30
+            beq     G_M25128_IG27
                      ;; size=8 bbWeight=1.16 PerfScore 1.73
 G_M25128_IG08:        ; bbWeight=0.99, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
             mov     w0, w23
@@ -177,143 +177,48 @@ G_M25128_IG10:        ; bbWeight=0.32, gcrefRegs=200000 {x21}, byrefRegs=180000
             ldr     x1, [x19]
             ; byrRegs +[x1]
             ldrh    w23, [x1, w0, UXTW #2]
-            cbz     w23, G_M25128_IG56
+            cbz     w23, G_M25128_IG57
                      ;; size=52 bbWeight=0.32 PerfScore 6.76
 G_M25128_IG11:        ; bbWeight=62.37, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
             ; byrRegs -[x1]
             cbz     w23, G_M25128_IG44
                        ;; size=4 bbWeight=62.37 PerfScore 62.37
 G_M25128_IG12:        ; bbWeight=62.20, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
-            cbnz    w24, G_M25128_IG46
+            cbnz    w24, G_M25128_IG48
             mov     w0, #61
             cmp     w23, #44
             ccmp    w23, w0, z, ne
-            bne     G_M25128_IG32
+            beq     G_M25128_IG43
                        ;; size=20 bbWeight=62.20 PerfScore 217.70
-G_M25128_IG13:        ; bbWeight=0.33, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref
-            ldr     w22, [x19, #0x10]
-            sub     w0, w22, #1
-            str     w0, [x19, #0x10]
-                       ;; size=12 bbWeight=0.33 PerfScore 1.50
-G_M25128_IG14:        ; bbWeight=0.50, gcrefRegs=200000 {x21}, byrefRegs=100000 {x20}, byref, isz
-            ; byrRegs -[x19]
-            cbnz    w24, G_M25128_IG18
-                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M25128_IG15:        ; bbWeight=0.50, gcrefRegs=200000 {x21}, byrefRegs=100000 {x20}, byref, isz
+G_M25128_IG13:        ; bbWeight=61.87, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
+            mov     w0, #34
+            cmp     w23, #39
+            ccmp    w23, w0, z, ne
+            beq     G_M25128_IG57
+                       ;; size=16 bbWeight=61.87 PerfScore 154.67
+G_M25128_IG14:        ; bbWeight=61.54, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
+            cmp     w23, #92
+            beq     G_M25128_IG19
+                       ;; size=8 bbWeight=61.54 PerfScore 92.32
+G_M25128_IG15:        ; bbWeight=61.44, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
             ldr     w0, [fp, #-0x48] // [V03 loc1+0x08]
-            cmp     w0, #0
-            ble     G_M25128_IG18
-            sub     w23, w0, #1
-            cmp     w23, w0
-            blt     G_M25128_IG17
-                       ;; size=24 bbWeight=0.50 PerfScore 2.75
-G_M25128_IG16:        ; bbWeight=2, gcrefRegs=200000 {x21}, byrefRegs=100000 {x20}, byref
-            mov     x0, x21
-            ; gcrRegs +[x0]
-            mov     x1, x21
-            ; gcrRegs +[x1]
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            ; gcrRegs -[x0-x1]
-            ; gcr arg pop 0
-                       ;; size=28 bbWeight=2 PerfScore 13.00
-G_M25128_IG17:        ; bbWeight=0.50, gcrefRegs=200000 {x21}, byrefRegs=100000 {x20}, byref, isz
-            ldr     w0, [fp, #-0x38]   // [V03 loc1+0x18]
-            cmp     w23, w0
-            bhs     G_M25128_IG45
-            ldr     x0, [fp, #-0x40]   // [V03 loc1+0x10]
-            ; byrRegs +[x0]
-            ldrh    w0, [x0, w23, UXTW #2]
-            ; byrRegs -[x0]
-            movz    x1, #0xD1FFAB1E      // code for System.Reflection.AssemblyNameParser:IsWhiteSpace(ushort):ubyte
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            ldr     x1, [x1]
-            blr     x1
-            ; gcr arg pop 0
-            cbnz    w0, G_M25128_IG57
-                       ;; size=44 bbWeight=0.50 PerfScore 7.50
-G_M25128_IG18:        ; bbWeight=0.50, gcrefRegs=200000 {x21}, byrefRegs=100000 {x20}, byref, isz
-            ldr     w24, [fp, #-0x48]  // [V03 loc1+0x08]
-            ldr     w0, [fp, #-0x38]   // [V03 loc1+0x18]
-            cmp     w24, w0
-            bhi     G_M25128_IG58
-            ldr     x19, [fp, #-0x40]  // [V03 loc1+0x10]
-            ; byrRegs +[x19]
-            tbz     w24, #31, G_M25128_IG19
-            mov     x0, x21
-            ; gcrRegs +[x0]
-            mov     x1, x21
-            ; gcrRegs +[x1]
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            ; gcrRegs -[x0-x1 x21]
-            ; gcr arg pop 0
-                       ;; size=52 bbWeight=0.50 PerfScore 7.50
-G_M25128_IG19:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=180000 {x19 x20}, byref, isz
-            str     x19, [fp, #-0x60]  // [V58 tmp51]
-            str     w24, [fp, #-0x58]  // [V59 tmp52]
-            sub     x0, fp, #96    // [V35 tmp28]
-            movz    x1, #0xD1FFAB1E      // code for <unknown method>
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            ldr     x1, [x1]
-            blr     x1
-            ; gcrRegs +[x0]
-            ; byrRegs -[x19]
-            ; gcr arg pop 0
-            mov     x21, x0
-            ; gcrRegs +[x21]
-            ldr     x1, [fp, #-0x50]   // [V03 loc1]
-            ; gcrRegs +[x1]
-            stp     xzr, xzr, [fp, #-0x50]
-            stp     xzr, xzr, [fp, #-0x40]
-            cbnz    x1, G_M25128_IG25
-                       ;; size=52 bbWeight=0.50 PerfScore 6.75
-G_M25128_IG20:        ; bbWeight=0.50, gcrefRegs=200000 {x21}, byrefRegs=100000 {x20}, byref, isz
-            ; gcrRegs -[x0-x1]
-            mov     x14, x20
-            ; byrRegs +[x14]
-            mov     x15, x21
-            ; gcrRegs +[x15]
-            bl      CORINFO_HELP_CHECKED_ASSIGN_REF
-            ; gcrRegs -[x15 x21]
-            ; byrRegs -[x14 x20]
-            mov     w0, #3
-            movz    xip0, #0xD1FFAB1E
-            movk    xip0, #0xD1FFAB1E LSL #16
-            movk    xip0, #0xD1FFAB1E LSL #32
-            movk    xip0, #0xD1FFAB1E LSL #48
-            ldr     xip1, [fp, #-0x68] // [V62 GsCookie]
-            cmp     xip0, xip1
-            beq     G_M25128_IG21
-            bl      CORINFO_HELP_FAIL_FAST
-            ; gcr arg pop 0
-                       ;; size=48 bbWeight=0.50 PerfScore 4.50
-G_M25128_IG21:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
-            sub     sp, fp, #112
-            ldp     fp, lr, [sp, #0x70]
-            ldp     x23, x24, [sp, #0x60]
-            ldp     x21, x22, [sp, #0x50]
-            ldp     x19, x20, [sp, #0x40]
-            add     sp, sp, #128
-            ret     lr
-                       ;; size=28 bbWeight=0.50 PerfScore 3.00
-G_M25128_IG22:        ; bbWeight=61.54, gcVars=0000000000000000 {}, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, gcvars, byref, isz
-            ; gcrRegs +[x21]
-            ; byrRegs +[x19-x20]
+            ldr     x1, [fp, #-0x40] // [V03 loc1+0x10]
+            ; byrRegs +[x1]
+            ldr     w2, [fp, #-0x38]   // [V03 loc1+0x18]
+            cmp     w0, w2
+            bhs     G_M25128_IG46
+            strh    w23, [x1, w0, UXTW #2]
+            add     w0, w0, #1
+            str     w0, [fp, #-0x48]   // [V03 loc1+0x08]
+                       ;; size=32 bbWeight=61.44 PerfScore 614.39
+G_M25128_IG16:        ; bbWeight=61.54, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
+            ; byrRegs -[x1]
             ldr     w0, [x19, #0x10]
             ldr     w1, [x19, #0x08]
             cmp     w0, w1
-            bge     G_M25128_IG29
+            bge     G_M25128_IG26
                        ;; size=16 bbWeight=61.54 PerfScore 461.59
-G_M25128_IG23:        ; bbWeight=246.18, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
+G_M25128_IG17:        ; bbWeight=246.18, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
             add     w1, w0, #1
             str     w1, [x19, #0x10]
             ldr     w1, [x19, #0x08]
@@ -322,36 +227,58 @@ G_M25128_IG23:        ; bbWeight=246.18, gcrefRegs=200000 {x21}, byrefRegs=18000
             ldr     x1, [x19]
             ; byrRegs +[x1]
             ldrh    w23, [x1, w0, UXTW #2]
-            cbz     w23, G_M25128_IG56
+            cbz     w23, G_M25128_IG57
                      ;; size=32 bbWeight=246.18 PerfScore 3200.33
-G_M25128_IG24:        ; bbWeight=61.54, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref
+G_M25128_IG18:        ; bbWeight=61.54, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref
             ; byrRegs -[x1]
             b       G_M25128_IG11
                        ;; size=4 bbWeight=61.54 PerfScore 61.54
-G_M25128_IG25:        ; bbWeight=0.03, gcrefRegs=200002 {x1 x21}, byrefRegs=100000 {x20}, byref
-            ; gcrRegs +[x1]
-            ; byrRegs -[x19]
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x0, [x0]
-            ; gcrRegs +[x0]
-            mov     w2, wzr
-            movz    x3, #0xD1FFAB1E      // code for <unknown method>
-            movk    x3, #0xD1FFAB1E LSL #16
-            movk    x3, #0xD1FFAB1E LSL #32
-            ldr     x3, [x3]
-            blr     x3
-            ; gcrRegs -[x0-x1]
-            ; gcr arg pop 0
-            b       G_M25128_IG20
-                       ;; size=44 bbWeight=0.03 PerfScore 0.31
-G_M25128_IG26:        ; bbWeight=4.67, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref
-            ; byrRegs +[x19]
+G_M25128_IG19:        ; bbWeight=0.11, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
+            ldr     w22, [x19, #0x10]
+            ldr     w0, [x19, #0x08]
+            cmp     w22, w0
+            bge     G_M25128_IG37
+                       ;; size=16 bbWeight=0.11 PerfScore 0.79
...
  
+8 (+0.51%) : 5713.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
@@ -11,7 +11,7 @@
 ;
 ;  V00 this         [V00,T01] ( 26,885.12)   byref  ->  x19         this single-def
 ;  V01 arg1         [V01,T13] (  4,  3.50)   byref  ->  x20         single-def
-;  V02 loc0         [V02,T03] ( 18,502.40)  ushort  ->  x23        
+;  V02 loc0         [V02,T03] ( 18,503.22)  ushort  ->  x23        
 ;  V03 loc1         [V03    ] ( 39,254.52)  struct (32) [fp-0x50]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Text.ValueStringBuilder>
 ;  V04 loc2         [V04,T08] (  6, 63.83)  ushort  ->  x24        
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[ushort]>
@@ -112,31 +112,31 @@ G_M25128_IG03:        ; bbWeight=1.17, gcrefRegs=200000 {x21}, byrefRegs=180000
             ldr     w0, [x19, #0x10]
             ldr     w1, [x19, #0x08]
             cmp     w0, w1
-            bge     G_M25128_IG27
+            bge     G_M25128_IG24
                        ;; size=16 bbWeight=1.17 PerfScore 8.75
 G_M25128_IG04:        ; bbWeight=4.67, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
             add     w1, w0, #1
             str     w1, [x19, #0x10]
             ldr     w1, [x19, #0x08]
             cmp     w0, w1
-            bhs     G_M25128_IG46
+            bhs     G_M25128_IG54
             ldr     x1, [x19]
             ; byrRegs +[x1]
             ldrh    w22, [x1, w0, UXTW #2]
-            cbz     w22, G_M25128_IG57
+            cbz     w22, G_M25128_IG52
                      ;; size=32 bbWeight=4.67 PerfScore 60.67
 G_M25128_IG05:        ; bbWeight=1.17, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
             ; byrRegs -[x1]
             sxtw    w23, w22
-            cbz     w23, G_M25128_IG40
+            cbz     w23, G_M25128_IG42
                        ;; size=8 bbWeight=1.17 PerfScore 1.75
 G_M25128_IG06:        ; bbWeight=1.21, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
             cmp     w23, #44
-            beq     G_M25128_IG28
+            beq     G_M25128_IG25
                      ;; size=8 bbWeight=1.21 PerfScore 1.82
 G_M25128_IG07:        ; bbWeight=1.05, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
             cmp     w23, #61
-            beq     G_M25128_IG31
+            beq     G_M25128_IG28
                      ;; size=8 bbWeight=1.05 PerfScore 1.57
 G_M25128_IG08:        ; bbWeight=0.88, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
             mov     w0, w23
@@ -160,125 +160,142 @@ G_M25128_IG09:        ; bbWeight=0.71, gcrefRegs=200000 {x21}, byrefRegs=180000
             mov     w0, #34
             cmp     w23, #39
             ccmp    w23, w0, z, ne
-            beq     G_M25128_IG25
+            beq     G_M25128_IG22
                        ;; size=48 bbWeight=0.71 PerfScore 7.13
 G_M25128_IG10:        ; bbWeight=62.40, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
-            cbz     w23, G_M25128_IG45
+            cbz     w23, G_M25128_IG44
                      ;; size=4 bbWeight=62.40 PerfScore 62.40
 G_M25128_IG11:        ; bbWeight=62.24, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
-            cbnz    w24, G_M25128_IG47
+            cbnz    w24, G_M25128_IG57
             mov     w0, #61
             cmp     w23, #44
             ccmp    w23, w0, z, ne
-            bne     G_M25128_IG33
+            beq     G_M25128_IG38
                        ;; size=20 bbWeight=62.24 PerfScore 217.82
-G_M25128_IG12:        ; bbWeight=0.33, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref
-            ldr     w0, [x19, #0x10]
-            sub     w0, w0, #1
-            str     w0, [x19, #0x10]
-                       ;; size=12 bbWeight=0.33 PerfScore 1.50
-G_M25128_IG13:        ; bbWeight=0.50, gcrefRegs=200000 {x21}, byrefRegs=100000 {x20}, byref, isz
-            ; byrRegs -[x19]
-            cbnz    w24, G_M25128_IG17
-                       ;; size=4 bbWeight=0.50 PerfScore 0.50
-G_M25128_IG14:        ; bbWeight=0.50, gcrefRegs=200000 {x21}, byrefRegs=100000 {x20}, byref, isz
+G_M25128_IG12:        ; bbWeight=61.90, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
+            mov     w0, #34
+            cmp     w23, #39
+            ccmp    w23, w0, z, ne
+            beq     G_M25128_IG52
+                       ;; size=16 bbWeight=61.90 PerfScore 154.75
+G_M25128_IG13:        ; bbWeight=61.90, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
+            cmp     w23, #92
+            beq     G_M25128_IG18
+                       ;; size=8 bbWeight=61.90 PerfScore 92.85
+G_M25128_IG14:        ; bbWeight=61.84, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
             ldr     w0, [fp, #-0x48] // [V03 loc1+0x08]
-            cmp     w0, #0
-            ble     G_M25128_IG17
-            sub     w23, w0, #1
-            cmp     w23, w0
-            blt     G_M25128_IG16
-                       ;; size=24 bbWeight=0.50 PerfScore 2.75
-G_M25128_IG15:        ; bbWeight=2, gcrefRegs=200000 {x21}, byrefRegs=100000 {x20}, byref
-            mov     x0, x21
-            ; gcrRegs +[x0]
-            mov     x1, x21
-            ; gcrRegs +[x1]
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            ; gcrRegs -[x0-x1]
-            ; gcr arg pop 0
-                       ;; size=28 bbWeight=2 PerfScore 13.00
-G_M25128_IG16:        ; bbWeight=0.50, gcrefRegs=200000 {x21}, byrefRegs=100000 {x20}, byref, isz
-            ldr     w0, [fp, #-0x38]   // [V03 loc1+0x18]
-            cmp     w23, w0
-            bhs     G_M25128_IG46
-            ldr     x0, [fp, #-0x40]   // [V03 loc1+0x10]
-            ; byrRegs +[x0]
-            ldrh    w0, [x0, w23, UXTW #2]
-            ; byrRegs -[x0]
-            movz    x1, #0xD1FFAB1E      // code for System.Reflection.AssemblyNameParser:IsWhiteSpace(ushort):ubyte
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            ldr     x1, [x1]
-            blr     x1
-            ; gcr arg pop 0
-            cbnz    w0, G_M25128_IG58
-                       ;; size=44 bbWeight=0.50 PerfScore 7.50
-G_M25128_IG17:        ; bbWeight=0.50, gcrefRegs=200000 {x21}, byrefRegs=100000 {x20}, byref, isz
-            ldr     w24, [fp, #-0x48]  // [V03 loc1+0x08]
-            ldr     w0, [fp, #-0x38]   // [V03 loc1+0x18]
-            cmp     w24, w0
+            ldr     x1, [fp, #-0x40]  // [V03 loc1+0x10]
+            ; byrRegs +[x1]
+            ldr     w2, [fp, #-0x38]   // [V03 loc1+0x18]
+            cmp     w0, w2
+            bhs     G_M25128_IG55
+            strh    w23, [x1, w0, UXTW #2]
+            add     w0, w0, #1
+            str     w0, [fp, #-0x48]   // [V03 loc1+0x08]
+                       ;; size=32 bbWeight=61.84 PerfScore 618.40
+G_M25128_IG15:        ; bbWeight=61.84, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
+            ; byrRegs -[x1]
+            ldr     w0, [x19, #0x10]
+            ldr     w1, [x19, #0x08]
+            cmp     w0, w1
+            bge     G_M25128_IG27
+                       ;; size=16 bbWeight=61.84 PerfScore 463.80
+G_M25128_IG16:        ; bbWeight=246.76, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
+            add     w1, w0, #1
+            str     w1, [x19, #0x10]
+            ldr     w1, [x19, #0x08]
+            cmp     w0, w1
+            bhs     G_M25128_IG54
+            ldr     x1, [x19]
+            ; byrRegs +[x1]
+            ldrh    w23, [x1, w0, UXTW #2]
+            cbz     w23, G_M25128_IG52
+                       ;; size=32 bbWeight=246.76 PerfScore 3207.82
+G_M25128_IG17:        ; bbWeight=61.69, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref
+            ; byrRegs -[x1]
+            b       G_M25128_IG10
+                       ;; size=4 bbWeight=61.69 PerfScore 61.69
+G_M25128_IG18:        ; bbWeight=0.06, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
+            ldr     w0, [x19, #0x10]
+            ldr     w1, [x19, #0x08]
+            cmp     w0, w1
+            bge     G_M25128_IG39
+                       ;; size=16 bbWeight=0.06 PerfScore 0.46
+G_M25128_IG19:        ; bbWeight=0.25, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
+            ldr     w0, [x19, #0x10]
+            add     w1, w0, #1
+            str     w1, [x19, #0x10]
+            ldr     w1, [x19, #0x08]
+            cmp     w0, w1
+            bhs     G_M25128_IG54
+            ldr     x1, [x19]
+            ; byrRegs +[x1]
+            ldrh    w1, [x1, w0, UXTW #2]
+            ; byrRegs -[x1]
+            cbz     w1, G_M25128_IG52
+                       ;; size=36 bbWeight=0.25 PerfScore 3.95
+G_M25128_IG20:        ; bbWeight=0.06, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
+            cmp     w1, #61
             bhi     G_M25128_IG59
-            ldr     x19, [fp, #-0x40]    // [V03 loc1+0x10]
-            ; byrRegs +[x19]
-            tbz     w24, #31, G_M25128_IG18
-            mov     x0, x21
-            ; gcrRegs +[x0]
-            mov     x1, x21
-            ; gcrRegs +[x1]
-            movz    x2, #0xD1FFAB1E      // code for <unknown method>
-            movk    x2, #0xD1FFAB1E LSL #16
-            movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x2, [x2]
-            blr     x2
-            ; gcrRegs -[x0-x1 x21]
-            ; gcr arg pop 0
-                       ;; size=52 bbWeight=0.50 PerfScore 7.50
-G_M25128_IG18:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=180000 {x19 x20}, byref, isz
-            str     x19, [fp, #-0x60]  // [V58 tmp51]
-            str     w24, [fp, #-0x58]  // [V59 tmp52]
-            sub     x0, fp, #96    // [V35 tmp28]
-            movz    x1, #0xD1FFAB1E      // code for <unknown method>
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            ldr     x1, [x1]
-            blr     x1
-            ; gcrRegs +[x0]
-            ; byrRegs -[x19]
-            ; gcr arg pop 0
-            mov     x21, x0
-            ; gcrRegs +[x21]
-            ldr     x1, [fp, #-0x50]   // [V03 loc1]
-            ; gcrRegs +[x1]
-            stp     xzr, xzr, [fp, #-0x50]
-            stp     xzr, xzr, [fp, #-0x40]
-            cbnz    x1, G_M25128_IG24
-                       ;; size=52 bbWeight=0.50 PerfScore 6.75
-G_M25128_IG19:        ; bbWeight=0.50, gcrefRegs=200000 {x21}, byrefRegs=100000 {x20}, byref, isz
-            ; gcrRegs -[x0-x1]
-            mov     x14, x20
-            ; byrRegs +[x14]
-            mov     x15, x21
-            ; gcrRegs +[x15]
-            bl      CORINFO_HELP_CHECKED_ASSIGN_REF
-            ; gcrRegs -[x15 x21]
-            ; byrRegs -[x14 x20]
-            mov     w0, #3
+            cmp     w1, #39
+            bhi     G_M25128_IG58
+            mov     w0, #39
+            cmp     w1, #34
+            ccmp    w1, w0, z, ne
+            bne     G_M25128_IG52
+                       ;; size=32 bbWeight=0.06 PerfScore 0.34
+G_M25128_IG21:        ; bbWeight=0.06, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
+            ldr     w0, [fp, #-0x48]   // [V03 loc1+0x08]
+            ldr     x2, [fp, #-0x40]   // [V03 loc1+0x10]
+            ; byrRegs +[x2]
+            ldr     w3, [fp, #-0x38]   // [V03 loc1+0x18]
+            cmp     w0, w3
+            bhs     G_M25128_IG45
+            strh    w1, [x2, w0, UXTW #2]
+            add     w0, w0, #1
+            str     w0, [fp, #-0x48]   // [V03 loc1+0x08]
+            b       G_M25128_IG15
+                       ;; size=36 bbWeight=0.06 PerfScore 0.68
+G_M25128_IG22:        ; bbWeight=0.21, gcrefRegs=200000 {x21}, byrefRegs=180000 {x19 x20}, byref, isz
+            ; byrRegs -[x2]
+            sxtw    w24, w22
+            ldr     w0, [x19, #0x10]
+            ldr     w1, [x19, #0x08]
...
  
  
librariestestsnotieredcompilation.run.windows.arm64.Release.mch
-24 (-5.41%) : 126983.dasm - System.IO.TempAclDirectory:DeleteDirectory():this (FullOpts)
@@ -8,7 +8,7 @@
 ; 4 inlinees with PGO data; 12 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T06] (  8, 35   )     ref  ->  x19         this class-hnd single-def <System.IO.TempAclDirectory>
+;  V00 this         [V00,T05] (  8, 35   )     ref  ->  x19         this class-hnd single-def <System.IO.TempAclDirectory>
 ;* V01 loc0         [V01    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <System.IO.DirectoryInfo>
 ;* V02 loc1         [V02    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.IO.DirectoryInfo]>
 ;* V03 loc2         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.IO.DirectoryInfo>
@@ -17,33 +17,35 @@
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T00] (  6, 96   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.IO.DirectoryInfo>
 ;* V08 tmp2         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
-;  V09 tmp3         [V09,T18] (  2,  4   )     ref  ->  x20         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V09 tmp3         [V09,T20] (  2,  4   )     ref  ->  x20         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V10 tmp4         [V10    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.IO.DirectoryInfo]>
-;* V11 tmp5         [V11,T14] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V11 tmp5         [V11,T16] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V12 tmp6         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V13 tmp7         [V13,T08] (  2, 32   )     ref  ->  x20         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V13 tmp7         [V13,T06] (  2, 32   )     ref  ->  x20         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V14 tmp8         [V14    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.IO.FileInfo]>
-;* V15 tmp9         [V15,T15] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V15 tmp9         [V15,T17] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V16 tmp10        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V17 tmp11        [V17,T07] (  5, 25.00)     ref  ->  x20         single-def "field V02._list (fldOffset=0x0)" P-INDEP
-;  V18 tmp12        [V18,T10] (  2, 10.75)     ref  ->   x1         "field V02._current (fldOffset=0x8)" P-INDEP
+;  V17 tmp11        [V17,T11] (  4, 23.75)     ref  ->  x20         single-def "field V02._list (fldOffset=0x0)" P-INDEP
+;  V18 tmp12        [V18,T12] (  2, 10.75)     ref  ->   x1         "field V02._current (fldOffset=0x8)" P-INDEP
 ;  V19 tmp13        [V19,T02] (  6, 36.00)     int  ->  x22         "field V02._index (fldOffset=0x10)" P-INDEP
-;  V20 tmp14        [V20,T16] (  3, 10.25)     int  ->  x21         single-def "field V02._version (fldOffset=0x14)" P-INDEP
-;  V21 tmp15        [V21,T05] (  5, 32.00)     ref  ->  x20         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V22 tmp16        [V22,T11] (  2, 10.75)     ref  ->   x1         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V20 tmp14        [V20,T18] (  2,  9   )     int  ->  x21         single-def "field V02._version (fldOffset=0x14)" P-INDEP
+;  V21 tmp15        [V21,T07] (  4, 30.75)     ref  ->  x20         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V22 tmp16        [V22,T13] (  2, 10.75)     ref  ->   x1         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V23 tmp17        [V23,T01] (  6, 43.00)     int  ->  x22         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V24 tmp18        [V24,T12] (  3, 17.25)     int  ->  x21         single-def "field V04._version (fldOffset=0x14)" P-INDEP
-;  V25 tmp19        [V25,T19] (  3,  3   )     ref  ->  x20         single-def "field V10._list (fldOffset=0x0)" P-INDEP
+;  V24 tmp18        [V24,T14] (  2, 16   )     int  ->  x21         single-def "field V04._version (fldOffset=0x14)" P-INDEP
+;  V25 tmp19        [V25,T21] (  3,  3   )     ref  ->  x20         single-def "field V10._list (fldOffset=0x0)" P-INDEP
 ;* V26 tmp20        [V26    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V10._current (fldOffset=0x8)" P-INDEP
-;* V27 tmp21        [V27,T21] (  0,  0   )     int  ->  zero-ref    single-def "field V10._index (fldOffset=0x10)" P-INDEP
-;  V28 tmp22        [V28,T20] (  2,  2   )     int  ->  x21         single-def "field V10._version (fldOffset=0x14)" P-INDEP
-;  V29 tmp23        [V29,T09] (  3, 24   )     ref  ->  x20         single-def "field V14._list (fldOffset=0x0)" P-INDEP
+;* V27 tmp21        [V27,T23] (  0,  0   )     int  ->  zero-ref    single-def "field V10._index (fldOffset=0x10)" P-INDEP
+;  V28 tmp22        [V28,T22] (  2,  2   )     int  ->  x21         single-def "field V10._version (fldOffset=0x14)" P-INDEP
+;  V29 tmp23        [V29,T08] (  3, 24   )     ref  ->  x20         single-def "field V14._list (fldOffset=0x0)" P-INDEP
 ;* V30 tmp24        [V30    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V14._current (fldOffset=0x8)" P-INDEP
-;* V31 tmp25        [V31,T17] (  0,  0   )     int  ->  zero-ref    single-def "field V14._index (fldOffset=0x10)" P-INDEP
-;  V32 tmp26        [V32,T13] (  2, 16   )     int  ->  x21         single-def "field V14._version (fldOffset=0x14)" P-INDEP
+;* V31 tmp25        [V31,T19] (  0,  0   )     int  ->  zero-ref    single-def "field V14._index (fldOffset=0x10)" P-INDEP
+;  V32 tmp26        [V32,T15] (  2, 16   )     int  ->  x21         single-def "field V14._version (fldOffset=0x14)" P-INDEP
 ;  V33 tmp27        [V33,T03] (  3, 40.50)     ref  ->   x0         "arr expr"
 ;  V34 tmp28        [V34,T04] (  3, 40.50)     ref  ->   x0         "arr expr"
-;  V35 PSPSym       [V35,T22] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
+;  V35 PSPSym       [V35,T24] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
+;  V36 cse0         [V36,T09] (  2, 16.00)     int  ->   x0         "CSE - aggressive"
+;  V37 cse1         [V37,T10] (  2, 16.00)     int  ->   x0         "CSE - aggressive"
 ;
 ; Lcl frame size = 16
 
@@ -79,12 +81,12 @@ G_M40197_IG03:        ; bbWeight=4, gcrefRegs=180002 {x1 x19 x20}, byrefRegs=000
 G_M40197_IG04:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x20, #0x14]
             cmp     w21, w0
-            bne     G_M40197_IG09
+            bne     G_M40197_IG08
                       ;; size=12 bbWeight=8 PerfScore 36.00
 G_M40197_IG05:        ; bbWeight=8.00, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x20, #0x10]
             cmp     w22, w0
-            bhs     G_M40197_IG10
+            bhs     G_M40197_IG09
                       ;; size=12 bbWeight=8.00 PerfScore 35.99
 G_M40197_IG06:        ; bbWeight=6.75, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x20, #0x08]
@@ -115,21 +117,15 @@ G_M40197_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M40197_IG09:        ; bbWeight=1.25, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x19-x20]
-            ldr     w0, [x20, #0x14]
-            cmp     w21, w0
-            bne     G_M40197_IG08
-                       ;; size=12 bbWeight=1.25 PerfScore 5.63
-G_M40197_IG10:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x20]
+G_M40197_IG09:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x19]
             ldr     x20, [x19, #0x18]
             ; gcrRegs +[x20]
             ldr     w21, [x20, #0x14]
             mov     w22, wzr
-            b       G_M40197_IG12
+            b       G_M40197_IG11
                      ;; size=16 bbWeight=8 PerfScore 60.00
-G_M40197_IG11:        ; bbWeight=4, gcrefRegs=180002 {x1 x19 x20}, byrefRegs=0000 {}, byref
+G_M40197_IG10:        ; bbWeight=4, gcrefRegs=180002 {x1 x19 x20}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x1]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -141,17 +137,17 @@ G_M40197_IG11:        ; bbWeight=4, gcrefRegs=180002 {x1 x19 x20}, byrefRegs=000
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
                        ;; size=24 bbWeight=4 PerfScore 24.00
-G_M40197_IG12:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
+G_M40197_IG11:        ; bbWeight=8, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x20, #0x14]
             cmp     w21, w0
-            bne     G_M40197_IG15
+            bne     G_M40197_IG08
                       ;; size=12 bbWeight=8 PerfScore 36.00
-G_M40197_IG13:        ; bbWeight=8.00, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
+G_M40197_IG12:        ; bbWeight=8.00, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x20, #0x10]
             cmp     w22, w0
-            bhs     G_M40197_IG16
+            bhs     G_M40197_IG14
                       ;; size=12 bbWeight=8.00 PerfScore 35.99
-G_M40197_IG14:        ; bbWeight=6.75, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
+G_M40197_IG13:        ; bbWeight=6.75, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x20, #0x08]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x08]
@@ -163,17 +159,11 @@ G_M40197_IG14:        ; bbWeight=6.75, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             ldr     x1, [x0, w22, UXTW #3]
             ; gcrRegs +[x1]
             add     w22, w22, #1
-            b       G_M40197_IG11
+            b       G_M40197_IG10
                      ;; size=32 bbWeight=6.75 PerfScore 84.37
-G_M40197_IG15:        ; bbWeight=1.25, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs -[x1]
+G_M40197_IG14:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x1 x20]
             ; byrRegs -[x0]
-            ldr     w0, [x20, #0x14]
-            cmp     w21, w0
-            bne     G_M40197_IG08
-                       ;; size=12 bbWeight=1.25 PerfScore 5.63
-G_M40197_IG16:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x20]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -217,31 +207,31 @@ G_M40197_IG16:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             movn    w0, #0
             str     w0, [x20, #0x28]
                        ;; size=116 bbWeight=8 PerfScore 240.00
-G_M40197_IG17:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M40197_IG15:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x20]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=16 bbWeight=1 PerfScore 4.00
-G_M40197_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M40197_IG16:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             stp     fp, lr, [sp, #-0x40]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             add     x3, fp, #64
             str     x3, [sp, #0x18]
                        ;; size=20 bbWeight=0 PerfScore 0.00
-G_M40197_IG19:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            adr     x0, [G_M40197_IG17]
+G_M40197_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+            adr     x0, [G_M40197_IG15]
                         ;; size=4 bbWeight=0 PerfScore 0.00
-G_M40197_IG20:        ; bbWeight=0, funclet epilog, nogc, extend
+G_M40197_IG18:        ; bbWeight=0, funclet epilog, nogc, extend
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=16 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 444, prolog size 28, PerfScore 688.99, instruction count 111, allocated bytes for code 444 (MethodHash=f82462fa) for method System.IO.TempAclDirectory:DeleteDirectory():this (FullOpts)
+; Total bytes of code 420, prolog size 28, PerfScore 677.74, instruction count 105, allocated bytes for code 420 (MethodHash=f82462fa) for method System.IO.TempAclDirectory:DeleteDirectory():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -252,7 +242,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 101 (0x00065) Actual length = 404 (0x000194)
+  Function Length   : 95 (0x0005f) Actual length = 380 (0x00017c)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -289,4 +279,4 @@ Unwind Info:
 
 *************** EH table for System.IO.TempAclDirectory:DeleteDirectory():this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M40197_IG02..G_M40197_IG17) handled by [G_M40197_IG18..END) (class: 1000012)
+EH#0: try [G_M40197_IG02..G_M40197_IG15) handled by [G_M40197_IG16..END) (class: 1000012)
  
-16 (-4.12%) : 23363.dasm - System.Security.Cryptography.X509Certificates.FindPal:LaxParseDecimalBigInteger(System.String):System.Numerics.BigInteger (FullOpts)
@@ -8,7 +8,7 @@
 ; 2 inlinees with PGO data; 9 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T11] (  3,  3   )     ref  ->  x19         class-hnd single-def <System.String>
+;  V00 arg0         [V00,T13] (  3,  3   )     ref  ->  x19         class-hnd single-def <System.String>
 ;  V01 loc0         [V01    ] (  3,  5   )  struct (16) [fp+0x38]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Numerics.BigInteger>
 ;* V02 loc1         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-ret <System.Numerics.BigInteger>
 ;  V03 loc2         [V03,T06] (  3,  6   )     ref  ->  x19         class-hnd exact single-def <System.String>
@@ -50,10 +50,10 @@
 ;* V39 tmp33        [V39    ] (  0,  0   )     int  ->  zero-ref    "field V12._sign (fldOffset=0x8)" P-DEP
 ;  V40 tmp34        [V40    ] (  3, 10   )     ref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V14._bits (fldOffset=0x0)" P-DEP
 ;  V41 tmp35        [V41    ] (  3, 10   )     int  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V14._sign (fldOffset=0x8)" P-DEP
-;  V42 tmp36        [V42,T12] (  3,  4   )   byref  ->  registers   "field V16._reference (fldOffset=0x0)" P-INDEP
-;  V43 tmp37        [V43,T14] (  3,  4   )     int  ->  registers   "field V16._length (fldOffset=0x8)" P-INDEP
-;  V44 tmp38        [V44,T13] (  3,  4.00)   byref  ->   x4         "field V19._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp39        [V45,T15] (  3,  4.00)     int  ->   x6         "field V19._length (fldOffset=0x8)" P-INDEP
+;  V42 tmp36        [V42,T11] (  3,  5.99)   byref  ->  registers   "field V16._reference (fldOffset=0x0)" P-INDEP
+;  V43 tmp37        [V43,T12] (  3,  5.99)     int  ->  registers   "field V16._length (fldOffset=0x8)" P-INDEP
+;  V44 tmp38        [V44,T14] (  3,  4.00)   byref  ->   x3         "field V19._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp39        [V45,T15] (  3,  4.00)     int  ->   x4         "field V19._length (fldOffset=0x8)" P-INDEP
 ;  V46 tmp40        [V46    ] (  3, 10   )     ref  ->  [fp+0x18]  do-not-enreg[X] addr-exposed "field V22._bits (fldOffset=0x0)" P-DEP
 ;  V47 tmp41        [V47    ] (  3, 10   )     int  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "field V22._sign (fldOffset=0x8)" P-DEP
 ;* V48 tmp42        [V48    ] (  0,  0   )     ref  ->  zero-ref    "field V23._bits (fldOffset=0x0)" P-DEP
@@ -93,7 +93,7 @@ G_M64460_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             mov     w20, wzr
             ldr     w21, [x19, #0x08]
             cmp     w21, #0
-            ble     G_M64460_IG12
+            ble     G_M64460_IG11
                       ;; size=52 bbWeight=1 PerfScore 12.50
 G_M64460_IG03:        ; bbWeight=4, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz
             add     x1, x19, #12
@@ -102,13 +102,13 @@ G_M64460_IG03:        ; bbWeight=4, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {},
             ; byrRegs -[x1]
             sub     w22, w1, #48
             cmp     w22, #9
-            bhi     G_M64460_IG11
+            bhi     G_M64460_IG10
                       ;; size=20 bbWeight=4 PerfScore 22.00
 G_M64460_IG04:        ; bbWeight=2, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz
             ldr     x23, [fp, #0x38]   // [V24 tmp18]
             ; gcrRegs +[x23]
             ldr     w5, [fp, #0x40]    // [V25 tmp19]
-            cbnz    x0, G_M64460_IG06
+            cbnz    x0, G_M64460_IG14
             cbnz    x23, G_M64460_IG05
             stp     xzr, xzr, [fp, #0x28]
             smull   x1, w2, w5
@@ -124,45 +124,24 @@ G_M64460_IG04:        ; bbWeight=2, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {},
             ldr     x24, [fp, #0x28]   // [V40 tmp34]
             ; gcrRegs +[x24]
             ldr     w25, [fp, #0x30]   // [V41 tmp35]
-            b       G_M64460_IG10
+            b       G_M64460_IG09
                         ;; size=60 bbWeight=2 PerfScore 40.00
-G_M64460_IG05:        ; bbWeight=0.01, gcrefRegs=880000 {x19 x23}, byrefRegs=0000 {}, byref
+G_M64460_IG05:        ; bbWeight=2, gcrefRegs=880000 {x19 x23}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x24] +[x23]
             mov     x0, xzr
             ; byrRegs +[x0]
             mov     w1, wzr
-            mov     w3, w1
-            mov     x1, x0
-            ; byrRegs +[x1]
-            b       G_M64460_IG07
-                       ;; size=20 bbWeight=0.01 PerfScore 0.04
-G_M64460_IG06:        ; bbWeight=1.99, gcrefRegs=880001 {x0 x19 x23}, byrefRegs=0000 {}, byref
-            ; gcrRegs +[x0]
-            ; byrRegs -[x0-x1]
-            add     x1, x0, #16
-            ; byrRegs +[x1]
-            ldr     w0, [x0, #0x08]
-            ; gcrRegs -[x0]
-            sxtw    w3, w0
-                       ;; size=12 bbWeight=1.99 PerfScore 7.94
-G_M64460_IG07:        ; bbWeight=2, gcrefRegs=880000 {x19 x23}, byrefRegs=0002 {x1}, byref, isz
-            cbz     x23, G_M64460_IG14
+                       ;; size=8 bbWeight=2 PerfScore 2.00
+G_M64460_IG06:        ; bbWeight=2, gcrefRegs=880000 {x19 x23}, byrefRegs=0001 {x0}, byref, isz
+            cbz     x23, G_M64460_IG13
                      ;; size=4 bbWeight=2 PerfScore 2.00
-G_M64460_IG08:        ; bbWeight=1.99, gcrefRegs=880000 {x19 x23}, byrefRegs=0002 {x1}, byref
-            add     x4, x23, #16
-            ; byrRegs +[x4]
-            ldr     w6, [x23, #0x08]
-                       ;; size=8 bbWeight=1.99 PerfScore 6.95
-G_M64460_IG09:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0012 {x1 x4}, byref
-            ; gcrRegs -[x23]
-            mov     x0, x1
-            ; byrRegs +[x0]
-            mov     w1, w3
-            ; byrRegs -[x1]
-            mov     x3, x4
+G_M64460_IG07:        ; bbWeight=1.99, gcrefRegs=880000 {x19 x23}, byrefRegs=0001 {x0}, byref
+            add     x3, x23, #16
             ; byrRegs +[x3]
-            mov     w4, w6
-            ; byrRegs -[x4]
+            ldr     w4, [x23, #0x08]
+                       ;; size=8 bbWeight=1.99 PerfScore 6.95
+G_M64460_IG08:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0009 {x0 x3}, byref
+            ; gcrRegs -[x23]
             movz    x6, #0xD1FFAB1E      // code for <unknown method>
             movk    x6, #0xD1FFAB1E LSL #16
             movk    x6, #0xD1FFAB1E LSL #32
@@ -174,8 +153,8 @@ G_M64460_IG09:        ; bbWeight=2, gcrefRegs=80000 {x19}, byrefRegs=0012 {x1 x4
             mov     x24, x0
             ; gcrRegs +[x24]
             mov     w25, w1
-                      ;; size=44 bbWeight=2 PerfScore 17.00
-G_M64460_IG10:        ; bbWeight=2, gcrefRegs=1080000 {x19 x24}, byrefRegs=0000 {}, byref
+                        ;; size=28 bbWeight=2 PerfScore 13.00
+G_M64460_IG09:        ; bbWeight=2, gcrefRegs=1080000 {x19 x24}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             stp     xzr, xzr, [fp, #0x18]
             mov     w1, w22
@@ -201,16 +180,16 @@ G_M64460_IG10:        ; bbWeight=2, gcrefRegs=1080000 {x19 x24}, byrefRegs=0000
             ; gcr arg pop 0
             mov     w2, w1
                        ;; size=72 bbWeight=2 PerfScore 37.00
-G_M64460_IG11:        ; bbWeight=4, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz
+G_M64460_IG10:        ; bbWeight=4, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz
             add     w20, w20, #1
             cmp     w21, w20
             bgt     G_M64460_IG03
                        ;; size=12 bbWeight=4 PerfScore 8.00
-G_M64460_IG12:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
+G_M64460_IG11:        ; bbWeight=1, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
             mov     x1, x2
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M64460_IG13:        ; bbWeight=1, epilog, nogc, extend
+G_M64460_IG12:        ; bbWeight=1, epilog, nogc, extend
             ldr     x25, [sp, #0x78]
             ldp     x23, x24, [sp, #0x68]
             ldp     x21, x22, [sp, #0x58]
@@ -218,16 +197,30 @@ G_M64460_IG13:        ; bbWeight=1, epilog, nogc, extend
             ldp     fp, lr, [sp], #0x80
             ret     lr
                        ;; size=24 bbWeight=1 PerfScore 7.00
-G_M64460_IG14:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0002 {x1}, gcvars, byref
+G_M64460_IG13:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=80000 {x19}, byrefRegs=0001 {x0}, gcvars, byref
             ; gcrRegs -[x0] +[x19]
-            ; byrRegs +[x1]
-            mov     x4, xzr
-            ; byrRegs +[x4]
-            mov     w6, wzr
-            b       G_M64460_IG09
+            ; byrRegs +[x0]
+            mov     x3, xzr
+            ; byrRegs +[x3]
+            mov     w4, wzr
+            b       G_M64460_IG08
                       ;; size=12 bbWeight=0.01 PerfScore 0.03
+G_M64460_IG14:        ; bbWeight=1.99, gcrefRegs=880001 {x0 x19 x23}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x0 x23]
+            ; byrRegs -[x0 x3]
+            add     x1, x0, #16
+            ; byrRegs +[x1]
+            ldr     w0, [x0, #0x08]
+            ; gcrRegs -[x0]
+            sxtw    w3, w0
+            mov     x0, x1
+            ; byrRegs +[x0]
+            mov     w1, w3
+            ; byrRegs -[x1]
+            b       G_M64460_IG06
+                       ;; size=24 bbWeight=1.99 PerfScore 11.91
 
-; Total bytes of code 388, prolog size 44, PerfScore 169.96, instruction count 97, allocated bytes for code 388 (MethodHash=1fda0433) for method System.Security.Cryptography.X509Certificates.FindPal:LaxParseDecimalBigInteger(System.String):System.Numerics.BigInteger (FullOpts)
+; Total bytes of code 372, prolog size 44, PerfScore 171.89, instruction count 93, allocated bytes for code 372 (MethodHash=1fda0433) for method System.Security.Cryptography.X509Certificates.FindPal:LaxParseDecimalBigInteger(System.String):System.Numerics.BigInteger (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -238,7 +231,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 97 (0x00061) Actual length = 388 (0x000184)
+  Function Length   : 93 (0x0005d) Actual length = 372 (0x000174)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
  
-16 (-4.12%) : 516.dasm - Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
@@ -8,30 +8,31 @@
 ; 3 inlinees with PGO data; 7 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T09] (  4,  4   )     ref  ->  x21         this class-hnd single-def <Xunit.AggregateMessageSink>
-;  V01 arg1         [V01,T06] (  3,  5.37)     ref  ->  x19         class-hnd single-def <Xunit.Abstractions.IMessageSinkMessage>
-;  V02 arg2         [V02,T07] (  3,  5.37)     ref  ->  x20         class-hnd single-def <System.Collections.Generic.HashSet`1[System.String]>
-;  V03 loc0         [V03,T05] (  4,  8.75)   ubyte  ->  x22        
-;  V04 loc1         [V04,T14] (  4,  1.50)     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
+;  V00 this         [V00,T10] (  4,  4   )     ref  ->  x21         this class-hnd single-def <Xunit.AggregateMessageSink>
+;  V01 arg1         [V01,T07] (  3,  5.37)     ref  ->  x19         class-hnd single-def <Xunit.Abstractions.IMessageSinkMessage>
+;  V02 arg2         [V02,T08] (  3,  5.37)     ref  ->  x20         class-hnd single-def <System.Collections.Generic.HashSet`1[System.String]>
+;  V03 loc0         [V03,T06] (  4,  8.75)   ubyte  ->  x22        
+;  V04 loc1         [V04,T15] (  4,  1.50)     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
 ;  V05 loc2         [V05    ] (  5,  4   )   ubyte  ->  [fp+0x20]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;* V06 loc3         [V06    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[Xunit.IMessageSinkWithTypes]>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V08 tmp1         [V08,T11] (  2,  4   )   ubyte  ->   x0         "Inlining Arg"
-;  V09 tmp2         [V09,T10] (  2,  4   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
+;  V08 tmp1         [V08,T12] (  2,  4   )   ubyte  ->   x0         "Inlining Arg"
+;  V09 tmp2         [V09,T11] (  2,  4   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[Xunit.IMessageSinkWithTypes]>
-;* V11 tmp4         [V11,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V11 tmp4         [V11,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V12 tmp5         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[Xunit.IMessageSinkWithTypes]>
-;  V13 tmp6         [V13,T01] (  5, 17.00)     ref  ->  x21         single-def "field V06._list (fldOffset=0x0)" P-INDEP
-;  V14 tmp7         [V14,T03] (  2,  6.75)     ref  ->   x0         "field V06._current (fldOffset=0x8)" P-INDEP
+;  V13 tmp6         [V13,T02] (  4, 16.37)     ref  ->  x21         single-def "field V06._list (fldOffset=0x0)" P-INDEP
+;  V14 tmp7         [V14,T04] (  2,  6.75)     ref  ->   x0         "field V06._current (fldOffset=0x8)" P-INDEP
 ;  V15 tmp8         [V15,T00] (  6, 18.50)     int  ->  x24         "field V06._index (fldOffset=0x10)" P-INDEP
-;  V16 tmp9         [V16,T04] (  3,  9.63)     int  ->  x23         single-def "field V06._version (fldOffset=0x14)" P-INDEP
-;  V17 tmp10        [V17,T12] (  3,  3   )     ref  ->  x21         single-def "field V10._list (fldOffset=0x0)" P-INDEP
+;  V16 tmp9         [V16,T05] (  2,  9   )     int  ->  x23         single-def "field V06._version (fldOffset=0x14)" P-INDEP
+;  V17 tmp10        [V17,T13] (  3,  3   )     ref  ->  x21         single-def "field V10._list (fldOffset=0x0)" P-INDEP
 ;* V18 tmp11        [V18    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V10._current (fldOffset=0x8)" P-INDEP
-;* V19 tmp12        [V19,T16] (  0,  0   )     int  ->  zero-ref    single-def "field V10._index (fldOffset=0x10)" P-INDEP
-;  V20 tmp13        [V20,T13] (  2,  2   )     int  ->  x23         single-def "field V10._version (fldOffset=0x14)" P-INDEP
-;  V21 tmp14        [V21,T02] (  3, 20.25)     ref  ->   x0         "arr expr"
-;  V22 PSPSym       [V22,T17] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
-;  V23 cse0         [V23,T15] (  3,  1.50)     ref  ->   x1         "CSE - moderate"
+;* V19 tmp12        [V19,T17] (  0,  0   )     int  ->  zero-ref    single-def "field V10._index (fldOffset=0x10)" P-INDEP
+;  V20 tmp13        [V20,T14] (  2,  2   )     int  ->  x23         single-def "field V10._version (fldOffset=0x14)" P-INDEP
+;  V21 tmp14        [V21,T01] (  3, 20.25)     ref  ->   x0         "arr expr"
+;  V22 PSPSym       [V22,T18] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
+;  V23 cse0         [V23,T03] (  2,  8.00)     int  ->   x0         "CSE - aggressive"
+;  V24 cse1         [V24,T16] (  3,  1.50)     ref  ->   x1         "CSE - moderate"
 ;
 ; Lcl frame size = 32
 
@@ -58,7 +59,7 @@ G_M52679_IG02:        ; bbWeight=1, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
             str     x0, [fp, #0x18]    // [V04 loc1]
             ; GC ptr vars +{V04}
                        ;; size=12 bbWeight=1 PerfScore 4.50
-G_M52679_IG03:        ; bbWeight=1, gcVars=0000000000004000 {V04}, gcrefRegs=380001 {x0 x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M52679_IG03:        ; bbWeight=1, gcVars=0000000000008000 {V04}, gcrefRegs=380001 {x0 x19 x20 x21}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w1, [fp, #0x20]   // [V05 loc2]
             cbnz    w1, G_M52679_IG09
             add     x1, fp, #32    // [V05 loc2]
@@ -90,19 +91,19 @@ G_M52679_IG05:        ; bbWeight=1, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=00
 G_M52679_IG06:        ; bbWeight=8, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x21, #0x14]
             cmp     w23, w0
-            bne     G_M52679_IG10
+            bne     G_M52679_IG11
                       ;; size=12 bbWeight=8 PerfScore 36.00
 G_M52679_IG07:        ; bbWeight=4.00, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             ldr     w0, [x21, #0x10]
             cmp     w24, w0
-            bhs     G_M52679_IG14
+            bhs     G_M52679_IG12
                       ;; size=12 bbWeight=4.00 PerfScore 18.00
 G_M52679_IG08:        ; bbWeight=3.37, gcrefRegs=380000 {x19 x20 x21}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x21, #0x08]
             ; gcrRegs +[x0]
             ldr     w2, [x0, #0x08]
             cmp     w24, w2
-            bhs     G_M52679_IG12
+            bhs     G_M52679_IG10
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
@@ -135,21 +136,11 @@ G_M52679_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M52679_IG10:        ; bbWeight=0.63, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref, isz
-            ; gcrRegs +[x21]
-            ldr     w0, [x21, #0x14]
-            cmp     w23, w0
-            bne     G_M52679_IG13
-                       ;; size=12 bbWeight=0.63 PerfScore 2.81
-G_M52679_IG11:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x21]
-            b       G_M52679_IG14
-                       ;; size=4 bbWeight=4 PerfScore 4.00
-G_M52679_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52679_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M52679_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52679_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -158,11 +149,11 @@ G_M52679_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M52679_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M52679_IG12:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [fp, #0x20] // [V05 loc2]
-            cbz     w0, G_M52679_IG16
+            cbz     w0, G_M52679_IG14
                      ;; size=8 bbWeight=1 PerfScore 3.00
-G_M52679_IG15:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52679_IG13:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ldr     x0, [fp, #0x18]  // [V04 loc1]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V04}
@@ -170,18 +161,18 @@ G_M52679_IG15:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=8 bbWeight=0.50 PerfScore 1.50
-G_M52679_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52679_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w0, w22
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M52679_IG17:        ; bbWeight=1, epilog, nogc, extend
+G_M52679_IG15:        ; bbWeight=1, epilog, nogc, extend
             ldp     x23, x24, [sp, #0x50]
             ldp     x21, x22, [sp, #0x40]
             ldp     x19, x20, [sp, #0x30]
             ldp     fp, lr, [sp], #0x60
             ret     lr
                        ;; size=20 bbWeight=1 PerfScore 5.00
-G_M52679_IG18:        ; bbWeight=0, gcVars=0000000000004000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-            ; GC ptr vars +{V04 V14}
+G_M52679_IG16:        ; bbWeight=0, gcVars=0000000000008000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+            ; GC ptr vars +{V04 V15}
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
@@ -189,17 +180,17 @@ G_M52679_IG18:        ; bbWeight=0, gcVars=0000000000004000 {V04}, gcrefRegs=000
             add     x3, fp, #96
             str     x3, [sp, #0x18]
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M52679_IG19:        ; bbWeight=0, gcVars=0000000000004000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M52679_IG17:        ; bbWeight=0, gcVars=0000000000008000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w0, [fp, #0x20]   // [V05 loc2]
-            cbz     w0, G_M52679_IG20
+            cbz     w0, G_M52679_IG18
             ldr     x0, [fp, #0x18]  // [V04 loc1]
             ; gcrRegs +[x0]
-            ; GC ptr vars -{V04 V14}
+            ; GC ptr vars -{V04 V15}
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M52679_IG20:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M52679_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
@@ -207,7 +198,7 @@ G_M52679_IG20:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ret     lr
                        ;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 388, prolog size 44, PerfScore 169.06, instruction count 97, allocated bytes for code 388 (MethodHash=39853238) for method Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
+; Total bytes of code 372, prolog size 44, PerfScore 162.25, instruction count 93, allocated bytes for code 372 (MethodHash=39853238) for method Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -218,7 +209,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 82 (0x00052) Actual length = 328 (0x000148)
+  Function Length   : 78 (0x0004e) Actual length = 312 (0x000138)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -255,4 +246,4 @@ Unwind Info:
 
 *************** EH table for Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M52679_IG03..G_M52679_IG14) handled by [G_M52679_IG18..END) (fault)
+EH#0: try [G_M52679_IG03..G_M52679_IG12) handled by [G_M52679_IG16..END) (fault)
  
+4 (+0.49%) : 131350.dasm - System.IO.Packaging.Tests.ReflectionTests:g__CheckCharacters|0_0(System.String) (FullOpts)
@@ -11,7 +11,7 @@
 ;  V00 arg0         [V00,T17] (  4,  7   )     ref  ->  x19         class-hnd single-def <System.String>
 ;  V01 loc0         [V01,T08] (  5, 17   )     int  ->  x20        
 ;  V02 loc1         [V02,T10] (  4, 14   )  ushort  ->  x22        
-;  V03 loc2         [V03    ] ( 24, 79.99)  struct (40) [fp+0x20]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
+;  V03 loc2         [V03    ] ( 26, 75.99)  struct (40) [fp+0x20]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V05 tmp1         [V05,T18] (  3,  8   )     int  ->  x23        
 ;* V06 tmp2         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.Buffers.SharedArrayPool`1[ushort]>
@@ -44,9 +44,9 @@
 ;  V33 tmp29        [V33,T24] (  2,  7.98)   byref  ->   x0         "Inlining Arg"
 ;* V34 tmp30        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.String>
 ;* V35 tmp31        [V35    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V36 tmp32        [V36,T19] (  2,  8   )     ref  ->  x26         class-hnd exact "Inline stloc first use temp" <System.String>
+;  V36 tmp32        [V36,T19] (  2,  8   )     ref  ->  x22         class-hnd exact "Inline stloc first use temp" <System.String>
 ;* V37 tmp33        [V37    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
-;  V38 tmp34        [V38,T03] (  4, 32   )     int  ->  x22         "Inlining Arg"
+;  V38 tmp34        [V38,T03] (  6, 24.00)     int  ->  x22         "Inlining Arg"
 ;* V39 tmp35        [V39    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
 ;  V40 tmp36        [V40,T09] (  2, 16   )   byref  ->  x25         "Inlining Arg"
 ;* V41 tmp37        [V41    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -116,7 +116,7 @@ G_M19374_IG02:        ; bbWeight=1, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, by
             mov     w20, wzr
             ldr     w21, [x19, #0x08]
             cmp     w21, #0
-            ble     G_M19374_IG22
+            ble     G_M19374_IG21
                       ;; size=16 bbWeight=1 PerfScore 5.00
 G_M19374_IG03:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             add     x0, x19, #12
@@ -166,7 +166,7 @@ G_M19374_IG08:        ; bbWeight=4, gcrefRegs=1080000 {x19 x24}, byrefRegs=20000
             ldr     w0, [fp, #0x30]    // [V03 loc2+0x10]
             ldr     w1, [fp, #0x40]    // [V03 loc2+0x20]
             cmp     w0, w1
-            bhi     G_M19374_IG26
+            bhi     G_M19374_IG24
             ldr     x2, [fp, #0x38]    // [V03 loc2+0x18]
             ; byrRegs +[x2]
             ubfiz   x3, x0, #1, #32
@@ -192,7 +192,7 @@ G_M19374_IG09:        ; bbWeight=2, gcrefRegs=1080000 {x19 x24}, byrefRegs=20000
                        ;; size=40 bbWeight=2 PerfScore 16.00
 G_M19374_IG10:        ; bbWeight=4, gcrefRegs=1080000 {x19 x24}, byrefRegs=2000000 {x25}, byref, isz
             cmp     w26, #31
-            blo     G_M19374_IG18
+            blo     G_M19374_IG22
                      ;; size=8 bbWeight=4 PerfScore 6.00
 G_M19374_IG11:        ; bbWeight=2.00, gcrefRegs=1080000 {x19 x24}, byrefRegs=2000000 {x25}, byref
             movz    x0, #0xD1FFAB1E
@@ -220,7 +220,7 @@ G_M19374_IG12:        ; bbWeight=4, gcrefRegs=1080000 {x19 x24}, byrefRegs=0000
             ldr     w0, [fp, #0x30]    // [V03 loc2+0x10]
             ldr     w1, [fp, #0x40]    // [V03 loc2+0x20]
             cmp     w0, w1
-            bhi     G_M19374_IG26
+            bhi     G_M19374_IG24
             ldr     x2, [fp, #0x38]    // [V03 loc2+0x18]
             ; byrRegs +[x2]
             ubfiz   x3, x0, #1, #32
@@ -249,7 +249,7 @@ G_M19374_IG14:        ; bbWeight=4, gcrefRegs=1080000 {x19 x24}, byrefRegs=40000
             cmp     w25, #14
             blo     G_M19374_IG23
                        ;; size=8 bbWeight=4 PerfScore 6.00
-G_M19374_IG15:        ; bbWeight=2.00, gcrefRegs=1080000 {x19 x24}, byrefRegs=400000 {x22}, byref
+G_M19374_IG15:        ; bbWeight=2.00, gcrefRegs=1080000 {x19 x24}, byrefRegs=400000 {x22}, byref, isz
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -260,17 +260,17 @@ G_M19374_IG15:        ; bbWeight=2.00, gcrefRegs=1080000 {x19 x24}, byrefRegs=40
             ldr     w0, [fp, #0x30]    // [V03 loc2+0x10]
             add     w0, w0, #14
             str     w0, [fp, #0x30]    // [V03 loc2+0x10]
-                        ;; size=40 bbWeight=2.00 PerfScore 25.94
-G_M19374_IG16:        ; bbWeight=4, gcrefRegs=1080000 {x19 x24}, byrefRegs=0000 {}, byref, isz
-            ; byrRegs -[x22]
             ldr     w22, [fp, #0x30]   // [V03 loc2+0x10]
+            ; byrRegs -[x22]
             ldr     w0, [fp, #0x40] // [V03 loc2+0x20]
             cmp     w22, w0
-            bhi     G_M19374_IG26
+            bhi     G_M19374_IG24
+                       ;; size=56 bbWeight=2.00 PerfScore 36.91
+G_M19374_IG16:        ; bbWeight=4, gcrefRegs=1080000 {x19 x24}, byrefRegs=0000 {}, byref, isz
             ldr     x25, [fp, #0x38] // [V03 loc2+0x18]
             ; byrRegs +[x25]
-            tbz     w22, #31, G_M19374_IG19
-                       ;; size=24 bbWeight=4 PerfScore 34.00
+            tbz     w22, #31, G_M19374_IG18
+                       ;; size=8 bbWeight=4 PerfScore 12.00
 G_M19374_IG17:        ; bbWeight=2, gcrefRegs=1080000 {x19 x24}, byrefRegs=2000000 {x25}, byref
             movz    x27, #8
             movk    x27, #0xD1FFAB1E LSL #16
@@ -285,40 +285,34 @@ G_M19374_IG17:        ; bbWeight=2, gcrefRegs=1080000 {x19 x24}, byrefRegs=20000
             ldr     x2, [x2]
             blr     x2
             ; gcrRegs -[x0-x1] +[x27]
-            b       G_M19374_IG24
-                       ;; size=44 bbWeight=2 PerfScore 18.00
-G_M19374_IG18:        ; bbWeight=0.01, gcrefRegs=1080000 {x19 x24}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x27]
-            ; byrRegs -[x25]
-            add     x0, fp, #32    // [V03 loc2]
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
+            mov     x0, x27
+            ; gcrRegs +[x0]
+            mov     x1, x27
+            ; gcrRegs +[x1]
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            b       G_M19374_IG12
-                       ;; size=40 bbWeight=0.01 PerfScore 0.05
-G_M19374_IG19:        ; bbWeight=4, gcrefRegs=1080000 {x19 x24}, byrefRegs=2000000 {x25}, byref, isz
-            ; byrRegs +[x25]
+            ; gcrRegs -[x0-x1 x27]
+                       ;; size=68 bbWeight=2 PerfScore 29.00
+G_M19374_IG18:        ; bbWeight=4, gcrefRegs=1080000 {x19 x24}, byrefRegs=2000000 {x25}, byref, isz
             mov     x0, x25
             ; byrRegs +[x0]
             sxtw    w1, w22
             bl      <unknown method>
             ; gcrRegs +[x0]
             ; byrRegs -[x0 x25]
-            mov     x26, x0
-            ; gcrRegs +[x26]
+            mov     x22, x0
+            ; gcrRegs +[x22]
             ldr     x1, [fp, #0x28]    // [V03 loc2+0x08]
             ; gcrRegs +[x1]
             stp     xzr, xzr, [fp, #0x20]
             stp     xzr, xzr, [fp, #0x30]
             str     xzr, [fp, #0x40]
-            cbz     x1, G_M19374_IG21
+            cbz     x1, G_M19374_IG20
                      ;; size=36 bbWeight=4 PerfScore 34.00
-G_M19374_IG20:        ; bbWeight=1.94, gcrefRegs=5080002 {x1 x19 x24 x26}, byrefRegs=0000 {}, byref
+G_M19374_IG19:        ; bbWeight=1.94, gcrefRegs=1480002 {x1 x19 x22 x24}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             mov     x0, x24
             ; gcrRegs +[x0]
@@ -330,25 +324,25 @@ G_M19374_IG20:        ; bbWeight=1.94, gcrefRegs=5080002 {x1 x19 x24 x26}, byref
             blr     x3
             ; gcrRegs -[x0-x1 x24]
                        ;; size=28 bbWeight=1.94 PerfScore 12.64
-G_M19374_IG21:        ; bbWeight=4, gcrefRegs=4080000 {x19 x26}, byrefRegs=0000 {}, byref, isz
+G_M19374_IG20:        ; bbWeight=4, gcrefRegs=480000 {x19 x22}, byrefRegs=0000 {}, byref, isz
             uxtb    w0, w23
             mov     w1, #1
             strb    w1, [fp, #0x18]    // [V80 tmp76]
             strb    w0, [fp, #0x19]    // [V80 tmp76+0x01]
             ldrh    w0, [fp, #0x18]    // [V80 tmp76]
-            mov     x1, x26
+            mov     x1, x22
             ; gcrRegs +[x1]
             movz    x2, #0xD1FFAB1E      // code for Xunit.Assert:True(System.Nullable`1[ubyte],System.String)
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            ; gcrRegs -[x1 x26]
+            ; gcrRegs -[x1 x22]
             add     w20, w20, #1
             cmp     w21, w20
             bgt     G_M19374_IG03
                        ;; size=56 bbWeight=4 PerfScore 52.00
-G_M19374_IG22:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M19374_IG21:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ; gcrRegs -[x19]
             ldr     x27, [sp, #0x88]
             ldp     x25, x26, [sp, #0x78]
@@ -358,7 +352,7 @@ G_M19374_IG22:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ldp     fp, lr, [sp], #0x90
             ret     lr
                        ;; size=28 bbWeight=1 PerfScore 8.00
-G_M19374_IG23:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=1080000 {x19 x24}, byrefRegs=0000 {}, gcvars, byref
+G_M19374_IG22:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=1080000 {x19 x24}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs +[x19 x24]
             add     x0, fp, #32    // [V03 loc2]
             movz    x1, #0xD1FFAB1E
@@ -369,33 +363,25 @@ G_M19374_IG23:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=108
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            b       G_M19374_IG16
+            b       G_M19374_IG12
                        ;; size=40 bbWeight=0.01 PerfScore 0.05
-G_M19374_IG24:        ; bbWeight=2, gcrefRegs=9080000 {x19 x24 x27}, byrefRegs=2000000 {x25}, byref
-            ; gcrRegs +[x27]
-            ; byrRegs +[x25]
-            mov     x0, x27
-            ; gcrRegs +[x0]
-            mov     x1, x27
-            ; gcrRegs +[x1]
+G_M19374_IG23:        ; bbWeight=0.01, gcrefRegs=1080000 {x19 x24}, byrefRegs=0000 {}, byref, isz
+            add     x0, fp, #32    // [V03 loc2]
+            movz    x1, #0xD1FFAB1E
+            movk    x1, #0xD1FFAB1E LSL #16
+            movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for <unknown method>
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            ; gcrRegs -[x0-x1 x27]
-            b       G_M19374_IG19
-                       ;; size=32 bbWeight=2 PerfScore 15.00
-G_M19374_IG25:        ; bbWeight=0, gcrefRegs=1080000 {x19 x24}, byrefRegs=0000 {}, byref
-            ; byrRegs -[x25]
-            mov     x25, xzr
-            ; byrRegs +[x25]
-            mov     w26, wzr
-            b       G_M19374_IG08
-                       ;; size=12 bbWeight=0 PerfScore 0.00
-G_M19374_IG26:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            ldr     w22, [fp, #0x30]  // [V03 loc2+0x10]
+            ldr     w0, [fp, #0x40]    // [V03 loc2+0x20]
+            cmp     w22, w0
+            bls     G_M19374_IG16
+                       ;; size=52 bbWeight=0.01 PerfScore 0.08
+G_M19374_IG24:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19 x24]
-            ; byrRegs -[x25]
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -403,8 +389,15 @@ G_M19374_IG26:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             blr     x0
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
+G_M19374_IG25:        ; bbWeight=0, gcrefRegs=1080000 {x19 x24}, byrefRegs=0000 {}, byref
+            ; gcrRegs +[x19 x24]
+            mov     x25, xzr
+            ; byrRegs +[x25]
+            mov     w26, wzr
+            b       G_M19374_IG08
+                       ;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 824, prolog size 44, PerfScore 506.59, instruction count 206, allocated bytes for code 824 (MethodHash=fe49b451) for method System.IO.Packaging.Tests.ReflectionTests:<Verify_GeneralPurposeBitFlag_NotSetTo_Unicode>g__CheckCharacters|0_0(System.String) (FullOpts)
+; Total bytes of code 828, prolog size 44, PerfScore 491.59, instruction count 207, allocated bytes for code 828 (MethodHash=fe49b451) for method System.IO.Packaging.Tests.ReflectionTests:<Verify_GeneralPurposeBitFlag_NotSetTo_Unicode>g__CheckCharacters|0_0(System.String) (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -415,7 +408,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 206 (0x000ce) Actual length = 824 (0x000338)
+  Function Length   : 207 (0x000cf) Actual length = 828 (0x00033c)
...
  
+20 (+0.82%) : 164882.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[ushort]:b_1690(int):this (FullOpts)
@@ -13,12 +13,12 @@
 ;  V02 loc0         [V02,T79] (  2,  5   )     ref  ->  x21         class-hnd exact single-def <<unknown class>>
 ;  V03 loc1         [V03,T24] (  5, 17   )     int  ->  x22        
 ;  V04 loc2         [V04,T12] ( 12, 32   )     int  ->  x23        
-;  V05 loc3         [V05,T01] ( 21, 94   )     ref  ->  [fp+0x58]  do-not-enreg[Z] class-hnd EH-live <System.Buffers.BoundedMemory`1[ushort]>
+;  V05 loc3         [V05,T01] ( 21, 94   )     ref  ->  [fp+0x68]  do-not-enreg[Z] class-hnd EH-live <System.Buffers.BoundedMemory`1[ushort]>
 ;  V06 loc4         [V06,T09] (  5, 40   )  ushort  ->  x25        
 ;  V07 loc5         [V07,T19] ( 10, 24   )     int  ->  x25        
 ;  V08 loc6         [V08,T00] (  8,100   )     int  ->  x26        
 ;  V09 loc7         [V09,T10] (  3, 40   )     int  ->   x0        
-;  V10 loc8         [V10    ] ( 43, 77.98)  struct (40) [fp+0xB0]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
+;  V10 loc8         [V10    ] ( 43, 77.98)  struct (40) [fp+0xC0]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
 ;* V11 loc9         [V11    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.Nullable`1[ushort]>
 ;# V12 OutArgs      [V12    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V13 tmp1         [V13,T49] (  4,  8   )     ref  ->  x21         class-hnd exact single-def "dup spill" <<unknown class>>
@@ -31,23 +31,23 @@
 ;  V20 tmp8         [V20,T76] (  3,  6   )     int  ->  x26        
 ;* V21 tmp9         [V21    ] (  0,  0   )  struct (40) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.DefaultInterpolatedStringHandler>
 ;* V22 tmp10        [V22    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Memory`1[ushort]>
-;  V23 tmp11        [V23    ] (  3, 12   )  struct (16) [fp+0xA0]  do-not-enreg[SFAR] multireg-arg multireg-ret must-init "spilled call-like call argument" <System.ReadOnlyMemory`1[ushort]>
+;  V23 tmp11        [V23    ] (  3, 12   )  struct (16) [fp+0xB0]  do-not-enreg[SFAR] multireg-arg multireg-ret must-init "spilled call-like call argument" <System.ReadOnlyMemory`1[ushort]>
 ;  V24 tmp12        [V24,T56] (  2,  8   )     int  ->  x23         "impAppendStmt"
 ;  V25 tmp13        [V25,T57] (  2,  8   )     int  ->  x23         "impAppendStmt"
 ;  V26 tmp14        [V26,T58] (  2,  8   )     int  ->   x2         "impAppendStmt"
 ;* V27 tmp15        [V27,T99] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.Collections.Generic.GenericComparer`1[ushort]>
 ;  V28 tmp16        [V28,T59] (  2,  8   )     int  ->  x26         "impAppendStmt"
 ;* V29 tmp17        [V29    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ushort]>
-;  V30 tmp18        [V30,T04] (  5, 68   )     int  ->  [fp+0x9C]  "Inline stloc first use temp"
+;  V30 tmp18        [V30,T04] (  5, 68   )     int  ->  [fp+0xAC]  "Inline stloc first use temp"
 ;* V31 tmp19        [V31    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
-;  V32 tmp20        [V32,T11] (  2, 40   )  ushort  ->  [fp+0x98]  spill-single-def "Inlining Arg"
+;  V32 tmp20        [V32,T11] (  2, 40   )  ushort  ->  [fp+0xA8]  spill-single-def "Inlining Arg"
 ;* V33 tmp21        [V33    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
 ;* V34 tmp22        [V34    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ushort]>
 ;* V35 tmp23        [V35    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V36 tmp24        [V36    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ushort]>
 ;* V37 tmp25        [V37    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V38 tmp26        [V38    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
-;  V39 tmp27        [V39,T05] (  2, 64   )  ushort  ->  [fp+0x94]  ld-addr-op spill-single-def "Inlining Arg"
+;  V39 tmp27        [V39,T05] (  2, 64   )  ushort  ->  [fp+0xA4]  ld-addr-op spill-single-def "Inlining Arg"
 ;  V40 tmp28        [V40,T06] (  2, 64   )  ushort  ->   x0         "Inlining Arg"
 ;* V41 tmp29        [V41    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Span`1[ushort]>
 ;* V42 tmp30        [V42    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
@@ -79,8 +79,8 @@
 ;* V68 tmp56        [V68    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V69 tmp57        [V69,T25] (  4, 16   )     int  ->   x0         "Inlining Arg"
 ;* V70 tmp58        [V70    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V71 tmp59        [V71,T41] (  3, 12   )     int  ->  [fp+0x90]  spill-single-def "Inlining Arg"
-;  V72 tmp60        [V72,T68] (  2,  7.99)   byref  ->  [fp+0x50]  spill-single-def "Inlining Arg"
+;  V71 tmp59        [V71,T41] (  3, 12   )     int  ->  [fp+0xA0]  spill-single-def "Inlining Arg"
+;  V72 tmp60        [V72,T68] (  2,  7.99)   byref  ->  [fp+0x60]  spill-single-def "Inlining Arg"
 ;* V73 tmp61        [V73    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V74 tmp62        [V74    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V75 tmp63        [V75,T101] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
@@ -90,8 +90,8 @@
 ;* V79 tmp67        [V79    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V80 tmp68        [V80,T26] (  4, 16   )     int  ->   x0         "Inlining Arg"
 ;* V81 tmp69        [V81    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V82 tmp70        [V82,T42] (  3, 12   )     int  ->  [fp+0x8C]  spill-single-def "Inlining Arg"
-;  V83 tmp71        [V83,T69] (  2,  7.99)   byref  ->  [fp+0x48]  spill-single-def "Inlining Arg"
+;  V82 tmp70        [V82,T42] (  3, 12   )     int  ->  [fp+0x9C]  spill-single-def "Inlining Arg"
+;  V83 tmp71        [V83,T69] (  2,  7.99)   byref  ->  [fp+0x58]  spill-single-def "Inlining Arg"
 ;* V84 tmp72        [V84    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V85 tmp73        [V85    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V86 tmp74        [V86,T102] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
@@ -101,8 +101,8 @@
 ;* V90 tmp78        [V90    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V91 tmp79        [V91,T27] (  4, 16   )     int  ->   x0         "Inlining Arg"
 ;* V92 tmp80        [V92    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V93 tmp81        [V93,T43] (  3, 12   )     int  ->  [fp+0x88]  spill-single-def "Inlining Arg"
-;  V94 tmp82        [V94,T70] (  2,  7.99)   byref  ->  [fp+0x40]  spill-single-def "Inlining Arg"
+;  V93 tmp81        [V93,T43] (  3, 12   )     int  ->  [fp+0x98]  spill-single-def "Inlining Arg"
+;  V94 tmp82        [V94,T70] (  2,  7.99)   byref  ->  [fp+0x50]  spill-single-def "Inlining Arg"
 ;* V95 tmp83        [V95    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V96 tmp84        [V96    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V97 tmp85        [V97,T103] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
@@ -115,12 +115,12 @@
 ;* V104 tmp92       [V104    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V105 tmp93       [V105    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V106 tmp94       [V106    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V107 tmp95       [V107,T21] (  7, 23.98)     ref  ->  [fp+0x38]  class-hnd exact spill-single-def "Inlining Arg" <System.String>
+;  V107 tmp95       [V107,T21] (  7, 23.98)     ref  ->  [fp+0x48]  class-hnd exact spill-single-def "Inlining Arg" <System.String>
 ;* V108 tmp96       [V108    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
 ;  V109 tmp97       [V109,T28] (  4, 16   )     int  ->   x0         "Inlining Arg"
 ;* V110 tmp98       [V110    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V111 tmp99       [V111,T44] (  3, 12   )     int  ->  [fp+0x84]  spill-single-def "Inlining Arg"
-;  V112 tmp100      [V112,T67] (  2,  7.99)   byref  ->  [fp+0x30]  spill-single-def "Inlining Arg"
+;  V111 tmp99       [V111,T44] (  3, 12   )     int  ->  [fp+0x94]  spill-single-def "Inlining Arg"
+;  V112 tmp100      [V112,T67] (  2,  7.99)   byref  ->  [fp+0x40]  spill-single-def "Inlining Arg"
 ;* V113 tmp101      [V113    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V114 tmp102      [V114    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V115 tmp103      [V115,T100] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
@@ -131,11 +131,11 @@
 ;* V120 tmp108      [V120    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V121 tmp109      [V121    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.String>
 ;* V122 tmp110      [V122    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V123 tmp111      [V123,T82] (  2,  4   )     ref  ->  [fp+0x28]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
+;  V123 tmp111      [V123,T82] (  2,  4   )     ref  ->  [fp+0x38]  class-hnd exact spill-single-def "Inline stloc first use temp" <System.String>
 ;* V124 tmp112      [V124    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ushort]>
-;  V125 tmp113      [V125,T29] (  4, 16   )     int  ->  [fp+0x80]  spill-single-def "Inlining Arg"
+;  V125 tmp113      [V125,T29] (  4, 16   )     int  ->  [fp+0x90]  spill-single-def "Inlining Arg"
 ;* V126 tmp114      [V126    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ushort]>
-;  V127 tmp115      [V127,T51] (  2,  8   )   byref  ->  [fp+0x20]  spill-single-def "Inlining Arg"
+;  V127 tmp115      [V127,T51] (  2,  8   )   byref  ->  [fp+0x30]  spill-single-def "Inlining Arg"
 ;* V128 tmp116      [V128    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V129 tmp117      [V129    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V130 tmp118      [V130    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
@@ -171,9 +171,9 @@
 ;* V160 tmp148      [V160    ] (  0,  0   )     ref  ->  zero-ref    "field V22._object (fldOffset=0x0)" P-DEP
 ;* V161 tmp149      [V161    ] (  0,  0   )     int  ->  zero-ref    "field V22._index (fldOffset=0x8)" P-DEP
 ;* V162 tmp150      [V162    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0xc)" P-DEP
-;  V163 tmp151      [V163,T40] (  3, 12   )     ref  ->  [fp+0xA0]  do-not-enreg[] "field V23._object (fldOffset=0x0)" P-DEP
-;  V164 tmp152      [V164,T45] (  3, 12   )     int  ->  [fp+0xA8]  do-not-enreg[] "field V23._index (fldOffset=0x8)" P-DEP
-;  V165 tmp153      [V165,T46] (  3, 12   )     int  ->  [fp+0xAC]  do-not-enreg[] "field V23._length (fldOffset=0xc)" P-DEP
+;  V163 tmp151      [V163,T40] (  3, 12   )     ref  ->  [fp+0xB0]  do-not-enreg[] "field V23._object (fldOffset=0x0)" P-DEP
+;  V164 tmp152      [V164,T45] (  3, 12   )     int  ->  [fp+0xB8]  do-not-enreg[] "field V23._index (fldOffset=0x8)" P-DEP
+;  V165 tmp153      [V165,T46] (  3, 12   )     int  ->  [fp+0xBC]  do-not-enreg[] "field V23._length (fldOffset=0xc)" P-DEP
 ;* V166 tmp154      [V166    ] (  0,  0   )   byref  ->  zero-ref    "field V29._reference (fldOffset=0x0)" P-DEP
 ;* V167 tmp155      [V167    ] (  0,  0   )     int  ->  zero-ref    "field V29._length (fldOffset=0x8)" P-DEP
 ;  V168 tmp156      [V168,T23] (  2, 20   )   byref  ->  x25         "field V31._reference (fldOffset=0x0)" P-INDEP
@@ -279,38 +279,38 @@
 ;* V268 tmp256      [V268    ] (  0,  0   )   ubyte  ->  zero-ref    "V21.[020..021)"
 ;* V269 tmp257      [V269    ] (  0,  0   )   byref  ->  zero-ref    "V21.[024..032)"
 ;* V270 tmp258      [V270    ] (  0,  0   )     int  ->  zero-ref    "V21.[032..036)"
-;  V271 tmp259      [V271,T47] (  3, 12   )  struct ( 8) [fp+0x78]  do-not-enreg[SF] "by-value struct argument" <System.Nullable`1[ubyte]>
-;  V272 tmp260      [V272,T48] (  3, 12   )  struct ( 8) [fp+0x70]  do-not-enreg[SF] "by-value struct argument" <System.Nullable`1[ushort]>
-;  V273 PSPSym      [V273,T108] (  1,  1   )    long  ->  [fp+0xD8]  do-not-enreg[V] "PSPSym"
+;  V271 tmp259      [V271,T47] (  3, 12   )  struct ( 8) [fp+0x88]  do-not-enreg[SF] "by-value struct argument" <System.Nullable`1[ubyte]>
+;  V272 tmp260      [V272,T48] (  3, 12   )  struct ( 8) [fp+0x80]  do-not-enreg[SF] "by-value struct argument" <System.Nullable`1[ushort]>
+;  V273 PSPSym      [V273,T108] (  1,  1   )    long  ->  [fp+0xE8]  do-not-enreg[V] "PSPSym"
 ;  V274 cse0        [V274,T02] ( 17, 86   )    long  ->  x24         "CSE - aggressive"
-;* V275 cse1        [V275,T18] (  0,  0   )     ref  ->  zero-ref    hoist multi-def "CSE - moderate"
-;  V276 cse2        [V276,T07] (  9, 60   )    long  ->  [fp+0x68]  multi-def "CSE - aggressive"
+;  V275 cse1        [V275,T18] (  1,  1   )     ref  ->  [fp+0x28]  spill-single-def hoist multi-def "CSE - moderate"
+;  V276 cse2        [V276,T07] (  9, 60   )    long  ->  [fp+0x78]  multi-def "CSE - aggressive"
 ;  V277 cse3        [V277,T38] (  4, 12   )    long  ->  x28         "CSE - moderate"
-;  V278 cse4        [V278,T78] (  3,  5.94)     ref  ->  [fp+0x18]  spill-single-def "CSE - conservative"
+;  V278 cse4        [V278,T78] (  3,  5.94)     ref  ->  [fp+0x20]  spill-single-def "CSE - conservative"
 ;  V279 cse5        [V279,T13] (  6, 32   )    long  ->  x27         "CSE - moderate"
-;  V280 cse6        [V280,T08] (  4, 48   )    long  ->  [fp+0x60]  spill-single-def "CSE - aggressive"
-;  TEMP_01                                   byref  ->  [fp+0x10]
+;  V280 cse6        [V280,T08] (  4, 48   )    long  ->  [fp+0x70]  spill-single-def "CSE - aggressive"
+;  TEMP_01                                   byref  ->  [fp+0x18]
 ;
-; Lcl frame size = 208
+; Lcl frame size = 224
 
 G_M37555_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #0xD1FFAB1E]!
-            stp     x19, x20, [sp, #0xE0]
-            stp     x21, x22, [sp, #0xF0]
+            stp     x19, x20, [sp, #0xF0]
+            stp     x21, x22, [sp, #0xD1FFAB1E]
             stp     x23, x24, [sp, #0xD1FFAB1E]
             stp     x25, x26, [sp, #0xD1FFAB1E]
             stp     x27, x28, [sp, #0xD1FFAB1E]
             mov     fp, sp
             movi    v16.16b, #0
-            sub     x9, fp, #16
-            mov     x10, #136
+            sub     x9, fp, #8
+            mov     x10, #144
             stp     q16, q16, [x9, #0x20]
             stp     q16, q16, [x9, #0x40]!
             subs    x10, x10, #64
             bge     pc-16 (-4 instructions)
-            str     xzr, [x9, #0x20]
+            stp     xzr, xzr, [x9, #0x20]
             add     x2, sp, #0xD1FFAB1E
-            str     x2, [fp, #0xD8]   // [V273 PSPSym]
+            str     x2, [fp, #0xE8]   // [V273 PSPSym]
             mov     x19, x0
             ; gcrRegs +[x19]
             mov     w20, w1
@@ -347,12 +347,12 @@ G_M37555_IG03:        ; bbWeight=4, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {
             blr     x2
             ; gcrRegs +[x0]
             ; gcr arg pop 0
-            str     x0, [fp, #0x58]   // [V05 loc3]
+            str     x0, [fp, #0x68]  // [V05 loc3]
             ; GC ptr vars +{V05}
                        ;; size=40 bbWeight=4 PerfScore 44.00
 G_M37555_IG04:        ; bbWeight=4, gcVars=00000000000000000000000000000002 {V05}, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0]
-            ldr     x0, [fp, #0x58]   // [V05 loc3]
+            ldr     x0, [fp, #0x68]  // [V05 loc3]
             ; gcrRegs +[x0]
             mov     x1, x0
             ; gcrRegs +[x1]
@@ -377,17 +377,17 @@ G_M37555_IG04:        ; bbWeight=4, gcVars=00000000000000000000000000000002 {V05
             ; gcrRegs -[x0]
             ; gcr arg pop 0
             sxtw    w2, w0
-            str     w2, [fp, #0x98]    // [V32 tmp20]
+            str     w2, [fp, #0xA8] // [V32 tmp20]
             mov     w3, wzr
             cmp     w26, #0
             ble     G_M37555_IG06
                        ;; size=72 bbWeight=4 PerfScore 110.00
 G_M37555_IG05:        ; bbWeight=16, gcrefRegs=280000 {x19 x21}, byrefRegs=2000000 {x25}, byref, isz
-            str     w3, [fp, #0x9C]  // [V30 tmp18]
+            str     w3, [fp, #0xAC] // [V30 tmp18]
             ubfiz   x0, x3, #1, #32
             add     x4, x25, x0
             ; byrRegs +[x4]
-            str     x4, [fp, #0x10]   // [TEMP_01]
+            str     x4, [fp, #0x18]   // [TEMP_01]
             mov     x0, x19
             ; gcrRegs +[x0]
             mov     w1, w2
@@ -399,19 +399,19 @@ G_M37555_IG05:        ; bbWeight=16, gcrefRegs=280000 {x19 x21}, byrefRegs=20000
             ; gcrRegs -[x0]
             ; byrRegs -[x4]
             ; gcr arg pop 0
-            ldr     x4, [fp, #0x10]   // [TEMP_01]
+            ldr     x4, [fp, #0x18]   // [TEMP_01]
             ; byrRegs +[x4]
             strh    w0, [x4]
-            ldr     w0, [fp, #0x9C]  // [V30 tmp18]
+            ldr     w0, [fp, #0xAC] // [V30 tmp18]
             add     w0, w0, #1
             cmp     w0, w26
             mov     w3, w0
-            ldr     w2, [fp, #0x98]    // [V32 tmp20]
+            ldr     w2, [fp, #0xA8] // [V32 tmp20]
             blt     G_M37555_IG05
                        ;; size=76 bbWeight=16 PerfScore 312.00
 G_M37555_IG06:        ; bbWeight=4, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {}, byref, isz
             ; byrRegs -[x4 x25]
-            ldr     x0, [fp, #0x58]   // [V05 loc3]
+            ldr     x0, [fp, #0x68]  // [V05 loc3]
             ; gcrRegs +[x0]
             ldr     x1, [x24, #0x38]
             blr     x1
@@ -419,10 +419,10 @@ G_M37555_IG06:        ; bbWeight=4, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {
             ; byrRegs +[x0]
             ; gcr arg pop 0
             cmp     w1, #0
-            bls     G_M37555_IG41
+            bls     G_M37555_IG42
             ldrh    w25, [x0]
             mov     w26, wzr
-            ldr     x0, [fp, #0x58]  // [V05 loc3]
+            ldr     x0, [fp, #0x68]  // [V05 loc3]
             ; gcrRegs +[x0]
             ; byrRegs -[x0]
             ldr     x1, [x24, #0x28]
@@ -430,62 +430,20 @@ G_M37555_IG06:        ; bbWeight=4, gcrefRegs=280000 {x19 x21}, byrefRegs=0000 {
             ; gcrRegs -[x0]
             ; gcr arg pop 0
...
  
+28 (+1.24%) : 58743.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
@@ -8,49 +8,49 @@
 ; 6 inlinees with PGO data; 17 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] ( 21, 18   )     ref  ->  x24         class-hnd <System.Reflection.MemberInfo>
+;  V00 arg0         [V00,T19] ( 23, 19   )     ref  ->  x24         class-hnd <System.Reflection.MemberInfo>
 ;  V01 arg1         [V01,T10] ( 12, 39.50)     ref  ->  registers   class-hnd <System.Reflection.ParameterInfo[]>
-;  V02 arg2         [V02,T17] (  6, 19.50)     int  ->  x23         single-def
-;  V03 arg3         [V03,T13] (  8, 29.50)   ubyte  ->  x21         single-def
-;  V04 arg4         [V04,T38] (  3,  2.50)     ref  ->  x25         class-hnd single-def <System.Object[]>
-;  V05 arg5         [V05,T15] (  4, 20   )     int  ->  x22         single-def
-;  V06 arg6         [V06,T39] (  3,  2.50)     ref  ->  x26         class-hnd single-def <System.String[]>
-;  V07 arg7         [V07,T40] (  3,  2.50)     ref  ->  x27         class-hnd single-def <System.Type[]>
+;  V02 arg2         [V02,T18] (  6, 19.50)     int  ->  x23         single-def
+;  V03 arg3         [V03,T17] (  7, 21.50)   ubyte  ->  x22         single-def
+;  V04 arg4         [V04,T39] (  3,  2.50)     ref  ->  x25         class-hnd single-def <System.Object[]>
+;  V05 arg5         [V05,T15] (  4, 20   )     int  ->  x21         single-def
+;  V06 arg6         [V06,T40] (  3,  2.50)     ref  ->  x26         class-hnd single-def <System.String[]>
+;  V07 arg7         [V07,T41] (  3,  2.50)     ref  ->  x27         class-hnd single-def <System.Type[]>
 ;  V08 arg8         [V08,T62] (  1,  1   )   ubyte  ->  [fp+0xF0]  single-def
 ;  V09 arg9         [V09,T04] ( 27, 69.35)     ref  ->  x19         class-hnd single-def <System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
-;  V10 arg10        [V10,T42] (  2,  4   )     ref  ->  x28         class-hnd single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Container>
-;  V11 loc0         [V11,T36] ( 10,  5.45)     ref  ->  [fp+0x48]  class-hnd <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V12 loc1         [V12,T19] (  7, 19   )     ref  ->  [fp+0x40]  class-hnd spill-single-def <System.Reflection.MethodBase>
-;  V13 loc2         [V13,T35] (  5,  5.50)   ubyte  ->  [fp+0x9C] 
-;  V14 loc3         [V14,T37] (  3,  5   )     int  ->  x26         single-def
+;  V10 arg10        [V10,T43] (  2,  4   )     ref  ->  x28         class-hnd single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Container>
+;  V11 loc0         [V11,T37] ( 10,  5.45)     ref  ->  [fp+0x40]  class-hnd <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V12 loc1         [V12,T20] (  7, 19   )     ref  ->  [fp+0x38]  class-hnd spill-single-def <System.Reflection.MethodBase>
+;  V13 loc2         [V13,T36] (  5,  5.50)   ubyte  ->  [fp+0x9C] 
+;  V14 loc3         [V14,T38] (  3,  5   )     int  ->  x26         single-def
 ;  V15 loc4         [V15,T07] ( 11, 60.50)     int  ->  x27        
-;  V16 loc5         [V16,T01] ( 16, 84   )     ref  ->  [fp+0x38]  class-hnd exact spill-single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V17 loc6         [V17,T12] (  3, 34   )     ref  ->  [fp+0x30]  class-hnd spill-single-def <System.Reflection.ParameterInfo[]>
-;  V18 loc7         [V18,T11] ( 11, 36   )     ref  ->  [fp+0x28]  class-hnd <System.Reflection.MethodBase>
-;  V19 loc8         [V19,T02] (  8, 84   )     int  ->  [fp+0x98] 
-;  V20 loc9         [V20,T03] (  8, 84   )     int  ->  [fp+0x94] 
+;  V16 loc5         [V16,T03] ( 16, 76   )     ref  ->  [fp+0x30]  class-hnd exact spill-single-def <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V17 loc6         [V17,T12] (  3, 34   )     ref  ->  [fp+0x28]  class-hnd spill-single-def <System.Reflection.ParameterInfo[]>
+;  V18 loc7         [V18,T11] ( 11, 36   )     ref  ->  [fp+0x20]  class-hnd <System.Reflection.MethodBase>
+;  V19 loc8         [V19,T01] (  8, 84   )     int  ->  [fp+0x98] 
+;  V20 loc9         [V20,T02] (  8, 84   )     int  ->  [fp+0x94] 
 ;* V21 loc10        [V21,T49] (  0,  0   )     int  ->  zero-ref   
-;  V22 loc11        [V22,T09] (  4, 50   )     int  ->  [fp+0x90] 
+;  V22 loc11        [V22,T08] (  4, 50   )     int  ->  [fp+0x90] 
 ;  V23 loc12        [V23    ] (  3, 48   )   ubyte  ->  [fp+0x88]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V24 loc13        [V24    ] (  3, 48   )   ubyte  ->  [fp+0x80]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V25 loc14        [V25    ] (  3, 48   )   ubyte  ->  [fp+0x78]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V26 OutArgs      [V26    ] (  1,  1   )  struct (16) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V27 tmp1         [V27,T44] (  3,  2.50)    long  ->   x0         "fgMakeTemp is creating a new local variable"
-;  V28 tmp2         [V28,T43] (  4,  3   )     ref  ->  x25         class-hnd "spilling QMark2" <System.Reflection.MethodBase>
-;  V29 tmp3         [V29,T26] ( 10,  9.90)     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
-;  V30 tmp4         [V30,T45] (  3,  2.50)    long  ->   x0         "fgMakeTemp is creating a new local variable"
-;  V31 tmp5         [V31,T48] (  3,  2   )     ref  ->  x22         class-hnd "spilling QMark2" <System.Reflection.PropertyInfo>
-;  V32 tmp6         [V32,T28] (  9,  8.90)     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V27 tmp1         [V27,T45] (  3,  2.50)    long  ->   x1         "fgMakeTemp is creating a new local variable"
+;  V28 tmp2         [V28,T44] (  4,  3   )     ref  ->  x25         class-hnd "spilling QMark2" <System.Reflection.MethodBase>
+;  V29 tmp3         [V29,T27] ( 10,  9.90)     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V30 tmp4         [V30,T46] (  3,  2.50)    long  ->   x1         "fgMakeTemp is creating a new local variable"
+;  V31 tmp5         [V31,T48] (  3,  2   )     ref  ->  x21         class-hnd "spilling QMark2" <System.Reflection.PropertyInfo>
+;  V32 tmp6         [V32,T29] (  9,  8.90)     ref  ->   x1         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
 ;* V33 tmp7         [V33    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V34 tmp8         [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Reflection.ParameterInfo[]>
 ;* V35 tmp9         [V35    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Type>
-;  V36 tmp10        [V36,T27] (  9,  9   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
+;  V36 tmp10        [V36,T28] (  9,  9   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
 ;  V37 tmp11        [V37,T54] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V38 tmp12        [V38,T55] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V39 tmp13        [V39,T41] (  4,  4   )     ref  ->  x25         class-hnd single-def "Inlining Arg" <System.Reflection.MethodBase>
+;  V39 tmp13        [V39,T42] (  4,  4   )     ref  ->  x25         class-hnd single-def "Inlining Arg" <System.Reflection.MethodBase>
 ;* V40 tmp14        [V40,T50] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V41 tmp15        [V41,T33] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V42 tmp16        [V42,T34] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V41 tmp15        [V41,T34] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V42 tmp16        [V42,T35] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V43 tmp17        [V43,T58] (  3,  1.45)     ref  ->   x3         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
 ;  V44 tmp18        [V44,T51] (  4,  1.90)     int  ->   x2         single-def "Inline stloc first use temp"
 ;  V45 tmp19        [V45,T59] (  3,  1.45)     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
@@ -58,27 +58,27 @@
 ;  V47 tmp21        [V47,T60] (  3,  1.45)     ref  ->  x14         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
 ;  V48 tmp22        [V48,T53] (  4,  1.90)     int  ->  x15         single-def "Inline stloc first use temp"
 ;  V49 tmp23        [V49,T16] (  3, 24   )     ref  ->   x0         "arr expr"
-;  V50 tmp24        [V50,T21] (  3, 12   )     ref  ->   x0         "argument with side effect"
-;  V51 tmp25        [V51,T22] (  3, 12   )     ref  ->   x0         "argument with side effect"
+;  V50 tmp24        [V50,T22] (  3, 12   )     ref  ->   x0         "argument with side effect"
+;  V51 tmp25        [V51,T23] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V52 tmp26        [V52,T05] (  2, 64   )     ref  ->   x1         "argument with side effect"
 ;  V53 tmp27        [V53,T06] (  2, 64   )     ref  ->   x4         "argument with side effect"
-;  V54 tmp28        [V54,T30] (  2,  8   )     int  ->  [fp+0x74]  spill-single-def "argument with side effect"
-;  V55 tmp29        [V55,T31] (  2,  8   )     int  ->   x3         "argument with side effect"
-;  V56 tmp30        [V56,T29] (  2,  8   )     ref  ->  [fp+0x20]  spill-single-def "argument with side effect"
-;  V57 tmp31        [V57,T23] (  3, 12   )     ref  ->   x2         "argument with side effect"
-;  V58 tmp32        [V58,T24] (  3, 12   )     ref  ->   x0         "argument with side effect"
+;  V54 tmp28        [V54,T31] (  2,  8   )     int  ->  [fp+0x74]  spill-single-def "argument with side effect"
+;  V55 tmp29        [V55,T32] (  2,  8   )     int  ->   x3         "argument with side effect"
+;  V56 tmp30        [V56,T30] (  2,  8   )     ref  ->  [fp+0x18]  spill-single-def "argument with side effect"
+;  V57 tmp31        [V57,T24] (  3, 12   )     ref  ->   x2         "argument with side effect"
+;  V58 tmp32        [V58,T25] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V59 tmp33        [V59,T00] (  3, 96   )     ref  ->   x3         "arr expr"
-;  V60 tmp34        [V60,T25] (  3, 12   )     ref  ->   x0         "arr expr"
-;  V61 cse0         [V61,T20] (  6, 12   )    long  ->  [fp+0x68]  multi-def "CSE - moderate"
-;  V62 cse1         [V62,T32] (  5,  7   )    long  ->  [fp+0x60]  multi-def "CSE - moderate"
+;  V60 tmp34        [V60,T26] (  3, 12   )     ref  ->   x0         "arr expr"
+;  V61 cse0         [V61,T21] (  6, 12   )    long  ->  [fp+0x68]  multi-def "CSE - moderate"
+;  V62 cse1         [V62,T33] (  5,  7   )    long  ->  [fp+0x60]  multi-def "CSE - moderate"
 ;  V63 cse2         [V63,T56] (  3,  1.50)    long  ->  [fp+0x58]  spill-single-def "CSE - conservative"
 ;  V64 cse3         [V64,T57] (  3,  1.50)    long  ->  x26         "CSE - conservative"
-;  V65 cse4         [V65,T08] (  5, 52   )     int  ->   x0         multi-def "CSE - aggressive"
-;  V66 cse5         [V66,T46] (  4,  2   )     int  ->  x25         multi-def "CSE - moderate"
+;  V65 cse4         [V65,T13] (  5, 28   )     int  ->   x0         multi-def "CSE - aggressive"
+;  V66 cse5         [V66,T47] (  4,  2   )     int  ->  x25         multi-def "CSE - moderate"
 ;  V67 cse6         [V67,T61] (  2,  1   )     int  ->   x0         "CSE - conservative"
-;  V68 cse7         [V68,T47] (  4,  2   )    long  ->  x22         "CSE - moderate"
-;  V69 cse8         [V69,T14] (  4, 26   )    long  ->  [fp+0x50]  spill-single-def "CSE - aggressive"
-;  TEMP_01                                     ref  ->  [fp+0x18]
+;  V68 cse7         [V68,T09] (  5, 44   )     int  ->  [fp+0x54]  multi-def "CSE - aggressive"
+;  V69 cse8         [V69,T14] (  4, 26   )    long  ->  [fp+0x48]  spill-single-def "CSE - aggressive"
+;  TEMP_01                                     ref  ->  [fp+0x10]
 ;
 ; Lcl frame size = 160
 
@@ -93,16 +93,16 @@ G_M30168_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             add     fp, sp, #16
             stp     xzr, xzr, [fp, #0x80]  // [V24 loc13], [V23 loc12]
             str     xzr, [fp, #0x78]   // [V25 loc14]
-            str     xzr, [fp, #0x18]    // [TEMP_01]
+            str     xzr, [fp, #0x10]  // [TEMP_01]
             mov     x24, x0
             ; gcrRegs +[x24]
             mov     x20, x1
             ; gcrRegs +[x20]
             mov     w23, w2
-            mov     w21, w3
+            mov     w22, w3
             mov     x25, x4
             ; gcrRegs +[x25]
-            mov     w22, w5
+            mov     w21, w5
             mov     x26, x6
             ; gcrRegs +[x26]
             mov     x27, x7
@@ -111,13 +111,13 @@ G_M30168_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x19 x28]
                        ;; size=80 bbWeight=1 PerfScore 17.00
 G_M30168_IG02:        ; bbWeight=1, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, byref, isz
-            str     xzr, [fp, #0x48]  // [V11 loc0]
+            str     xzr, [fp, #0x40] // [V11 loc0]
             ; GC ptr vars +{V11}
             ldrb    w1, [fp, #0xF0]    // [V08 arg8]
             tst     w1, #255
             bne     G_M30168_IG36
                        ;; size=16 bbWeight=1 PerfScore 4.50
-G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000001000000000 {V11}, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000002000000000 {V11}, gcrefRegs=1F180000 {x19 x20 x24 x25 x26 x27 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             mov     x1, x24
             ; gcrRegs +[x1]
             movz    x0, #0xD1FFAB1E
@@ -126,7 +126,7 @@ G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000001000000000 {V11}, gcrefRegs=
             bl      CORINFO_HELP_ISINSTANCEOFCLASS
             ; gcrRegs -[x1] +[x0]
             ; gcr arg pop 0
-            str     x0, [fp, #0x40]   // [V12 loc1]
+            str     x0, [fp, #0x38]  // [V12 loc1]
             ; GC ptr vars +{V12}
             str     wzr, [fp, #0x9C]   // [V13 loc2]
             mov     x0, x24
@@ -138,7 +138,7 @@ G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000001000000000 {V11}, gcrefRegs=
             ; gcr arg pop 0
             cmp     w0, #8
             bne     G_M30168_IG05
-            ldr     x0, [fp, #0x40] // [V12 loc1]
+            ldr     x0, [fp, #0x38]  // [V12 loc1]
             ; gcrRegs +[x0]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x60]
@@ -148,7 +148,7 @@ G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000001000000000 {V11}, gcrefRegs=
             ; gcrRegs -[x0]
             ; gcr arg pop 0
             cbz     w0, G_M30168_IG05
-            ldr     x0, [fp, #0x40] // [V12 loc1]
+            ldr     x0, [fp, #0x38]  // [V12 loc1]
             ; gcrRegs +[x0]
             ldr     x1, [fp, #0x58]    // [V63 cse2]
             ldr     x1, [x1, #0x18]
@@ -180,19 +180,19 @@ G_M30168_IG03:        ; bbWeight=0.50, gcVars=0000001000000000 {V11}, gcrefRegs=
             ; gcrRegs -[x15 x20]
             ; byrRegs -[x14]
             str     w23, [x2, #0x48]
-            strb    w21, [x2, #0x4C]
+            strb    w22, [x2, #0x4C]
             mov     w14, #1
             strb    w14, [x2, #0x4F]
             add     x14, x2, #8
             ; byrRegs +[x14]
-            ldr     x15, [fp, #0x40] // [V12 loc1]
+            ldr     x15, [fp, #0x38] // [V12 loc1]
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x15]
             ; byrRegs -[x14]
             add     x14, x2, #16
             ; byrRegs +[x14]
-            ldr     x15, [fp, #0x40] // [V12 loc1]
+            ldr     x15, [fp, #0x38] // [V12 loc1]
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x15]
@@ -235,11 +235,11 @@ G_M30168_IG04:        ; bbWeight=0.50, gcrefRegs=10180000 {x19 x20 x28}, byrefRe
             ldr     x0, [x20, #0x18]
             mov     x25, x0
             ; gcrRegs +[x25]
-            str     x20, [fp, #0x48] // [V11 loc0]
+            str     x20, [fp, #0x40] // [V11 loc0]
             ; GC ptr vars +{V11}
             mov     x20, x25
                        ;; size=52 bbWeight=0.50 PerfScore 6.50
-G_M30168_IG05:        ; bbWeight=0.50, gcVars=0000001000080000 {V11 V12}, gcrefRegs=11180000 {x19 x20 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG05:        ; bbWeight=0.50, gcVars=0000002000100000 {V11 V12}, gcrefRegs=11180000 {x19 x20 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0 x25]
             cbz     x24, G_M30168_IG06
             mov     x0, x24
@@ -301,18 +301,18 @@ G_M30168_IG07:        ; bbWeight=4, gcrefRegs=11180000 {x19 x20 x24 x28}, byrefR
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
             mov     w1, w27
-            str     x1, [fp, #0x50]   // [V69 cse8]
+            str     x1, [fp, #0x48]  // [V69 cse8]
             ldr     x2, [x0, x1, LSL #3]
             ; gcrRegs +[x2]
-            str     x2, [fp, #0x38]   // [V16 loc5]
+            str     x2, [fp, #0x30]  // [V16 loc5]
             ; GC ptr vars +{V16}
             cbz     x2, G_M30168_IG35
                        ;; size=52 bbWeight=4 PerfScore 76.00
-G_M30168_IG08:        ; bbWeight=2, gcVars=0000001000080002 {V11 V12 V16}, gcrefRegs=11180004 {x2 x19 x20 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M30168_IG08:        ; bbWeight=2, gcVars=0000002000100008 {V11 V12 V16}, gcrefRegs=11180004 {x2 x19 x20 x24 x28}, byrefRegs=0000 {}, gcvars, byref, isz
             ; byrRegs -[x0]
             ldr     x3, [x2, #0x18]
             ; gcrRegs +[x3]
-            str     x3, [fp, #0x30]   // [V17 loc6]
+            str     x3, [fp, #0x28]  // [V17 loc6]
             ; GC ptr vars +{V17}
             ldr     x0, [x2, #0x08]
             ; gcrRegs +[x0]
@@ -324,7 +324,7 @@ G_M30168_IG08:        ; bbWeight=2, gcVars=0000001000080002 {V11 V12 V16}, gcref
             ; gcr arg pop 0
             cmp     w0, #8
             beq     G_M30168_IG09
-            ldr     x1, [fp, #0x38] // [V16 loc5]
+            ldr     x1, [fp, #0x30]  // [V16 loc5]
...
  
  
realworld.run.windows.arm64.checked.mch
-12 (-2.73%) : 29705.dasm - System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberPossiblyUpdated(System.String) (FullOpts)
@@ -8,34 +8,35 @@
 ; 0 inlinees with PGO data; 6 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T08] (  3,  3   )     ref  ->  x19         class-hnd single-def <System.String>
-;  V01 loc0         [V01,T09] (  4,  4   )     ref  ->  x19         class-hnd single-def <<unknown class>>
-;  V02 loc1         [V02,T19] (  3,  0.50)     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <<unknown class>>
+;  V00 arg0         [V00,T09] (  3,  3   )     ref  ->  x19         class-hnd single-def <System.String>
+;  V01 loc0         [V01,T10] (  4,  4   )     ref  ->  x19         class-hnd single-def <<unknown class>>
+;  V02 loc1         [V02,T20] (  3,  0.50)     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <<unknown class>>
 ;  V03 loc2         [V03    ] (  6,  5   )   ubyte  ->  [fp+0x18]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;* V04 loc3         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Management.Automation.Language.PSGetMemberBinder]>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V06 tmp1         [V06,T10] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <<unknown class>>
-;  V07 tmp2         [V07,T14] (  2,  2   )     ref  ->  x21         single-def
+;  V06 tmp1         [V06,T11] (  2,  4   )     ref  ->   x2         class-hnd single-def "dup spill" <<unknown class>>
+;  V07 tmp2         [V07,T15] (  2,  2   )     ref  ->  x21         single-def
 ;* V08 tmp3         [V08    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V09 tmp4         [V09,T11] (  4,  3.50)     ref  ->   x2        
-;  V10 tmp5         [V10,T07] (  5,  5   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V11 tmp6         [V11,T15] (  2,  2   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V09 tmp4         [V09,T12] (  4,  3.50)     ref  ->   x2        
+;  V10 tmp5         [V10,T08] (  5,  5   )     ref  ->   x2         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V11 tmp6         [V11,T16] (  2,  2   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <<unknown class>>
 ;* V12 tmp7         [V12    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Management.Automation.Language.PSGetMemberBinder]>
 ;* V13 tmp8         [V13    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;* V14 tmp9         [V14,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V14 tmp9         [V14,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V15 tmp10        [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V16 tmp11        [V16,T02] (  4, 17   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V17 tmp12        [V17,T04] (  3, 12   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V17 tmp12        [V17,T03] (  3, 12   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V18 tmp13        [V18,T00] (  6, 21   )     int  ->   x1         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V19 tmp14        [V19,T05] (  3, 13   )     int  ->   x0         single-def "field V04._version (fldOffset=0x14)" P-INDEP
-;  V20 tmp15        [V20,T13] (  3,  3   )     ref  ->  x19         single-def "field V12._list (fldOffset=0x0)" P-INDEP
+;  V19 tmp14        [V19,T06] (  2,  9   )     int  ->   x0         single-def "field V04._version (fldOffset=0x14)" P-INDEP
+;  V20 tmp15        [V20,T14] (  3,  3   )     ref  ->  x19         single-def "field V12._list (fldOffset=0x0)" P-INDEP
 ;* V21 tmp16        [V21    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V12._current (fldOffset=0x8)" P-INDEP
-;* V22 tmp17        [V22,T17] (  0,  0   )     int  ->  zero-ref    single-def "field V12._index (fldOffset=0x10)" P-INDEP
-;  V23 tmp18        [V23,T16] (  2,  2   )     int  ->   x0         single-def "field V12._version (fldOffset=0x14)" P-INDEP
+;* V22 tmp17        [V22,T18] (  0,  0   )     int  ->  zero-ref    single-def "field V12._index (fldOffset=0x10)" P-INDEP
+;  V23 tmp18        [V23,T17] (  2,  2   )     int  ->   x0         single-def "field V12._version (fldOffset=0x14)" P-INDEP
 ;  V24 tmp19        [V24,T01] (  3, 24   )     ref  ->   x2         "arr expr"
-;  V25 PSPSym       [V25,T18] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
-;  V26 cse0         [V26,T03] (  3, 20   )     int  ->   x2         "CSE - aggressive"
-;  V27 cse1         [V27,T12] (  4,  3   )    long  ->  x20         "CSE - aggressive"
+;  V25 PSPSym       [V25,T19] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
+;  V26 cse0         [V26,T05] (  2,  8   )     int  ->   x2         "CSE - aggressive"
+;  V27 cse1         [V27,T04] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V28 cse2         [V28,T13] (  4,  3   )    long  ->  x20         "CSE - aggressive"
 ;
 ; Lcl frame size = 24
 
@@ -108,7 +109,7 @@ G_M45525_IG04:        ; bbWeight=1, gcrefRegs=280004 {x2 x19 x21}, byrefRegs=000
             ; GC ptr vars +{V02}
             str     wzr, [fp, #0x18]   // [V03 loc2]
                        ;; size=40 bbWeight=1 PerfScore 9.00
-G_M45525_IG05:        ; bbWeight=1, gcVars=0000000000080000 {V02}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M45525_IG05:        ; bbWeight=1, gcVars=0000000000100000 {V02}, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs -[x0]
             ldrb    w1, [fp, #0x18]    // [V03 loc2]
             cbnz    w1, G_M45525_IG08
@@ -131,17 +132,17 @@ G_M45525_IG05:        ; bbWeight=1, gcVars=0000000000080000 {V02}, gcrefRegs=800
 G_M45525_IG06:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     w2, [x19, #0x14]
             cmp     w0, w2
-            bne     G_M45525_IG09
+            bne     G_M45525_IG10
                        ;; size=12 bbWeight=8 PerfScore 36.00
 G_M45525_IG07:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
             ldr     w2, [x19, #0x10]
             cmp     w1, w2
-            bhs     G_M45525_IG12
+            bhs     G_M45525_IG11
             ldr     x2, [x19, #0x08]
             ; gcrRegs +[x2]
             ldr     w3, [x2, #0x08]
             cmp     w1, w3
-            bhs     G_M45525_IG10
+            bhs     G_M45525_IG09
             add     x2, x2, #16
             ; gcrRegs -[x2]
             ; byrRegs +[x2]
@@ -168,16 +169,11 @@ G_M45525_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M45525_IG09:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            cmp     w0, w2
-            bne     G_M45525_IG11
-            b       G_M45525_IG12
-                       ;; size=12 bbWeight=4 PerfScore 10.00
-G_M45525_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M45525_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M45525_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M45525_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x0, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
@@ -186,11 +182,11 @@ G_M45525_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M45525_IG12:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M45525_IG11:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldrb    w0, [fp, #0x18] // [V03 loc2]
-            cbz     w0, G_M45525_IG14
+            cbz     w0, G_M45525_IG13
                      ;; size=8 bbWeight=1 PerfScore 3.00
-G_M45525_IG13:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M45525_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ldr     x0, [fp, #0x10]  // [V02 loc1]
             ; gcrRegs +[x0]
             ; GC ptr vars -{V02}
@@ -198,38 +194,38 @@ G_M45525_IG13:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=8 bbWeight=0.50 PerfScore 1.50
-G_M45525_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M45525_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
             ldr     x21, [sp, #0x38]
             ldp     x19, x20, [sp, #0x28]
             ldp     fp, lr, [sp], #0x40
             ret     lr
                        ;; size=16 bbWeight=1 PerfScore 5.00
-G_M45525_IG15:        ; bbWeight=0, gcVars=0000000000080000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-            ; GC ptr vars +{V02 V19}
+G_M45525_IG14:        ; bbWeight=0, gcVars=0000000000100000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+            ; GC ptr vars +{V02 V20}
             stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x18]
             str     x21, [sp, #0x28]
             add     x3, fp, #64
             str     x3, [sp, #0x10]
                        ;; size=20 bbWeight=0 PerfScore 0.00
-G_M45525_IG16:        ; bbWeight=0, gcVars=0000000000080000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M45525_IG15:        ; bbWeight=0, gcVars=0000000000100000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
             ldrb    w0, [fp, #0x18]   // [V03 loc2]
-            cbz     w0, G_M45525_IG17
+            cbz     w0, G_M45525_IG16
             ldr     x0, [fp, #0x10]  // [V02 loc1]
             ; gcrRegs +[x0]
-            ; GC ptr vars -{V02 V19}
+            ; GC ptr vars -{V02 V20}
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M45525_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M45525_IG16:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
             ldr     x21, [sp, #0x28]
             ldp     x19, x20, [sp, #0x18]
             ldp     fp, lr, [sp], #0x30
             ret     lr
                        ;; size=16 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 440, prolog size 32, PerfScore 199.00, instruction count 110, allocated bytes for code 440 (MethodHash=bcc44e2a) for method System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberPossiblyUpdated(System.String) (FullOpts)
+; Total bytes of code 428, prolog size 32, PerfScore 189.00, instruction count 107, allocated bytes for code 428 (MethodHash=bcc44e2a) for method System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberPossiblyUpdated(System.String) (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -240,7 +236,7 @@ Unwind Info:
   E bit             : 0
   X bit             : 0
   Vers              : 0
-  Function Length   : 97 (0x00061) Actual length = 388 (0x000184)
+  Function Length   : 94 (0x0005e) Actual length = 376 (0x000178)
   ---- Epilog scopes ----
   ---- Scope 0
   Epilog Start Offset        : 3523193630 (0xd1ffab1e) Actual offset = 3523193630 (0xd1ffab1e) Offset from main function begin = 3523193630 (0xd1ffab1e)
@@ -275,4 +271,4 @@ Unwind Info:
 
 *************** EH table for System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberPossiblyUpdated(System.String)
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M45525_IG05..G_M45525_IG12) handled by [G_M45525_IG15..END) (fault)
+EH#0: try [G_M45525_IG05..G_M45525_IG11) handled by [G_M45525_IG14..END) (fault)
  
-28 (-2.48%) : 32623.dasm - System.Management.Automation.CommandDiscovery+d__56:MoveNext():ubyte:this (FullOpts)
@@ -8,13 +8,13 @@
 ; 0 inlinees with PGO data; 18 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T03] ( 44, 73.50)     ref  ->  [fp+0x18]  this class-hnd EH-live single-def <System.Management.Automation.CommandDiscovery+<GetCmdletInfo>d__56>
+;  V00 this         [V00,T03] ( 44, 73.50)     ref  ->  [fp+0x10]  this class-hnd EH-live single-def <System.Management.Automation.CommandDiscovery+<GetCmdletInfo>d__56>
 ;  V01 loc0         [V01,T22] (  8,  4.50)   ubyte  ->  registers  
 ;  V02 loc1         [V02,T26] (  3,  3   )     int  ->   x1         single-def
 ;  V03 loc2         [V03,T32] (  2,  1.50)     ref  ->  x19         class-hnd single-def <System.Management.Automation.CommandDiscovery>
 ;* V04 loc3         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <System.Management.Automation.SessionStateScopeEnumerator>
 ;  V05 loc4         [V05,T19] (  2,  4   )     ref  ->  x15         ld-addr-op class-hnd <System.Collections.Generic.List`1[System.Management.Automation.CmdletInfo]>
-;  V06 loc5         [V06,T09] (  7, 33.50)     ref  ->  x23         class-hnd <System.Management.Automation.CmdletInfo>
+;  V06 loc5         [V06,T08] (  7, 33.50)     ref  ->  x22         class-hnd <System.Management.Automation.CmdletInfo>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V08 tmp1         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.String>
 ;* V09 tmp2         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.String>
@@ -33,10 +33,10 @@
 ;* V22 tmp15        [V22    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V23 tmp16        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Management.Automation.PSSnapinQualifiedName>
 ;* V24 tmp17        [V24,T18] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V25 tmp18        [V25,T06] (  3, 48   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.String>
+;  V25 tmp18        [V25,T05] (  3, 48   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.String>
 ;* V26 tmp19        [V26    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Management.Automation.PSSnapinQualifiedName>
 ;* V27 tmp20        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Management.Automation.PSSnapinQualifiedName>
-;* V28 tmp21        [V28,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V28 tmp21        [V28,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V29 tmp22        [V29,T00] (  9,288   )   byref  ->   x1         "Inlining Arg"
 ;  V30 tmp23        [V30,T04] (  4, 64   )     ref  ->  x14         class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Management.Automation.CmdletInfo]>
 ;  V31 tmp24        [V31,T21] (  3,  6   )     ref  ->  x15         "field V21._list (fldOffset=0x0)" P-INDEP
@@ -45,30 +45,29 @@
 ;  V34 tmp27        [V34,T24] (  2,  4   )     int  ->   x0         "field V21._version (fldOffset=0x14)" P-INDEP
 ;  V35 tmp28        [V35,T01] (  3, 96   )     ref  ->  x14         "arr expr"
 ;  V36 tmp29        [V36,T02] (  3, 96   )     int  ->  x15         "index expr"
-;  V37 tmp30        [V37,T10] (  2, 32   )     ref  ->   x0         "argument with side effect"
-;  V38 tmp31        [V38,T11] (  2, 32   )     ref  ->  x21         "argument with side effect"
-;  V39 tmp32        [V39,T12] (  2, 32   )     ref  ->   x1         "argument with side effect"
-;  V40 PSPSym       [V40,T33] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
+;  V37 tmp30        [V37,T09] (  2, 32   )     ref  ->   x0         "argument with side effect"
+;  V38 tmp31        [V38,T10] (  2, 32   )     ref  ->  x21         "argument with side effect"
+;  V39 tmp32        [V39,T11] (  2, 32   )     ref  ->   x1         "argument with side effect"
+;  V40 PSPSym       [V40,T33] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
 ;  V41 cse0         [V41,T07] (  3, 48   )     int  ->  x15         "CSE - aggressive"
-;  V42 cse1         [V42,T08] (  3, 48   )     int  ->  x22         "CSE - aggressive"
+;  V42 cse1         [V42,T13] (  2, 32   )     int  ->  x15         "CSE - aggressive"
 ;  V43 cse2         [V43,T30] (  3,  1.50)     ref  ->   x0         "CSE - moderate"
 ;  V44 cse3         [V44,T31] (  3,  1.50)     ref  ->  x11         "CSE - moderate"
-;  V45 cse4         [V45,T05] (  4, 64   )     ref  ->  x21         "CSE - aggressive"
+;  V45 cse4         [V45,T06] (  3, 48   )     ref  ->  x21         "CSE - aggressive"
 ;  V46 cse5         [V46,T14] (  3, 23   )   byref  ->  x19         hoist "CSE - aggressive"
 ;  V47 cse6         [V47,T15] (  8, 12.50)    long  ->  x19         multi-def "CSE - aggressive"
 ;
-; Lcl frame size = 24
+; Lcl frame size = 16
 
 G_M24357_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x50]!
-            stp     x19, x20, [sp, #0x28]
-            stp     x21, x22, [sp, #0x38]
-            str     x23, [sp, #0x48]
+            stp     fp, lr, [sp, #-0x40]!
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
             mov     fp, sp
-            add     x1, sp, #80
-            stp     x0, x1, [fp, #0x18]    // [V00 this], [V40 PSPSym]
+            add     x1, sp, #64
+            stp     x0, x1, [fp, #0x10]    // [V00 this], [V40 PSPSym]
             ; GC ptr vars +{V00}
-                       ;; size=28 bbWeight=1 PerfScore 6.00
+                      ;; size=24 bbWeight=1 PerfScore 5.00
 G_M24357_IG02:        ; bbWeight=1, gcVars=0000000000000008 {V00}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x30]
@@ -86,7 +85,7 @@ G_M24357_IG02:        ; bbWeight=1, gcVars=0000000000000008 {V00}, gcrefRegs=000
 G_M24357_IG03:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x19]
             mov     w20, wzr
-            b       G_M24357_IG27
+            b       G_M24357_IG26
                      ;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M24357_IG04:        ; bbWeight=0.50, gcrefRegs=80001 {x0 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x19]
@@ -99,7 +98,7 @@ G_M24357_IG04:        ; bbWeight=0.50, gcrefRegs=80001 {x0 x19}, byrefRegs=0000
             ldr     x1, [x1]
             blr     x1
             ; gcr arg pop 0
-            ldr     x20, [fp, #0x18]  // [V00 this]
+            ldr     x20, [fp, #0x10] // [V00 this]
             ; gcrRegs +[x20]
             add     x14, x20, #32
             ; byrRegs +[x14]
@@ -114,7 +113,7 @@ G_M24357_IG04:        ; bbWeight=0.50, gcrefRegs=80001 {x0 x19}, byrefRegs=0000
             mov     w21, wzr
             mov     w20, w21
             ; gcrRegs -[x20]
-            b       G_M24357_IG27
+            b       G_M24357_IG26
                      ;; size=68 bbWeight=0.50 PerfScore 10.00
 G_M24357_IG05:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0] +[x20]
@@ -155,7 +154,7 @@ G_M24357_IG05:        ; bbWeight=0.50, gcrefRegs=180000 {x19 x20}, byrefRegs=000
             blr     x1
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            cbz     w0, G_M24357_IG24
+            cbz     w0, G_M24357_IG23
                       ;; size=88 bbWeight=0.50 PerfScore 13.25
 G_M24357_IG06:        ; bbWeight=2, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
             ldr     x0, [x20, #0x28]
@@ -177,7 +176,7 @@ G_M24357_IG06:        ; bbWeight=2, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, b
             ; gcrRegs -[x0-x1]
             ; byrRegs +[x0]
             ; gcr arg pop 0
-            cbz     x0, G_M24357_IG23
+            cbz     x0, G_M24357_IG22
             ldr     x15, [x0]
             ; gcrRegs +[x15]
             ldr     w0, [x15, #0x14]
@@ -194,7 +193,7 @@ G_M24357_IG06:        ; bbWeight=2, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, b
                        ;; size=88 bbWeight=2 PerfScore 74.00
 G_M24357_IG07:        ; bbWeight=5, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x20]
-            ldr     x20, [fp, #0x18] // [V00 this]
+            ldr     x20, [fp, #0x10] // [V00 this]
             ; gcrRegs +[x20]
             add     x19, x20, #56
             ; byrRegs +[x19]
@@ -212,16 +211,16 @@ G_M24357_IG08:        ; bbWeight=0, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, b
                        ;; size=24 bbWeight=0 PerfScore 0.00
 G_M24357_IG09:        ; bbWeight=8, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref, isz
             ; byrRegs +[x19]
-            ldr     x23, [x20, #0x40]
-            ; gcrRegs +[x23]
+            ldr     x22, [x20, #0x40]
+            ; gcrRegs +[x22]
             ldr     x0, [x20, #0x20]
             ; gcrRegs +[x0]
             ldr     x0, [x0, #0x10]
-            cbz     x0, G_M24357_IG18
+            cbz     x0, G_M24357_IG17
             ldr     w0, [x0, #0x08]
             ; gcrRegs -[x0]
-            cbz     w0, G_M24357_IG18
-            mov     x0, x23
+            cbz     w0, G_M24357_IG17
+            mov     x0, x22
             ; gcrRegs +[x0]
             movz    x1, #0xD1FFAB1E      // code for System.Management.Automation.CommandInfo:get_ModuleName():System.String:this
             movk    x1, #0xD1FFAB1E LSL #16
@@ -241,8 +240,8 @@ G_M24357_IG09:        ; bbWeight=8, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19
             blr     x3
             ; gcrRegs -[x0-x1]
             ; gcr arg pop 0
-            cbnz    w0, G_M24357_IG14
-            mov     x0, x23
+            cbnz    w0, G_M24357_IG13
+            mov     x0, x22
             ; gcrRegs +[x0]
             movz    x1, #0xD1FFAB1E      // code for System.Management.Automation.CommandInfo:get_ModuleName():System.String:this
             movk    x1, #0xD1FFAB1E LSL #16
@@ -258,7 +257,7 @@ G_M24357_IG09:        ; bbWeight=8, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19
             ; gcrRegs -[x0]
             ; gcr arg pop 0
             cbz     w0, G_M24357_IG10
-            mov     x0, x23
+            mov     x0, x22
             ; gcrRegs +[x0]
             movz    x1, #0xD1FFAB1E      // code for System.Management.Automation.CommandInfo:get_ModuleName():System.String:this
             movk    x1, #0xD1FFAB1E LSL #16
@@ -287,24 +286,24 @@ G_M24357_IG09:        ; bbWeight=8, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19
             blr     x3
             ; gcrRegs -[x0-x1 x21]
             ; gcr arg pop 0
-            cbnz    w0, G_M24357_IG16
+            cbnz    w0, G_M24357_IG15
                       ;; size=228 bbWeight=8 PerfScore 596.00
 G_M24357_IG10:        ; bbWeight=16, gcrefRegs=100000 {x20}, byrefRegs=80000 {x19}, byref, isz
-            ; gcrRegs -[x23]
+            ; gcrRegs -[x22]
             mov     x1, x19
             ; byrRegs +[x1]
             ldr     x21, [x1]
             ; gcrRegs +[x21]
             mov     x14, x21
             ; gcrRegs +[x14]
-            ldr     w22, [x1, #0x14]
-            ldr     w15, [x14, #0x14]
-            cmp     w22, w15
-            bne     G_M24357_IG12
+            ldr     w15, [x1, #0x14]
+            ldr     w12, [x14, #0x14]
+            cmp     w15, w12
+            bne     G_M24357_IG08
             ldr     w15, [x1, #0x10]
             ldr     w12, [x14, #0x10]
             cmp     w15, w12
-            bhs     G_M24357_IG13
+            bhs     G_M24357_IG12
             ldr     x14, [x14, #0x08]
             ldr     w12, [x14, #0x08]
             cmp     w15, w12
@@ -329,62 +328,57 @@ G_M24357_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             bl      CORINFO_HELP_RNGCHKFAIL
             ; gcr arg pop 0
                        ;; size=4 bbWeight=0 PerfScore 0.00
-G_M24357_IG12:        ; bbWeight=16, gcrefRegs=300000 {x20 x21}, byrefRegs=80002 {x1 x19}, byref, isz
+G_M24357_IG12:        ; bbWeight=16, gcrefRegs=300000 {x20 x21}, byrefRegs=80002 {x1 x19}, byref
             ; gcrRegs +[x20-x21]
             ; byrRegs +[x1 x19]
-            ldr     w14, [x21, #0x14]
-            cmp     w22, w14
-            bne     G_M24357_IG08
-                       ;; size=12 bbWeight=16 PerfScore 72.00
-G_M24357_IG13:        ; bbWeight=16, gcrefRegs=300000 {x20 x21}, byrefRegs=80002 {x1 x19}, byref
             ldr     w14, [x21, #0x10]
             add     w14, w14, #1
             str     w14, [x1, #0x10]
             str     xzr, [x1, #0x08]
-            b       G_M24357_IG20
+            b       G_M24357_IG19
                      ;; size=20 bbWeight=16 PerfScore 104.00
-G_M24357_IG14:        ; bbWeight=0.50, gcrefRegs=900000 {x20 x23}, byrefRegs=0000 {}, byref
-            ; gcrRegs -[x21] +[x23]
+G_M24357_IG13:        ; bbWeight=0.50, gcrefRegs=500000 {x20 x22}, byrefRegs=0000 {}, byref
+            ; gcrRegs -[x21] +[x22]
             ; byrRegs -[x1 x19]
             add     x14, x20, #8
             ; byrRegs +[x14]
-            mov     x15, x23
+            mov     x15, x22
             ; gcrRegs +[x15]
             bl      CORINFO_HELP_ASSIGN_REF
-            ; gcrRegs -[x15 x23]
+            ; gcrRegs -[x15 x22]
             ; byrRegs -[x14]
             mov     w14, #1
             str     w14, [x20, #0x30]
             sxtw    w21, w14
             mov     w20, w21
             ; gcrRegs -[x20]
-            b       G_M24357_IG27
+            b       G_M24357_IG26
                      ;; size=32 bbWeight=0.50 PerfScore 2.75
-G_M24357_IG15:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
+G_M24357_IG14:        ; bbWeight=0.50, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x0]
             movn    w14, #3
             str     w14, [x0, #0x30]
             ldrb    w14, [x0, #0x34]
             cbnz    w14, G_M24357_IG07
...
  
-24 (-2.43%) : 33163.dasm - System.Management.Automation.ComInterop.VariantArray:GetStructType(int):System.Type (FullOpts)
@@ -10,71 +10,71 @@
 ;
 ;  V00 arg0         [V00,T12] (  7,  8.50)     int  ->   x0         single-def
 ;  V01 loc0         [V01,T06] (  6, 18.50)     int  ->  x19        
-;  V02 loc1         [V02,T30] (  4,  1   )     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <<unknown class>>
-;  V03 loc2         [V03    ] (  6,  2.50)   ubyte  ->  [fp+0x28]  do-not-enreg[X] must-init addr-exposed ld-addr-op
+;  V02 loc1         [V02,T31] (  4,  1   )     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <<unknown class>>
+;  V03 loc2         [V03    ] (  6,  2.50)   ubyte  ->  [fp+0x20]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;  V04 loc3         [V04,T21] (  4,  5.50)     ref  ->  x19         class-hnd single-def <System.Type>
 ;* V05 loc4         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Type]>
 ;* V06 loc5         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Type>
-;  V07 loc6         [V07,T26] (  2,  4   )     int  ->   x0        
-;  V08 loc7         [V08,T28] (  3,  1.50)     ref  ->  x25         class-hnd <System.Type>
+;  V07 loc6         [V07,T27] (  2,  4   )     int  ->   x0        
+;  V08 loc7         [V08,T29] (  3,  1.50)     ref  ->  x24         class-hnd <System.Type>
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V10 tmp1         [V10    ] (  0,  0   )  struct (16) zero-ref    "non-inline candidate call" <System.ReadOnlySpan`1[ushort]>
 ;  V11 tmp2         [V11,T03] (  3, 24   )     ref  ->   x1         class-hnd exact single-def "dup spill" <<unknown class>>
-;  V12 tmp3         [V12,T04] (  3, 24   )     ref  ->  x25         class-hnd single-def "impSpillLclRefs" <System.Type>
+;  V12 tmp3         [V12,T04] (  3, 24   )     ref  ->  x24         class-hnd single-def "impSpillLclRefs" <System.Type>
 ;* V13 tmp4         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "Strict ordering of exceptions for Array store" <<unknown class>>
-;  V14 tmp5         [V14,T27] (  2,  2   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V14 tmp5         [V14,T28] (  2,  2   )     ref  ->  x21         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V15 tmp6         [V15    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Type]>
 ;  V16 tmp7         [V16,T02] (  4, 24   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.String>
 ;* V17 tmp8         [V17    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V18 tmp9         [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V19 tmp10        [V19,T10] (  3, 12   )     int  ->  x27         "Inlining Arg"
-;  V20 tmp11        [V20,T16] (  2,  8   )   byref  ->  x26         "Inlining Arg"
+;  V19 tmp10        [V19,T10] (  3, 12   )     int  ->  x26         "Inlining Arg"
+;  V20 tmp11        [V20,T15] (  2,  8   )   byref  ->  x25         "Inlining Arg"
 ;  V21 tmp12        [V21,T09] (  3, 12   )     ref  ->   x0         class-hnd "Inlining Arg" <<unknown class>>
 ;  V22 tmp13        [V22,T19] (  3,  6   )     ref  ->   x3         class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
-;  V23 tmp14        [V23    ] (  2,  4   )     int  ->  [fp+0x20]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
-;  V24 tmp15        [V24,T24] (  3,  4   )     int  ->   x0         "Inline stloc first use temp"
+;  V23 tmp14        [V23    ] (  2,  4   )     int  ->  [fp+0x18]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V24 tmp15        [V24,T25] (  3,  4   )     int  ->   x0         "Inline stloc first use temp"
 ;* V25 tmp16        [V25    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
-;* V26 tmp17        [V26,T17] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V26 tmp17        [V26,T16] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V27 tmp18        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V28 tmp19        [V28,T00] (  7, 42   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;  V29 tmp20        [V29,T14] (  3,  8.50)     ref  ->   x3         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
 ;  V30 tmp21        [V30,T13] (  4,  9   )     int  ->   x2         single-def "Inline stloc first use temp"
 ;  V31 tmp22        [V31,T18] (  6,  7   )     ref  ->   x0         "Single return block return value"
-;  V32 tmp23        [V32,T07] (  4, 12.50)     ref  ->  x21         single-def "field V05._list (fldOffset=0x0)" P-INDEP
-;  V33 tmp24        [V33,T08] (  4, 12.50)     ref  ->  x25         "field V05._current (fldOffset=0x8)" P-INDEP
+;  V32 tmp23        [V32,T08] (  4, 12.50)     ref  ->  x21         single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V33 tmp24        [V33,T07] (  4, 12.50)     ref  ->  x24         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V34 tmp25        [V34,T01] (  6, 20.50)     int  ->  x23         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V35 tmp26        [V35,T15] (  3,  8.50)     int  ->  x22         single-def "field V05._version (fldOffset=0x14)" P-INDEP
+;  V35 tmp26        [V35,T23] (  2,  4.50)     int  ->  x22         single-def "field V05._version (fldOffset=0x14)" P-INDEP
 ;* V36 tmp27        [V36    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V37 tmp28        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V38 tmp29        [V38,T29] (  3,  1.50)     ref  ->  x21         single-def "field V15._list (fldOffset=0x0)" P-INDEP
+;  V38 tmp29        [V38,T30] (  3,  1.50)     ref  ->  x21         single-def "field V15._list (fldOffset=0x0)" P-INDEP
 ;* V39 tmp30        [V39    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V15._current (fldOffset=0x8)" P-INDEP
-;* V40 tmp31        [V40,T33] (  0,  0   )     int  ->  zero-ref    single-def "field V15._index (fldOffset=0x10)" P-INDEP
-;  V41 tmp32        [V41,T31] (  2,  1   )     int  ->  x22         single-def "field V15._version (fldOffset=0x14)" P-INDEP
-;  V42 tmp33        [V42,T23] (  3,  4   )   byref  ->  x26         "field V17._reference (fldOffset=0x0)" P-INDEP
-;  V43 tmp34        [V43,T25] (  3,  4   )     int  ->  x27         "field V17._length (fldOffset=0x8)" P-INDEP
+;* V40 tmp31        [V40,T34] (  0,  0   )     int  ->  zero-ref    single-def "field V15._index (fldOffset=0x10)" P-INDEP
+;  V41 tmp32        [V41,T32] (  2,  1   )     int  ->  x22         single-def "field V15._version (fldOffset=0x14)" P-INDEP
+;  V42 tmp33        [V42,T24] (  3,  4   )   byref  ->  x25         "field V17._reference (fldOffset=0x0)" P-INDEP
+;  V43 tmp34        [V43,T26] (  3,  4   )     int  ->  x26         "field V17._length (fldOffset=0x8)" P-INDEP
 ;* V44 tmp35        [V44    ] (  0,  0   )   byref  ->  zero-ref    "field V18._reference (fldOffset=0x0)" P-INDEP
 ;* V45 tmp36        [V45    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0x8)" P-INDEP
 ;  V46 tmp37        [V46,T05] (  3, 24   )     ref  ->   x0         "arr expr"
-;  V47 PSPSym       [V47,T32] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
-;* V48 cse0         [V48,T34] (  0,  0   )    long  ->  zero-ref    "CSE - moderate"
-;  V49 cse1         [V49,T11] (  3, 12   )     int  ->  x24         "CSE - aggressive"
-;  V50 cse2         [V50,T20] (  3,  6   )     int  ->   x1         "CSE - moderate"
-;  V51 cse3         [V51,T22] (  4,  5.50)    long  ->  x20         "CSE - moderate"
+;  V47 PSPSym       [V47,T33] (  1,  1   )    long  ->  [fp+0x28]  do-not-enreg[V] "PSPSym"
+;* V48 cse0         [V48,T35] (  0,  0   )    long  ->  zero-ref    "CSE - moderate"
+;  V49 cse1         [V49,T17] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V50 cse2         [V50,T11] (  2,  8   )     int  ->   x0         "CSE - aggressive"
+;  V51 cse3         [V51,T20] (  3,  6   )     int  ->   x1         "CSE - moderate"
+;  V52 cse4         [V52,T22] (  4,  5.50)    long  ->  x20         "CSE - moderate"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 32
 
 G_M2879_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x80]!
-            stp     x19, x20, [sp, #0x38]
-            stp     x21, x22, [sp, #0x48]
-            stp     x23, x24, [sp, #0x58]
-            stp     x25, x26, [sp, #0x68]
-            str     x27, [sp, #0x78]
+            stp     fp, lr, [sp, #-0x70]!
+            stp     x19, x20, [sp, #0x30]
+            stp     x21, x22, [sp, #0x40]
+            stp     x23, x24, [sp, #0x50]
+            stp     x25, x26, [sp, #0x60]
             mov     fp, sp
-            stp     xzr, xzr, [fp, #0x20] // [V23 tmp14], [V03 loc2]
-            add     x1, sp, #128
-            str     x1, [fp, #0x30]    // [V47 PSPSym]
-                       ;; size=40 bbWeight=1 PerfScore 9.00
+            stp     xzr, xzr, [fp, #0x18] // [V23 tmp14], [V03 loc2]
+            add     x1, sp, #112
+            str     x1, [fp, #0x28]    // [V47 PSPSym]
+                       ;; size=36 bbWeight=1 PerfScore 8.00
 G_M2879_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             cmp     w0, #1
             bgt     G_M2879_IG04
@@ -83,7 +83,7 @@ G_M2879_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            b       G_M2879_IG30
+            b       G_M2879_IG29
                         ;; size=16 bbWeight=0.50 PerfScore 1.25
 G_M2879_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             cmp     w0, #2
@@ -91,7 +91,7 @@ G_M2879_IG04:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            b       G_M2879_IG30
+            b       G_M2879_IG29
                         ;; size=24 bbWeight=0.50 PerfScore 2.00
 G_M2879_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             cmp     w0, #4
@@ -99,7 +99,7 @@ G_M2879_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            b       G_M2879_IG30
+            b       G_M2879_IG29
                         ;; size=24 bbWeight=0.50 PerfScore 2.00
 G_M2879_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             cmp     w0, #8
@@ -107,7 +107,7 @@ G_M2879_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            b       G_M2879_IG30
+            b       G_M2879_IG29
                         ;; size=24 bbWeight=0.50 PerfScore 2.00
 G_M2879_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             mov     w19, #1
@@ -122,7 +122,7 @@ G_M2879_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     w1, [x1]
-            tbz     w1, #0, G_M2879_IG31
+            tbz     w1, #0, G_M2879_IG30
                        ;; size=20 bbWeight=0.50 PerfScore 2.75
 G_M2879_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             movz    x20, #0xD1FFAB1E      // data for <unknown class>:<unknown field>
@@ -130,18 +130,18 @@ G_M2879_IG10:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byre
             movk    x20, #0xD1FFAB1E LSL #32
             ldr     x0, [x20]
             ; gcrRegs +[x0]
-            str     x0, [fp, #0x18]   // [V02 loc1]
+            str     x0, [fp, #0x10]  // [V02 loc1]
             ; GC ptr vars +{V02}
-            str     wzr, [fp, #0x28] // [V03 loc2]
+            str     wzr, [fp, #0x20] // [V03 loc2]
                        ;; size=24 bbWeight=0.50 PerfScore 3.25
-G_M2879_IG11:        ; bbWeight=0.50, gcVars=0000000040000000 {V02}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
-            ldrb    w1, [fp, #0x28]    // [V03 loc2]
+G_M2879_IG11:        ; bbWeight=0.50, gcVars=0000000080000000 {V02}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
+            ldrb    w1, [fp, #0x20]    // [V03 loc2]
             cbnz    w1, G_M2879_IG16
-            add     x1, fp, #40  // [V03 loc2]
+            add     x1, fp, #32  // [V03 loc2]
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            ldrb    w0, [fp, #0x28]   // [V03 loc2]
+            ldrb    w0, [fp, #0x20]  // [V03 loc2]
             movz    x1, #0xD1FFAB1E      // code for <unknown method>
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
@@ -154,41 +154,41 @@ G_M2879_IG11:        ; bbWeight=0.50, gcVars=0000000040000000 {V02}, gcrefRegs=0
             mov     w23, wzr
                        ;; size=52 bbWeight=0.50 PerfScore 9.25
 G_M2879_IG12:        ; bbWeight=4, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref, isz
-            ldr     w24, [x21, #0x14]
-            cmp     w22, w24
-            bne     G_M2879_IG18
+            ldr     w0, [x21, #0x14]
+            cmp     w22, w0
+            bne     G_M2879_IG24
             ldr     w0, [x21, #0x10]
             cmp     w23, w0
-            bhs     G_M2879_IG19
+            bhs     G_M2879_IG18
             ldr     x0, [x21, #0x08]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x08]
             cmp     w23, w1
-            bhs     G_M2879_IG22
+            bhs     G_M2879_IG21
             add     x0, x0, #16
             ; gcrRegs -[x0]
             ; byrRegs +[x0]
-            ldr     x25, [x0, w23, UXTW #3]
-            ; gcrRegs +[x25]
+            ldr     x24, [x0, w23, UXTW #3]
+            ; gcrRegs +[x24]
             add     w23, w23, #1
-            mov     x0, x25
+            mov     x0, x24
             ; gcrRegs +[x0]
             ; byrRegs -[x0]
-            ldr     x1, [x25]
+            ldr     x1, [x24]
             ldr     x1, [x1, #0x48]
             ldr     x1, [x1, #0x30]
             blr     x1
             ; gcr arg pop 0
-            cbz     x0, G_M2879_IG26
+            cbz     x0, G_M2879_IG25
                         ;; size=76 bbWeight=4 PerfScore 128.00
-G_M2879_IG13:        ; bbWeight=2, gcrefRegs=2200001 {x0 x21 x25}, byrefRegs=0000 {}, byref, isz
+G_M2879_IG13:        ; bbWeight=2, gcrefRegs=1200001 {x0 x21 x24}, byrefRegs=0000 {}, byref, isz
             ldr     w1, [x0, #0x08]
             cmp     w1, #12
-            blo     G_M2879_IG26
-            add     x26, x0, #36
-            ; byrRegs +[x26]
-            sub     w27, w1, #12
-            cmp     w27, #0
+            blo     G_M2879_IG25
+            add     x25, x0, #36
+            ; byrRegs +[x25]
+            sub     w26, w1, #12
+            cmp     w26, #0
             cset    x0, ge
             ; gcrRegs -[x0]
             movz    x1, #0xD1FFAB1E      // code for <unknown method>
@@ -214,12 +214,12 @@ G_M2879_IG13:        ; bbWeight=2, gcrefRegs=2200001 {x0 x21 x25}, byrefRegs=000
             mov     x3, x0
             ; gcrRegs +[x3]
                        ;; size=96 bbWeight=2 PerfScore 49.00
-G_M2879_IG14:        ; bbWeight=2, gcrefRegs=2200008 {x3 x21 x25}, byrefRegs=4000000 {x26}, byref, isz
+G_M2879_IG14:        ; bbWeight=2, gcrefRegs=1200008 {x3 x21 x24}, byrefRegs=2000000 {x25}, byref, isz
             ; gcrRegs -[x0]
-            mov     x0, x26
+            mov     x0, x25
             ; byrRegs +[x0]
-            mov     w1, w27
-            add     x4, fp, #32    // [V23 tmp14]
+            mov     w1, w26
+            add     x4, fp, #24    // [V23 tmp14]
             mov     w2, #7
...
  
-12 (-0.26%) : 31004.dasm - System.Management.Automation.ScriptBlock:InvokeWithPipeImpl(int,ubyte,System.Collections.Generic.Dictionary2[System.String,System.Management.Automation.ScriptBlock],System.Collections.Generic.List1[System.Management.Automation.PSVariable],int,System.Object,System.Object,System.Object,System.Management.Automation.Internal.Pipe,System.Management.Automation.InvocationInfo,System.Object[]):this (FullOpts)
@@ -11,31 +11,31 @@
 ;  V00 this         [V00,T15] ( 20, 19   )     ref  ->  [fp+0xA8]  this class-hnd EH-live single-def <System.Management.Automation.ScriptBlock>
 ;  V01 arg1         [V01,T27] (  7,  7   )     int  ->  x19         single-def
 ;  V02 arg2         [V02,T28] (  7,  7   )   ubyte  ->  [fp+0x184]  EH-live single-def
-;  V03 arg3         [V03,T38] (  5,  5   )     ref  ->  x20         class-hnd single-def <System.Collections.Generic.Dictionary`2[System.String,System.Management.Automation.ScriptBlock]>
-;  V04 arg4         [V04,T43] (  4,  4   )     ref  ->  x22         class-hnd single-def <System.Collections.Generic.List`1[System.Management.Automation.PSVariable]>
-;  V05 arg5         [V05,T59] (  3,  3   )     int  ->  x25         single-def
-;  V06 arg6         [V06,T44] (  4,  4   )     ref  ->  x23         class-hnd single-def <System.Object>
-;  V07 arg7         [V07,T45] (  4,  4   )     ref  ->  x24         class-hnd single-def <System.Object>
-;  V08 arg8         [V08,T108] (  2,  2   )     ref  ->  x27         class-hnd single-def <System.Object>
-;  V09 arg9         [V09,T89] (  3,  3   )     ref  ->  x26         class-hnd <System.Management.Automation.Internal.Pipe>
-;  V10 arg10        [V10,T116] (  1,  1   )     ref  ->  [fp+0x1F0]  class-hnd single-def <System.Management.Automation.InvocationInfo>
-;  V11 arg11        [V11,T39] (  6,  6   )     ref  ->  x21         class-hnd <System.Object[]>
+;  V03 arg3         [V03,T39] (  5,  5   )     ref  ->  x20         class-hnd single-def <System.Collections.Generic.Dictionary`2[System.String,System.Management.Automation.ScriptBlock]>
+;  V04 arg4         [V04,T44] (  4,  4   )     ref  ->  x22         class-hnd single-def <System.Collections.Generic.List`1[System.Management.Automation.PSVariable]>
+;  V05 arg5         [V05,T60] (  3,  3   )     int  ->  x25         single-def
+;  V06 arg6         [V06,T45] (  4,  4   )     ref  ->  x23         class-hnd single-def <System.Object>
+;  V07 arg7         [V07,T46] (  4,  4   )     ref  ->  x24         class-hnd single-def <System.Object>
+;  V08 arg8         [V08,T109] (  2,  2   )     ref  ->  x27         class-hnd single-def <System.Object>
+;  V09 arg9         [V09,T90] (  3,  3   )     ref  ->  x26         class-hnd <System.Management.Automation.Internal.Pipe>
+;  V10 arg10        [V10,T117] (  1,  1   )     ref  ->  [fp+0x1F0]  class-hnd single-def <System.Management.Automation.InvocationInfo>
+;  V11 arg11        [V11,T40] (  6,  6   )     ref  ->  x21         class-hnd <System.Object[]>
 ;  V12 loc0         [V12,T01] ( 43, 53   )     ref  ->  [fp+0xA0]  class-hnd EH-live spill-single-def <System.Management.Automation.ExecutionContext>
 ;  V13 loc1         [V13    ] (  3,  3   )   ubyte  ->  [fp+0x178]  do-not-enreg[X] must-init addr-exposed ld-addr-op
-;  V14 loc2         [V14,T62] (  4,  4   )     ref  ->  x19         class-hnd single-def <<unknown class>>
+;  V14 loc2         [V14,T63] (  4,  4   )     ref  ->  x19         class-hnd single-def <<unknown class>>
 ;  V15 loc3         [V15,T13] ( 22, 22   )     ref  ->  x28         class-hnd single-def <System.Management.Automation.MutableTuple>
-;  V16 loc4         [V16,T112] (  2,  1   )     ref  ->  [fp+0x98]  class-hnd EH-live spill-single-def <System.Management.Automation.Internal.Pipe>
-;  V17 loc5         [V17,T113] (  2,  1   )     ref  ->  [fp+0x90]  class-hnd EH-live spill-single-def <System.Management.Automation.Runspaces.PipelineWriter>
-;  V18 loc6         [V18,T115] (  2,  1   )     int  ->  [fp+0x174]  EH-live spill-single-def
-;  V19 loc7         [V19,T114] (  2,  1   )     ref  ->  [fp+0x88]  class-hnd exact EH-live single-def <System.Management.Automation.SessionStateInternal>
+;  V16 loc4         [V16,T113] (  2,  1   )     ref  ->  [fp+0x98]  class-hnd EH-live spill-single-def <System.Management.Automation.Internal.Pipe>
+;  V17 loc5         [V17,T114] (  2,  1   )     ref  ->  [fp+0x90]  class-hnd EH-live spill-single-def <System.Management.Automation.Runspaces.PipelineWriter>
+;  V18 loc6         [V18,T116] (  2,  1   )     int  ->  [fp+0x174]  EH-live spill-single-def
+;  V19 loc7         [V19,T115] (  2,  1   )     ref  ->  [fp+0x88]  class-hnd exact EH-live single-def <System.Management.Automation.SessionStateInternal>
 ;* V20 loc8         [V20    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.Nullable`1[int]>
 ;* V21 loc9         [V21    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.Nullable`1[int]>
-;  V22 loc10        [V22,T40] (  6,  6   )     ref  ->  [fp+0x80]  do-not-enreg[M] class-hnd EH-live <System.Collections.Generic.Dictionary`2[System.String,System.Management.Automation.PSVariable]>
+;  V22 loc10        [V22,T41] (  6,  6   )     ref  ->  [fp+0x80]  do-not-enreg[M] class-hnd EH-live <System.Collections.Generic.Dictionary`2[System.String,System.Management.Automation.PSVariable]>
 ;* V23 loc11        [V23    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.Nullable`1[int]>
 ;* V24 loc12        [V24    ] (  0,  0   )     int  ->  zero-ref   
-;  V25 loc13        [V25,T63] (  4,  4   )     ref  ->  [fp+0x78]  class-hnd <System.Management.Automation.InvocationInfo>
+;  V25 loc13        [V25,T64] (  4,  4   )     ref  ->  [fp+0x78]  class-hnd <System.Management.Automation.InvocationInfo>
 ;* V26 loc14        [V26    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <System.Management.Automation.Language.FunctionContext>
-;  V27 loc15        [V27,T90] (  3,  3   )     ref  ->   x0         class-hnd exact single-def <System.Management.Automation.CallStackFrame>
+;  V27 loc15        [V27,T91] (  3,  3   )     ref  ->   x0         class-hnd exact single-def <System.Management.Automation.CallStackFrame>
 ;* V28 loc16        [V28    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.Management.Automation.Language.IScriptExtent>
 ;  V29 loc17        [V29,T21] (  5, 15   )     ref  ->  x25         class-hnd exact single-def <System.Management.Automation.SessionStateScope>
 ;  V30 loc18        [V30    ] (  9, 30   )  struct (40) [fp+0x148]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.Dictionary`2+Enumerator[System.String,System.Management.Automation.ScriptBlock]>
@@ -43,79 +43,79 @@
 ;  V32 loc20        [V32,T29] (  4,  9   )     int  ->  x20        
 ;* V33 loc21        [V33    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Management.Automation.PSVariable]>
 ;* V34 loc22        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Management.Automation.PSVariable>
-;  V35 loc23        [V35,T35] (  2,  8   )     ref  ->  [fp+0x70]  class-hnd exact spill-single-def <System.String>
+;  V35 loc23        [V35,T36] (  2,  8   )     ref  ->  [fp+0x70]  class-hnd exact spill-single-def <System.String>
 ;  V36 loc24        [V36    ] (  9, 30   )  struct (40) [fp+0x120]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.Dictionary`2+Enumerator[System.String,System.Management.Automation.PSVariable]>
 ;* V37 loc25        [V37    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.String,System.Management.Automation.PSVariable]>
 ;# V38 OutArgs      [V38    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V39 tmp1         [V39,T31] (  4,  8   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Management.Automation.Runspaces.DiscardingPipelineWriter>
-;  V40 tmp2         [V40,T46] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Dictionary`2[System.String,System.Management.Automation.PSVariable]>
-;  V41 tmp3         [V41,T60] (  3,  4.50)     ref  ->   x1         single-def "CASTCLASS eval op1"
-;  V42 tmp4         [V42,T106] (  3,  2.50)    long  ->   x3         "fgMakeTemp is creating a new local variable"
-;  V43 tmp5         [V43,T36] (  5,  7.50)     ref  ->   x0         class-hnd "spilling QMark2" <<unknown class>>
+;  V39 tmp1         [V39,T32] (  4,  8   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Management.Automation.Runspaces.DiscardingPipelineWriter>
+;  V40 tmp2         [V40,T47] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Dictionary`2[System.String,System.Management.Automation.PSVariable]>
+;  V41 tmp3         [V41,T61] (  3,  4.50)     ref  ->   x1         single-def "CASTCLASS eval op1"
+;  V42 tmp4         [V42,T107] (  3,  2.50)    long  ->   x3         "fgMakeTemp is creating a new local variable"
+;  V43 tmp5         [V43,T37] (  5,  7.50)     ref  ->   x0         class-hnd "spilling QMark2" <<unknown class>>
 ;  V44 tmp6         [V44,T14] ( 11, 22   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Management.Automation.Language.FunctionContext>
 ;* V45 tmp7         [V45    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Guid>
 ;* V46 tmp8         [V46    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Guid>
-;  V47 tmp9         [V47,T119] (  3,  0   )     ref  ->  x21         class-hnd exact "dup spill" <System.Object[]>
-;  V48 tmp10        [V48,T127] (  2,  0   )     ref  ->  x19         class-hnd exact "impSpillLclRefs" <System.String>
-;  V49 tmp11        [V49,T120] (  3,  0   )     ref  ->   x0         class-hnd exact "Single-def Box Helper" <<unknown class>>
-;  V50 tmp12        [V50,T121] (  3,  0   )     ref  ->  x19         class-hnd "dup spill" <System.Management.Automation.PSInvalidOperationException>
+;  V47 tmp9         [V47,T120] (  3,  0   )     ref  ->  x21         class-hnd exact "dup spill" <System.Object[]>
+;  V48 tmp10        [V48,T128] (  2,  0   )     ref  ->  x19         class-hnd exact "impSpillLclRefs" <System.String>
+;  V49 tmp11        [V49,T121] (  3,  0   )     ref  ->   x0         class-hnd exact "Single-def Box Helper" <<unknown class>>
+;  V50 tmp12        [V50,T122] (  3,  0   )     ref  ->  x19         class-hnd "dup spill" <System.Management.Automation.PSInvalidOperationException>
 ;  V51 tmp13        [V51,T03] (  3, 48   )     ref  ->  [fp+0x68]  class-hnd spill-single-def "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.String,System.Management.Automation.FunctionInfo]>
 ;* V52 tmp14        [V52    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.String>
 ;* V53 tmp15        [V53    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.String>
 ;  V54 tmp16        [V54,T00] ( 12,192   )     ref  ->  [fp+0x60]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Management.Automation.FunctionInfo>
-;  V55 tmp17        [V55,T122] (  3,  0   )     ref  ->   x1         class-hnd exact "dup spill" <System.Object[]>
-;  V56 tmp18        [V56,T128] (  2,  0   )     ref  ->  x19         class-hnd exact "impSpillLclRefs" <System.String>
+;  V55 tmp17        [V55,T123] (  3,  0   )     ref  ->   x1         class-hnd exact "dup spill" <System.Object[]>
+;  V56 tmp18        [V56,T129] (  2,  0   )     ref  ->  x19         class-hnd exact "impSpillLclRefs" <System.String>
 ;* V57 tmp19        [V57    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Strict ordering of exceptions for Array store" <System.String>
-;  V58 tmp20        [V58,T123] (  3,  0   )     ref  ->  x19         class-hnd "dup spill" <System.Management.Automation.PSInvalidOperationException>
+;  V58 tmp20        [V58,T124] (  3,  0   )     ref  ->  x19         class-hnd "dup spill" <System.Management.Automation.PSInvalidOperationException>
 ;* V59 tmp21        [V59    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.String>
-;  V60 tmp22        [V60,T124] (  3,  0   )     ref  ->  x19         class-hnd "dup spill" <System.Management.Automation.PSInvalidOperationException>
-;  V61 tmp23        [V61,T91] (  3,  3   )     ref  ->  [fp+0x58] 
-;  V62 tmp24        [V62,T47] (  3,  6   )     ref  ->  [fp+0x50]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Management.Automation.InvocationInfo>
+;  V60 tmp22        [V60,T125] (  3,  0   )     ref  ->  x19         class-hnd "dup spill" <System.Management.Automation.PSInvalidOperationException>
+;  V61 tmp23        [V61,T92] (  3,  3   )     ref  ->  [fp+0x58] 
+;  V62 tmp24        [V62,T48] (  3,  6   )     ref  ->  [fp+0x50]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Management.Automation.InvocationInfo>
 ;  V63 tmp25        [V63,T11] (  3, 24   )     ref  ->   x2         class-hnd exact "impAppendStmt" <System.Management.Automation.SessionStateInternal>
 ;* V64 tmp26        [V64    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.Management.Automation.SessionStateInternal>
 ;* V65 tmp27        [V65    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.Management.Automation.SessionStateInternal>
-;  V66 tmp28        [V66,T129] (  2,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V66 tmp28        [V66,T130] (  2,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
 ;* V67 tmp29        [V67    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V68 tmp30        [V68    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
-;  V69 tmp31        [V69,T32] (  4,  8   )     ref  ->   x3         class-hnd exact single-def "dup spill" <System.Management.Automation.PSModuleInfo>
+;  V69 tmp31        [V69,T33] (  4,  8   )     ref  ->   x3         class-hnd exact single-def "dup spill" <System.Management.Automation.PSModuleInfo>
 ;* V70 tmp32        [V70    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V71 tmp33        [V71    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
-;  V72 tmp34        [V72,T100] (  2,  2   )     int  ->   x3        
-;  V73 tmp35        [V73,T33] (  4,  8   )     ref  ->  x26         class-hnd exact single-def "NewObj constructor temp" <System.Management.Automation.Internal.Pipe>
-;  V74 tmp36        [V74,T125] (  3,  0   )     ref  ->  x26         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V75 tmp37        [V75,T126] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V76 tmp38        [V76,T48] (  3,  6   )     ref  ->   x0         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V72 tmp34        [V72,T101] (  2,  2   )     int  ->   x3        
+;  V73 tmp35        [V73,T34] (  4,  8   )     ref  ->  x26         class-hnd exact single-def "NewObj constructor temp" <System.Management.Automation.Internal.Pipe>
+;  V74 tmp36        [V74,T126] (  3,  0   )     ref  ->  x26         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V75 tmp37        [V75,T127] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V76 tmp38        [V76,T49] (  3,  6   )     ref  ->   x0         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V77 tmp39        [V77    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Management.Automation.SessionStateInternal>
 ;* V78 tmp40        [V78    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Management.Automation.SessionStateScope>
 ;* V79 tmp41        [V79    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Management.Automation.SessionStateInternal>
 ;* V80 tmp42        [V80    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V81 tmp43        [V81,T25] (  5, 10   )     ref  ->  [fp+0x48]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Management.Automation.ScriptDebugger+<GetCallStack>d__105>
-;  V82 tmp44        [V82,T49] (  3,  6   )     ref  ->  [fp+0x40]  class-hnd exact spill-single-def "Inlining Arg" <System.Management.Automation.ScriptDebugger>
+;  V82 tmp44        [V82,T50] (  3,  6   )     ref  ->  [fp+0x40]  class-hnd exact spill-single-def "Inlining Arg" <System.Management.Automation.ScriptDebugger>
 ;  V83 tmp45        [V83    ] (  1,  1   )   ubyte  ->  [fp+0x118]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V84 tmp46        [V84    ] (  0,  0   )     ref  ->  zero-ref    single-def "CASTCLASS eval op1"
-;  V85 tmp47        [V85,T107] (  3,  2.50)    long  ->   x3         "fgMakeTemp is creating a new local variable"
-;  V86 tmp48        [V86,T37] (  5,  7.50)     ref  ->   x2         class-hnd "spilling QMark2" <System.Management.Automation.Language.Ast>
-;  V87 tmp49        [V87,T50] (  3,  6   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Management.Automation.CompiledScriptBlockData>
-;  V88 tmp50        [V88,T70] (  2,  4   )     ref  ->   x1         class-hnd single-def "dup spill" <System.Management.Automation.Language.IParameterMetadataProvider>
-;  V89 tmp51        [V89,T61] (  5,  4.25)     ref  ->   x1        
-;  V90 tmp52        [V90,T92] (  3,  3   )     ref  ->   x1         class-hnd "Inline return value spill temp" <System.Management.Automation.Language.IScriptExtent>
-;  V91 tmp53        [V91,T51] (  3,  6   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <System.Management.Automation.Language.FunctionContext>
+;  V85 tmp47        [V85,T108] (  3,  2.50)    long  ->   x3         "fgMakeTemp is creating a new local variable"
+;  V86 tmp48        [V86,T38] (  5,  7.50)     ref  ->   x2         class-hnd "spilling QMark2" <System.Management.Automation.Language.Ast>
+;  V87 tmp49        [V87,T51] (  3,  6   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.Management.Automation.CompiledScriptBlockData>
+;  V88 tmp50        [V88,T71] (  2,  4   )     ref  ->   x1         class-hnd single-def "dup spill" <System.Management.Automation.Language.IParameterMetadataProvider>
+;  V89 tmp51        [V89,T62] (  5,  4.25)     ref  ->   x1        
+;  V90 tmp52        [V90,T93] (  3,  3   )     ref  ->   x1         class-hnd "Inline return value spill temp" <System.Management.Automation.Language.IScriptExtent>
+;  V91 tmp53        [V91,T52] (  3,  6   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <System.Management.Automation.Language.FunctionContext>
 ;* V92 tmp54        [V92    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Management.Automation.SessionStateInternal>
-;  V93 tmp55        [V93,T52] (  3,  6   )     ref  ->  [fp+0x38]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Threading.ManualResetEvent>
+;  V93 tmp55        [V93,T53] (  3,  6   )     ref  ->  [fp+0x38]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Threading.ManualResetEvent>
 ;  V94 tmp56        [V94    ] (  1,  1   )   ubyte  ->  [fp+0x110]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;* V95 tmp57        [V95    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.Management.Automation.SessionStateScope>
-;  V96 tmp58        [V96,T71] (  2,  4   )     ref  ->  x25         class-hnd exact single-def "Inlining Arg" <System.Management.Automation.SessionStateInternal>
-;  V97 tmp59        [V97,T53] (  3,  6   )     ref  ->  [fp+0x30]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Management.Automation.SessionStateScope>
+;  V96 tmp58        [V96,T72] (  2,  4   )     ref  ->  x25         class-hnd exact single-def "Inlining Arg" <System.Management.Automation.SessionStateInternal>
+;  V97 tmp59        [V97,T54] (  3,  6   )     ref  ->  [fp+0x30]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Management.Automation.SessionStateScope>
 ;* V98 tmp60        [V98    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Management.Automation.SessionStateScope>
 ;* V99 tmp61        [V99    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Management.Automation.SessionStateInternal>
-;  V100 tmp62       [V100,T87] (  2,  4   )  struct (40) [fp+0xE8]  do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+Enumerator[System.String,System.Management.Automation.ScriptBlock]>
+;  V100 tmp62       [V100,T88] (  2,  4   )  struct (40) [fp+0xE8]  do-not-enreg[SF] must-init ld-addr-op "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+Enumerator[System.String,System.Management.Automation.ScriptBlock]>
 ;* V101 tmp63       [V101    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon>
-;  V102 tmp64       [V102,T18] (  3, 16   )     ref  ->  x15         class-hnd "Inline return value spill temp" <System.Management.Automation.PSModuleInfo>
+;  V102 tmp64       [V102,T17] (  3, 16   )     ref  ->  x15         class-hnd "Inline return value spill temp" <System.Management.Automation.PSModuleInfo>
 ;  V103 tmp65       [V103,T06] (  3, 40   )     ref  ->  x14         class-hnd exact "dup spill" <System.Management.Automation.SessionStateInternal>
 ;* V104 tmp66       [V104    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V105 tmp67       [V105    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;* V106 tmp68       [V106    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Management.Automation.PSVariable]>
-;* V107 tmp69       [V107,T20] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V107 tmp69       [V107,T19] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V108 tmp70       [V108    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Management.Automation.PSVariable]>
 ;* V109 tmp71       [V109    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Management.Automation.SessionStateInternal>
 ;* V110 tmp72       [V110    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Management.Automation.SessionStateScope>
@@ -124,13 +124,13 @@
 ;* V113 tmp75       [V113    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Management.Automation.SessionStateInternal>
 ;* V114 tmp76       [V114    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Management.Automation.SessionStateScope>
 ;  V115 tmp77       [V115,T22] (  7, 14   )     ref  ->  x20         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Stack`1[System.Management.Automation.MutableTuple]>
-;  V116 tmp78       [V116,T68] (  4,  4   )     int  ->  x22         single-def "Inline stloc first use temp"
-;  V117 tmp79       [V117,T93] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
-;  V118 tmp80       [V118,T34] (  4,  8   )     ref  ->  x24         class-hnd single-def "Inlining Arg" <System.Management.Automation.CompiledScriptBlockData>
+;  V116 tmp78       [V116,T69] (  4,  4   )     int  ->  x22         single-def "Inline stloc first use temp"
+;  V117 tmp79       [V117,T94] (  3,  3   )     ref  ->   x0         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
+;  V118 tmp80       [V118,T35] (  4,  8   )     ref  ->  x24         class-hnd single-def "Inlining Arg" <System.Management.Automation.CompiledScriptBlockData>
 ;* V119 tmp81       [V119    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Management.Automation.RuntimeDefinedParameterDictionary>
 ;* V120 tmp82       [V120    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Management.Automation.SessionStateInternal>
 ;* V121 tmp83       [V121    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Management.Automation.SessionStateScope>
-;  V122 tmp84       [V122,T54] (  3,  6   )     ref  ->  x27         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V122 tmp84       [V122,T55] (  3,  6   )     ref  ->  x27         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V123 tmp85       [V123    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Management.Automation.CompiledScriptBlockData>
 ;* V124 tmp86       [V124    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Management.Automation.CompiledScriptBlockData>
 ;* V125 tmp87       [V125    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Management.Automation.CompiledScriptBlockData>
@@ -141,74 +141,75 @@
 ;* V130 tmp92       [V130    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Management.Automation.SessionStateInternal>
 ;* V131 tmp93       [V131    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Management.Automation.SessionStateInternal>
 ;* V132 tmp94       [V132    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Management.Automation.SessionStateScope>
-;  V133 tmp95       [V133,T88] (  2,  4   )  struct (40) [fp+0xC0]  do-not-enreg[SHF] must-init ld-addr-op EH-live "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+Enumerator[System.String,System.Management.Automation.PSVariable]>
+;  V133 tmp95       [V133,T89] (  2,  4   )  struct (40) [fp+0xC0]  do-not-enreg[SHF] must-init ld-addr-op EH-live "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+Enumerator[System.String,System.Management.Automation.PSVariable]>
 ;* V134 tmp96       [V134    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon>
-;  V135 tmp97       [V135,T101] (  3,  3   )   ubyte  ->  [fp+0xBC]  do-not-enreg[M] EH-live "field V20.hasValue (fldOffset=0x0)" P-INDEP
-;  V136 tmp98       [V136,T102] (  3,  3   )     int  ->  [fp+0xB8]  do-not-enreg[M] EH-live "field V20.value (fldOffset=0x4)" P-INDEP
-;  V137 tmp99       [V137,T103] (  3, 10   )   ubyte  ->  x24         "field V21.hasValue (fldOffset=0x0)" P-INDEP
-;  V138 tmp100      [V138,T104] (  3,  3   )     int  ->  x27         "field V21.value (fldOffset=0x4)" P-INDEP
-;  V139 tmp101      [V139,T30] (  8,  8   )   ubyte  ->   x7         "field V23.hasValue (fldOffset=0x0)" P-INDEP
-;  V140 tmp102      [V140,T42] (  6,  6   )     int  ->  registers   "field V23.value (fldOffset=0x4)" P-INDEP
+;  V135 tmp97       [V135,T102] (  3,  3   )   ubyte  ->  [fp+0xBC]  do-not-enreg[M] EH-live "field V20.hasValue (fldOffset=0x0)" P-INDEP
+;  V136 tmp98       [V136,T103] (  3,  3   )     int  ->  [fp+0xB8]  do-not-enreg[M] EH-live "field V20.value (fldOffset=0x4)" P-INDEP
+;  V137 tmp99       [V137,T104] (  3, 10   )   ubyte  ->  x24         "field V21.hasValue (fldOffset=0x0)" P-INDEP
+;  V138 tmp100      [V138,T105] (  3,  3   )     int  ->  x27         "field V21.value (fldOffset=0x4)" P-INDEP
+;  V139 tmp101      [V139,T31] (  8,  8   )   ubyte  ->   x7         "field V23.hasValue (fldOffset=0x0)" P-INDEP
+;  V140 tmp102      [V140,T43] (  6,  6   )     int  ->  registers   "field V23.value (fldOffset=0x4)" P-INDEP
 ;  V141 tmp103      [V141,T05] (  6, 40   )     ref  ->  [fp+0x28]  spill-single-def "field V31.key (fldOffset=0x0)" P-INDEP
-;  V142 tmp104      [V142,T09] (  4, 32   )     ref  ->  [fp+0x20]  spill-single-def "field V31.value (fldOffset=0x8)" P-INDEP
-;  V143 tmp105      [V143,T07] (  4, 25   )     ref  ->  x22         single-def "field V33._list (fldOffset=0x0)" P-INDEP
-;  V144 tmp106      [V144,T08] (  4, 24   )     ref  ->  [fp+0x18]  spill-single-def "field V33._current (fldOffset=0x8)" P-INDEP
+;  V142 tmp104      [V142,T08] (  4, 32   )     ref  ->  [fp+0x20]  spill-single-def "field V31.value (fldOffset=0x8)" P-INDEP
+;  V143 tmp105      [V143,T10] (  4, 25   )     ref  ->  x22         single-def "field V33._list (fldOffset=0x0)" P-INDEP
+;  V144 tmp106      [V144,T07] (  4, 24   )     ref  ->  [fp+0x18]  spill-single-def "field V33._current (fldOffset=0x8)" P-INDEP
 ;  V145 tmp107      [V145,T02] (  6, 41   )     int  ->  [fp+0xB4]  "field V33._index (fldOffset=0x10)" P-INDEP
-;  V146 tmp108      [V146,T17] (  3, 17   )     int  ->  [fp+0xB0]  spill-single-def "field V33._version (fldOffset=0x14)" P-INDEP
+;  V146 tmp108      [V146,T30] (  2,  9   )     int  ->  [fp+0xB0]  spill-single-def "field V33._version (fldOffset=0x14)" P-INDEP
 ;  V147 tmp109      [V147,T24] (  2, 12   )     ref  ->   x1         "field V37.key (fldOffset=0x0)" P-INDEP
 ;  V148 tmp110      [V148,T16] (  3, 20   )     ref  ->   x2         "field V37.value (fldOffset=0x8)" P-INDEP
-;  V149 tmp111      [V149,T94] (  3,  3   )     ref  ->  x22         single-def "field V106._list (fldOffset=0x0)" P-INDEP
+;  V149 tmp111      [V149,T95] (  3,  3   )     ref  ->  x22         single-def "field V106._list (fldOffset=0x0)" P-INDEP
 ;* V150 tmp112      [V150    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V106._current (fldOffset=0x8)" P-INDEP
-;* V151 tmp113      [V151,T117] (  0,  0   )     int  ->  zero-ref    single-def "field V106._index (fldOffset=0x10)" P-INDEP
-;  V152 tmp114      [V152,T109] (  2,  2   )     int  ->   x1         single-def "field V106._version (fldOffset=0x14)" P-INDEP
+;* V151 tmp113      [V151,T118] (  0,  0   )     int  ->  zero-ref    single-def "field V106._index (fldOffset=0x10)" P-INDEP
+;  V152 tmp114      [V152,T110] (  2,  2   )     int  ->   x1         single-def "field V106._version (fldOffset=0x14)" P-INDEP
 ;* V153 tmp115      [V153    ] (  0,  0   )     ref  ->  zero-ref    single-def "V100.[000..008)"
-;  V154 tmp116      [V154,T110] (  2,  2   )     int  ->   x0         single-def "V100.[008..012)"
+;  V154 tmp116      [V154,T111] (  2,  2   )     int  ->   x0         single-def "V100.[008..012)"
 ;* V155 tmp117      [V155    ] (  0,  0   )     int  ->  zero-ref    single-def "V100.[012..016)"
 ;* V156 tmp118      [V156    ] (  0,  0   )     int  ->  zero-ref    single-def "V100.[016..020)"
 ;* V157 tmp119      [V157    ] (  0,  0   )     ref  ->  zero-ref    single-def "V133.[000..008)"
-;  V158 tmp120      [V158,T111] (  2,  2   )     int  ->   x0         single-def "V133.[008..012)"
+;  V158 tmp120      [V158,T112] (  2,  2   )     int  ->   x0         single-def "V133.[008..012)"
 ;* V159 tmp121      [V159    ] (  0,  0   )     int  ->  zero-ref    single-def "V133.[012..016)"
 ;* V160 tmp122      [V160    ] (  0,  0   )     int  ->  zero-ref    single-def "V133.[016..020)"
-;  V161 tmp123      [V161,T72] (  2,  4   )     ref  ->   x3         single-def "arr expr"
-;  V162 tmp124      [V162,T73] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
-;  V163 tmp125      [V163,T74] (  2,  4   )     ref  ->   x3         single-def "argument with side effect"
-;  V164 tmp126      [V164,T75] (  2,  4   )     ref  ->   x3         single-def "arr expr"
-;  V165 tmp127      [V165,T76] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
-;  V166 tmp128      [V166,T77] (  2,  4   )     ref  ->   x3         single-def "argument with side effect"
-;  V167 tmp129      [V167,T78] (  2,  4   )     ref  ->   x2         single-def "arr expr"
-;  V168 tmp130      [V168,T79] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
-;  V169 tmp131      [V169,T80] (  2,  4   )     ref  ->   x2         single-def "argument with side effect"
-;  V170 tmp132      [V170,T55] (  3,  6   )     ref  ->   x0         single-def "arr expr"
-;  V171 tmp133      [V171,T56] (  3,  6   )     int  ->   x1         "index expr"
-;  V172 tmp134      [V172,T81] (  2,  4   )     ref  ->   x7         single-def "arr expr"
-;  V173 tmp135      [V173,T82] (  2,  4   )     ref  ->   x6         single-def "argument with side effect"
-;  V174 tmp136      [V174,T83] (  2,  4   )     ref  ->   x7         single-def "argument with side effect"
-;  V175 tmp137      [V175,T130] (  2,  0   )     ref  ->   x0         "argument with side effect"
+;  V161 tmp123      [V161,T73] (  2,  4   )     ref  ->   x3         single-def "arr expr"
+;  V162 tmp124      [V162,T74] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
+;  V163 tmp125      [V163,T75] (  2,  4   )     ref  ->   x3         single-def "argument with side effect"
...
  
-4 (-0.18%) : 1623.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan1[ushort],System.ReadOnlySpan1[ushort],ubyte,ubyte):ubyte (FullOpts)
@@ -8,16 +8,16 @@
 ; 0 inlinees with PGO data; 66 single block inlinees; 39 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T56] (  4,   4   )  struct (16) [fp-0x68]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
-;  V01 arg1         [V01,T57] (  4,   4   )  struct (16) [fp-0x78]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
-;  V02 arg2         [V02,T53] (  4,  10.50)   ubyte  ->  x20         single-def
-;  V03 arg3         [V03,T36] (  5,  66.50)   ubyte  ->  x19         single-def
+;  V00 arg0         [V00,T57] (  4,   4   )  struct (16) [fp-0x68]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
+;  V01 arg1         [V01,T58] (  4,   4   )  struct (16) [fp-0x78]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
+;  V02 arg2         [V02,T54] (  4,  10.50)   ubyte  ->  x20         single-def
+;  V03 arg3         [V03,T49] (  4,  34.50)   ubyte  ->  x19         single-def
 ;  V04 loc0         [V04,T48] (  5,  40.50)     int  ->  registers   ptr
 ;  V05 loc1         [V05,T06] ( 10, 488   )     int  ->  [fp-0x7C]  ptr
 ;  V06 loc2         [V06,T00] ( 10,1348   )     int  ->  [fp-0x80]  ptr
 ;  V07 loc3         [V07,T08] ( 22, 428   )     int  ->  [fp-0x84]  ptr
 ;  V08 loc4         [V08,T03] (  7, 724   )     int  ->  [fp-0x88]  ptr
-;  V09 loc5         [V09,T46] (  8,  43.50)     int  ->  x26        
+;  V09 loc5         [V09,T46] (  8,  43.50)     int  ->  x25        
 ;  V10 loc6         [V10,T21] ( 11, 146.50)  ushort  ->  registers   ptr
 ;  V11 loc7         [V11,T10] ( 13, 288   )  ushort  ->  [fp-0x8C]  ptr
 ;* V12 loc8         [V12    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[int]>
@@ -29,9 +29,9 @@
 ;* V18 loc14        [V18    ] (  0,   0   )  struct (16) zero-ref    multireg-arg ld-addr-op <System.ReadOnlySpan`1[ushort]>
 ;* V19 loc15        [V19    ] (  0,   0   )   ubyte  ->  zero-ref   
 ;* V20 loc16        [V20    ] (  0,   0   )  struct (16) zero-ref    <System.Span`1[int]>
-;  V21 loc17        [V21,T28] (  3,  96   )     int  ->  [fp-0x9C]  spill-single-def ptr
-;  V22 loc18        [V22,T29] (  3,  96   )   ubyte  ->  x14        
-;  V23 loc19        [V23,T01] (  7,1344   )     int  ->  x13        
+;  V21 loc17        [V21,T29] (  3,  96   )     int  ->  [fp-0x9C]  spill-single-def ptr
+;  V22 loc18        [V22,T30] (  3,  96   )   ubyte  ->  x14        
+;  V23 loc19        [V23,T01] (  7,1344   )     int  ->   x1        
 ;  V24 loc20        [V24,T02] (  3, 832   )     int  ->   x0        
 ;# V25 OutArgs      [V25    ] (  1,   1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V26 tmp1         [V26    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
@@ -41,16 +41,16 @@
 ;  V30 tmp5         [V30,T13] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
 ;  V31 tmp6         [V31,T15] (  2, 256   )     int  ->  x10         "dup spill"
 ;  V32 tmp7         [V32,T14] (  4, 256   )     int  ->   x1         "impSpillLclRefs"
-;  V33 tmp8         [V33,T49] (  2,  32   )     int  ->  [fp-0xA0]  spill-single-def ptr "impAppendStmt"
+;  V33 tmp8         [V33,T50] (  2,  32   )     int  ->  [fp-0xA0]  spill-single-def ptr "impAppendStmt"
 ;* V34 tmp9         [V34    ] (  0,   0   )     int  ->  zero-ref    ptr
 ;  V35 tmp10        [V35,T37] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V36 tmp11        [V36,T38] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
-;  V37 tmp12        [V37,T34] (  5,  80   )     int  ->  x13         "dup spill"
+;  V37 tmp12        [V37,T35] (  5,  80   )     int  ->  x13         "dup spill"
 ;  V38 tmp13        [V38,T39] (  4,  64   )     int  ->  x13         "impSpillLclRefs"
 ;  V39 tmp14        [V39,T40] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
 ;  V40 tmp15        [V40,T41] (  4,  64   )     int  ->   x0         "impSpillLclRefs"
-;  V41 tmp16        [V41,T30] (  3,  96   )     int  ->   x1        
-;  V42 tmp17        [V42,T52] (  4,  16   )     int  ->  x25         "impSpillLclRefs"
+;  V41 tmp16        [V41,T31] (  3,  96   )     int  ->   x1        
+;  V42 tmp17        [V42,T53] (  4,  16   )     int  ->  x27         "impSpillLclRefs"
 ;* V43 tmp18        [V43    ] (  0,   0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V44 tmp19        [V44    ] (  0,   0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V45 tmp20        [V45    ] (  0,   0   )     int  ->  zero-ref    ptr
@@ -58,15 +58,15 @@
 ;* V47 tmp22        [V47    ] (  0,   0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
 ;* V48 tmp23        [V48    ] (  0,   0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
 ;* V49 tmp24        [V49    ] (  0,   0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
-;  V50 tmp25        [V50,T69] (  2,   1   )     int  ->   x4        
+;  V50 tmp25        [V50,T70] (  2,   1   )     int  ->   x4        
 ;* V51 tmp26        [V51    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;  V52 tmp27        [V52,T59] (  3,   3   )     int  ->  x26         "Inlining Arg"
-;  V53 tmp28        [V53,T60] (  2,   2   )   byref  ->  x25         single-def "Inlining Arg"
+;  V52 tmp27        [V52,T60] (  3,   3   )     int  ->  x26         "Inlining Arg"
+;  V53 tmp28        [V53,T61] (  2,   2   )   byref  ->  x25         single-def "Inlining Arg"
 ;* V54 tmp29        [V54    ] (  0,   0   )  struct (16) zero-ref    "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V55 tmp30        [V55    ] (  0,   0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V56 tmp31        [V56    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V57 tmp32        [V57,T72] (  0,   0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V58 tmp33        [V58,T73] (  0,   0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
+;* V57 tmp32        [V57,T73] (  0,   0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
+;* V58 tmp33        [V58,T74] (  0,   0   )  ushort  ->  zero-ref    ld-addr-op "Inlining Arg"
 ;* V59 tmp34        [V59    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V60 tmp35        [V60    ] (  0,   0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V61 tmp36        [V61    ] (  0,   0   )   short  ->  zero-ref    "Inlining Arg"
@@ -76,7 +76,7 @@
 ;* V65 tmp40        [V65    ] (  0,   0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V66 tmp41        [V66    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V67 tmp42        [V67    ] (  0,   0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V68 tmp43        [V68,T70] (  2,   1   )     int  ->   x0         "Inline return value spill temp"
+;  V68 tmp43        [V68,T71] (  2,   1   )     int  ->   x0         "Inline return value spill temp"
 ;* V69 tmp44        [V69    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V70 tmp45        [V70    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V71 tmp46        [V71    ] (  0,   0   )   byref  ->  zero-ref    "impAppendStmt"
@@ -142,8 +142,8 @@
 ;* V131 tmp106      [V131    ] (  0,   0   )  struct (32) zero-ref    HFA(simd16)  ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.Intrinsics.Vector256`1[ubyte]>
 ;* V132 tmp107      [V132    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V133 tmp108      [V133    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;  V134 tmp109      [V134,T64] (  2,   2   )    long  ->  x28         "Inlining Arg"
-;  V135 tmp110      [V135,T65] (  2,   2   )    long  ->   x3         "Inlining Arg"
+;  V134 tmp109      [V134,T65] (  2,   2   )    long  ->  x28         "Inlining Arg"
+;  V135 tmp110      [V135,T66] (  2,   2   )    long  ->   x3         "Inlining Arg"
 ;  V136 tmp111      [V136,T18] (  3, 192   )     ref  ->   x0         class-hnd exact "Inlining Arg" <int[]>
 ;* V137 tmp112      [V137    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V138 tmp113      [V138    ] (  0,   0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
@@ -158,7 +158,7 @@
 ;* V147 tmp122      [V147    ] (  0,   0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;  V148 tmp123      [V148,T24] (  2, 128   )    long  ->   x2         "Inlining Arg"
 ;* V149 tmp124      [V149    ] (  0,   0   )    long  ->  zero-ref    "Inlining Arg"
-;  V150 tmp125      [V150,T50] (  3,  24   )  ushort  ->  registers   ptr "Inline return value spill temp"
+;  V150 tmp125      [V150,T51] (  3,  24   )  ushort  ->  registers   ptr "Inline return value spill temp"
 ;  V151 tmp126      [V151,T42] (  4,  64   )  ushort  ->  x12         "Inlining Arg"
 ;* V152 tmp127      [V152    ] (  0,   0   )  ushort  ->  zero-ref    "Inline return value spill temp"
 ;* V153 tmp128      [V153    ] (  0,   0   )    long  ->  zero-ref    "Inline stloc first use temp"
@@ -171,7 +171,7 @@
 ;  V160 tmp135      [V160    ] (  3,  24   )  ushort  ->  [fp-0xA8]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inline stloc first use temp"
 ;  V161 tmp136      [V161,T44] (  3,  48   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Globalization.TextInfo>
 ;  V162 tmp137      [V162    ] (  2,  32   )  ushort  ->  [fp-0xB0]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inlining Arg"
-;  V163 tmp138      [V163,T51] (  3,  24   )  ushort  ->  x13         "Inline return value spill temp"
+;  V163 tmp138      [V163,T52] (  3,  24   )  ushort  ->  x13         "Inline return value spill temp"
 ;  V164 tmp139      [V164,T43] (  4,  64   )  ushort  ->  x13         "Inlining Arg"
 ;* V165 tmp140      [V165    ] (  0,   0   )  ushort  ->  zero-ref    "Inline return value spill temp"
 ;* V166 tmp141      [V166    ] (  0,   0   )    long  ->  zero-ref    "Inline stloc first use temp"
@@ -184,35 +184,35 @@
 ;  V173 tmp148      [V173    ] (  3,  24   )  ushort  ->  [fp-0xB8]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inline stloc first use temp"
 ;  V174 tmp149      [V174,T45] (  3,  48   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.Globalization.TextInfo>
 ;  V175 tmp150      [V175    ] (  2,  32   )  ushort  ->  [fp-0xC0]  do-not-enreg[X] addr-exposed ld-addr-op ptr "Inlining Arg"
-;  V176 tmp151      [V176,T61] (  3,   3   )     int  ->   x0         "Single return block return value"
-;  V177 tmp152      [V177,T54] (  2,   8   )   byref  ->   x1         "field V12._reference (fldOffset=0x0)" P-INDEP
-;  V178 tmp153      [V178,T55] (  2,   8   )     int  ->   x0         "field V12._length (fldOffset=0x8)" P-INDEP
+;  V176 tmp151      [V176,T62] (  3,   3   )     int  ->   x0         "Single return block return value"
+;  V177 tmp152      [V177,T55] (  2,   8   )   byref  ->   x1         "field V12._reference (fldOffset=0x0)" P-INDEP
+;  V178 tmp153      [V178,T56] (  2,   8   )     int  ->   x0         "field V12._length (fldOffset=0x8)" P-INDEP
 ;  V179 tmp154      [V179,T07] ( 14, 464.50)   byref  ->  x28         "field V13._reference (fldOffset=0x0)" P-INDEP
 ;  V180 tmp155      [V180,T04] ( 17, 592.50)     int  ->  [fp-0xC4]  ptr "field V13._length (fldOffset=0x8)" P-INDEP
 ;  V181 tmp156      [V181,T09] ( 10, 347.50)   byref  ->  [fp-0xD8]  ptr "field V14._reference (fldOffset=0x0)" P-INDEP
 ;  V182 tmp157      [V182,T20] ( 10, 187   )     int  ->  [fp-0xC8]  ptr "field V14._length (fldOffset=0x8)" P-INDEP
-;  V183 tmp158      [V183,T63] (  4,   2   )   byref  ->  x25         single-def "field V18._reference (fldOffset=0x0)" P-INDEP
-;  V184 tmp159      [V184,T62] (  5,   2.50)     int  ->  x26         "field V18._length (fldOffset=0x8)" P-INDEP
+;  V183 tmp158      [V183,T64] (  4,   2   )   byref  ->  x25         single-def "field V18._reference (fldOffset=0x0)" P-INDEP
+;  V184 tmp159      [V184,T63] (  5,   2.50)     int  ->  x26         "field V18._length (fldOffset=0x8)" P-INDEP
 ;* V185 tmp160      [V185    ] (  0,   0   )   byref  ->  zero-ref    "field V20._reference (fldOffset=0x0)" P-INDEP
 ;* V186 tmp161      [V186    ] (  0,   0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
-;  V187 tmp162      [V187,T66] (  2,   1   )   byref  ->  x28         single-def "field V26._reference (fldOffset=0x0)" P-INDEP
-;* V188 tmp163      [V188,T76] (  0,   0   )     int  ->  zero-ref    ptr "field V26._length (fldOffset=0x8)" P-INDEP
-;  V189 tmp164      [V189,T67] (  2,   1   )   byref  ->   x3         single-def "field V27._reference (fldOffset=0x0)" P-INDEP
-;* V190 tmp165      [V190,T77] (  0,   0   )     int  ->  zero-ref    ptr "field V27._length (fldOffset=0x8)" P-INDEP
+;  V187 tmp162      [V187,T67] (  2,   1   )   byref  ->  x28         single-def "field V26._reference (fldOffset=0x0)" P-INDEP
+;* V188 tmp163      [V188,T77] (  0,   0   )     int  ->  zero-ref    ptr "field V26._length (fldOffset=0x8)" P-INDEP
+;  V189 tmp164      [V189,T68] (  2,   1   )   byref  ->   x3         single-def "field V27._reference (fldOffset=0x0)" P-INDEP
+;* V190 tmp165      [V190,T78] (  0,   0   )     int  ->  zero-ref    ptr "field V27._length (fldOffset=0x8)" P-INDEP
 ;* V191 tmp166      [V191    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V43._reference (fldOffset=0x0)" P-INDEP
 ;* V192 tmp167      [V192    ] (  0,   0   )     int  ->  zero-ref    ptr "field V43._length (fldOffset=0x8)" P-INDEP
 ;* V193 tmp168      [V193    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V44._reference (fldOffset=0x0)" P-INDEP
 ;* V194 tmp169      [V194    ] (  0,   0   )     int  ->  zero-ref    ptr "field V44._length (fldOffset=0x8)" P-INDEP
-;  V195 tmp170      [V195,T68] (  2,   1   )   byref  ->   x0         single-def "field V46._reference (fldOffset=0x0)" P-INDEP
-;  V196 tmp171      [V196,T71] (  2,   1   )     int  ->   x1         "field V46._length (fldOffset=0x8)" P-INDEP
+;  V195 tmp170      [V195,T69] (  2,   1   )   byref  ->   x0         single-def "field V46._reference (fldOffset=0x0)" P-INDEP
+;  V196 tmp171      [V196,T72] (  2,   1   )     int  ->   x1         "field V46._length (fldOffset=0x8)" P-INDEP
 ;* V197 tmp172      [V197    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V47._reference (fldOffset=0x0)" P-INDEP
 ;* V198 tmp173      [V198    ] (  0,   0   )     int  ->  zero-ref    ptr "field V47._length (fldOffset=0x8)" P-INDEP
 ;* V199 tmp174      [V199    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V48._reference (fldOffset=0x0)" P-INDEP
 ;* V200 tmp175      [V200    ] (  0,   0   )     int  ->  zero-ref    ptr "field V48._length (fldOffset=0x8)" P-INDEP
 ;* V201 tmp176      [V201    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V49._reference (fldOffset=0x0)" P-INDEP
 ;* V202 tmp177      [V202    ] (  0,   0   )     int  ->  zero-ref    ptr "field V49._length (fldOffset=0x8)" P-INDEP
-;* V203 tmp178      [V203,T74] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V51._reference (fldOffset=0x0)" P-INDEP
-;* V204 tmp179      [V204,T78] (  0,   0   )     int  ->  zero-ref    ptr "field V51._length (fldOffset=0x8)" P-INDEP
+;* V203 tmp178      [V203,T75] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V51._reference (fldOffset=0x0)" P-INDEP
+;* V204 tmp179      [V204,T79] (  0,   0   )     int  ->  zero-ref    ptr "field V51._length (fldOffset=0x8)" P-INDEP
 ;* V205 tmp180      [V205    ] (  0,   0   )   byref  ->  zero-ref    "field V54._reference (fldOffset=0x0)" P-INDEP
 ;* V206 tmp181      [V206    ] (  0,   0   )     int  ->  zero-ref    "field V54._length (fldOffset=0x8)" P-INDEP
 ;* V207 tmp182      [V207    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V56._reference (fldOffset=0x0)" P-INDEP
@@ -223,7 +223,7 @@
 ;* V212 tmp187      [V212    ] (  0,   0   )     int  ->  zero-ref    "field V64._length (fldOffset=0x8)" P-INDEP
 ;* V213 tmp188      [V213    ] (  0,   0   )   byref  ->  zero-ref    "field V65._reference (fldOffset=0x0)" P-INDEP
 ;* V214 tmp189      [V214    ] (  0,   0   )     int  ->  zero-ref    "field V65._length (fldOffset=0x8)" P-INDEP
-;* V215 tmp190      [V215,T75] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V66._reference (fldOffset=0x0)" P-INDEP
+;* V215 tmp190      [V215,T76] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V66._reference (fldOffset=0x0)" P-INDEP
 ;* V216 tmp191      [V216    ] (  0,   0   )     int  ->  zero-ref    ptr "field V66._length (fldOffset=0x8)" P-INDEP
 ;* V217 tmp192      [V217    ] (  0,   0   )   byref  ->  zero-ref    single-def ptr "field V69._reference (fldOffset=0x0)" P-INDEP
 ;* V218 tmp193      [V218    ] (  0,   0   )     int  ->  zero-ref    ptr "field V69._length (fldOffset=0x8)" P-INDEP
@@ -251,12 +251,12 @@
 ;* V240 tmp215      [V240    ] (  0,   0   )     int  ->  zero-ref    "field V132._length (fldOffset=0x8)" P-INDEP
 ;* V241 tmp216      [V241    ] (  0,   0   )   byref  ->  zero-ref    "field V133._reference (fldOffset=0x0)" P-INDEP
 ;* V242 tmp217      [V242    ] (  0,   0   )     int  ->  zero-ref    "field V133._length (fldOffset=0x8)" P-INDEP
-;  V243 tmp218      [V243,T26] (  3,  96   )   byref  ->  [fp-0xE0]  spill-single-def ptr "field V137._reference (fldOffset=0x0)" P-INDEP
-;  V244 tmp219      [V244,T31] (  3,  96   )     int  ->  [fp-0xCC]  spill-single-def ptr "field V137._length (fldOffset=0x8)" P-INDEP
+;  V243 tmp218      [V243,T27] (  3,  96   )   byref  ->  [fp-0xE0]  spill-single-def ptr "field V137._reference (fldOffset=0x0)" P-INDEP
+;  V244 tmp219      [V244,T32] (  3,  96   )     int  ->  [fp-0xCC]  spill-single-def ptr "field V137._length (fldOffset=0x8)" P-INDEP
 ;* V245 tmp220      [V245    ] (  0,   0   )   byref  ->  zero-ref    ptr "field V138._reference (fldOffset=0x0)" P-INDEP
 ;* V246 tmp221      [V246    ] (  0,   0   )     int  ->  zero-ref    ptr "field V138._length (fldOffset=0x8)" P-INDEP
-;  V247 tmp222      [V247,T27] (  3,  96   )   byref  ->  [fp-0xE8]  spill-single-def ptr "field V144._reference (fldOffset=0x0)" P-INDEP
-;  V248 tmp223      [V248,T32] (  3,  96   )     int  ->  [fp-0xD0]  spill-single-def ptr "field V144._length (fldOffset=0x8)" P-INDEP
+;  V247 tmp222      [V247,T28] (  3,  96   )   byref  ->  [fp-0xE8]  spill-single-def ptr "field V144._reference (fldOffset=0x0)" P-INDEP
+;  V248 tmp223      [V248,T33] (  3,  96   )     int  ->  [fp-0xD0]  spill-single-def ptr "field V144._length (fldOffset=0x8)" P-INDEP
 ;* V249 tmp224      [V249    ] (  0,   0   )   byref  ->  zero-ref    ptr "field V145._reference (fldOffset=0x0)" P-INDEP
 ;* V250 tmp225      [V250    ] (  0,   0   )     int  ->  zero-ref    ptr "field V145._length (fldOffset=0x8)" P-INDEP
 ;* V251 tmp226      [V251    ] (  0,   0   )   byref  ->  zero-ref    "field V154._reference (fldOffset=0x0)" P-INDEP
@@ -271,14 +271,15 @@
 ;* V260 tmp235      [V260    ] (  0,   0   )     int  ->  zero-ref    "field V171._length (fldOffset=0x8)" P-INDEP
 ;* V261 tmp236      [V261    ] (  0,   0   )   byref  ->  zero-ref    "field V172._reference (fldOffset=0x0)" P-INDEP
 ;* V262 tmp237      [V262    ] (  0,   0   )     int  ->  zero-ref    "field V172._length (fldOffset=0x8)" P-INDEP
-;  V263 tmp238      [V263,T35] (  5,  74   )   byref  ->  x21         single-def "V00.[000..008)"
+;  V263 tmp238      [V263,T36] (  5,  74   )   byref  ->  x21         single-def "V00.[000..008)"
 ;  V264 tmp239      [V264,T17] ( 11, 227.50)     int  ->  x22         "V00.[008..012)"
 ;  V265 tmp240      [V265,T11] (  4, 259.50)   byref  ->  x23         single-def "V01.[000..008)"
 ;  V266 tmp241      [V266,T05] (  9, 552.50)     int  ->  x24         "V01.[008..012)"
 ;* V267 tmp242      [V267    ] (  0,   0   )    long  ->  zero-ref    ptr "Cast away GC"
 ;  V268 GsCookie    [V268    ] (  1,   1   )    long  ->  [fp-0x58]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
-;  V269 cse0        [V269,T58] (  3,   6   )     int  ->   x6         "CSE - moderate"
-;  V270 rat0        [V270,T33] (  3,  96   )     int  ->   x1         "ReplaceWithLclVar is creating a new local variable"
+;  V269 cse0        [V269,T26] (  5,  97   )     int  ->  registers   multi-def "CSE - moderate"
+;  V270 cse1        [V270,T59] (  3,   6   )     int  ->   x6         "CSE - moderate"
+;  V271 rat0        [V271,T34] (  3,  96   )     int  ->   x1         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 160
 
@@ -355,8 +356,8 @@ G_M9731_IG05:        ; bbWeight=0.50, gcVars=00000000000000000000000000000000 {}
             ldr     x1, [x1]
             blr     x1
             ; gcr arg pop 0
-            tst     w19, #255
-            bne     G_M9731_IG06
+            uxtb    w27, w19
+            cbnz    w27, G_M9731_IG06
             mov     w2, #63
             mov     w1, #42
             mov     x0, x25
@@ -414,9 +415,9 @@ G_M9731_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=2800000 {x23
                        ;; size=60 bbWeight=0.50 PerfScore 5.75
 G_M9731_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x23}, byref
             ; byrRegs +[x21 x23]
-            mov     w25, wzr
-            mov     w26, #1
             mov     w27, wzr
+            mov     w25, #1
+            mov     w26, wzr
             ldr     wzr, [sp], #-0x40
             mov     x28, sp
             mov     w2, #16
@@ -430,20 +431,20 @@ G_M9731_IG08:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=A00000 {x21 x
                        ;; size=52 bbWeight=0.50 PerfScore 5.50
 G_M9731_IG09:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21 x23 x28}, byref, isz
             ; byrRegs +[x3 x28]
-            cmp     w25, w24
+            cmp     w27, w24
             bge     G_M9731_IG11
                        ;; size=8 bbWeight=4 PerfScore 6.00
 G_M9731_IG10:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=10A00008 {x3 x21 x23 x28}, byref, isz
-            add     w1, w25, #1
-            sxtw    w27, w1
-            cmp     w25, w24
+            add     w1, w27, #1
+            sxtw    w26, w1
+            cmp     w27, w24
             bhs     G_M9731_IG73
-            ldrh    w1, [x23, w25, UXTW #2]
-            sxtw    w25, w1
...
  
-8 (-0.15%) : 821.dasm - System.Number:NumberToStringFormatushort (FullOpts)
@@ -10,7 +10,7 @@
 ;
 ;  V00 arg0         [V00,T02] ( 79,268.50)   byref  ->  x19         single-def
 ;  V01 arg1         [V01,T60] ( 17, 21.50)   byref  ->  x21         single-def
-;  V02 arg2         [V02,T81] (  6, 12   )  struct (16) [fp+0xE8]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
+;  V02 arg2         [V02,T82] (  6, 12   )  struct (16) [fp+0xE8]  do-not-enreg[SFA] multireg-arg ld-addr-op single-def ptr <System.ReadOnlySpan`1[ushort]>
 ;  V03 arg3         [V03,T42] ( 15, 25   )     ref  ->  x20         class-hnd single-def <System.Globalization.NumberFormatInfo>
 ;  V04 loc0         [V04,T08] ( 15, 96   )     int  ->  x27        
 ;  V05 loc1         [V05,T16] ( 18, 56   )     int  ->  x28        
@@ -24,55 +24,55 @@
 ;  V13 loc9         [V13,T19] (  8, 48   )     int  ->   x8        
 ;  V14 loc10        [V14,T26] ( 11, 42   )     int  ->  [fp+0xD0]  ptr
 ;  V15 loc11        [V15,T64] (  6, 18.50)     int  ->  x26        
-;  V16 loc12        [V16,T00] ( 57,909.50)     int  ->  [fp+0xCC]  ptr
+;  V16 loc12        [V16,T00] ( 55,905.50)     int  ->  [fp+0xCC]  ptr
 ;  V17 loc13        [V17,T67] (  6, 17   )    long  ->  x25        
 ;  V18 loc14        [V18,T05] ( 36,238   )  ushort  ->  [fp+0xC8]  ptr
 ;* V19 loc15        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[int]>
 ;  V20 loc16        [V20,T10] ( 16, 71   )     int  ->  [fp+0xC4]  ptr
-;  V21 loc17        [V21,T147] (  3,  5   )   ubyte  ->  [fp+0xC0] 
+;  V21 loc17        [V21,T148] (  3,  5   )   ubyte  ->  [fp+0xC0] 
 ;  V22 loc18        [V22,T07] (  8,184   )    long  ->   x9        
 ;  V23 loc19        [V23    ] (  2, 16   )   byref  ->  [fp+0xB8]  must-init pinned ptr
 ;* V24 loc20        [V24    ] (  0,  0   )     int  ->  zero-ref   
 ;* V25 loc21        [V25    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[int]>
-;  V26 loc22        [V26,T146] (  5,  5.50)     ref  ->  [fp+0x60]  class-hnd spill-single-def ptr <int[]>
-;  V27 loc23        [V27,T82] (  6, 12.50)     int  ->  [fp+0xB4]  ptr
+;  V26 loc22        [V26,T147] (  5,  5.50)     ref  ->  [fp+0x60]  class-hnd spill-single-def ptr <int[]>
+;  V27 loc23        [V27,T83] (  6, 12.50)     int  ->  [fp+0xB4]  ptr
 ;  V28 loc24        [V28,T66] (  7, 17.50)     int  ->  [fp+0xB0]  ptr
-;  V29 loc25        [V29,T148] (  3,  5   )     int  ->  [fp+0xAC]  spill-single-def ptr
-;  V30 loc26        [V30,T87] (  5, 11   )     int  ->  [fp+0xA8]  ptr
-;  V31 loc27        [V31,T194] (  3,  1.50)     int  ->   x1        
-;  V32 loc28        [V32,T149] (  3,  5   )     int  ->  [fp+0xA4]  spill-single-def ptr
-;  V33 loc29        [V33,T88] (  5, 10   )     ref  ->  [fp+0x58]  class-hnd exact spill-single-def ptr <int[]>
+;  V29 loc25        [V29,T149] (  3,  5   )     int  ->  [fp+0xAC]  spill-single-def ptr
+;  V30 loc26        [V30,T88] (  5, 11   )     int  ->  [fp+0xA8]  ptr
+;  V31 loc27        [V31,T195] (  3,  1.50)     int  ->   x1        
+;  V32 loc28        [V32,T150] (  3,  5   )     int  ->  [fp+0xA4]  spill-single-def ptr
+;  V33 loc29        [V33,T89] (  5, 10   )     ref  ->  [fp+0x58]  class-hnd exact spill-single-def ptr <int[]>
 ;  V34 loc30        [V34,T11] ( 11, 65   )    long  ->  x22        
 ;  V35 loc31        [V35    ] (  2,  2   )   byref  ->  [fp+0x98]  must-init pinned ptr
 ;  V36 loc32        [V36,T33] (  8, 33   )    long  ->  [fp+0x90]  ptr
-;  V37 loc33        [V37,T121] (  3,  6   )   ubyte  ->  x14        
+;  V37 loc33        [V37,T122] (  3,  6   )   ubyte  ->  x14        
 ;  V38 loc34        [V38,T46] (  6, 24   )     int  ->  x12        
 ;* V39 loc35        [V39    ] (  0,  0   )     int  ->  zero-ref   
 ;# V40 OutArgs      [V40    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V41 tmp1         [V41    ] (  0,  0   )     int  ->  zero-ref   
 ;* V42 tmp2         [V42    ] (  0,  0   )  struct (16) zero-ref    <System.ReadOnlySpan`1[ushort]>
 ;* V43 tmp3         [V43    ] (  0,  0   )  struct (16) zero-ref    multireg-arg <System.ReadOnlySpan`1[ushort]>
-;  V44 tmp4         [V44,T182] (  3,  2   )     int  ->   x2        
-;  V45 tmp5         [V45,T187] (  2,  2   )     int  ->   x3        
-;  V46 tmp6         [V46,T188] (  2,  2   )     int  ->   x4        
-;  V47 tmp7         [V47,T206] (  2,  1   )     int  ->   x3        
+;  V44 tmp4         [V44,T183] (  3,  2   )     int  ->   x2        
+;  V45 tmp5         [V45,T188] (  2,  2   )     int  ->   x3        
+;  V46 tmp6         [V46,T189] (  2,  2   )     int  ->   x4        
+;  V47 tmp7         [V47,T207] (  2,  1   )     int  ->   x3        
 ;  V48 tmp8         [V48    ] (  1,  1   )  struct (16) [fp+0xF8]  do-not-enreg[XS] addr-exposed ld-addr-op unsafe-buffer "stackallocLocal"
 ;* V49 tmp9         [V49    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V50 tmp10        [V50    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V51 tmp11        [V51,T50] (  3, 24   )     int  ->   x1         "impSpillLclRefs"
-;  V52 tmp12        [V52,T79] (  2, 16   )     int  ->   x1         "dup spill"
-;  V53 tmp13        [V53,T106] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
-;  V54 tmp14        [V54,T107] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
+;  V52 tmp12        [V52,T80] (  2, 16   )     int  ->   x1         "dup spill"
+;  V53 tmp13        [V53,T107] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
+;  V54 tmp14        [V54,T108] (  2,  8   )     int  ->   x6         "impSpillLclRefs"
 ;  V55 tmp15        [V55,T35] (  2, 32   )     int  ->   x6         "impSpillLclRefs"
 ;  V56 tmp16        [V56,T13] (  2, 64   )     int  ->   x6         "dup spill"
-;  V57 tmp17        [V57,T122] (  3,  6   )     int  ->   x5        
+;  V57 tmp17        [V57,T123] (  3,  6   )     int  ->   x5        
 ;* V58 tmp18        [V58    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V59 tmp19        [V59    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V60 tmp20        [V60    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V61 tmp21        [V61,T83] (  3, 12   )    long  ->   x1         "impSpillLclRefs"
-;  V62 tmp22        [V62,T99] (  4,  8   )     int  ->   x1        
+;  V61 tmp21        [V61,T84] (  3, 12   )    long  ->   x1         "impSpillLclRefs"
+;  V62 tmp22        [V62,T100] (  4,  8   )     int  ->   x1        
 ;* V63 tmp23        [V63    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V64 tmp24        [V64,T123] (  3,  6   )     int  ->  x13        
+;  V64 tmp24        [V64,T124] (  3,  6   )     int  ->  x13        
 ;  V65 tmp25        [V65,T36] (  2, 32   )     int  ->   x6         "impSpillLclRefs"
 ;* V66 tmp26        [V66    ] (  0,  0   )   byref  ->  zero-ref    ptr
 ;  V67 tmp27        [V67,T37] (  2, 32   )    long  ->   x0         "impSpillLclRefs"
@@ -82,11 +82,11 @@
 ;* V71 tmp31        [V71    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V72 tmp32        [V72    ] (  0,  0   )     int  ->  zero-ref   
 ;* V73 tmp33        [V73    ] (  0,  0   )     int  ->  zero-ref    ptr
-;  V74 tmp34        [V74,T207] (  2,  1   )     int  ->   x1        
-;  V75 tmp35        [V75,T208] (  2,  1   )     int  ->  xip0        
+;  V74 tmp34        [V74,T208] (  2,  1   )     int  ->   x1        
+;  V75 tmp35        [V75,T209] (  2,  1   )     int  ->  xip0        
 ;* V76 tmp36        [V76    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[int]>
 ;  V77 tmp37        [V77,T47] (  3, 24   )   byref  ->   x0         "dup spill"
-;  V78 tmp38        [V78,T101] (  3,  8   )     int  ->   x1        
+;  V78 tmp38        [V78,T102] (  3,  8   )     int  ->   x1        
 ;  V79 tmp39        [V79,T09] (  3, 96   )     int  ->   x0         "impSpillLclRefs"
 ;  V80 tmp40        [V80,T14] (  2, 64   )     int  ->  x11         "dup spill"
 ;  V81 tmp41        [V81,T03] (  2,256   )     int  ->  x10         "dup spill"
@@ -97,28 +97,28 @@
 ;* V86 tmp46        [V86    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[int]>
 ;* V87 tmp47        [V87    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V88 tmp48        [V88    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
-;  V89 tmp49        [V89,T108] (  2,  8   )    long  ->   x2         "Inlining Arg"
+;  V89 tmp49        [V89,T109] (  2,  8   )    long  ->   x2         "Inlining Arg"
 ;* V90 tmp50        [V90    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V91 tmp51        [V91    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[int]>
 ;* V92 tmp52        [V92    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V93 tmp53        [V93    ] (  0,  0   )     int  ->  zero-ref   
 ;* V94 tmp54        [V94    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V95 tmp55        [V95    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V96 tmp56        [V96,T150] (  4,  4   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V96 tmp56        [V96,T151] (  4,  4   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.String>
 ;* V97 tmp57        [V97    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V98 tmp58        [V98    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V99 tmp59        [V99,T189] (  2,  2   )     int  ->  [fp+0x8C]  spill-single-def ptr "Inlining Arg"
-;  V100 tmp60       [V100,T183] (  2,  2   )   byref  ->  [fp+0x50]  spill-single-def ptr "Inlining Arg"
+;  V99 tmp59        [V99,T190] (  2,  2   )     int  ->  [fp+0x8C]  spill-single-def ptr "Inlining Arg"
+;  V100 tmp60       [V100,T184] (  2,  2   )   byref  ->  [fp+0x50]  spill-single-def ptr "Inlining Arg"
 ;* V101 tmp61       [V101    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V102 tmp62       [V102    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V103 tmp63       [V103    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V104 tmp64       [V104    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V105 tmp65       [V105    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V106 tmp66       [V106,T195] (  3,  1.50)     int  ->  [fp+0x88]  spill-single-def ptr "Inline stloc first use temp"
+;  V106 tmp66       [V106,T196] (  3,  1.50)     int  ->  [fp+0x88]  spill-single-def ptr "Inline stloc first use temp"
 ;* V107 tmp67       [V107    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V108 tmp68       [V108    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V109 tmp69       [V109    ] (  0,  0   )   byref  ->  zero-ref    single-def ptr "Inlining Arg"
-;  V110 tmp70       [V110,T180] (  4,  2   )     int  ->   x3         "Inline stloc first use temp"
+;  V110 tmp70       [V110,T181] (  4,  2   )     int  ->   x3         "Inline stloc first use temp"
 ;* V111 tmp71       [V111    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V112 tmp72       [V112    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V113 tmp73       [V113    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
@@ -153,7 +153,7 @@
 ;  V142 tmp102      [V142,T29] (  5, 40   )     int  ->  x15         "Inline stloc first use temp"
 ;* V143 tmp103      [V143    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V144 tmp104      [V144    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;  V145 tmp105      [V145,T89] (  5, 10   )     int  ->   x1         "Inline stloc first use temp"
+;  V145 tmp105      [V145,T90] (  5, 10   )     int  ->   x1         "Inline stloc first use temp"
 ;* V146 tmp106      [V146    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V147 tmp107      [V147    ] (  0,  0   )  ushort  ->  zero-ref    ptr "Inlining Arg"
 ;* V148 tmp108      [V148    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -162,11 +162,11 @@
 ;* V151 tmp111      [V151    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V152 tmp112      [V152    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V153 tmp113      [V153    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V154 tmp114      [V154,T69] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V154 tmp114      [V154,T70] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V155 tmp115      [V155    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V156 tmp116      [V156    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V157 tmp117      [V157,T109] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V158 tmp118      [V158,T102] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V157 tmp117      [V157,T110] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V158 tmp118      [V158,T103] (  2,  8   )   byref  ->  x13         "Inlining Arg"
 ;* V159 tmp119      [V159    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V160 tmp120      [V160    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V161 tmp121      [V161    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -174,13 +174,13 @@
 ;* V163 tmp123      [V163    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V164 tmp124      [V164    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V165 tmp125      [V165    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V166 tmp126      [V166,T124] (  3,  6   )     int  ->  [fp+0x80]  spill-single-def ptr "Inline stloc first use temp"
+;  V166 tmp126      [V166,T125] (  3,  6   )     int  ->  [fp+0x80]  spill-single-def ptr "Inline stloc first use temp"
 ;* V167 tmp127      [V167    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V168 tmp128      [V168    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V169 tmp129      [V169    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V170 tmp130      [V170    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V171 tmp131      [V171    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V172 tmp132      [V172,T90] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
+;  V172 tmp132      [V172,T91] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
 ;* V173 tmp133      [V173    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V174 tmp134      [V174    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V175 tmp135      [V175    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -189,11 +189,11 @@
 ;* V178 tmp138      [V178    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V179 tmp139      [V179    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V180 tmp140      [V180    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V181 tmp141      [V181,T70] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V181 tmp141      [V181,T71] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V182 tmp142      [V182    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V183 tmp143      [V183    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V184 tmp144      [V184,T110] (  2,  8   )     int  ->  x13         "Inlining Arg"
-;  V185 tmp145      [V185,T103] (  2,  8   )   byref  ->  x11         "Inlining Arg"
+;  V184 tmp144      [V184,T111] (  2,  8   )     int  ->  x13         "Inlining Arg"
+;  V185 tmp145      [V185,T104] (  2,  8   )   byref  ->  x11         "Inlining Arg"
 ;* V186 tmp146      [V186    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V187 tmp147      [V187    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V188 tmp148      [V188    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -201,13 +201,13 @@
 ;* V190 tmp150      [V190    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V191 tmp151      [V191    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V192 tmp152      [V192    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V193 tmp153      [V193,T125] (  3,  6   )     int  ->  [fp+0x7C]  spill-single-def ptr "Inline stloc first use temp"
+;  V193 tmp153      [V193,T126] (  3,  6   )     int  ->  [fp+0x7C]  spill-single-def ptr "Inline stloc first use temp"
 ;* V194 tmp154      [V194    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V195 tmp155      [V195    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V196 tmp156      [V196    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V197 tmp157      [V197    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V198 tmp158      [V198    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V199 tmp159      [V199,T91] (  5, 10   )     int  ->  x14         "Inline stloc first use temp"
+;  V199 tmp159      [V199,T92] (  5, 10   )     int  ->  x14         "Inline stloc first use temp"
 ;* V200 tmp160      [V200    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V201 tmp161      [V201    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V202 tmp162      [V202    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -216,11 +216,11 @@
 ;* V205 tmp165      [V205    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V206 tmp166      [V206    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V207 tmp167      [V207    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V208 tmp168      [V208,T71] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V208 tmp168      [V208,T72] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V209 tmp169      [V209    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V210 tmp170      [V210    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V211 tmp171      [V211,T111] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V212 tmp172      [V212,T104] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V211 tmp171      [V211,T112] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V212 tmp172      [V212,T105] (  2,  8   )   byref  ->  x13         "Inlining Arg"
 ;* V213 tmp173      [V213    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V214 tmp174      [V214    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V215 tmp175      [V215    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
@@ -228,13 +228,13 @@
 ;* V217 tmp177      [V217    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V218 tmp178      [V218    ] (  0,  0   )     int  ->  zero-ref    ptr "Inline stloc first use temp"
 ;* V219 tmp179      [V219    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
-;  V220 tmp180      [V220,T126] (  3,  6   )     int  ->  [fp+0x78]  spill-single-def ptr "Inline stloc first use temp"
+;  V220 tmp180      [V220,T127] (  3,  6   )     int  ->  [fp+0x78]  spill-single-def ptr "Inline stloc first use temp"
 ;* V221 tmp181      [V221    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V222 tmp182      [V222    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V223 tmp183      [V223    ] (  0,  0   )   byref  ->  zero-ref    ptr "Inlining Arg"
 ;* V224 tmp184      [V224    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V225 tmp185      [V225    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V226 tmp186      [V226,T92] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
+;  V226 tmp186      [V226,T93] (  5, 10   )     int  ->  x12         "Inline stloc first use temp"
 ;* V227 tmp187      [V227    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Span`1[ushort]>
 ;* V228 tmp188      [V228    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V229 tmp189      [V229    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
@@ -243,11 +243,11 @@
 ;* V232 tmp192      [V232    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V233 tmp193      [V233    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V234 tmp194      [V234    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;  V235 tmp195      [V235,T72] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
+;  V235 tmp195      [V235,T73] (  4, 16   )     ref  ->   x1         class-hnd exact "Inlining Arg" <System.String>
 ;* V236 tmp196      [V236    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V237 tmp197      [V237    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V238 tmp198      [V238,T112] (  2,  8   )     int  ->  x14         "Inlining Arg"
-;  V239 tmp199      [V239,T105] (  2,  8   )   byref  ->  x13         "Inlining Arg"
+;  V238 tmp198      [V238,T113] (  2,  8   )     int  ->  x14         "Inlining Arg"
+;  V239 tmp199      [V239,T106] (  2,  8   )   byref  ->  x13         "Inlining Arg"
...
  
  
smoke_tests.nativeaot.windows.arm64.checked.mch
-24 (-6.45%) : 2589.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
@@ -7,10 +7,10 @@
 ; fully interruptible
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] (  3,  3   )    long  ->  x19         single-def
-;  V01 arg1         [V01,T19] (  3,  3   )    long  ->  x20         single-def
-;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x28]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T20] (  4, 11   )    long  ->  x20        
+;  V00 arg0         [V00,T19] (  3,  3   )    long  ->  x19         single-def
+;  V01 arg1         [V01,T20] (  3,  3   )    long  ->  x20         single-def
+;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x20]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
+;  V03 loc1         [V03,T21] (  4, 11   )    long  ->  x20        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
@@ -18,14 +18,14 @@
 ;  V08 tmp1         [V08,T10] (  7, 84   )     ref  ->  x19         class-hnd exact single-def "non-inline candidate call" <<unknown class>>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V11 tmp4         [V11,T28] (  3,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V12 tmp5         [V12,T22] (  2,  4   )     ref  ->  x19         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp4         [V11,T29] (  3,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp5         [V12,T23] (  2,  4   )     ref  ->  x19         class-hnd exact single-def "Inlining Arg" <<unknown class>>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp10        [V17,T08] (  2, 16   )     int  ->   x4         "Inlining Arg"
-;  V18 tmp11        [V18,T07] (  2, 16   )   byref  ->   x3         "Inlining Arg"
+;  V17 tmp10        [V17,T07] (  2, 16   )     int  ->   x4         "Inlining Arg"
+;  V18 tmp11        [V18,T06] (  2, 16   )   byref  ->   x3         "Inlining Arg"
 ;* V19 tmp12        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V21 tmp14        [V21,T12] (  2,  8   )   ubyte  ->   x0         "Inline return value spill temp"
@@ -39,30 +39,30 @@
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V30 tmp23        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V32 tmp25        [V32,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V32 tmp25        [V32,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V33 tmp26        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <<unknown class>>
-;  V34 tmp27        [V34,T23] (  3, 17   )     ref  ->  x14         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V35 tmp28        [V35,T21] (  4, 18   )     int  ->  x15         "Inline stloc first use temp"
-;  V36 tmp29        [V36,T17] (  3, 20   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [fp+0x18]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
-;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
-;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
-;  V40 tmp33        [V40,T02] (  4, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V41 tmp34        [V41,T03] (  4, 20   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V34 tmp27        [V34,T24] (  3, 17   )     ref  ->  x14         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V35 tmp28        [V35,T22] (  4, 18   )     int  ->  x15         "Inline stloc first use temp"
+;  V36 tmp29        [V36,T18] (  3, 20   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [fp+0x10]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
+;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
+;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
+;  V40 tmp33        [V40,T03] (  4, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V41 tmp34        [V41,T02] (  4, 20   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V42 tmp35        [V42,T00] (  6, 41   )     int  ->  x22         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V43 tmp36        [V43,T05] (  3, 17   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
-;  V44 tmp37        [V44,T13] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp38        [V45,T15] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp36        [V43,T13] (  2,  9   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
+;  V44 tmp37        [V44,T14] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp38        [V45,T16] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V46 tmp39        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V47 tmp40        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V48 tmp41        [V48,T24] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;  V48 tmp41        [V48,T25] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V49 tmp42        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V50 tmp43        [V50,T27] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
-;  V51 tmp44        [V51,T25] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
+;* V50 tmp43        [V50,T28] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
+;  V51 tmp44        [V51,T26] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
 ;  V52 tmp45        [V52,T11] (  3, 12   )   byref  ->   x3         "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V53 tmp46        [V53,T06] (  4, 16   )     int  ->   x4         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V54 tmp47        [V54,T14] (  2,  8   )   byref  ->   x3         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V55 tmp48        [V55,T16] (  2,  8   )     int  ->   x4         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V53 tmp46        [V53,T05] (  4, 16   )     int  ->   x4         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V54 tmp47        [V54,T15] (  2,  8   )   byref  ->   x3         "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V55 tmp48        [V55,T17] (  2,  8   )     int  ->   x4         "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp50        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V58 tmp51        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
@@ -78,23 +78,23 @@
 ;* V68 tmp61        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V69 tmp62        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;  V70 tmp63        [V70,T01] (  3, 48   )     ref  ->   x2         "arr expr"
-;  V71 cse0         [V71,T04] (  3, 24   )     int  ->  x23         "CSE - aggressive"
-;  V72 cse1         [V72,T26] (  2, 16   )     int  ->  x12         "CSE - moderate"
+;  V71 cse0         [V71,T09] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V72 cse1         [V72,T04] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V73 cse2         [V73,T27] (  2, 16   )     int  ->  x12         "CSE - moderate"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 32
 
 G_M19804_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x38]
-            stp     x21, x22, [sp, #0x48]
-            str     x23, [sp, #0x58]
+            stp     fp, lr, [sp, #-0x50]!
+            stp     x19, x20, [sp, #0x30]
+            stp     x21, x22, [sp, #0x40]
             mov     fp, sp
-            str     xzr, [fp, #0x28]  // [V02 loc0]
+            str     xzr, [fp, #0x20] // [V02 loc0]
             mov     x19, x0
             mov     x20, x1
-                      ;; size=32 bbWeight=1 PerfScore 6.50
+                      ;; size=28 bbWeight=1 PerfScore 5.50
 G_M19804_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x0, fp, #24    // [V37 tmp30]
+            add     x0, fp, #16 // [V37 tmp30]
             bl      CORINFO_HELP_JIT_REVERSE_PINVOKE_ENTER
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 1.50
@@ -103,9 +103,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             bl      System.Runtime.InteropServices.MemoryMarshal:CreateReadOnlySpanFromNullTerminated(ulong):System.ReadOnlySpan`1[ushort]
             ; byrRegs +[x0]
             ; gcr arg pop 0
-            stp     x0, x1, [fp, #0x28]   // [V02 loc0], [V02 loc0+0x08]
+            stp     x0, x1, [fp, #0x20] // [V02 loc0], [V02 loc0+0x08]
             ldrb    w2, [x20, #0x08]
-            cbz     w2, G_M19804_IG11
+            cbz     w2, G_M19804_IG10
             ldr     x19, [x20]
             ; gcrRegs +[x19]
             ldr     w21, [x19, #0x14]
@@ -115,9 +115,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M19804_IG04:        ; bbWeight=4, gcrefRegs=80004 {x2 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x2]
             ; byrRegs -[x0]
-            ldr     x0, [fp, #0x28]   // [V38 tmp31]
+            ldr     x0, [fp, #0x20] // [V38 tmp31]
             ; byrRegs +[x0]
-            ldr     w1, [fp, #0x30]  // [V39 tmp32]
+            ldr     w1, [fp, #0x28] // [V39 tmp32]
             cbnz    x2, G_M19804_IG05
             mov     x3, xzr
             ; byrRegs +[x3]
@@ -140,15 +140,15 @@ G_M19804_IG06:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0009 {x0 x3
             bl      <unknown method>
             ; byrRegs -[x0-x1 x3]
             ; gcr arg pop 0
-            cbnz    w0, G_M19804_IG14
+            cbnz    w0, G_M19804_IG13
                       ;; size=24 bbWeight=4 PerfScore 20.00
 G_M19804_IG07:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            ldr     w23, [x19, #0x14]
-            cmp     w21, w23
-            bne     G_M19804_IG10
+            ldr     w2, [x19, #0x14]
+            cmp     w21, w2
+            bne     G_M19804_IG09
             ldr     w2, [x19, #0x10]
             cmp     w22, w2
-            bhs     G_M19804_IG11
+            bhs     G_M19804_IG10
             ldr     x2, [x19, #0x08]
             ; gcrRegs +[x2]
             ldr     w0, [x2, #0x08]
@@ -174,13 +174,9 @@ G_M19804_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_windows #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 G_M19804_IG10:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            cmp     w21, w23
-            bne     G_M19804_IG09
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldr     x19, [x20]
             ; gcrRegs +[x19]
-            add     x0, fp, #40  // [V02 loc0]
+            add     x0, fp, #32  // [V02 loc0]
             bl      <unknown method>
             ; gcrRegs +[x0]
             ; gcr arg pop 0
@@ -193,9 +189,9 @@ G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x14]
             ldr     w12, [x14, #0x08]
             cmp     w12, w15
-            bls     G_M19804_IG13
+            bls     G_M19804_IG12
                      ;; size=44 bbWeight=8 PerfScore 136.00
-G_M19804_IG12:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG11:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             add     w12, w15, #1
             str     w12, [x19, #0x10]
@@ -208,9 +204,9 @@ G_M19804_IG12:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x1 x15 x19]
             ; byrRegs -[x14]
-            b       G_M19804_IG14
+            b       G_M19804_IG13
                      ;; size=28 bbWeight=1 PerfScore 5.50
-G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG12:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x1 x19]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -218,26 +214,24 @@ G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {},
             ; gcrRegs -[x0-x1 x19]
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M19804_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x0, fp, #24    // [V37 tmp30]
+G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            add     x0, fp, #16    // [V37 tmp30]
             bl      CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x23, [sp, #0x58]
-            ldp     x21, x22, [sp, #0x48]
-            ldp     x19, x20, [sp, #0x38]
-            ldp     fp, lr, [sp], #0x60
+G_M19804_IG14:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x40]
+            ldp     x19, x20, [sp, #0x30]
+            ldp     fp, lr, [sp], #0x50
             ret     lr
-                        ;; size=20 bbWeight=1 PerfScore 6.00
-G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                      ;; size=16 bbWeight=1 PerfScore 4.00
+G_M19804_IG15:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             ; gcrRegs +[x0]
-            stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            str     x23, [sp, #0x38]
-                       ;; size=16 bbWeight=0 PerfScore 0.00
-G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
+                       ;; size=12 bbWeight=0 PerfScore 0.00
+G_M19804_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
             ldr     x1, [x0]
             ldr     x1, [x1, #0x18]
             blr     x1
@@ -245,17 +239,16 @@ G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            adr     x0, [G_M19804_IG14]
+            adr     x0, [G_M19804_IG13]
                       ;; size=20 bbWeight=0 PerfScore 0.00
-G_M19804_IG18:        ; bbWeight=0, funclet epilog, nogc, extend
-            ldr     x23, [sp, #0x38]
...
  
-24 (-6.12%) : 8338.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
@@ -8,10 +8,10 @@
 ; control-flow guard enabled
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] (  3,  3   )    long  ->  x19         single-def
-;  V01 arg1         [V01,T19] (  3,  3   )    long  ->  x20         single-def
-;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x28]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T20] (  4, 11   )    long  ->  x20        
+;  V00 arg0         [V00,T19] (  3,  3   )    long  ->  x19         single-def
+;  V01 arg1         [V01,T20] (  3,  3   )    long  ->  x20         single-def
+;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [fp+0x20]  do-not-enreg[XSR] multireg-ret must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
+;  V03 loc1         [V03,T21] (  4, 11   )    long  ->  x20        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
@@ -19,14 +19,14 @@
 ;  V08 tmp1         [V08,T10] (  7, 84   )     ref  ->  x19         class-hnd exact single-def "non-inline candidate call" <<unknown class>>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V11 tmp4         [V11,T29] (  2,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V12 tmp5         [V12,T22] (  2,  4   )     ref  ->  x19         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp4         [V11,T30] (  2,  0   )     ref  ->   x0         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp5         [V12,T23] (  2,  4   )     ref  ->  x19         class-hnd exact single-def "Inlining Arg" <<unknown class>>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp10        [V17,T08] (  2, 16   )     int  ->   x4         "Inlining Arg"
-;  V18 tmp11        [V18,T07] (  2, 16   )   byref  ->   x3         "Inlining Arg"
+;  V17 tmp10        [V17,T07] (  2, 16   )     int  ->   x4         "Inlining Arg"
+;  V18 tmp11        [V18,T06] (  2, 16   )   byref  ->   x3         "Inlining Arg"
 ;* V19 tmp12        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V21 tmp14        [V21,T12] (  2,  8   )   ubyte  ->   x0         "Inline return value spill temp"
@@ -40,30 +40,30 @@
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V30 tmp23        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V32 tmp25        [V32,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V32 tmp25        [V32,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V33 tmp26        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <<unknown class>>
-;  V34 tmp27        [V34,T23] (  3, 17   )     ref  ->  x14         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V35 tmp28        [V35,T21] (  4, 18   )     int  ->  x15         "Inline stloc first use temp"
-;  V36 tmp29        [V36,T17] (  3, 20   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [fp+0x18]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
-;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
-;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [fp+0x30]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
-;  V40 tmp33        [V40,T02] (  4, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V41 tmp34        [V41,T03] (  4, 20   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V34 tmp27        [V34,T24] (  3, 17   )     ref  ->  x14         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V35 tmp28        [V35,T22] (  4, 18   )     int  ->  x15         "Inline stloc first use temp"
+;  V36 tmp29        [V36,T18] (  3, 20   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [fp+0x10]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
+;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [fp+0x20]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
+;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [fp+0x28]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
+;  V40 tmp33        [V40,T03] (  4, 25   )     ref  ->  x19         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V41 tmp34        [V41,T02] (  4, 20   )     ref  ->   x2         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V42 tmp35        [V42,T00] (  6, 41   )     int  ->  x22         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V43 tmp36        [V43,T05] (  3, 17   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
-;  V44 tmp37        [V44,T13] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp38        [V45,T15] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp36        [V43,T13] (  2,  9   )     int  ->  x21         "field V04._version (fldOffset=0x14)" P-INDEP
+;  V44 tmp37        [V44,T14] (  2,  8   )   byref  ->   x0         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp38        [V45,T16] (  2,  8   )     int  ->   x1         "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V46 tmp39        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V47 tmp40        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V48 tmp41        [V48,T24] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;  V48 tmp41        [V48,T25] (  3,  3   )     ref  ->  x19         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V49 tmp42        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V50 tmp43        [V50,T27] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
-;  V51 tmp44        [V51,T25] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
+;* V50 tmp43        [V50,T28] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
+;  V51 tmp44        [V51,T26] (  2,  2   )     int  ->  x21         "field V13._version (fldOffset=0x14)" P-INDEP
 ;  V52 tmp45        [V52,T11] (  3, 12   )   byref  ->   x3         "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V53 tmp46        [V53,T06] (  4, 16   )     int  ->   x4         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V54 tmp47        [V54,T14] (  2,  8   )   byref  ->   x3         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V55 tmp48        [V55,T16] (  2,  8   )     int  ->   x4         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V53 tmp46        [V53,T05] (  4, 16   )     int  ->   x4         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V54 tmp47        [V54,T15] (  2,  8   )   byref  ->   x3         "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V55 tmp48        [V55,T17] (  2,  8   )     int  ->   x4         "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp50        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V58 tmp51        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
@@ -79,24 +79,24 @@
 ;* V68 tmp61        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V69 tmp62        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;  V70 tmp63        [V70,T01] (  3, 48   )     ref  ->   x2         "arr expr"
-;  V71 tmp64        [V71,T28] (  3,  0   )     ref  ->   x0         single-def "argument with side effect"
-;  V72 cse0         [V72,T04] (  3, 24   )     int  ->  x23         "CSE - aggressive"
-;  V73 cse1         [V73,T26] (  2, 16   )     int  ->  x12         "CSE - moderate"
+;  V71 tmp64        [V71,T29] (  3,  0   )     ref  ->   x0         single-def "argument with side effect"
+;  V72 cse0         [V72,T09] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V73 cse1         [V73,T04] (  2, 16   )     int  ->   x2         "CSE - aggressive"
+;  V74 cse2         [V74,T27] (  2, 16   )     int  ->  x12         "CSE - moderate"
 ;
-; Lcl frame size = 40
+; Lcl frame size = 32
 
 G_M19804_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
-            stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x38]
-            stp     x21, x22, [sp, #0x48]
-            str     x23, [sp, #0x58]
+            stp     fp, lr, [sp, #-0x50]!
+            stp     x19, x20, [sp, #0x30]
+            stp     x21, x22, [sp, #0x40]
             mov     fp, sp
-            str     xzr, [fp, #0x28]  // [V02 loc0]
+            str     xzr, [fp, #0x20] // [V02 loc0]
             mov     x19, x0
             mov     x20, x1
-                      ;; size=32 bbWeight=1 PerfScore 6.50
+                      ;; size=28 bbWeight=1 PerfScore 5.50
 G_M19804_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x0, fp, #24    // [V37 tmp30]
+            add     x0, fp, #16 // [V37 tmp30]
             bl      CORINFO_HELP_JIT_REVERSE_PINVOKE_ENTER
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 1.50
@@ -105,9 +105,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             bl      System.Runtime.InteropServices.MemoryMarshal:CreateReadOnlySpanFromNullTerminated(ulong):System.ReadOnlySpan`1[ushort]
             ; byrRegs +[x0]
             ; gcr arg pop 0
-            stp     x0, x1, [fp, #0x28]   // [V02 loc0], [V02 loc0+0x08]
+            stp     x0, x1, [fp, #0x20] // [V02 loc0], [V02 loc0+0x08]
             ldrb    w2, [x20, #0x08]
-            cbz     w2, G_M19804_IG11
+            cbz     w2, G_M19804_IG10
             ldr     x19, [x20]
             ; gcrRegs +[x19]
             ldr     w21, [x19, #0x14]
@@ -117,9 +117,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M19804_IG04:        ; bbWeight=4, gcrefRegs=80004 {x2 x19}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs +[x2]
             ; byrRegs -[x0]
-            ldr     x0, [fp, #0x28]   // [V38 tmp31]
+            ldr     x0, [fp, #0x20] // [V38 tmp31]
             ; byrRegs +[x0]
-            ldr     w1, [fp, #0x30]  // [V39 tmp32]
+            ldr     w1, [fp, #0x28] // [V39 tmp32]
             cbnz    x2, G_M19804_IG05
             mov     x3, xzr
             ; byrRegs +[x3]
@@ -142,15 +142,15 @@ G_M19804_IG06:        ; bbWeight=4, gcrefRegs=80000 {x19}, byrefRegs=0009 {x0 x3
             bl      <unknown method>
             ; byrRegs -[x0-x1 x3]
             ; gcr arg pop 0
-            cbnz    w0, G_M19804_IG14
+            cbnz    w0, G_M19804_IG13
                       ;; size=24 bbWeight=4 PerfScore 20.00
 G_M19804_IG07:        ; bbWeight=8, gcrefRegs=80000 {x19}, byrefRegs=0000 {}, byref, isz
-            ldr     w23, [x19, #0x14]
-            cmp     w21, w23
-            bne     G_M19804_IG10
+            ldr     w2, [x19, #0x14]
+            cmp     w21, w2
+            bne     G_M19804_IG09
             ldr     w2, [x19, #0x10]
             cmp     w22, w2
-            bhs     G_M19804_IG11
+            bhs     G_M19804_IG10
             ldr     x2, [x19, #0x08]
             ; gcrRegs +[x2]
             ldr     w0, [x2, #0x08]
@@ -176,13 +176,9 @@ G_M19804_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
             brk_windows #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
 G_M19804_IG10:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-            cmp     w21, w23
-            bne     G_M19804_IG09
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
             ldr     x19, [x20]
             ; gcrRegs +[x19]
-            add     x0, fp, #40  // [V02 loc0]
+            add     x0, fp, #32  // [V02 loc0]
             bl      <unknown method>
             ; gcrRegs +[x0]
             ; gcr arg pop 0
@@ -195,9 +191,9 @@ G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
             ; gcrRegs +[x14]
             ldr     w12, [x14, #0x08]
             cmp     w12, w15
-            bls     G_M19804_IG13
+            bls     G_M19804_IG12
                      ;; size=44 bbWeight=8 PerfScore 136.00
-G_M19804_IG12:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG11:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs -[x0]
             add     w12, w15, #1
             str     w12, [x19, #0x10]
@@ -210,9 +206,9 @@ G_M19804_IG12:        ; bbWeight=1, gcrefRegs=84002 {x1 x14 x19}, byrefRegs=0000
             bl      CORINFO_HELP_ASSIGN_REF
             ; gcrRegs -[x1 x15 x19]
             ; byrRegs -[x14]
-            b       G_M19804_IG14
+            b       G_M19804_IG13
                      ;; size=28 bbWeight=1 PerfScore 5.50
-G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
+G_M19804_IG12:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x1 x19]
             mov     x0, x19
             ; gcrRegs +[x0]
@@ -220,26 +216,24 @@ G_M19804_IG13:        ; bbWeight=1, gcrefRegs=80002 {x1 x19}, byrefRegs=0000 {},
             ; gcrRegs -[x0-x1 x19]
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M19804_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-            add     x0, fp, #24    // [V37 tmp30]
+G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+            add     x0, fp, #16    // [V37 tmp30]
             bl      CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT
             ; gcr arg pop 0
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x23, [sp, #0x58]
-            ldp     x21, x22, [sp, #0x48]
-            ldp     x19, x20, [sp, #0x38]
-            ldp     fp, lr, [sp], #0x60
+G_M19804_IG14:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x21, x22, [sp, #0x40]
+            ldp     x19, x20, [sp, #0x30]
+            ldp     fp, lr, [sp], #0x50
             ret     lr
-                        ;; size=20 bbWeight=1 PerfScore 6.00
-G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                      ;; size=16 bbWeight=1 PerfScore 4.00
+G_M19804_IG15:        ; bbWeight=0, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, byref, funclet prolog, nogc
             ; gcrRegs +[x0]
-            stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            str     x23, [sp, #0x38]
-                       ;; size=16 bbWeight=0 PerfScore 0.00
-G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
+            stp     fp, lr, [sp, #-0x30]!
+            stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
+                       ;; size=12 bbWeight=0 PerfScore 0.00
+G_M19804_IG16:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {x0}, byrefRegs=0000 {}, gcvars, byref, isz
             ldr     x15, [x0]
             ldr     x15, [x15, #0x18]
             adrp    x9, [HIGH RELOC #0xD1FFAB1E]      // function address
@@ -252,17 +246,16 @@ G_M19804_IG17:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0001 {
             bl      <unknown method>
             ; gcrRegs -[x0]
             ; gcr arg pop 0
-            adr     x0, [G_M19804_IG14]
+            adr     x0, [G_M19804_IG13]
                       ;; size=40 bbWeight=0 PerfScore 0.00
...
  
-24 (-3.95%) : 24178.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
@@ -7,72 +7,73 @@
 ; fully interruptible
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T17] (  7,  7   )     ref  ->  [fp+0x18]  class-hnd exact EH-live single-def <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;  V01 arg1         [V01,T14] (  3, 10   )     int  ->  x19         single-def
+;  V00 arg0         [V00,T18] (  7,  7   )     ref  ->  [fp+0x20]  class-hnd exact EH-live single-def <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
+;  V01 arg1         [V01,T15] (  3, 10   )     int  ->  x19         single-def
 ;* V02 arg2         [V02    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Threading.CancellationToken>
-;  V03 loc0         [V03,T15] (  4, 11   )   ubyte  ->  [fp+0x24]  do-not-enreg[Z] EH-live
-;  V04 loc1         [V04,T05] (  7, 28   )     ref  ->  [fp+0x10]  class-hnd exact EH-live spill-single-def <System.Threading.Tasks.Task+SetOnCountdownMres>
+;  V03 loc0         [V03,T16] (  4, 11   )   ubyte  ->  [fp+0x2C]  do-not-enreg[Z] EH-live
+;  V04 loc1         [V04,T04] (  7, 28   )     ref  ->  [fp+0x18]  class-hnd exact EH-live spill-single-def <System.Threading.Tasks.Task+SetOnCountdownMres>
 ;* V05 loc2         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V06 loc3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
 ;* V07 loc4         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V08 loc5         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V10 tmp1         [V10,T19] (  4,  8   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task+SetOnCountdownMres>
+;  V10 tmp1         [V10,T21] (  4,  8   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task+SetOnCountdownMres>
 ;* V11 tmp2         [V11    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V12 tmp3         [V12    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V13 tmp4         [V13    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V14 tmp5         [V14,T20] (  3,  6   )     int  ->  x22         "Inlining Arg"
+;  V14 tmp5         [V14,T22] (  3,  6   )     int  ->  x22         "Inlining Arg"
 ;* V15 tmp6         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V16 tmp7         [V16    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V17 tmp8         [V17    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V18 tmp9         [V18    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V19 tmp10        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V20 tmp11        [V20,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V20 tmp11        [V20,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V21 tmp12        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
 ;* V22 tmp13        [V22    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V23 tmp14        [V23    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;* V24 tmp15        [V24,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V24 tmp15        [V24,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V25 tmp16        [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;  V26 tmp17        [V26,T16] (  2,  9   )     ref  ->  x20         single-def "field V02._source (fldOffset=0x0)" P-INDEP
-;  V27 tmp18        [V27,T04] (  4, 25   )     ref  ->  x22         single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V26 tmp17        [V26,T17] (  2,  9   )     ref  ->  x20         single-def "field V02._source (fldOffset=0x0)" P-INDEP
+;  V27 tmp18        [V27,T05] (  4, 25   )     ref  ->  x22         single-def "field V05._list (fldOffset=0x0)" P-INDEP
 ;  V28 tmp19        [V28,T07] (  3, 16   )     ref  ->   x1         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V29 tmp20        [V29,T00] (  6, 41   )     int  ->  x24         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V30 tmp21        [V30,T11] (  3, 17   )     int  ->  x23         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V30 tmp21        [V30,T19] (  2,  9   )     int  ->  x23         "field V05._version (fldOffset=0x14)" P-INDEP
 ;  V31 tmp22        [V31,T06] (  4, 25   )     ref  ->  x19         single-def "field V07._list (fldOffset=0x0)" P-INDEP
 ;  V32 tmp23        [V32,T08] (  3, 16   )     ref  ->   x0         "field V07._current (fldOffset=0x8)" P-INDEP
 ;  V33 tmp24        [V33,T01] (  6, 41   )     int  ->  x21         "field V07._index (fldOffset=0x10)" P-INDEP
-;  V34 tmp25        [V34,T18] (  2,  9   )     int  ->  x20         "field V07._version (fldOffset=0x14)" P-INDEP
-;  V35 tmp26        [V35,T23] (  3,  3   )     ref  ->  x22         single-def "field V17._list (fldOffset=0x0)" P-INDEP
+;  V34 tmp25        [V34,T20] (  2,  9   )     int  ->  x20         "field V07._version (fldOffset=0x14)" P-INDEP
+;  V35 tmp26        [V35,T25] (  3,  3   )     ref  ->  x22         single-def "field V17._list (fldOffset=0x0)" P-INDEP
 ;* V36 tmp27        [V36    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V17._current (fldOffset=0x8)" P-INDEP
-;* V37 tmp28        [V37,T27] (  0,  0   )     int  ->  zero-ref    "field V17._index (fldOffset=0x10)" P-INDEP
-;  V38 tmp29        [V38,T25] (  2,  2   )     int  ->  x23         "field V17._version (fldOffset=0x14)" P-INDEP
-;  V39 tmp30        [V39,T24] (  3,  3   )     ref  ->  x19         single-def "field V22._list (fldOffset=0x0)" P-INDEP
+;* V37 tmp28        [V37,T29] (  0,  0   )     int  ->  zero-ref    "field V17._index (fldOffset=0x10)" P-INDEP
+;  V38 tmp29        [V38,T27] (  2,  2   )     int  ->  x23         "field V17._version (fldOffset=0x14)" P-INDEP
+;  V39 tmp30        [V39,T26] (  3,  3   )     ref  ->  x19         single-def "field V22._list (fldOffset=0x0)" P-INDEP
 ;* V40 tmp31        [V40    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V22._current (fldOffset=0x8)" P-INDEP
-;* V41 tmp32        [V41,T28] (  0,  0   )     int  ->  zero-ref    "field V22._index (fldOffset=0x10)" P-INDEP
-;  V42 tmp33        [V42,T26] (  2,  2   )     int  ->  x20         "field V22._version (fldOffset=0x14)" P-INDEP
-;  V43 tmp34        [V43,T22] (  2,  4   )     int  ->   x2         "argument with side effect"
+;* V41 tmp32        [V41,T30] (  0,  0   )     int  ->  zero-ref    "field V22._index (fldOffset=0x10)" P-INDEP
+;  V42 tmp33        [V42,T28] (  2,  2   )     int  ->  x20         "field V22._version (fldOffset=0x14)" P-INDEP
+;  V43 tmp34        [V43,T24] (  2,  4   )     int  ->   x2         "argument with side effect"
 ;  V44 tmp35        [V44,T02] (  3, 48   )     ref  ->   x1         "arr expr"
 ;  V45 tmp36        [V45,T03] (  3, 48   )     ref  ->   x0         "arr expr"
-;  V46 cse0         [V46,T09] (  3, 24   )     int  ->  x25         "CSE - aggressive"
-;  V47 cse1         [V47,T10] (  2, 16   )     int  ->   x0         "CSE - aggressive"
-;  V48 rat0         [V48,T21] (  3,  6   )    long  ->  x23         "fgMakeTemp is creating a new local variable"
+;  V46 cse0         [V46,T13] (  2, 16   )     int  ->   x1         "CSE - aggressive"
+;  V47 cse1         [V47,T09] (  2, 16   )     int  ->   x1         "CSE - aggressive"
+;  V48 cse2         [V48,T14] (  2, 16   )     int  ->   x0         "CSE - aggressive"
+;  V49 cse3         [V49,T10] (  2, 16   )     int  ->   x0         "CSE - aggressive"
+;  V50 rat0         [V50,T23] (  3,  6   )    long  ->  x23         "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 24
+; Lcl frame size = 32
 
 G_M12834_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
             stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x28]
-            stp     x21, x22, [sp, #0x38]
-            stp     x23, x24, [sp, #0x48]
-            str     x25, [sp, #0x58]
+            stp     x19, x20, [sp, #0x30]
+            stp     x21, x22, [sp, #0x40]
+            stp     x23, x24, [sp, #0x50]
             mov     fp, sp
-            str     x0, [fp, #0x18]   // [V00 arg0]
+            str     x0, [fp, #0x20]  // [V00 arg0]
             ; GC ptr vars +{V00}
             mov     w19, w1
             mov     x20, x2
             ; gcrRegs +[x20]
-                     ;; size=36 bbWeight=1 PerfScore 7.50
-G_M12834_IG02:        ; bbWeight=1, gcVars=0000000000020000 {V00}, gcrefRegs=100001 {x0 x20}, byrefRegs=0000 {}, gcvars, byref, isz
+                      ;; size=32 bbWeight=1 PerfScore 6.50
+G_M12834_IG02:        ; bbWeight=1, gcVars=0000000000040000 {V00}, gcrefRegs=100001 {x0 x20}, byrefRegs=0000 {}, gcvars, byref, isz
             ; gcrRegs +[x0]
             cbnz    x0, G_M12834_IG03
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]
@@ -87,7 +88,7 @@ G_M12834_IG02:        ; bbWeight=1, gcVars=0000000000020000 {V00}, gcrefRegs=100
             ; gcr arg pop 0
                        ;; size=24 bbWeight=1 PerfScore 4.00
 G_M12834_IG03:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
-            ldr     x0, [fp, #0x18] // [V00 arg0]
+            ldr     x0, [fp, #0x20]  // [V00 arg0]
             ; gcrRegs +[x0]
             ldr     w1, [x0, #0x10]
             cmp     w1, #0
@@ -104,7 +105,7 @@ G_M12834_IG03:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, b
             ; gcr arg pop 0
                        ;; size=36 bbWeight=1 PerfScore 9.50
 G_M12834_IG04:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, byref, isz
-            str     wzr, [fp, #0x24]    // [V03 loc0]
+            str     wzr, [fp, #0x2C] // [V03 loc0]
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]      // System.Threading.Tasks.Task+SetOnCountdownMres
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
             bl      CORINFO_HELP_NEWSFAST
@@ -112,12 +113,12 @@ G_M12834_IG04:        ; bbWeight=1, gcrefRegs=100000 {x20}, byrefRegs=0000 {}, b
             ; gcr arg pop 0
             mov     x21, x0
             ; gcrRegs +[x21]
-            ldr     x0, [fp, #0x18]  // [V00 arg0]
+            ldr     x0, [fp, #0x20]  // [V00 arg0]
             ldr     w22, [x0, #0x10]
             adrp    x23, [HIGH RELOC #0xD1FFAB1E]
             add     x23, x23, [LOW RELOC #0xD1FFAB1E]
             ldr     x2, [x23, #-0x08]
-            cbnz    x2, G_M12834_IG19
+            cbnz    x2, G_M12834_IG18
                         ;; size=44 bbWeight=1 PerfScore 13.50
 G_M12834_IG05:        ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
             ; gcrRegs -[x0]
@@ -142,11 +143,11 @@ G_M12834_IG05:        ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {
                        ;; size=44 bbWeight=1 PerfScore 9.50
 G_M12834_IG06:        ; bbWeight=1, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
             str     w22, [x21, #0x1C]
-            str     x21, [fp, #0x10]    // [V04 loc1]
+            str     x21, [fp, #0x18] // [V04 loc1]
             ; GC ptr vars +{V04}
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M12834_IG07:        ; bbWeight=1, gcVars=0000000000020020 {V00 V04}, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, gcvars, byref
-            ldr     x0, [fp, #0x18]    // [V00 arg0]
+G_M12834_IG07:        ; bbWeight=1, gcVars=0000000000040010 {V00 V04}, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, gcvars, byref
+            ldr     x0, [fp, #0x20]    // [V00 arg0]
             ; gcrRegs +[x0]
             mov     x22, x0
             ; gcrRegs +[x22]
@@ -193,12 +194,12 @@ G_M12834_IG09:        ; bbWeight=4, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=00
             ; gcr arg pop 0
                        ;; size=28 bbWeight=4 PerfScore 28.00
 G_M12834_IG10:        ; bbWeight=8, gcrefRegs=700000 {x20 x21 x22}, byrefRegs=0000 {}, byref, isz
-            ldr     w25, [x22, #0x14]
-            cmp     w23, w25
-            bne     G_M12834_IG13
+            ldr     w1, [x22, #0x14]
+            cmp     w23, w1
+            bne     G_M12834_IG12
             ldr     w1, [x22, #0x10]
             cmp     w24, w1
-            bhs     G_M12834_IG14
+            bhs     G_M12834_IG13
             ldr     x1, [x22, #0x08]
             ; gcrRegs +[x1]
             ldr     w2, [x1, #0x08]
@@ -224,12 +225,8 @@ G_M12834_IG12:        ; bbWeight=0, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, b
             ; gcr arg pop 0
             brk_windows #0
                        ;; size=8 bbWeight=0 PerfScore 0.00
-G_M12834_IG13:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref, isz
+G_M12834_IG13:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
             ; gcrRegs +[x20]
-            cmp     w23, w25
-            bne     G_M12834_IG12
-                       ;; size=8 bbWeight=8 PerfScore 12.00
-G_M12834_IG14:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, byref
             mov     x0, x21
             ; gcrRegs +[x0]
             mov     w1, w19
@@ -238,29 +235,28 @@ G_M12834_IG14:        ; bbWeight=8, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {
             bl      <unknown method>
             ; gcrRegs -[x0 x2 x20]
             ; gcr arg pop 0
-            str     w0, [fp, #0x24]   // [V03 loc0]
+            str     w0, [fp, #0x2C]  // [V03 loc0]
                        ;; size=20 bbWeight=8 PerfScore 28.00
-G_M12834_IG15:        ; bbWeight=1, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
+G_M12834_IG14:        ; bbWeight=1, gcrefRegs=200000 {x21}, byrefRegs=0000 {}, byref
             mov     x0, sp
-            bl      G_M12834_IG20
+            bl      G_M12834_IG19
                        ;; size=8 bbWeight=1 PerfScore 1.50
-G_M12834_IG16:        ; bbWeight=1, nogc, extend
+G_M12834_IG15:        ; bbWeight=1, nogc, extend
             nop     
                        ;; size=4 bbWeight=1 PerfScore 0.50
-G_M12834_IG17:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M12834_IG16:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs -[x21]
             ; GC ptr vars -{V00 V04}
-            ldr     w0, [fp, #0x24]  // [V03 loc0]
+            ldr     w0, [fp, #0x2C]  // [V03 loc0]
                        ;; size=4 bbWeight=1 PerfScore 2.00
-G_M12834_IG18:        ; bbWeight=1, epilog, nogc, extend
-            ldr     x25, [sp, #0x58]
-            ldp     x23, x24, [sp, #0x48]
-            ldp     x21, x22, [sp, #0x38]
-            ldp     x19, x20, [sp, #0x28]
+G_M12834_IG17:        ; bbWeight=1, epilog, nogc, extend
+            ldp     x23, x24, [sp, #0x50]
+            ldp     x21, x22, [sp, #0x40]
+            ldp     x19, x20, [sp, #0x30]
             ldp     fp, lr, [sp], #0x60
             ret     lr
-                       ;; size=24 bbWeight=1 PerfScore 7.00
-G_M12834_IG19:        ; bbWeight=0, gcVars=0000000000020000 {V00}, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, gcvars, byref
+                      ;; size=20 bbWeight=1 PerfScore 5.00
+G_M12834_IG18:        ; bbWeight=0, gcVars=0000000000040000 {V00}, gcrefRegs=300000 {x20 x21}, byrefRegs=0000 {}, gcvars, byref
             ; gcrRegs +[x20-x21]
             ; GC ptr vars +{V00}
             bl      CORINFO_HELP_READYTORUN_NONGCSTATIC_BASE
@@ -268,28 +264,27 @@ G_M12834_IG19:        ; bbWeight=0, gcVars=0000000000020000 {V00}, gcrefRegs=300
             ; gcr arg pop 0
             b       G_M12834_IG05
                        ;; size=8 bbWeight=0 PerfScore 0.00
-G_M12834_IG20:        ; bbWeight=1, gcVars=0000000000020020 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+G_M12834_IG19:        ; bbWeight=1, gcVars=0000000000040010 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
             ; gcrRegs -[x20-x21]
             ; byrRegs -[x0]
             ; GC ptr vars +{V04}
-            stp     fp, lr, [sp, #-0x50]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            stp     x23, x24, [sp, #0x38]
-            str     x25, [sp, #0x48]
-                       ;; size=20 bbWeight=1 PerfScore 5.00
-G_M12834_IG21:        ; bbWeight=1, gcVars=0000000000020020 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-            ldr     w0, [fp, #0x24]    // [V03 loc0]
-            cbnz    w0, G_M12834_IG26
-            ldr     x0, [fp, #0x18]    // [V00 arg0]
+            stp     fp, lr, [sp, #-0x40]!
+            stp     x19, x20, [sp, #0x10]
+            stp     x21, x22, [sp, #0x20]
+            stp     x23, x24, [sp, #0x30]
+                       ;; size=16 bbWeight=1 PerfScore 4.00
+G_M12834_IG20:        ; bbWeight=1, gcVars=0000000000040010 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
...
  
+0 (0.00%) : 9766.dasm - System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo:GetMemberWithSameMetadataDefinitionAs(System.Reflection.MemberInfo):System.Reflection.MemberInfo:this (FullOpts)
 
+0 (0.00%) : 9752.dasm - System.Reflection.Runtime.BindingFlagSupport.QueriedMemberList1[System.__Canon]:Create(System.Reflection.Runtime.BindingFlagSupport.MemberPolicies1[System.Canon],System.Reflection.Runtime.TypeInfos.RuntimeTypeInfo,System.String,ubyte):System.Reflection.Runtime.BindingFlagSupport.QueriedMemberList`1[System.Canon] (FullOpts)
 
+0 (0.00%) : 12928.dasm - Internal.Runtime.TypeLoader.TypeLoaderEnvironment:FindMatchingInterfaceSlot(Internal.Runtime.TypeLoader.NativeFormatModuleInfo,Internal.NativeFormat.NativeReader,byref,byref,Internal.TypeSystem.InstantiatedMethod,Internal.TypeSystem.DefType,ubyte,ubyte):Internal.TypeSystem.InstantiatedMethod (FullOpts)
@@ -7,71 +7,71 @@
 ; partially interruptible
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] (  4, 68   )     ref  ->  x21         class-hnd exact single-def <Internal.Runtime.TypeLoader.NativeFormatModuleInfo>
-;  V01 arg1         [V01,T19] (  4, 68   )     ref  ->  x22         class-hnd exact single-def <Internal.NativeFormat.NativeReader>
+;  V00 arg0         [V00,T19] (  4, 68   )     ref  ->  x21         class-hnd exact single-def <Internal.Runtime.TypeLoader.NativeFormatModuleInfo>
+;  V01 arg1         [V01,T20] (  4, 68   )     ref  ->  x22         class-hnd exact single-def <Internal.NativeFormat.NativeReader>
 ;  V02 arg2         [V02,T00] ( 26,515   )   byref  ->  x19         single-def
-;  V03 arg3         [V03,T30] (  4, 20   )   byref  ->  x24         single-def
-;  V04 arg4         [V04,T43] (  5,  4.50)     ref  ->  x26         class-hnd exact single-def <Internal.TypeSystem.InstantiatedMethod>
+;  V03 arg3         [V03,T31] (  4, 20   )   byref  ->  x24         single-def
+;  V04 arg4         [V04,T44] (  5,  4.50)     ref  ->  x26         class-hnd exact single-def <Internal.TypeSystem.InstantiatedMethod>
 ;  V05 arg5         [V05,T15] (  7, 99   )     ref  ->  x20         class-hnd single-def <Internal.TypeSystem.DefType>
-;  V06 arg6         [V06,T20] (  3, 66   )   ubyte  ->  x23         single-def
-;  V07 arg7         [V07,T32] (  3, 18   )   ubyte  ->  x25         single-def
-;  V08 loc0         [V08,T47] (  3,  6   )     int  ->  x27         single-def
-;  V09 loc1         [V09,T22] (  4, 66   )     ref  ->  x28         class-hnd exact single-def <<unknown class>>
-;  V10 loc2         [V10,T13] (  4,129   )     ref  ->  [fp+0x30]  class-hnd spill-single-def <Internal.TypeSystem.TypeDesc>
-;  V11 loc3         [V11,T39] (  4, 13   )     int  ->  [fp+0xCC] 
-;  V12 loc4         [V12,T38] (  6, 14   )     int  ->  [fp+0xC8]  spill-single-def
-;  V13 loc5         [V13,T42] (  4,  7   )     ref  ->  [fp+0x28]  class-hnd exact <Internal.Runtime.CompilerServices.MethodNameAndSignature>
+;  V06 arg6         [V06,T21] (  3, 66   )   ubyte  ->  x23         single-def
+;  V07 arg7         [V07,T33] (  3, 18   )   ubyte  ->  x25         single-def
+;  V08 loc0         [V08,T48] (  3,  6   )     int  ->  x27         single-def
+;  V09 loc1         [V09,T23] (  4, 66   )     ref  ->  x28         class-hnd exact single-def <<unknown class>>
+;  V10 loc2         [V10,T16] (  4, 97   )     ref  ->  [fp+0x30]  class-hnd spill-single-def <Internal.TypeSystem.TypeDesc>
+;  V11 loc3         [V11,T40] (  4, 13   )     int  ->  [fp+0xCC] 
+;  V12 loc4         [V12,T39] (  6, 14   )     int  ->  [fp+0xC8]  spill-single-def
+;  V13 loc5         [V13,T43] (  4,  7   )     ref  ->  [fp+0x28]  class-hnd exact <Internal.Runtime.CompilerServices.MethodNameAndSignature>
 ;* V14 loc6         [V14    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.RuntimeTypeHandle>
-;  V15 loc7         [V15,T33] (  3, 20   )   ubyte  ->  [fp+0xC4] 
-;  V16 loc8         [V16,T29] (  3, 24   )     int  ->  [fp+0xC0]  spill-single-def
-;  V17 loc9         [V17,T25] (  4, 52   )     int  ->  [fp+0xBC] 
+;  V15 loc7         [V15,T34] (  3, 20   )   ubyte  ->  [fp+0xC4] 
+;  V16 loc8         [V16,T30] (  3, 24   )     int  ->  [fp+0xC0]  spill-single-def
+;  V17 loc9         [V17,T26] (  4, 52   )     int  ->  [fp+0xBC] 
 ;* V18 loc10        [V18    ] (  0,  0   )  struct ( 8) zero-ref    <System.RuntimeTypeHandle>
-;  V19 loc11        [V19,T12] (  5,160   )     int  ->  [fp+0xB8]  spill-single-def
+;  V19 loc11        [V19,T11] (  5,160   )     int  ->  [fp+0xB8]  spill-single-def
 ;* V20 loc12        [V20    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.RuntimeTypeHandle>
 ;  V21 loc13        [V21,T08] (  4,200   )     int  ->  [fp+0xB4] 
 ;  V22 loc14        [V22,T09] (  4,200   )     int  ->  [fp+0xB0] 
 ;  V23 loc15        [V23    ] (  3,192   )  struct (16) [fp+0xA0]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <Internal.NativeFormat.NativeParser>
 ;  V24 loc16        [V24,T04] (  5,320   )     ref  ->  [fp+0x20]  class-hnd exact spill-single-def <Internal.Runtime.TypeLoader.NativeLayoutInfoLoadContext>
-;  V25 loc17        [V25,T11] ( 11,179   )     ref  ->  [fp+0x18]  class-hnd spill-single-def <Internal.TypeSystem.TypeDesc>
-;  V26 loc18        [V26,T35] (  7, 18.50)     ref  ->  x22         class-hnd <Internal.TypeSystem.DefType>
-;  V27 loc19        [V27,T49] (  3,  5   )     ref  ->  x20         class-hnd <Internal.TypeSystem.DefType[]>
-;  V28 loc20        [V28,T36] (  5, 16.50)     int  ->  x24        
-;  V29 loc21        [V29,T28] (  6, 24   )     ref  ->  x27         class-hnd <Internal.TypeSystem.DefType>
-;  V30 loc22        [V30,T31] (  3, 20   )     ref  ->  x23         class-hnd <Internal.TypeSystem.DefType[]>
-;  V31 loc23        [V31,T21] (  5, 66   )     int  ->  [fp+0x9C] 
+;  V25 loc17        [V25,T12] ( 11,147   )     ref  ->  [fp+0x18]  class-hnd spill-single-def <Internal.TypeSystem.TypeDesc>
+;  V26 loc18        [V26,T36] (  7, 18.50)     ref  ->  x22         class-hnd <Internal.TypeSystem.DefType>
+;  V27 loc19        [V27,T50] (  3,  5   )     ref  ->  x20         class-hnd <Internal.TypeSystem.DefType[]>
+;  V28 loc20        [V28,T37] (  5, 16.50)     int  ->  x24        
+;  V29 loc21        [V29,T29] (  6, 24   )     ref  ->  x27         class-hnd <Internal.TypeSystem.DefType>
+;  V30 loc22        [V30,T32] (  3, 20   )     ref  ->  x23         class-hnd <Internal.TypeSystem.DefType[]>
+;  V31 loc23        [V31,T22] (  5, 66   )     int  ->  [fp+0x9C] 
 ;* V32 loc24        [V32    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <Internal.TypeSystem.DefType>
 ;# V33 OutArgs      [V33    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V34 tmp1         [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <Internal.Runtime.TypeLoader.NativeLayoutInfoLoadContext>
 ;  V35 tmp2         [V35,T06] (  2,256   )     ref  ->   x0         class-hnd exact "impAppendStmt" <Internal.Runtime.TypeLoader.ModuleList>
 ;* V36 tmp3         [V36    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <Internal.Runtime.TypeManagerHandle>
-;  V37 tmp4         [V37,T55] (  3,  2.25)     ref  ->   x1         "CASTCLASS eval op1"
-;  V38 tmp5         [V38,T63] (  3,  1.25)    long  ->   x2         "fgMakeTemp is creating a new local variable"
-;  V39 tmp6         [V39,T52] (  5,  3.75)     ref  ->  x22         class-hnd "spilling QMark2" <Internal.TypeSystem.DefType>
+;  V37 tmp4         [V37,T56] (  3,  2.25)     ref  ->   x1         "CASTCLASS eval op1"
+;  V38 tmp5         [V38,T64] (  3,  1.25)    long  ->   x2         "fgMakeTemp is creating a new local variable"
+;  V39 tmp6         [V39,T53] (  5,  3.75)     ref  ->  x22         class-hnd "spilling QMark2" <Internal.TypeSystem.DefType>
 ;* V40 tmp7         [V40    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <Internal.TypeSystem.Instantiation>
-;  V41 tmp8         [V41,T56] (  3,  2   )     ref  ->   x1         "CASTCLASS eval op1"
-;  V42 tmp9         [V42,T64] (  3,  1   )    long  ->   x3         "fgMakeTemp is creating a new local variable"
-;  V43 tmp10        [V43,T53] (  4,  3.50)     ref  ->   x0         class-hnd exact "spilling QMark2" <Internal.TypeSystem.InstantiatedMethod>
-;  V44 tmp11        [V44,T54] (  3,  2.50)    long  ->   x1         "fgMakeTemp is creating a new local variable"
-;  V45 tmp12        [V45,T57] (  3,  2   )     ref  ->   x0         class-hnd "spilling QMark2" <Internal.TypeSystem.DefType>
-;  V46 tmp13        [V46,T67] (  3,  0   )     ref  ->  x19         class-hnd exact "NewObj constructor temp" <<unknown class>>
-;  V47 tmp14        [V47,T68] (  3,  0   )     ref  ->  x19         class-hnd exact "NewObj constructor temp" <<unknown class>>
+;  V41 tmp8         [V41,T57] (  3,  2   )     ref  ->   x1         "CASTCLASS eval op1"
+;  V42 tmp9         [V42,T65] (  3,  1   )    long  ->   x3         "fgMakeTemp is creating a new local variable"
+;  V43 tmp10        [V43,T54] (  4,  3.50)     ref  ->   x0         class-hnd exact "spilling QMark2" <Internal.TypeSystem.InstantiatedMethod>
+;  V44 tmp11        [V44,T55] (  3,  2.50)    long  ->   x1         "fgMakeTemp is creating a new local variable"
+;  V45 tmp12        [V45,T58] (  3,  2   )     ref  ->   x0         class-hnd "spilling QMark2" <Internal.TypeSystem.DefType>
+;  V46 tmp13        [V46,T68] (  3,  0   )     ref  ->  x19         class-hnd exact "NewObj constructor temp" <<unknown class>>
+;  V47 tmp14        [V47,T69] (  3,  0   )     ref  ->  x19         class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V48 tmp15        [V48    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <Internal.Runtime.TypeManagerHandle>
 ;  V49 tmp16        [V49    ] (  2,  2   )     int  ->  [fp+0x90]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
-;  V50 tmp17        [V50,T59] (  4,  1.50)     ref  ->  registers   "guarded devirt return temp"
-;  V51 tmp18        [V51,T48] (  6,  5.66)     ref  ->   x0         single-def "guarded devirt arg temp"
+;  V50 tmp17        [V50,T60] (  4,  1.50)     ref  ->  registers   "guarded devirt return temp"
+;  V51 tmp18        [V51,T49] (  6,  5.66)     ref  ->   x0         single-def "guarded devirt arg temp"
 ;* V52 tmp19        [V52    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Internal.TypeSystem.NoMetadata.RuntimeMethodDesc>
 ;* V53 tmp20        [V53    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Internal.TypeSystem.InstantiatedMethod>
 ;* V54 tmp21        [V54    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <Internal.TypeSystem.MethodForInstantiatedType>
 ;  V55 tmp22        [V55    ] (  3, 12   )     int  ->  [fp+0x88]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;  V56 tmp23        [V56    ] (  3,  6   )     int  ->  [fp+0x80]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
-;  V57 tmp24        [V57,T41] (  2,  8   )     int  ->   x1         "Inlining Arg"
+;  V57 tmp24        [V57,T42] (  2,  8   )     int  ->   x1         "Inlining Arg"
 ;* V58 tmp25        [V58    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V59 tmp26        [V59    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.RuntimeTypeHandle>
 ;* V60 tmp27        [V60    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.RuntimeTypeHandle>
-;  V61 tmp28        [V61,T40] (  2,  8   )   byref  ->   x0         "Inlining Arg"
+;  V61 tmp28        [V61,T41] (  2,  8   )   byref  ->   x0         "Inlining Arg"
 ;  V62 tmp29        [V62    ] (  3, 12   )     int  ->  [fp+0x78]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
 ;  V63 tmp30        [V63    ] (  3, 48   )     int  ->  [fp+0x70]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
-;  V64 tmp31        [V64,T24] (  2, 64   )     int  ->   x1         "Inlining Arg"
+;  V64 tmp31        [V64,T25] (  2, 64   )     int  ->   x1         "Inlining Arg"
 ;* V65 tmp32        [V65    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V66 tmp33        [V66    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.RuntimeTypeHandle>
 ;  V67 tmp34        [V67    ] (  3, 48   )     int  ->  [fp+0x68]  do-not-enreg[X] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
@@ -84,52 +84,53 @@
 ;  V74 tmp41        [V74,T10] (  3,192   )     ref  ->   x0         class-hnd exact "Inline stloc first use temp" <<unknown class>>
 ;* V75 tmp42        [V75    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <<unknown class>>
 ;  V76 tmp43        [V76,T05] (  3,256   )     ref  ->   x1         "CASTCLASS eval op1"
-;  V77 tmp44        [V77,T23] (  3, 64   )    long  ->   x0         "fgMakeTemp is creating a new local variable"
+;  V77 tmp44        [V77,T24] (  3, 64   )    long  ->   x0         "fgMakeTemp is creating a new local variable"
 ;  V78 tmp45        [V78,T01] (  4,416   )     ref  ->  x15         class-hnd exact "spilling QMark2" <Internal.Runtime.TypeLoader.NativeFormatModuleInfo>
 ;* V79 tmp46        [V79    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.RuntimeTypeHandle>
-;  V80 tmp47        [V80,T58] (  2,  2   )   byref  ->   x0         "Inlining Arg"
+;  V80 tmp47        [V80,T59] (  2,  2   )   byref  ->   x0         "Inlining Arg"
 ;* V81 tmp48        [V81    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.RuntimeTypeHandle>
-;* V82 tmp49        [V82,T66] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
+;* V82 tmp49        [V82,T67] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V83 tmp50        [V83    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline stloc first use temp" <Internal.TypeSystem.Instantiation>
 ;* V84 tmp51        [V84    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Internal.TypeSystem.TypeDesc>
 ;* V85 tmp52        [V85    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.RuntimeTypeHandle>
-;  V86 tmp53        [V86,T60] (  3,  1.50)     ref  ->  x20         class-hnd "Inline return value spill temp" <Internal.TypeSystem.DefType[]>
+;  V86 tmp53        [V86,T61] (  3,  1.50)     ref  ->  x20         class-hnd "Inline return value spill temp" <Internal.TypeSystem.DefType[]>
 ;* V87 tmp54        [V87    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <Internal.TypeSystem.TypeDesc>
 ;* V88 tmp55        [V88    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.RuntimeTypeHandle>
-;  V89 tmp56        [V89,T44] (  3,  6   )     ref  ->  x23         class-hnd "Inline return value spill temp" <Internal.TypeSystem.DefType[]>
+;  V89 tmp56        [V89,T45] (  3,  6   )     ref  ->  x23         class-hnd "Inline return value spill temp" <Internal.TypeSystem.DefType[]>
 ;* V90 tmp57        [V90    ] (  0,  0   )     int  ->  zero-ref   
 ;* V91 tmp58        [V91    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V92 tmp59        [V92    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V93 tmp60        [V93    ] (  0,  0   )     int  ->  zero-ref   
 ;* V94 tmp61        [V94    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V95 tmp62        [V95    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V96 tmp63        [V96,T37] (  7, 13.50)    long  ->  [fp+0x50]  "field V14._value (fldOffset=0x0)" P-INDEP
+;  V96 tmp63        [V96,T38] (  7, 13.50)    long  ->  [fp+0x50]  "field V14._value (fldOffset=0x0)" P-INDEP
 ;* V97 tmp64        [V97    ] (  0,  0   )    long  ->  zero-ref    "field V18._value (fldOffset=0x0)" P-INDEP
-;  V98 tmp65        [V98,T26] (  6, 41   )    long  ->   x3         "field V20._value (fldOffset=0x0)" P-INDEP
+;  V98 tmp65        [V98,T27] (  6, 41   )    long  ->   x3         "field V20._value (fldOffset=0x0)" P-INDEP
 ;  V99 tmp66        [V99    ] (  2,128   )     ref  ->  [fp+0xA0]  do-not-enreg[X] addr-exposed "field V23._reader (fldOffset=0x0)" P-DEP
 ;  V100 tmp67       [V100    ] (  2,128   )     int  ->  [fp+0xA8]  do-not-enreg[X] addr-exposed "field V23._offset (fldOffset=0x8)" P-DEP
-;  V101 tmp68       [V101,T14] (  2,128   )    long  ->   x1         "field V36._handleValue (fldOffset=0x0)" P-INDEP
+;  V101 tmp68       [V101,T13] (  2,128   )    long  ->   x1         "field V36._handleValue (fldOffset=0x0)" P-INDEP
 ;* V102 tmp69       [V102    ] (  0,  0   )     ref  ->  zero-ref    "field V40._genericParameters (fldOffset=0x0)" P-INDEP
 ;* V103 tmp70       [V103    ] (  0,  0   )    long  ->  zero-ref    "field V48._handleValue (fldOffset=0x0)" P-INDEP
-;  V104 tmp71       [V104,T51] (  2,  4   )    long  ->   x5         "field V59._value (fldOffset=0x0)" P-INDEP
+;  V104 tmp71       [V104,T52] (  2,  4   )    long  ->   x5         "field V59._value (fldOffset=0x0)" P-INDEP
 ;* V105 tmp72       [V105    ] (  0,  0   )    long  ->  zero-ref    "field V60._value (fldOffset=0x0)" P-INDEP
-;  V106 tmp73       [V106,T27] (  2, 32   )    long  ->  [fp+0x48]  spill-single-def "field V66._value (fldOffset=0x0)" P-INDEP
+;  V106 tmp73       [V106,T28] (  2, 32   )    long  ->  [fp+0x48]  spill-single-def "field V66._value (fldOffset=0x0)" P-INDEP
 ;* V107 tmp74       [V107    ] (  0,  0   )    long  ->  zero-ref    "field V69._value (fldOffset=0x0)" P-INDEP
 ;* V108 tmp75       [V108    ] (  0,  0   )    long  ->  zero-ref    "field V79._value (fldOffset=0x0)" P-INDEP
 ;* V109 tmp76       [V109    ] (  0,  0   )    long  ->  zero-ref    "field V81._value (fldOffset=0x0)" P-INDEP
-;  V110 tmp77       [V110,T65] (  2,  1   )     ref  ->   x0         "field V83._genericParameters (fldOffset=0x0)" P-INDEP
+;  V110 tmp77       [V110,T66] (  2,  1   )     ref  ->   x0         "field V83._genericParameters (fldOffset=0x0)" P-INDEP
 ;* V111 tmp78       [V111    ] (  0,  0   )    long  ->  zero-ref    "field V85._value (fldOffset=0x0)" P-INDEP
 ;* V112 tmp79       [V112    ] (  0,  0   )    long  ->  zero-ref    "field V88._value (fldOffset=0x0)" P-INDEP
-;  V113 tmp80       [V113,T45] (  3,  6   )     ref  ->   x0         single-def "argument with side effect"
+;  V113 tmp80       [V113,T46] (  3,  6   )     ref  ->   x0         single-def "argument with side effect"
 ;  V114 tmp81       [V114,T02] (  3,384   )     ref  ->  [fp+0x10]  spill-single-def "arr expr"
 ;  V115 tmp82       [V115,T03] (  3,384   )     int  ->   x0         "index expr"
-;  V116 tmp83       [V116,T16] (  3, 96   )     ref  ->   x0         "argument with side effect"
-;  V117 cse0        [V117,T62] (  3,  1.50)     int  ->   x0         "CSE - moderate"
-;  V118 cse1        [V118,T46] (  3,  6   )     ref  ->  x23         "CSE - moderate"
-;  V119 cse2        [V119,T61] (  3,  1.50)     ref  ->  x23         "CSE - moderate"
-;  V120 cse3        [V120,T17] (  3, 96   )    long  ->  [fp+0x40]  spill-single-def "CSE - moderate"
-;  V121 cse4        [V121,T34] (  3, 20   )     int  ->  [fp+0x3C]  spill-single-def "CSE - moderate"
-;  V122 cse5        [V122,T50] (  3,  5   )     int  ->  x25         "CSE - moderate"
+;  V116 tmp83       [V116,T17] (  3, 96   )     ref  ->   x0         "argument with side effect"
+;  V117 cse0        [V117,T63] (  3,  1.50)     int  ->   x0         "CSE - moderate"
+;  V118 cse1        [V118,T47] (  3,  6   )     ref  ->  x23         "CSE - moderate"
+;  V119 cse2        [V119,T62] (  3,  1.50)     ref  ->  x23         "CSE - moderate"
+;  V120 cse3        [V120,T18] (  3, 96   )    long  ->  [fp+0x40]  spill-single-def "CSE - moderate"
+;  V121 cse4        [V121,T14] (  2,128   )     int  ->   x0         "CSE - aggressive"
+;  V122 cse5        [V122,T35] (  3, 20   )     int  ->  [fp+0x3C]  spill-single-def "CSE - moderate"
+;  V123 cse6        [V123,T51] (  3,  5   )     int  ->  x25         "CSE - moderate"
 ;
 ; Lcl frame size = 192
 
@@ -221,7 +222,7 @@ G_M18606_IG07:        ; bbWeight=1, gcrefRegs=14700002 {x1 x20 x21 x22 x26 x28},
             str     wzr, [fp, #0xCC]   // [V11 loc3]
             cbz     w27, G_M18606_IG26
                        ;; size=12 bbWeight=1 PerfScore 3.00
-G_M18606_IG08:        ; bbWeight=4, gcVars=00000000000000000000000000002000 {V10}, gcrefRegs=14700000 {x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, gcvars, byref, isz
+G_M18606_IG08:        ; bbWeight=4, gcVars=00000000000000000000000000010000 {V10}, gcrefRegs=14700000 {x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, gcvars, byref, isz
             ; gcrRegs -[x1]
             str     wzr, [fp, #0x88]   // [V55 tmp22]
             ldr     x0, [x19]
@@ -278,7 +279,7 @@ G_M18606_IG09:        ; bbWeight=2, gcrefRegs=14700000 {x20 x21 x22 x26 x28}, by
             str     w4, [fp, #0xC4]    // [V15 loc7]
             b       G_M18606_IG11
                        ;; size=104 bbWeight=2 PerfScore 64.00
-G_M18606_IG10:        ; bbWeight=2, gcVars=00000000000000000000000000002000 {V10}, gcrefRegs=14700010 {x4 x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, gcvars, byref
+G_M18606_IG10:        ; bbWeight=2, gcVars=00000000000000000000000000010000 {V10}, gcrefRegs=14700010 {x4 x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, gcvars, byref
             ; gcrRegs +[x4]
             ; GC ptr vars -{V13}
             mov     w0, #1
@@ -287,7 +288,7 @@ G_M18606_IG10:        ; bbWeight=2, gcVars=00000000000000000000000000002000 {V10
             str     x4, [fp, #0x28]    // [V13 loc5]
             ; GC ptr vars +{V13}
                        ;; size=16 bbWeight=2 PerfScore 7.00
-G_M18606_IG11:        ; bbWeight=4, gcVars=00000000000000000000040000002000 {V10 V13}, gcrefRegs=14700000 {x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, gcvars, byref, isz
+G_M18606_IG11:        ; bbWeight=4, gcVars=00000000000000000000080000010000 {V10 V13}, gcrefRegs=14700000 {x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, gcvars, byref, isz
             ; gcrRegs -[x4]
             str     wzr, [fp, #0x78]   // [V62 tmp29]
             ldr     x0, [x19]
@@ -399,7 +400,7 @@ G_M18606_IG17:        ; bbWeight=64, gcrefRegs=14700000 {x20 x21 x22 x26 x28}, b
             ldr     x0, [x0, #-0x08]
             cbnz    x0, G_M18606_IG53
                        ;; size=72 bbWeight=64 PerfScore 1568.00
-G_M18606_IG18:        ; bbWeight=64, gcVars=00000000000000000000040000002010 {V10 V13 V24}, gcrefRegs=14700000 {x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, gcvars, byref, isz
+G_M18606_IG18:        ; bbWeight=64, gcVars=00000000000000000000080000010010 {V10 V13 V24}, gcrefRegs=14700000 {x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, gcvars, byref, isz
             adrp    x0, [HIGH RELOC #0xD1FFAB1E]
             add     x0, x0, [LOW RELOC #0xD1FFAB1E]
             ldr     x0, [x0]
@@ -429,7 +430,7 @@ G_M18606_IG18:        ; bbWeight=64, gcVars=00000000000000000000040000002010 {V1
             ; gcrRegs +[x15]
             cbz     x15, G_M18606_IG20
                        ;; size=76 bbWeight=64 PerfScore 2272.00
-G_M18606_IG19:        ; bbWeight=16, gcVars=00000000000000000000040000002010 {V10 V13 V24}, gcrefRegs=14708002 {x1 x15 x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, gcvars, byref, isz
+G_M18606_IG19:        ; bbWeight=16, gcVars=00000000000000000000080000010010 {V10 V13 V24}, gcrefRegs=14708002 {x1 x15 x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, gcvars, byref, isz
             ; byrRegs -[x14]
             ; GC ptr vars -{V114}
             ldr     x14, [x15]
@@ -478,11 +479,11 @@ G_M18606_IG20:        ; bbWeight=64, gcrefRegs=14708000 {x15 x20 x21 x22 x26 x28
             ; gcrRegs +[x2]
             str     x2, [fp, #0x18]    // [V25 loc17]
             ; GC ptr vars +{V25}
-            tst     w23, #255
-            bne     G_M18606_IG22
-                       ;; size=84 bbWeight=64 PerfScore 1344.00
-G_M18606_IG21:        ; bbWeight=32, gcVars=00000000000000000000040000002800 {V10 V13 V25}, gcrefRegs=14700004 {x2 x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, gcvars, byref, isz
+            uxtb    w0, w23
             ; gcrRegs -[x0]
+            cbnz    w0, G_M18606_IG22
+                       ;; size=84 bbWeight=64 PerfScore 1344.00
+G_M18606_IG21:        ; bbWeight=32, gcVars=00000000000000000000080000011000 {V10 V13 V25}, gcrefRegs=14700004 {x2 x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, gcvars, byref, isz
             ldr     x0, [fp, #0x30]    // [V10 loc2]
             ; gcrRegs +[x0]
             mov     x1, x2
@@ -494,7 +495,7 @@ G_M18606_IG21:        ; bbWeight=32, gcVars=00000000000000000000040000002800 {V1
             cbnz    w0, G_M18606_IG28
             b       G_M18606_IG23
                        ;; size=28 bbWeight=32 PerfScore 368.00
-G_M18606_IG22:        ; bbWeight=64, gcrefRegs=14700004 {x2 x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, byref, isz
+G_M18606_IG22:        ; bbWeight=32, gcrefRegs=14700004 {x2 x20 x21 x22 x26 x28}, byrefRegs=1080000 {x19 x24}, byref, isz
...
  
  
  
Details
Improvements/regressions per collection
| Collection | Contexts with diffs | Improvements | Regressions | Same size | Improvements (bytes) | Regressions (bytes) | 
| benchmarks.run.windows.arm64.checked.mch | 17 | 17 | 0 | 0 | -148 | +0 | 
| benchmarks.run_pgo.windows.arm64.checked.mch | 73 | 16 | 56 | 1 | -296 | +984 | 
| benchmarks.run_tiered.windows.arm64.checked.mch | 9 | 9 | 0 | 0 | -76 | +0 | 
| coreclr_tests.run.windows.arm64.checked.mch | 47 | 43 | 3 | 1 | -748 | +12 | 
| libraries.crossgen2.windows.arm64.checked.mch | 26 | 23 | 2 | 1 | -216 | +20 | 
| libraries.pmi.windows.arm64.checked.mch | 175 | 160 | 8 | 7 | -2,628 | +72 | 
| libraries_tests.run.windows.arm64.Release.mch | 34 | 31 | 3 | 0 | -464 | +16 | 
| librariestestsnotieredcompilation.run.windows.arm64.Release.mch | 229 | 186 | 11 | 32 | -2,616 | +84 | 
| realworld.run.windows.arm64.checked.mch | 36 | 36 | 0 | 0 | -400 | +0 | 
| smoke_tests.nativeaot.windows.arm64.checked.mch | 14 | 9 | 0 | 5 | -120 | +0 | 
|  | 660 | 530 | 83 | 47 | -7,712 | +1,188 | 
Context information
| Collection | Diffed contexts | MinOpts | FullOpts | Missed, base | Missed, diff | 
| benchmarks.run.windows.arm64.checked.mch | 24,427 | 4 | 24,423 | 49 (0.20%) | 49 (0.20%) | 
| benchmarks.run_pgo.windows.arm64.checked.mch | 74,716 | 40,165 | 34,551 | 53 (0.07%) | 53 (0.07%) | 
| benchmarks.run_tiered.windows.arm64.checked.mch | 48,580 | 36,755 | 11,825 | 47 (0.10%) | 47 (0.10%) | 
| coreclr_tests.run.windows.arm64.checked.mch | 366,979 | 161,422 | 205,557 | 118 (0.03%) | 118 (0.03%) | 
| libraries.crossgen2.windows.arm64.checked.mch | 274,538 | 15 | 274,523 | 1 (0.00%) | 1 (0.00%) | 
| libraries.pmi.windows.arm64.checked.mch | 305,617 | 6 | 305,611 | 48 (0.02%) | 50 (0.02%) | 
| libraries_tests.run.windows.arm64.Release.mch | 10,746 | 3,531 | 7,215 | 0 (0.00%) | 0 (0.00%) | 
| librariestestsnotieredcompilation.run.windows.arm64.Release.mch | 315,067 | 21,618 | 293,449 | 2,287 (0.72%) | 2,289 (0.72%) | 
| realworld.run.windows.arm64.checked.mch | 33,281 | 3 | 33,278 | 13 (0.04%) | 13 (0.04%) | 
| smoke_tests.nativeaot.windows.arm64.checked.mch | 24,055 | 8 | 24,047 | 135 (0.56%) | 135 (0.56%) | 
|  | 1,478,006 | 263,527 | 1,214,479 | 2,751 (0.19%) | 2,755 (0.19%) | 
jit-analyze output
benchmarks.run.windows.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 10887636 (overridden on cmd)
Total bytes of diff: 10887488 (overridden on cmd)
Total bytes of delta: -148 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file improvements (bytes):
         -24 : 3190.dasm (-4.92 % of base)
         -12 : 12547.dasm (-0.60 % of base)
         -12 : 58.dasm (-1.06 % of base)
         -12 : 6831.dasm (-1.94 % of base)
         -12 : 7561.dasm (-0.34 % of base)
         -12 : 945.dasm (-1.44 % of base)
          -8 : 9070.dasm (-0.15 % of base)
          -8 : 5293.dasm (-0.90 % of base)
          -8 : 6573.dasm (-1.82 % of base)
          -8 : 828.dasm (-0.15 % of base)
          -8 : 5532.dasm (-0.33 % of base)
          -4 : 21110.dasm (-0.04 % of base)
          -4 : 5851.dasm (-0.39 % of base)
          -4 : 21835.dasm (-0.43 % of base)
          -4 : 5337.dasm (-0.60 % of base)
          -4 : 22084.dasm (-0.19 % of base)
          -4 : 7842.dasm (-0.29 % of base)
17 total files with Code Size differences (17 improved, 0 regressed), 0 unchanged.
Top method improvements (bytes):
         -24 (-4.92 % of base) : 3190.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -12 (-0.34 % of base) : 7561.dasm - ProtoBuf.Internal.Serializers.TypeSerializer`1[System.__Canon]:ProtoBuf.Internal.Serializers.IRuntimeProtoSerializerNode.EmitRead(ProtoBuf.Compiler.CompilerContext,ProtoBuf.Compiler.Local):this (FullOpts)
         -12 (-1.44 % of base) : 945.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
         -12 (-1.06 % of base) : 58.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
         -12 (-0.60 % of base) : 12547.dasm - System.Formats.Tar.TarReader+<DisposeAsync>d__8:MoveNext():this (FullOpts)
         -12 (-1.94 % of base) : 6831.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -8 (-0.15 % of base) : 9070.dasm - Jil.Deserialize.InlineDeserializer`1[System.__Canon]:ReadObjectAutomata(System.Type):this (FullOpts)
          -8 (-1.82 % of base) : 6573.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
          -8 (-0.33 % of base) : 5532.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (FullOpts)
          -8 (-0.15 % of base) : 828.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
          -8 (-0.90 % of base) : 5293.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
          -4 (-0.60 % of base) : 5337.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -4 (-0.43 % of base) : 21835.dasm - System.IO.BinaryReader:Read():int:this (FullOpts)
          -4 (-0.19 % of base) : 22084.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -4 (-0.04 % of base) : 21110.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (FullOpts)
          -4 (-0.29 % of base) : 7842.dasm - System.Text.RegularExpressions.RegexWriter:EmitCode():System.Text.RegularExpressions.RegexInterpreterCode:this (FullOpts)
          -4 (-0.39 % of base) : 5851.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
Top method improvements (percentages):
         -24 (-4.92 % of base) : 3190.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -12 (-1.94 % of base) : 6831.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -8 (-1.82 % of base) : 6573.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
         -12 (-1.44 % of base) : 945.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
         -12 (-1.06 % of base) : 58.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
          -8 (-0.90 % of base) : 5293.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
          -4 (-0.60 % of base) : 5337.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
         -12 (-0.60 % of base) : 12547.dasm - System.Formats.Tar.TarReader+<DisposeAsync>d__8:MoveNext():this (FullOpts)
          -4 (-0.43 % of base) : 21835.dasm - System.IO.BinaryReader:Read():int:this (FullOpts)
          -4 (-0.39 % of base) : 5851.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
         -12 (-0.34 % of base) : 7561.dasm - ProtoBuf.Internal.Serializers.TypeSerializer`1[System.__Canon]:ProtoBuf.Internal.Serializers.IRuntimeProtoSerializerNode.EmitRead(ProtoBuf.Compiler.CompilerContext,ProtoBuf.Compiler.Local):this (FullOpts)
          -8 (-0.33 % of base) : 5532.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (FullOpts)
          -4 (-0.29 % of base) : 7842.dasm - System.Text.RegularExpressions.RegexWriter:EmitCode():System.Text.RegularExpressions.RegexInterpreterCode:this (FullOpts)
          -4 (-0.19 % of base) : 22084.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -8 (-0.15 % of base) : 9070.dasm - Jil.Deserialize.InlineDeserializer`1[System.__Canon]:ReadObjectAutomata(System.Type):this (FullOpts)
          -8 (-0.15 % of base) : 828.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
          -4 (-0.04 % of base) : 21110.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (FullOpts)
17 total methods with Code Size differences (17 improved, 0 regressed).
  
benchmarks.run_pgo.windows.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 36162312 (overridden on cmd)
Total bytes of diff: 36163000 (overridden on cmd)
Total bytes of delta: 688 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          64 : 74758.dasm (1.19 % of base)
          52 : 73401.dasm (1.37 % of base)
          48 : 71839.dasm (1.27 % of base)
          44 : 70462.dasm (1.16 % of base)
          44 : 72986.dasm (1.16 % of base)
          44 : 71558.dasm (1.35 % of base)
          40 : 70289.dasm (1.14 % of base)
          40 : 68975.dasm (1.17 % of base)
          40 : 68400.dasm (1.21 % of base)
          36 : 46616.dasm (1.18 % of base)
          32 : 23943.dasm (0.91 % of base)
          32 : 67034.dasm (1.04 % of base)
          28 : 15915.dasm (0.86 % of base)
          20 : 55775.dasm (1.00 % of base)
          20 : 66343.dasm (0.63 % of base)
          20 : 29359.dasm (0.59 % of base)
          16 : 66010.dasm (0.51 % of base)
          12 : 60095.dasm (0.61 % of base)
          12 : 73475.dasm (0.61 % of base)
          12 : 59940.dasm (0.61 % of base)
Top file improvements (bytes):
         -40 : 74394.dasm (-1.62 % of base)
         -40 : 54125.dasm (-2.19 % of base)
         -40 : 60588.dasm (-1.67 % of base)
         -40 : 70533.dasm (-1.62 % of base)
         -20 : 63676.dasm (-2.87 % of base)
         -16 : 39120.dasm (-1.29 % of base)
         -16 : 9136.dasm (-1.29 % of base)
         -16 : 42670.dasm (-1.29 % of base)
         -12 : 12200.dasm (-2.52 % of base)
         -12 : 66177.dasm (-0.36 % of base)
         -12 : 13108.dasm (-1.30 % of base)
         -12 : 58443.dasm (-0.95 % of base)
          -8 : 2421.dasm (-0.15 % of base)
          -4 : 57878.dasm (-0.18 % of base)
          -4 : 55663.dasm (-0.25 % of base)
          -4 : 66152.dasm (-3.23 % of base)
51 total files with Code Size differences (16 improved, 35 regressed), 1 unchanged.
Top method regressions (bytes):
          64 (1.19 % of base) : 74758.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          52 (1.37 % of base) : 73401.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          48 (1.27 % of base) : 71839.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          44 (1.16 % of base) : 70462.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          44 (1.16 % of base) : 72986.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          44 (1.35 % of base) : 71558.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          40 (1.14 % of base) : 70289.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          40 (1.17 % of base) : 68975.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          40 (1.21 % of base) : 68400.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          36 (1.18 % of base) : 46616.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          32 (0.91 % of base) : 23943.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          32 (1.04 % of base) : 67034.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          28 (0.86 % of base) : 15915.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          20 (0.59 % of base) : 29359.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          20 (1.00 % of base) : 55775.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          20 (0.63 % of base) : 66343.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          16 (0.51 % of base) : 66010.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          12 (0.61 % of base) : 60095.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          12 (0.61 % of base) : 73475.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          12 (0.61 % of base) : 59940.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
Top method improvements (bytes):
         -40 (-2.19 % of base) : 54125.dasm - LinqBenchmarks:Where00LinqQueryX():ubyte:this (Tier1-OSR)
         -40 (-1.67 % of base) : 60588.dasm - LinqBenchmarks:Where01LinqMethodNestedX():ubyte:this (Tier1-OSR)
         -40 (-1.62 % of base) : 74394.dasm - System.Linq.Lookup`2[System.__Canon,System.__Canon]:Create(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Linq.Lookup`2[System.__Canon,System.__Canon] (Tier1)
         -40 (-1.62 % of base) : 70533.dasm - System.Linq.Lookup`2[System.__Canon,System.__Canon]:Create(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Linq.Lookup`2[System.__Canon,System.__Canon] (Tier1)
         -20 (-2.87 % of base) : 63676.dasm - System.Linq.Enumerable:Count[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (Tier1)
         -16 (-1.29 % of base) : 39120.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
         -16 (-1.29 % of base) : 9136.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
         -16 (-1.29 % of base) : 42670.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
         -12 (-0.36 % of base) : 66177.dasm - BenchmarksGame.pidigits:Run(ubyte):this (Tier1-OSR)
         -12 (-2.52 % of base) : 12200.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -12 (-0.95 % of base) : 58443.dasm - System.Reflection.RuntimeParameterInfo:GetParameters(System.IRuntimeMethodInfo,System.Reflection.MemberInfo,System.Signature,byref,ubyte):System.Reflection.ParameterInfo[] (Tier1)
         -12 (-1.30 % of base) : 13108.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (Tier0-FullOpts)
          -8 (-0.15 % of base) : 2421.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (Tier0-FullOpts)
          -4 (-0.18 % of base) : 57878.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -4 (-0.25 % of base) : 55663.dasm - System.IO.File:WriteToFile(System.String,int,System.String,System.Text.Encoding) (Tier0-FullOpts)
          -4 (-3.23 % of base) : 66152.dasm - System.Numerics.BigIntegerCalculator:Compare(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint]):int (Tier1)
Top method regressions (percentages):
          52 (1.37 % of base) : 73401.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          44 (1.35 % of base) : 71558.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          48 (1.27 % of base) : 71839.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          40 (1.21 % of base) : 68400.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          64 (1.19 % of base) : 74758.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          36 (1.18 % of base) : 46616.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          40 (1.17 % of base) : 68975.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          44 (1.16 % of base) : 72986.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          44 (1.16 % of base) : 70462.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          40 (1.14 % of base) : 70289.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          32 (1.04 % of base) : 67034.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          20 (1.00 % of base) : 55775.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          32 (0.91 % of base) : 23943.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          28 (0.86 % of base) : 15915.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          20 (0.63 % of base) : 66343.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          12 (0.62 % of base) : 24644.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          12 (0.61 % of base) : 60095.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          12 (0.61 % of base) : 73475.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          12 (0.61 % of base) : 39457.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          12 (0.61 % of base) : 58857.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
Top method improvements (percentages):
          -4 (-3.23 % of base) : 66152.dasm - System.Numerics.BigIntegerCalculator:Compare(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint]):int (Tier1)
         -20 (-2.87 % of base) : 63676.dasm - System.Linq.Enumerable:Count[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (Tier1)
         -12 (-2.52 % of base) : 12200.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -40 (-2.19 % of base) : 54125.dasm - LinqBenchmarks:Where00LinqQueryX():ubyte:this (Tier1-OSR)
         -40 (-1.67 % of base) : 60588.dasm - LinqBenchmarks:Where01LinqMethodNestedX():ubyte:this (Tier1-OSR)
         -40 (-1.62 % of base) : 74394.dasm - System.Linq.Lookup`2[System.__Canon,System.__Canon]:Create(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Linq.Lookup`2[System.__Canon,System.__Canon] (Tier1)
         -40 (-1.62 % of base) : 70533.dasm - System.Linq.Lookup`2[System.__Canon,System.__Canon]:Create(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Linq.Lookup`2[System.__Canon,System.__Canon] (Tier1)
         -12 (-1.30 % of base) : 13108.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (Tier0-FullOpts)
         -16 (-1.29 % of base) : 42670.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
         -16 (-1.29 % of base) : 39120.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
         -16 (-1.29 % of base) : 9136.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
         -12 (-0.95 % of base) : 58443.dasm - System.Reflection.RuntimeParameterInfo:GetParameters(System.IRuntimeMethodInfo,System.Reflection.MemberInfo,System.Signature,byref,ubyte):System.Reflection.ParameterInfo[] (Tier1)
         -12 (-0.36 % of base) : 66177.dasm - BenchmarksGame.pidigits:Run(ubyte):this (Tier1-OSR)
          -4 (-0.25 % of base) : 55663.dasm - System.IO.File:WriteToFile(System.String,int,System.String,System.Text.Encoding) (Tier0-FullOpts)
          -4 (-0.18 % of base) : 57878.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -8 (-0.15 % of base) : 2421.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (Tier0-FullOpts)
  
benchmarks.run_tiered.windows.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 15269056 (overridden on cmd)
Total bytes of diff: 15268980 (overridden on cmd)
Total bytes of delta: -76 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file improvements (bytes):
         -24 : 8071.dasm (-4.92 % of base)
         -12 : 5823.dasm (-1.06 % of base)
          -8 : 43922.dasm (-0.33 % of base)
          -8 : 2237.dasm (-0.15 % of base)
          -8 : 8678.dasm (-0.90 % of base)
          -4 : 22038.dasm (-0.29 % of base)
          -4 : 44107.dasm (-0.43 % of base)
          -4 : 44428.dasm (-0.19 % of base)
          -4 : 17343.dasm (-0.60 % of base)
9 total files with Code Size differences (9 improved, 0 regressed), 0 unchanged.
Top method improvements (bytes):
         -24 (-4.92 % of base) : 8071.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -12 (-1.06 % of base) : 5823.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -8 (-0.33 % of base) : 43922.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (Tier1)
          -8 (-0.15 % of base) : 2237.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (Tier0-FullOpts)
          -8 (-0.90 % of base) : 8678.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (Tier0-FullOpts)
          -4 (-0.60 % of base) : 17343.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
          -4 (-0.43 % of base) : 44107.dasm - System.IO.BinaryReader:Read():int:this (Tier0-FullOpts)
          -4 (-0.19 % of base) : 44428.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -4 (-0.29 % of base) : 22038.dasm - System.Text.RegularExpressions.RegexWriter:EmitCode():System.Text.RegularExpressions.RegexInterpreterCode:this (Tier1)
Top method improvements (percentages):
         -24 (-4.92 % of base) : 8071.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -12 (-1.06 % of base) : 5823.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -8 (-0.90 % of base) : 8678.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (Tier0-FullOpts)
          -4 (-0.60 % of base) : 17343.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
          -4 (-0.43 % of base) : 44107.dasm - System.IO.BinaryReader:Read():int:this (Tier0-FullOpts)
          -8 (-0.33 % of base) : 43922.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (Tier1)
          -4 (-0.29 % of base) : 22038.dasm - System.Text.RegularExpressions.RegexWriter:EmitCode():System.Text.RegularExpressions.RegexInterpreterCode:this (Tier1)
          -4 (-0.19 % of base) : 44428.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
          -8 (-0.15 % of base) : 2237.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (Tier0-FullOpts)
9 total methods with Code Size differences (9 improved, 0 regressed).
  
coreclr_tests.run.windows.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 277085768 (overridden on cmd)
Total bytes of diff: 277085032 (overridden on cmd)
Total bytes of delta: -736 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
           4 : 220823.dasm (0.08 % of base)
           4 : 254100.dasm (0.14 % of base)
           4 : 295277.dasm (0.26 % of base)
Top file improvements (bytes):
         -60 : 294861.dasm (-0.62 % of base)
         -40 : 189214.dasm (-5.29 % of base)
         -36 : 316146.dasm (-0.64 % of base)
         -36 : 251101.dasm (-14.75 % of base)
         -36 : 316373.dasm (-0.97 % of base)
         -28 : 257016.dasm (-10.61 % of base)
         -28 : 315518.dasm (-0.24 % of base)
         -28 : 316287.dasm (-1.86 % of base)
         -28 : 315962.dasm (-0.84 % of base)
         -28 : 316244.dasm (-1.00 % of base)
         -24 : 315567.dasm (-0.56 % of base)
         -16 : 182482.dasm (-2.35 % of base)
         -16 : 222123.dasm (-0.76 % of base)
         -16 : 318870.dasm (-1.01 % of base)
         -16 : 296076.dasm (-0.33 % of base)
         -16 : 318176.dasm (-0.55 % of base)
         -16 : 315169.dasm (-0.93 % of base)
         -16 : 316122.dasm (-0.66 % of base)
         -16 : 318095.dasm (-0.51 % of base)
         -12 : 181432.dasm (-1.28 % of base)
44 total files with Code Size differences (41 improved, 3 regressed), 1 unchanged.
Top method regressions (bytes):
           4 (0.08 % of base) : 220823.dasm - GenClass`1[int]:DoTest_Inner[System.__Canon,System.__Canon,System.__Canon](int,GenClass`1[System.__Canon],GenClass`1[System.__Canon],GenClass`1[System.__Canon]) (FullOpts)
           4 (0.26 % of base) : 295277.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.TypeValidationChecker:LogErrors(System.Action`1[System.String]):this (FullOpts)
           4 (0.14 % of base) : 254100.dasm - System.Xml.Xsl.IlGen.XmlILModule:DefineMethod(System.String,System.Type,System.Type[],System.String[],int):System.Reflection.MethodInfo:this (FullOpts)
Top method improvements (bytes):
         -60 (-0.62 % of base) : 294861.dasm - ILCompiler.Program:RunSingleCompilation(System.Collections.Generic.Dictionary`2[System.String,System.String],ILCompiler.InstructionSetSupport,System.String,System.Collections.Generic.Dictionary`2[System.String,System.String],System.Collections.Generic.HashSet`1[Internal.TypeSystem.ModuleDesc],ILCompiler.ReadyToRunCompilerContext,ILCompiler.Logger):this (FullOpts)
         -40 (-5.29 % of base) : 189214.dasm - CloningForIEnumerable:Sum(System.Collections.Generic.IEnumerable`1[int]):int (Tier1)
         -36 (-0.64 % of base) : 316146.dasm - Microsoft.Build.BackEnd.TargetEntry+<ExecuteTarget>d__44:MoveNext():this (FullOpts)
         -36 (-14.75 % of base) : 251101.dasm - Program:M49() (FullOpts)
         -36 (-0.97 % of base) : 316373.dasm - R2RTest.Buckets:WriteToStream(System.IO.StreamWriter,ubyte):this (FullOpts)
         -28 (-1.86 % of base) : 316287.dasm - Microsoft.Build.BackEnd.Logging.LoggingService:ShutdownComponent():this (FullOpts)
         -28 (-0.84 % of base) : 315962.dasm - Microsoft.Build.BackEnd.Scheduler:DumpSchedulerState():this (FullOpts)
         -28 (-0.24 % of base) : 315518.dasm - Microsoft.Build.Evaluation.Evaluator`4[System.__Canon,System.__Canon,System.__Canon,System.__Canon]:Evaluate():this (FullOpts)
         -28 (-1.00 % of base) : 316244.dasm - Microsoft.Build.Execution.BuildManager:EndBuild():this (FullOpts)
         -28 (-10.61 % of base) : 257016.dasm - Test.BB:TestEntryPoint() (FullOpts)
         -24 (-0.56 % of base) : 315567.dasm - Microsoft.Build.Evaluation.Evaluator`4[System.__Canon,System.__Canon,System.__Canon,System.__Canon]:PerformDepthFirstPass(Microsoft.Build.Construction.ProjectRootElement):this (FullOpts)
         -16 (-0.33 % of base) : 296076.dasm - ILCompiler.DependencyAnalysis.ReadyToRunObjectWriter:EmitPortableExecutable():this (FullOpts)
         -16 (-0.66 % of base) : 316122.dasm - Microsoft.Build.BackEnd.TargetBuilder+<PushTargets>d__26:MoveNext():this (FullOpts)
         -16 (-0.93 % of base) : 315169.dasm - PathExtensions+<DeleteSubtreesAsync>d__14:MoveNext():this (FullOpts)
         -16 (-0.76 % of base) : 222123.dasm - StackFrame:Validate(System.String,StackFrame[]) (FullOpts)
         -16 (-1.01 % of base) : 318870.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Instrumented Tier1)
         -16 (-2.35 % of base) : 182482.dasm - System.Runtime.InteropServices.ComEventsSink:FromRuntimeCallableWrapper(System.Object,System.Guid,ubyte):System.Runtime.InteropServices.ComEventsSink (FullOpts)
         -16 (-0.55 % of base) : 318176.dasm - Tracing.Tests.DiagnosticPortValidation.DiagnosticPortValidation+<TEST_ConfigValidation>d__6:MoveNext():this (FullOpts)
         -16 (-0.51 % of base) : 318095.dasm - Tracing.Tests.DiagnosticPortValidation.DiagnosticPortValidation+<TEST_MultipleConnectPortsNoSuspend>d__1:MoveNext():this (FullOpts)
         -12 (-0.22 % of base) : 226800.dasm - GetInterfaceMapWithStaticVirtualsAndConstraints.Program:TestEntryPoint() (FullOpts)
Top method regressions (percentages):
           4 (0.26 % of base) : 295277.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.TypeValidationChecker:LogErrors(System.Action`1[System.String]):this (FullOpts)
           4 (0.14 % of base) : 254100.dasm - System.Xml.Xsl.IlGen.XmlILModule:DefineMethod(System.String,System.Type,System.Type[],System.String[],int):System.Reflection.MethodInfo:this (FullOpts)
           4 (0.08 % of base) : 220823.dasm - GenClass`1[int]:DoTest_Inner[System.__Canon,System.__Canon,System.__Canon](int,GenClass`1[System.__Canon],GenClass`1[System.__Canon],GenClass`1[System.__Canon]) (FullOpts)
Top method improvements (percentages):
         -36 (-14.75 % of base) : 251101.dasm - Program:M49() (FullOpts)
         -28 (-10.61 % of base) : 257016.dasm - Test.BB:TestEntryPoint() (FullOpts)
         -40 (-5.29 % of base) : 189214.dasm - CloningForIEnumerable:Sum(System.Collections.Generic.IEnumerable`1[int]):int (Tier1)
         -16 (-2.35 % of base) : 182482.dasm - System.Runtime.InteropServices.ComEventsSink:FromRuntimeCallableWrapper(System.Object,System.Guid,ubyte):System.Runtime.InteropServices.ComEventsSink (FullOpts)
         -12 (-1.90 % of base) : 247928.dasm - Mutate:TestEntryPoint():int (FullOpts)
         -28 (-1.86 % of base) : 316287.dasm - Microsoft.Build.BackEnd.Logging.LoggingService:ShutdownComponent():this (FullOpts)
         -12 (-1.44 % of base) : 296477.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
         -12 (-1.38 % of base) : 313551.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
         -12 (-1.28 % of base) : 181432.dasm - Microsoft.CSharp.RuntimeBinder.ComInterop.VariantArray:GetStructType(int):System.Type (FullOpts)
         -12 (-1.12 % of base) : 296350.dasm - ILCompiler.PEWriter.SectionBuilder:RelocateOutputFile(System.Reflection.Metadata.BlobBuilder,ulong,System.IO.Stream):this (FullOpts)
         -12 (-1.06 % of base) : 296418.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
         -12 (-1.02 % of base) : 313295.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
         -16 (-1.01 % of base) : 318870.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Instrumented Tier1)
         -28 (-1.00 % of base) : 316244.dasm - Microsoft.Build.Execution.BuildManager:EndBuild():this (FullOpts)
         -36 (-0.97 % of base) : 316373.dasm - R2RTest.Buckets:WriteToStream(System.IO.StreamWriter,ubyte):this (FullOpts)
         -12 (-0.95 % of base) : 296341.dasm - ILCompiler.PEWriter.SectionBuilder:SerializeRelocationSection(System.Reflection.PortableExecutable.SectionLocation):System.Reflection.Metadata.BlobBuilder:this (FullOpts)
         -16 (-0.93 % of base) : 315169.dasm - PathExtensions+<DeleteSubtreesAsync>d__14:MoveNext():this (FullOpts)
         -12 (-0.86 % of base) : 315861.dasm - Microsoft.Build.BackEnd.Scheduler:DumpConfigurations():this (FullOpts)
         -28 (-0.84 % of base) : 315962.dasm - Microsoft.Build.BackEnd.Scheduler:DumpSchedulerState():this (FullOpts)
         -12 (-0.81 % of base) : 316236.dasm - Microsoft.Build.BackEnd.SchedulingPlan:WritePlan(int,Microsoft.Build.BackEnd.Logging.ILoggingService,Microsoft.Build.Framework.BuildEventContext):this (FullOpts)
  
libraries.crossgen2.windows.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 66990496 (overridden on cmd)
Total bytes of diff: 66990300 (overridden on cmd)
Total bytes of delta: -196 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          12 : 157542.dasm (0.54 % of base)
           8 : 23691.dasm (0.09 % of base)
Top file improvements (bytes):
         -24 : 22008.dasm (-2.86 % of base)
         -24 : 24095.dasm (-4.65 % of base)
         -16 : 24758.dasm (-1.63 % of base)
         -12 : 158067.dasm (-0.55 % of base)
         -12 : 18858.dasm (-1.07 % of base)
         -12 : 23545.dasm (-1.70 % of base)
         -12 : 13531.dasm (-1.52 % of base)
         -12 : 18856.dasm (-1.20 % of base)
         -12 : 199876.dasm (-0.55 % of base)
         -12 : 24757.dasm (-2.40 % of base)
          -8 : 237704.dasm (-1.10 % of base)
          -8 : 237709.dasm (-0.95 % of base)
          -8 : 239737.dasm (-0.14 % of base)
          -8 : 23477.dasm (-1.05 % of base)
          -4 : 202896.dasm (-0.48 % of base)
          -4 : 239668.dasm (-0.06 % of base)
          -4 : 24671.dasm (-0.34 % of base)
          -4 : 11919.dasm (-0.41 % of base)
          -4 : 18792.dasm (-0.17 % of base)
          -4 : 225764.dasm (-0.18 % of base)
25 total files with Code Size differences (23 improved, 2 regressed), 1 unchanged.
Top method regressions (bytes):
          12 (0.54 % of base) : 157542.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
           8 (0.09 % of base) : 23691.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
Top method improvements (bytes):
         -24 (-4.65 % of base) : 24095.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -24 (-2.86 % of base) : 22008.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
         -16 (-1.63 % of base) : 24758.dasm - System.Diagnostics.Tracing.CounterGroup:PollForValues() (FullOpts)
         -12 (-0.55 % of base) : 158067.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
         -12 (-0.55 % of base) : 199876.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
         -12 (-2.40 % of base) : 24757.dasm - System.Diagnostics.Tracing.CounterGroup:ResetCounters():this (FullOpts)
         -12 (-1.20 % of base) : 18856.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
         -12 (-1.07 % of base) : 18858.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
         -12 (-1.52 % of base) : 13531.dasm - System.Diagnostics.Tracing.EventSource:GetSources():System.Collections.Generic.IEnumerable`1[System.Diagnostics.Tracing.EventSource] (FullOpts)
         -12 (-1.70 % of base) : 23545.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -8 (-1.05 % of base) : 23477.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -8 (-0.14 % of base) : 239737.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (FullOpts)
          -8 (-1.10 % of base) : 237704.dasm - System.Xml.Linq.Extensions+<GetDescendantNodes>d__22`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -8 (-0.95 % of base) : 237709.dasm - System.Xml.Linq.Extensions+<GetDescendants>d__23`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -4 (-0.18 % of base) : 225764.dasm - System.Data.ProviderBase.DbConnectionPool:TryGetConnection(System.Data.Common.DbConnection,uint,ubyte,ubyte,System.Data.Common.DbConnectionOptions,byref):ubyte:this (FullOpts)
          -4 (-0.33 % of base) : 266483.dasm - System.Data.ProviderBase.DbConnectionPool:TryGetConnection(System.Data.Common.DbConnection,uint,ubyte,ubyte,System.Data.Common.DbConnectionOptions,byref):ubyte:this (FullOpts)
          -4 (-0.09 % of base) : 244836.dasm - System.Globalization.FormatProvider+Number:NumberToStringFormat(byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
          -4 (-0.41 % of base) : 11919.dasm - System.IO.BinaryReader:Read():int:this (FullOpts)
          -4 (-0.17 % of base) : 18792.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -4 (-0.06 % of base) : 239668.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.__Canon]:MoveNext():this (FullOpts)
Top method regressions (percentages):
          12 (0.54 % of base) : 157542.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
           8 (0.09 % of base) : 23691.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
Top method improvements (percentages):
         -24 (-4.65 % of base) : 24095.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -24 (-2.86 % of base) : 22008.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
         -12 (-2.40 % of base) : 24757.dasm - System.Diagnostics.Tracing.CounterGroup:ResetCounters():this (FullOpts)
         -12 (-1.70 % of base) : 23545.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
         -16 (-1.63 % of base) : 24758.dasm - System.Diagnostics.Tracing.CounterGroup:PollForValues() (FullOpts)
         -12 (-1.52 % of base) : 13531.dasm - System.Diagnostics.Tracing.EventSource:GetSources():System.Collections.Generic.IEnumerable`1[System.Diagnostics.Tracing.EventSource] (FullOpts)
         -12 (-1.20 % of base) : 18856.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
          -8 (-1.10 % of base) : 237704.dasm - System.Xml.Linq.Extensions+<GetDescendantNodes>d__22`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -12 (-1.07 % of base) : 18858.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
          -8 (-1.05 % of base) : 23477.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -8 (-0.95 % of base) : 237709.dasm - System.Xml.Linq.Extensions+<GetDescendants>d__23`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -12 (-0.55 % of base) : 158067.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
         -12 (-0.55 % of base) : 199876.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
          -4 (-0.48 % of base) : 202896.dasm - System.Speech.Internal.Synthesis.SsmlParser:ParseAudio(System.Xml.XmlReader,System.Speech.Internal.Synthesis.ISsmlParser,int,System.Speech.Internal.Synthesis.SsmlParser+SsmlAttributes,ubyte) (FullOpts)
          -4 (-0.41 % of base) : 11919.dasm - System.IO.BinaryReader:Read():int:this (FullOpts)
          -4 (-0.34 % of base) : 24671.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
          -4 (-0.33 % of base) : 266483.dasm - System.Data.ProviderBase.DbConnectionPool:TryGetConnection(System.Data.Common.DbConnection,uint,ubyte,ubyte,System.Data.Common.DbConnectionOptions,byref):ubyte:this (FullOpts)
          -4 (-0.18 % of base) : 225764.dasm - System.Data.ProviderBase.DbConnectionPool:TryGetConnection(System.Data.Common.DbConnection,uint,ubyte,ubyte,System.Data.Common.DbConnectionOptions,byref):ubyte:this (FullOpts)
          -4 (-0.17 % of base) : 18792.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
          -8 (-0.14 % of base) : 239737.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (FullOpts)
25 total methods with Code Size differences (23 improved, 2 regressed).
  
libraries.pmi.windows.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 79832108 (overridden on cmd)
Total bytes of diff: 79829552 (overridden on cmd)
Total bytes of delta: -2556 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          28 : 142570.dasm (1.14 % of base)
          12 : 239081.dasm (0.45 % of base)
           8 : 278094.dasm (0.62 % of base)
           8 : 301724.dasm (0.10 % of base)
           4 : 207973.dasm (0.14 % of base)
           4 : 222792.dasm (0.07 % of base)
           4 : 183874.dasm (0.35 % of base)
           4 : 210076.dasm (0.05 % of base)
Top file improvements (bytes):
         -60 : 301675.dasm (-0.62 % of base)
         -52 : 160637.dasm (-0.66 % of base)
         -48 : 30364.dasm (-1.92 % of base)
         -48 : 304269.dasm (-1.04 % of base)
         -44 : 262455.dasm (-1.40 % of base)
         -40 : 179530.dasm (-1.03 % of base)
         -40 : 155143.dasm (-0.70 % of base)
         -36 : 155898.dasm (-1.62 % of base)
         -36 : 254594.dasm (-1.85 % of base)
         -36 : 175268.dasm (-1.62 % of base)
         -36 : 279317.dasm (-2.42 % of base)
         -36 : 239075.dasm (-0.94 % of base)
         -36 : 262630.dasm (-2.24 % of base)
         -32 : 155149.dasm (-0.89 % of base)
         -32 : 228799.dasm (-1.79 % of base)
         -28 : 151370.dasm (-0.84 % of base)
         -28 : 227595.dasm (-2.70 % of base)
         -28 : 262366.dasm (-0.59 % of base)
         -28 : 297334.dasm (-0.96 % of base)
         -28 : 150307.dasm (-0.95 % of base)
63 total files with Code Size differences (55 improved, 8 regressed), 7 unchanged.
Top method regressions (bytes):
          28 (1.14 % of base) : 142570.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
          12 (0.45 % of base) : 239081.dasm - R2RTest.BuildFolder:WriteJitStatistics(System.IO.TextWriter,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.HashSet`1[System.String]][],System.Collections.Generic.IEnumerable`1[R2RTest.CompilerRunner]) (FullOpts)
           8 (0.62 % of base) : 278094.dasm - System.Net.Mail.SmtpClient:GetFileMailWriter(System.String):System.Net.Mail.MailWriter:this (FullOpts)
           8 (0.10 % of base) : 301724.dasm - TestRunner:DoWorkStress():int:this (FullOpts)
           4 (0.07 % of base) : 222792.dasm - ILCompiler.IBC.IBCProfileParser:LookupIbcTypeToken(byref,uint,System.Collections.Generic.Dictionary`2[ILCompiler.IBC.IBCProfileParser+IBCBlobKey,ILCompiler.IBC.BlobEntry]):uint:this (FullOpts)
           4 (0.35 % of base) : 183874.dasm - System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
           4 (0.05 % of base) : 210076.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
           4 (0.14 % of base) : 207973.dasm - System.Xml.Xsl.IlGen.XmlILModule:DefineMethod(System.String,System.Type,System.Type[],System.String[],int):System.Reflection.MethodInfo:this (FullOpts)
Top method improvements (bytes):
         -60 (-0.62 % of base) : 301675.dasm - ILCompiler.Program:RunSingleCompilation(System.Collections.Generic.Dictionary`2[System.String,System.String],ILCompiler.InstructionSetSupport,System.String,System.Collections.Generic.Dictionary`2[System.String,System.String],System.Collections.Generic.HashSet`1[Internal.TypeSystem.ModuleDesc],ILCompiler.ReadyToRunCompilerContext,ILCompiler.Logger):this (FullOpts)
         -52 (-0.66 % of base) : 160637.dasm - Microsoft.CodeAnalysis.CommonCompiler:CompileAndEmit(Microsoft.CodeAnalysis.TouchedFileLogger,byref,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.Diagnostics.DiagnosticAnalyzer],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.ISourceGenerator],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.AdditionalText],Microsoft.CodeAnalysis.AnalyzerConfigSet,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.AnalyzerConfigOptionsResult],System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.EmbeddedText],Microsoft.CodeAnalysis.DiagnosticBag,Microsoft.CodeAnalysis.ErrorLogger,System.Threading.CancellationToken,byref,byref,byref):this (FullOpts)
         -48 (-1.92 % of base) : 30364.dasm - R2RDump.TextDumper:DumpDisasm(ILCompiler.Reflection.ReadyToRun.RuntimeFunction,int):this (FullOpts)
         -48 (-1.04 % of base) : 304269.dasm - Xunit.Sdk.XunitTestAssemblyRunner+<RunTestCollectionsAsync>d__14:MoveNext():this (FullOpts)
         -44 (-1.40 % of base) : 262455.dasm - System.DirectoryServices.AccountManagement.ADStoreCtx:UpdateGroupMembership(System.DirectoryServices.AccountManagement.Principal,System.DirectoryServices.DirectoryEntry,System.DirectoryServices.AccountManagement.NetCred,int) (FullOpts)
         -40 (-0.70 % of base) : 155143.dasm - Microsoft.Build.BackEnd.TargetEntry+<ExecuteTarget>d__44:MoveNext():this (FullOpts)
         -40 (-1.03 % of base) : 179530.dasm - System.Data.DataTable:ReadXmlSchema(System.Xml.XmlReader,ubyte):this (FullOpts)
         -36 (-0.94 % of base) : 239075.dasm - R2RTest.Buckets:WriteToStream(System.IO.StreamWriter,ubyte):this (FullOpts)
         -36 (-1.85 % of base) : 254594.dasm - System.Composition.Convention.PartConventionBuilder:BuildPropertyAttributes(System.Type,byref):this (FullOpts)
         -36 (-1.62 % of base) : 155898.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
         -36 (-1.62 % of base) : 175268.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
         -36 (-2.24 % of base) : 262630.dasm - System.DirectoryServices.AccountManagement.SAMStoreCtx:UpdateGroupMembership(System.DirectoryServices.AccountManagement.Principal,System.DirectoryServices.DirectoryEntry,System.DirectoryServices.AccountManagement.NetCred,int) (FullOpts)
         -36 (-2.42 % of base) : 279317.dasm - System.Net.CookieContainer:DomainTableCleanup():this (FullOpts)
         -32 (-0.89 % of base) : 155149.dasm - Microsoft.Build.BackEnd.TaskBuilder+<ExecuteBucket>d__19:MoveNext():this (FullOpts)
         -32 (-1.79 % of base) : 228799.dasm - Microsoft.DotNet.XUnitExtensions.XunitParallelTheoryTestCaseRunner+<RunTestAsync>d__11:MoveNext():this (FullOpts)
         -28 (-2.70 % of base) : 227595.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.GcInfo:UpdateTransitionCodeOffset(System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.Amd64.GcTransition]):System.Collections.Generic.Dictionary`2[int,System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.BaseGcTransition]]:this (FullOpts)
         -28 (-0.84 % of base) : 151370.dasm - Microsoft.Build.BackEnd.Scheduler:DumpSchedulerState():this (FullOpts)
         -28 (-0.95 % of base) : 150307.dasm - Microsoft.Build.Execution.BuildManager:EndBuild():this (FullOpts)
         -28 (-0.90 % of base) : 69789.dasm - Microsoft.Diagnostics.Tracing.ZippedETLWriter:WriteArchive(int):ubyte:this (FullOpts)
         -28 (-0.59 % of base) : 262366.dasm - System.DirectoryServices.AccountManagement.ADStoreCtx:GetGroupsMemberOf(System.DirectoryServices.AccountManagement.Principal):System.DirectoryServices.AccountManagement.ResultSet:this (FullOpts)
Top method regressions (percentages):
          28 (1.14 % of base) : 142570.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
           8 (0.62 % of base) : 278094.dasm - System.Net.Mail.SmtpClient:GetFileMailWriter(System.String):System.Net.Mail.MailWriter:this (FullOpts)
          12 (0.45 % of base) : 239081.dasm - R2RTest.BuildFolder:WriteJitStatistics(System.IO.TextWriter,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.HashSet`1[System.String]][],System.Collections.Generic.IEnumerable`1[R2RTest.CompilerRunner]) (FullOpts)
           4 (0.35 % of base) : 183874.dasm - System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
           4 (0.14 % of base) : 207973.dasm - System.Xml.Xsl.IlGen.XmlILModule:DefineMethod(System.String,System.Type,System.Type[],System.String[],int):System.Reflection.MethodInfo:this (FullOpts)
           8 (0.10 % of base) : 301724.dasm - TestRunner:DoWorkStress():int:this (FullOpts)
           4 (0.07 % of base) : 222792.dasm - ILCompiler.IBC.IBCProfileParser:LookupIbcTypeToken(byref,uint,System.Collections.Generic.Dictionary`2[ILCompiler.IBC.IBCProfileParser+IBCBlobKey,ILCompiler.IBC.BlobEntry]):uint:this (FullOpts)
           4 (0.05 % of base) : 210076.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
Top method improvements (percentages):
         -16 (-4.12 % of base) : 305023.dasm - Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
         -16 (-3.96 % of base) : 218767.dasm - System.Speech.Recognition.RecognizerBase:set_PauseRecognizerOnRecognition(ubyte):this (FullOpts)
         -16 (-3.74 % of base) : 154314.dasm - Microsoft.Build.Evaluation.ProjectCollection+LoadedProjectCollection:GetMatchingProjectIfAny(System.String,System.Collections.Generic.IDictionary`2[System.String,System.String],System.String):Microsoft.Build.Evaluation.Project:this (FullOpts)
         -12 (-3.57 % of base) : 229412.dasm - Microsoft.Extensions.Configuration.ConfigurationManager:Microsoft.Extensions.Configuration.IConfigurationRoot.Reload():this (FullOpts)
         -16 (-3.39 % of base) : 229912.dasm - Microsoft.Extensions.DependencyInjection.DependencyInjectionEventSource:OnEventCommand(System.Diagnostics.Tracing.EventCommandEventArgs):this (FullOpts)
         -16 (-3.20 % of base) : 152554.dasm - Microsoft.Build.BackEnd.Logging.LoggingService:get_RegisteredLoggerTypeNames():System.Collections.Generic.ICollection`1[System.String]:this (FullOpts)
         -12 (-3.00 % of base) : 305022.dasm - Xunit.AggregateMessageSink:Dispose():this (FullOpts)
         -16 (-2.99 % of base) : 219793.dasm - System.Speech.Internal.Synthesis.VoiceSynthesis:RemoveLexicon(System.Uri):this (FullOpts)
         -28 (-2.70 % of base) : 227595.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.GcInfo:UpdateTransitionCodeOffset(System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.Amd64.GcTransition]):System.Collections.Generic.Dictionary`2[int,System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.BaseGcTransition]]:this (FullOpts)
         -16 (-2.68 % of base) : 147738.dasm - Newtonsoft.Json.Linq.JsonPath.ArrayMultipleIndexFilter+<ExecuteFilter>d__2:MoveNext():ubyte:this (FullOpts)
         -16 (-2.61 % of base) : 259047.dasm - System.Diagnostics.Metrics.AggregationManager:GetInstrumentState(System.Diagnostics.Metrics.Instrument):System.Diagnostics.Metrics.InstrumentState:this (FullOpts)
         -12 (-2.61 % of base) : 149425.dasm - Microsoft.Build.Evaluation.ProjectCollection:RemoveGlobalProperty(System.String):ubyte:this (FullOpts)
         -12 (-2.59 % of base) : 189806.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
         -16 (-2.55 % of base) : 189900.dasm - System.Net.Http.Headers.HttpHeaderValueCollection`1+<<GetEnumerator>g__Iterate|14_0>d[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -16 (-2.50 % of base) : 291060.dasm - System.Security.Claims.ClaimsIdentity+<CombinedClaimsIterator>d__38:MoveNext():ubyte:this (FullOpts)
         -12 (-2.46 % of base) : 229004.dasm - Microsoft.Extensions.Caching.Memory.MemoryCache:Sum():System.ValueTuple`2[long,long]:this (FullOpts)
         -12 (-2.44 % of base) : 149405.dasm - Microsoft.Build.Evaluation.ProjectCollection:RemoveAllToolsets():this (FullOpts)
         -24 (-2.42 % of base) : 236264.dasm - Microsoft.Build.Framework.NativeMethods:KillTree(int) (FullOpts)
         -36 (-2.42 % of base) : 279317.dasm - System.Net.CookieContainer:DomainTableCleanup():this (FullOpts)
         -16 (-2.35 % of base) : 251.dasm - System.Runtime.InteropServices.ComEventsSink:FromRuntimeCallableWrapper(System.Object,System.Guid,ubyte):System.Runtime.InteropServices.ComEventsSink (FullOpts)
  
libraries_tests.run.windows.arm64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 6478404 (overridden on cmd)
Total bytes of diff: 6477956 (overridden on cmd)
Total bytes of delta: -448 (-0.01 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
           8 : 5713.dasm (0.51 % of base)
           4 : 1913.dasm (0.26 % of base)
           4 : 5807.dasm (0.26 % of base)
Top file improvements (bytes):
         -16 : 1429.dasm (-2.17 % of base)
         -16 : 2081.dasm (-2.17 % of base)
         -16 : 4565.dasm (-2.17 % of base)
         -16 : 4658.dasm (-2.17 % of base)
         -16 : 1536.dasm (-2.17 % of base)
         -16 : 4376.dasm (-2.17 % of base)
         -16 : 4589.dasm (-2.17 % of base)
         -16 : 5534.dasm (-2.17 % of base)
         -16 : 5660.dasm (-2.17 % of base)
         -16 : 5797.dasm (-2.17 % of base)
         -16 : 5822.dasm (-2.17 % of base)
         -16 : 5956.dasm (-2.17 % of base)
         -16 : 1779.dasm (-2.17 % of base)
         -16 : 1897.dasm (-2.17 % of base)
         -16 : 4346.dasm (-2.16 % of base)
         -16 : 5588.dasm (-2.17 % of base)
         -16 : 5881.dasm (-2.17 % of base)
         -16 : 6899.dasm (-2.17 % of base)
         -16 : 779.dasm (-2.17 % of base)
         -16 : 1630.dasm (-2.17 % of base)
34 total files with Code Size differences (31 improved, 3 regressed), 0 unchanged.
Top method regressions (bytes):
           8 (0.51 % of base) : 5713.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
           4 (0.26 % of base) : 1913.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
           4 (0.26 % of base) : 5807.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
Top method improvements (bytes):
         -16 (-2.17 % of base) : 1429.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 2081.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 4565.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 4658.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 1536.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 4376.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 4589.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 5534.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 5660.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 5797.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 5822.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 5956.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 1779.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 1897.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.16 % of base) : 4346.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 5588.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 5881.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 6899.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 779.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 1630.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
Top method regressions (percentages):
           8 (0.51 % of base) : 5713.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
           4 (0.26 % of base) : 5807.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
           4 (0.26 % of base) : 1913.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
Top method improvements (percentages):
         -16 (-2.17 % of base) : 1429.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 2081.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 4565.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 4658.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 1536.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 4376.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 4589.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 5534.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 5660.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 5797.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 5822.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 5956.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 1779.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 1897.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 5588.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 5881.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 6899.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 779.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 1630.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-2.17 % of base) : 1975.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
34 total methods with Code Size differences (31 improved, 3 regressed).
  
librariestestsnotieredcompilation.run.windows.arm64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 168103524 (overridden on cmd)
Total bytes of diff: 168100992 (overridden on cmd)
Total bytes of delta: -2532 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          28 : 58743.dasm (1.24 % of base)
          20 : 164882.dasm (0.82 % of base)
           4 : 131350.dasm (0.49 % of base)
           4 : 152058.dasm (0.18 % of base)
           4 : 172251.dasm (0.05 % of base)
           4 : 233961.dasm (0.22 % of base)
           4 : 26963.dasm (0.35 % of base)
           4 : 58376.dasm (0.25 % of base)
           4 : 58390.dasm (0.17 % of base)
           4 : 80626.dasm (0.48 % of base)
           4 : 164949.dasm (0.16 % of base)
Top file improvements (bytes):
         -48 : 822.dasm (-1.05 % of base)
         -40 : 134328.dasm (-3.25 % of base)
         -40 : 134336.dasm (-3.01 % of base)
         -36 : 159642.dasm (-2.51 % of base)
         -36 : 88151.dasm (-1.88 % of base)
         -36 : 154865.dasm (-2.51 % of base)
         -32 : 306390.dasm (-1.08 % of base)
         -32 : 308978.dasm (-0.97 % of base)
         -32 : 8970.dasm (-1.84 % of base)
         -32 : 90093.dasm (-1.64 % of base)
         -32 : 126178.dasm (-1.10 % of base)
         -28 : 21602.dasm (-1.10 % of base)
         -28 : 308061.dasm (-1.20 % of base)
         -28 : 313498.dasm (-0.77 % of base)
         -28 : 12198.dasm (-1.63 % of base)
         -24 : 126983.dasm (-5.41 % of base)
         -24 : 231802.dasm (-0.94 % of base)
         -24 : 81938.dasm (-0.99 % of base)
         -24 : 99161.dasm (-0.56 % of base)
         -24 : 23326.dasm (-1.31 % of base)
51 total files with Code Size differences (40 improved, 11 regressed), 23 unchanged.
Top method regressions (bytes):
          28 (1.24 % of base) : 58743.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
          20 (0.82 % of base) : 164882.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[ushort]:<IndexOfMinMagnitude_AllLengths>b__169_0(int):this (FullOpts)
           4 (0.25 % of base) : 58376.dasm - Microsoft.VisualBasic.FileIO.Tests.FileSystemTests:MoveDirectory_SourceDirectoryName_DestinationDirectoryName():this (FullOpts)
           4 (0.17 % of base) : 58390.dasm - Microsoft.VisualBasic.FileIO.Tests.FileSystemTests:MoveDirectory_SourceDirectoryName_DestinationDirectoryName_OverwriteFalse():this (FullOpts)
           4 (0.48 % of base) : 80626.dasm - System.ComponentModel.Composition.ReflectionModel.GenericServices:GetGenericName(System.String,int[],int):System.String (FullOpts)
           4 (0.49 % of base) : 131350.dasm - System.IO.Packaging.Tests.ReflectionTests:<Verify_GeneralPurposeBitFlag_NotSetTo_Unicode>g__CheckCharacters|0_0(System.String) (FullOpts)
           4 (0.35 % of base) : 26963.dasm - System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
           4 (0.18 % of base) : 152058.dasm - System.Net.Http.Unit.Tests.HPack.DynamicTableTest:DynamicTable_Resize_Success(int,int,int):this (FullOpts)
           4 (0.16 % of base) : 164949.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[ushort]:<IndexOfMaxMagnitude_AllLengths>b__161_0(int):this (FullOpts)
           4 (0.22 % of base) : 233961.dasm - System.Security.Cryptography.Tests.HmacTests`1[System.__Canon]:OneShot_TryExistingBuffer_Larger():this (FullOpts)
           4 (0.05 % of base) : 172251.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
Top method improvements (bytes):
         -48 (-1.05 % of base) : 822.dasm - Xunit.Sdk.XunitTestAssemblyRunner+<RunTestCollectionsAsync>d__14:MoveNext():this (FullOpts)
         -40 (-3.01 % of base) : 134336.dasm - System.IO.Tests.WriteTests:Write_Span_WritesExpectedData(int,int,int,ubyte):this (FullOpts)
         -40 (-3.25 % of base) : 134328.dasm - System.IO.Tests.WriteTests:WriteLine_Span_WritesExpectedData(int,int,int,ubyte):this (FullOpts)
         -36 (-1.88 % of base) : 88151.dasm - System.Composition.Convention.PartConventionBuilder:BuildPropertyAttributes(System.Type,byref):this (FullOpts)
         -36 (-2.51 % of base) : 159642.dasm - System.Net.CookieContainer:DomainTableCleanup():this (FullOpts)
         -36 (-2.51 % of base) : 154865.dasm - System.Net.CookieContainer:DomainTableCleanup():this (FullOpts)
         -32 (-1.84 % of base) : 8970.dasm - Microsoft.DotNet.XUnitExtensions.XunitParallelTheoryTestCaseRunner+<RunTestAsync>d__11:MoveNext():this (FullOpts)
         -32 (-1.64 % of base) : 90093.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
         -32 (-1.10 % of base) : 126178.dasm - System.IO.Compression.Tests.ZipFileTestBase+<CreateFromDir>d__25:MoveNext():this (FullOpts)
         -32 (-1.08 % of base) : 306390.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+<Heartbeat>d__23[System.__Canon,int]:MoveNext():this (FullOpts)
         -32 (-0.97 % of base) : 308978.dasm - System.Threading.Tasks.Dataflow.Tests.BatchBlockTests+<TestNonGreedyLostMessages>d__17:MoveNext():this (FullOpts)
         -28 (-1.10 % of base) : 21602.dasm - NuGet.Protocol.HttpSourceAuthenticationHandler+<SendAsync>d__9:MoveNext():this (FullOpts)
         -28 (-1.20 % of base) : 308061.dasm - System.Threading.Tasks.Dataflow.Tests.SimpleNetworkTests+<BufferBlocksToBatchNonGreedyToAction>d__8:MoveNext():this (FullOpts)
         -28 (-0.77 % of base) : 313498.dasm - System.Threading.Tests.EtwTests+<>c:<WaitHandleWaitEventTest>b__1_0():this (FullOpts)
         -28 (-1.63 % of base) : 12198.dasm - Xunit.Sdk.XunitTheoryTestCaseRunner+<RunTestAsync>d__11:MoveNext():this (FullOpts)
         -24 (-1.31 % of base) : 23326.dasm - NuGet.Packaging.Signing.SignedPackageArchiveUtility:VerifySignedPackageIntegrity(System.IO.BinaryReader,System.Security.Cryptography.HashAlgorithm,ubyte[]):ubyte (FullOpts)
         -24 (-0.99 % of base) : 81938.dasm - System.ComponentModel.Composition.Hosting.DirectoryCatalog:Refresh():this (FullOpts)
         -24 (-0.56 % of base) : 99161.dasm - System.Diagnostics.Tests.ActivitySourceTests+<>c:<TestActivityCreationProperties>b__9_0():this (FullOpts)
         -24 (-5.41 % of base) : 126983.dasm - System.IO.TempAclDirectory:DeleteDirectory():this (FullOpts)
         -24 (-0.94 % of base) : 231802.dasm - System.Security.Cryptography.EcDsa.Tests.ECDsaTests:SignVerify_InteroperableSameKeys_RoundTripsUnlessTampered(System.Security.Cryptography.ECDsa,System.Security.Cryptography.HashAlgorithmName):this (FullOpts)
Top method regressions (percentages):
          28 (1.24 % of base) : 58743.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
          20 (0.82 % of base) : 164882.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[ushort]:<IndexOfMinMagnitude_AllLengths>b__169_0(int):this (FullOpts)
           4 (0.49 % of base) : 131350.dasm - System.IO.Packaging.Tests.ReflectionTests:<Verify_GeneralPurposeBitFlag_NotSetTo_Unicode>g__CheckCharacters|0_0(System.String) (FullOpts)
           4 (0.48 % of base) : 80626.dasm - System.ComponentModel.Composition.ReflectionModel.GenericServices:GetGenericName(System.String,int[],int):System.String (FullOpts)
           4 (0.35 % of base) : 26963.dasm - System.Linq.Expressions.Expression:ValidateAccessorArgumentTypes(System.Reflection.MethodInfo,System.Reflection.ParameterInfo[],byref,System.String) (FullOpts)
           4 (0.25 % of base) : 58376.dasm - Microsoft.VisualBasic.FileIO.Tests.FileSystemTests:MoveDirectory_SourceDirectoryName_DestinationDirectoryName():this (FullOpts)
           4 (0.22 % of base) : 233961.dasm - System.Security.Cryptography.Tests.HmacTests`1[System.__Canon]:OneShot_TryExistingBuffer_Larger():this (FullOpts)
           4 (0.18 % of base) : 152058.dasm - System.Net.Http.Unit.Tests.HPack.DynamicTableTest:DynamicTable_Resize_Success(int,int,int):this (FullOpts)
           4 (0.17 % of base) : 58390.dasm - Microsoft.VisualBasic.FileIO.Tests.FileSystemTests:MoveDirectory_SourceDirectoryName_DestinationDirectoryName_OverwriteFalse():this (FullOpts)
           4 (0.16 % of base) : 164949.dasm - System.Numerics.Tensors.Tests.TensorPrimitivesTests`1[ushort]:<IndexOfMaxMagnitude_AllLengths>b__161_0(int):this (FullOpts)
           4 (0.05 % of base) : 172251.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
Top method improvements (percentages):
         -24 (-5.41 % of base) : 126983.dasm - System.IO.TempAclDirectory:DeleteDirectory():this (FullOpts)
         -16 (-4.12 % of base) : 23363.dasm - System.Security.Cryptography.X509Certificates.FindPal:LaxParseDecimalBigInteger(System.String):System.Numerics.BigInteger (FullOpts)
         -16 (-4.12 % of base) : 516.dasm - Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
         -12 (-3.57 % of base) : 34034.dasm - Microsoft.Extensions.Configuration.ConfigurationManager:Microsoft.Extensions.Configuration.IConfigurationRoot.Reload():this (FullOpts)
         -16 (-3.39 % of base) : 37788.dasm - Microsoft.Extensions.DependencyInjection.DependencyInjectionEventSource:OnEventCommand(System.Diagnostics.Tracing.EventCommandEventArgs):this (FullOpts)
         -40 (-3.25 % of base) : 134328.dasm - System.IO.Tests.WriteTests:WriteLine_Span_WritesExpectedData(int,int,int,ubyte):this (FullOpts)
         -40 (-3.01 % of base) : 134336.dasm - System.IO.Tests.WriteTests:Write_Span_WritesExpectedData(int,int,int,ubyte):this (FullOpts)
         -16 (-2.76 % of base) : 232821.dasm - System.Security.Cryptography.X509Certificates.Tests.PfxIterationCountTests+<GetCertsWith_IterationCountExceedingDefaultLimit_MemberData>d__18:MoveNext():ubyte:this (FullOpts)
         -16 (-2.74 % of base) : 232833.dasm - System.Security.Cryptography.X509Certificates.Tests.PfxIterationCountTests+<GetCertsWith_IterationCountNotExceedingDefaultLimit_AndNullOrEmptyPassword_MemberData>d__17:MoveNext():ubyte:this (FullOpts)
         -16 (-2.65 % of base) : 232800.dasm - System.Security.Cryptography.X509Certificates.Tests.PfxIterationCountTests+<GetCertsWith_NonNullOrEmptyPassword_MemberData>d__19:MoveNext():ubyte:this (FullOpts)
         -12 (-2.59 % of base) : 21607.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
         -12 (-2.59 % of base) : 151461.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
         -16 (-2.55 % of base) : 151595.dasm - System.Net.Http.Headers.HttpHeaderValueCollection`1+<<GetEnumerator>g__Iterate|14_0>d[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -16 (-2.55 % of base) : 21689.dasm - System.Net.Http.Headers.HttpHeaderValueCollection`1+<<GetEnumerator>g__Iterate|14_0>d[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -36 (-2.51 % of base) : 159642.dasm - System.Net.CookieContainer:DomainTableCleanup():this (FullOpts)
         -36 (-2.51 % of base) : 154865.dasm - System.Net.CookieContainer:DomainTableCleanup():this (FullOpts)
         -16 (-2.50 % of base) : 224168.dasm - System.Security.Claims.ClaimsIdentity+<CombinedClaimsIterator>d__38:MoveNext():ubyte:this (FullOpts)
         -12 (-2.46 % of base) : 29811.dasm - Microsoft.Extensions.Caching.Memory.MemoryCache:Sum():System.ValueTuple`2[long,long]:this (FullOpts)
         -16 (-2.34 % of base) : 151905.dasm - System.Net.Http.Headers.HttpHeaders:CloneHeaderInfo(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo):System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo (FullOpts)
         -16 (-2.34 % of base) : 21584.dasm - System.Net.Http.Headers.HttpHeaders:CloneHeaderInfo(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo):System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo (FullOpts)
  
realworld.run.windows.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 15900008 (overridden on cmd)
Total bytes of diff: 15899608 (overridden on cmd)
Total bytes of delta: -400 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file improvements (bytes):
         -52 : 14604.dasm (-8.33 % of base)
         -28 : 32623.dasm (-2.48 % of base)
         -24 : 33163.dasm (-2.43 % of base)
         -12 : 29680.dasm (-1.24 % of base)
         -12 : 32368.dasm (-0.52 % of base)
         -12 : 15331.dasm (-0.56 % of base)
         -12 : 29705.dasm (-2.73 % of base)
         -12 : 31004.dasm (-0.26 % of base)
         -12 : 12391.dasm (-0.27 % of base)
         -12 : 29669.dasm (-1.60 % of base)
         -12 : 32329.dasm (-0.63 % of base)
         -12 : 29687.dasm (-0.80 % of base)
         -12 : 32349.dasm (-0.31 % of base)
         -12 : 33273.dasm (-0.92 % of base)
         -12 : 4936.dasm (-1.94 % of base)
         -12 : 58.dasm (-1.06 % of base)
         -12 : 937.dasm (-1.44 % of base)
          -8 : 12231.dasm (-0.38 % of base)
          -8 : 14391.dasm (-1.82 % of base)
          -8 : 32172.dasm (-0.83 % of base)
36 total files with Code Size differences (36 improved, 0 regressed), 0 unchanged.
Top method improvements (bytes):
         -52 (-8.33 % of base) : 14604.dasm - Microsoft.ML.Data.SimpleFileHandle:Dispose():this (FullOpts)
         -28 (-2.48 % of base) : 32623.dasm - System.Management.Automation.CommandDiscovery+<GetCmdletInfo>d__56:MoveNext():ubyte:this (FullOpts)
         -24 (-2.43 % of base) : 33163.dasm - System.Management.Automation.ComInterop.VariantArray:GetStructType(int):System.Type (FullOpts)
         -12 (-0.56 % of base) : 15331.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
         -12 (-0.27 % of base) : 12391.dasm - Microsoft.ML.Data.TextLoader+Bindings:.ctor(Microsoft.ML.Data.TextLoader,Microsoft.ML.Data.TextLoader+Column[],Microsoft.ML.Data.IMultiStreamSource,Microsoft.ML.Data.IMultiStreamSource):this (FullOpts)
         -12 (-0.80 % of base) : 29687.dasm - Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBaseManager:LoadFromFileHelper(System.Collections.ObjectModel.Collection`1[System.Management.Automation.Runspaces.PSSnapInTypeAndFormatErrors],Microsoft.PowerShell.Commands.Internal.Format.PSPropertyExpressionFactory,System.Management.Automation.AuthorizationManager,System.Management.Automation.Host.PSHost,ubyte,byref,byref):Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBase (FullOpts)
         -12 (-1.24 % of base) : 29680.dasm - Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBaseManager:Update(System.Management.Automation.AuthorizationManager,System.Management.Automation.Host.PSHost):this (FullOpts)
         -12 (-0.63 % of base) : 32329.dasm - Microsoft.PowerShell.Commands.ModuleCmdletBase+<GetModuleForRootedPaths>d__95:MoveNext():ubyte:this (FullOpts)
         -12 (-1.44 % of base) : 937.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
         -12 (-1.06 % of base) : 58.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
         -12 (-0.52 % of base) : 32368.dasm - System.Management.Automation.Internal.ModuleUtils+<GetDefaultAvailableModuleFiles>d__9:MoveNext():ubyte:this (FullOpts)
         -12 (-1.60 % of base) : 29669.dasm - System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberAdded(System.String) (FullOpts)
         -12 (-2.73 % of base) : 29705.dasm - System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberPossiblyUpdated(System.String) (FullOpts)
         -12 (-0.31 % of base) : 32349.dasm - System.Management.Automation.LocationGlobber:ExpandMshGlobPath(System.String,ubyte,System.Management.Automation.PSDriveInfo,System.Management.Automation.Provider.ContainerCmdletProvider,System.Management.Automation.CmdletProviderContext):System.Collections.ObjectModel.Collection`1[System.String]:this (FullOpts)
         -12 (-0.92 % of base) : 33273.dasm - System.Management.Automation.PSObject:GetMappedAdapter(System.Object,System.Management.Automation.Runspaces.TypeTable):System.Management.Automation.PSObject+AdapterSet (FullOpts)
         -12 (-0.26 % of base) : 31004.dasm - System.Management.Automation.ScriptBlock:InvokeWithPipeImpl(int,ubyte,System.Collections.Generic.Dictionary`2[System.String,System.Management.Automation.ScriptBlock],System.Collections.Generic.List`1[System.Management.Automation.PSVariable],int,System.Object,System.Object,System.Object,System.Management.Automation.Internal.Pipe,System.Management.Automation.InvocationInfo,System.Object[]):this (FullOpts)
         -12 (-1.94 % of base) : 4936.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -8 (-1.13 % of base) : 29759.dasm - Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBaseManager:LoadFormatDataHelper(System.Management.Automation.ExtendedTypeDefinition,Microsoft.PowerShell.Commands.Internal.Format.PSPropertyExpressionFactory,System.Collections.Generic.List`1[Microsoft.PowerShell.Commands.Internal.Format.XmlLoaderLoggerEntry],byref,System.Management.Automation.Runspaces.PSSnapInTypeAndFormatErrors,Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBase,ubyte,ubyte) (FullOpts)
          -8 (-0.38 % of base) : 12231.dasm - SixLabors.ImageSharp.Metadata.Profiles.Exif.BaseExifReader:ReadBigValues(System.Collections.Generic.List`1[SixLabors.ImageSharp.Metadata.Profiles.Exif.IExifValue]):this (FullOpts)
          -8 (-1.49 % of base) : 29938.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
Top method improvements (percentages):
         -52 (-8.33 % of base) : 14604.dasm - Microsoft.ML.Data.SimpleFileHandle:Dispose():this (FullOpts)
         -12 (-2.73 % of base) : 29705.dasm - System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberPossiblyUpdated(System.String) (FullOpts)
         -28 (-2.48 % of base) : 32623.dasm - System.Management.Automation.CommandDiscovery+<GetCmdletInfo>d__56:MoveNext():ubyte:this (FullOpts)
         -24 (-2.43 % of base) : 33163.dasm - System.Management.Automation.ComInterop.VariantArray:GetStructType(int):System.Type (FullOpts)
         -12 (-1.94 % of base) : 4936.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -8 (-1.82 % of base) : 14391.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
         -12 (-1.60 % of base) : 29669.dasm - System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberAdded(System.String) (FullOpts)
          -8 (-1.49 % of base) : 29938.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
          -4 (-1.47 % of base) : 32954.dasm - System.Management.Automation.PSModuleInfo:AddModuleToList(System.Management.Automation.PSModuleInfo,System.Collections.Generic.List`1[System.Management.Automation.PSModuleInfo]) (FullOpts)
         -12 (-1.44 % of base) : 937.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
          -8 (-1.43 % of base) : 32304.dasm - System.Management.Automation.CommandProcessor:DoBegin():this (FullOpts)
         -12 (-1.24 % of base) : 29680.dasm - Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBaseManager:Update(System.Management.Automation.AuthorizationManager,System.Management.Automation.Host.PSHost):this (FullOpts)
          -8 (-1.13 % of base) : 29759.dasm - Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBaseManager:LoadFormatDataHelper(System.Management.Automation.ExtendedTypeDefinition,Microsoft.PowerShell.Commands.Internal.Format.PSPropertyExpressionFactory,System.Collections.Generic.List`1[Microsoft.PowerShell.Commands.Internal.Format.XmlLoaderLoggerEntry],byref,System.Management.Automation.Runspaces.PSSnapInTypeAndFormatErrors,Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBase,ubyte,ubyte) (FullOpts)
         -12 (-1.06 % of base) : 58.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
          -8 (-1.05 % of base) : 31765.dasm - System.Management.Automation.Runspaces.LocalRunspace:CloseOrDisconnectAllRemoteRunspaces(System.Func`1[System.Collections.Generic.List`1[System.Management.Automation.RemoteRunspace]]) (FullOpts)
         -12 (-0.92 % of base) : 33273.dasm - System.Management.Automation.PSObject:GetMappedAdapter(System.Object,System.Management.Automation.Runspaces.TypeTable):System.Management.Automation.PSObject+AdapterSet (FullOpts)
          -8 (-0.90 % of base) : 13558.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
          -8 (-0.83 % of base) : 32172.dasm - System.Management.Automation.Internal.PipelineProcessor:SynchronousExecuteEnumerate(System.Object):System.Array:this (FullOpts)
         -12 (-0.80 % of base) : 29687.dasm - Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBaseManager:LoadFromFileHelper(System.Collections.ObjectModel.Collection`1[System.Management.Automation.Runspaces.PSSnapInTypeAndFormatErrors],Microsoft.PowerShell.Commands.Internal.Format.PSPropertyExpressionFactory,System.Management.Automation.AuthorizationManager,System.Management.Automation.Host.PSHost,ubyte,byref,byref):Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBase (FullOpts)
          -8 (-0.72 % of base) : 31763.dasm - System.Management.Automation.Runspaces.LocalRunspace:StopOrDisconnectAllJobs():this (FullOpts)
36 total methods with Code Size differences (36 improved, 0 regressed).
  
smoke_tests.nativeaot.windows.arm64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch arm64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 3865048 (overridden on cmd)
Total bytes of diff: 3864928 (overridden on cmd)
Total bytes of delta: -120 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file improvements (bytes):
         -24 : 2589.dasm (-6.45 % of base)
         -24 : 24178.dasm (-3.95 % of base)
         -24 : 8338.dasm (-6.12 % of base)
          -8 : 1126.dasm (-0.18 % of base)
          -8 : 6562.dasm (-1.82 % of base)
          -8 : 2141.dasm (-1.55 % of base)
          -8 : 6772.dasm (-1.55 % of base)
          -8 : 11972.dasm (-1.82 % of base)
          -8 : 4460.dasm (-0.18 % of base)
9 total files with Code Size differences (9 improved, 0 regressed), 5 unchanged.
Top method improvements (bytes):
         -24 (-6.45 % of base) : 2589.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -24 (-6.12 % of base) : 8338.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -24 (-3.95 % of base) : 24178.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
          -8 (-1.55 % of base) : 2141.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -8 (-1.55 % of base) : 6772.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -8 (-0.18 % of base) : 1126.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
          -8 (-0.18 % of base) : 4460.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
          -8 (-1.82 % of base) : 6562.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -8 (-1.82 % of base) : 11972.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
Top method improvements (percentages):
         -24 (-6.45 % of base) : 2589.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -24 (-6.12 % of base) : 8338.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -24 (-3.95 % of base) : 24178.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
          -8 (-1.82 % of base) : 6562.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -8 (-1.82 % of base) : 11972.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -8 (-1.55 % of base) : 2141.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -8 (-1.55 % of base) : 6772.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -8 (-0.18 % of base) : 1126.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
          -8 (-0.18 % of base) : 4460.dasm - System.Number:NumberToStringFormat[ushort](byref,byref,System.ReadOnlySpan`1[ushort],System.Globalization.NumberFormatInfo) (FullOpts)
9 total methods with Code Size differences (9 improved, 0 regressed).
  
  
windows x64
Diffs are based on 1,999,660 contexts (587,594 MinOpts, 1,412,066 FullOpts).
MISSED contexts: base: 3,225 (0.16%), diff: 3,228 (0.16%)
Overall (-4,484 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| aspnet.run.windows.x64.checked.mch | 46,770,084 | -2,631 | 
| benchmarks.run.windows.x64.checked.mch | 11,727,476 | +35 | 
| benchmarks.run_pgo.windows.x64.checked.mch | 34,353,258 | +748 | 
| benchmarks.run_tiered.windows.x64.checked.mch | 19,449,443 | -135 | 
| coreclr_tests.run.windows.x64.checked.mch | 296,149,050 | -317 | 
| libraries.crossgen2.windows.x64.checked.mch | 44,929,099 | -115 | 
| libraries.pmi.windows.x64.checked.mch | 67,667,009 | -850 | 
| libraries_tests.run.windows.x64.Release.mch | 42,430,255 | -25 | 
| librariestestsnotieredcompilation.run.windows.x64.Release.mch | 142,641,215 | -871 | 
| realworld.run.windows.x64.checked.mch | 14,769,832 | -233 | 
| smoke_tests.nativeaot.windows.x64.checked.mch | 5,085,273 | -90 | 
  
FullOpts (-4,484 bytes)
| Collection | Base size (bytes) | Diff size (bytes) | 
| aspnet.run.windows.x64.checked.mch | 28,281,344 | -2,631 | 
| benchmarks.run.windows.x64.checked.mch | 11,726,881 | +35 | 
| benchmarks.run_pgo.windows.x64.checked.mch | 15,516,562 | +748 | 
| benchmarks.run_tiered.windows.x64.checked.mch | 4,081,554 | -135 | 
| coreclr_tests.run.windows.x64.checked.mch | 110,374,660 | -317 | 
| libraries.crossgen2.windows.x64.checked.mch | 44,927,912 | -115 | 
| libraries.pmi.windows.x64.checked.mch | 67,553,488 | -850 | 
| libraries_tests.run.windows.x64.Release.mch | 10,788,375 | -25 | 
| librariestestsnotieredcompilation.run.windows.x64.Release.mch | 131,858,345 | -871 | 
| realworld.run.windows.x64.checked.mch | 14,383,223 | -233 | 
| smoke_tests.nativeaot.windows.x64.checked.mch | 5,084,326 | -90 | 
  
Example diffs
aspnet.run.windows.x64.checked.mch
-39 (-5.08%) : 116340.dasm - System.Linq.Enumerable:AnySystem.__Canon:ubyte (Tier1-OSR)
@@ -12,61 +12,60 @@
 ;
 ;  V00 TypeCtx      [V00,T14] (  7, 115.50)    long  ->  rsi         single-def
 ;* V01 arg0         [V01    ] (  0,   0   )     ref  ->  zero-ref    class-hnd single-def <System.Collections.Generic.IEnumerable`1[System.__Canon]>
-;  V02 arg1         [V02,T10] (  8, 283.25)     ref  ->  rbx         class-hnd single-def <System.Func`2[System.__Canon,ubyte]>
-;  V03 loc0         [V03,T12] ( 10, 219.63)     ref  ->  [rbp+0xA8]  do-not-enreg[H] class-hnd EH-live tier0-frame <System.Collections.Generic.IEnumerator`1[System.__Canon]>
-;  V04 loc1         [V04,T11] (  6, 281.25)     ref  ->  rax         class-hnd <System.__Canon>
+;  V02 arg1         [V02,T09] (  8, 283.25)     ref  ->  rbx         class-hnd single-def <System.Func`2[System.__Canon,ubyte]>
+;  V03 loc0         [V03,T11] ( 10, 219.63)     ref  ->  [rbp+0xA8]  do-not-enreg[H] class-hnd EH-live tier0-frame <System.Collections.Generic.IEnumerator`1[System.__Canon]>
+;  V04 loc1         [V04,T10] (  6, 281.25)     ref  ->  rax         class-hnd <System.__Canon>
 ;  V05 loc2         [V05,T15] (  2,  93.75)   ubyte  ->  [rbp+0x9C]  do-not-enreg[Z] EH-live tier0-frame
 ;  V06 OutArgs      [V06    ] (  1,   1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V07 tmp1         [V07    ] (  0,   0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V08 tmp2         [V08    ] (  0,   0   )    long  ->  zero-ref    "VirtualCall with runtime lookup"
 ;* V09 tmp3         [V09    ] (  0,   0   )    long  ->  zero-ref    "spilling helperCall"
-;  V10 tmp4         [V10,T08] (  8, 562.50)    long  ->  r11         "VirtualCall with runtime lookup"
+;  V10 tmp4         [V10,T06] (  8, 562.50)    long  ->  r11         "VirtualCall with runtime lookup"
 ;  V11 tmp5         [V11,T13] (  4, 187.50)     int  ->  rax         "guarded devirt return temp"
 ;* V12 tmp6         [V12    ] (  0,   0   )     ref  ->  zero-ref    class-hnd "guarded devirt this exact temp" <Yarp.ReverseProxy.Management.IReverseProxyBuilderExtensions+<>c>
-;  V13 tmp7         [V13,T06] (  5, 200   )     int  ->  rcx         "guarded devirt return temp"
+;  V13 tmp7         [V13,T05] (  5, 200   )     int  ->  rcx         "guarded devirt return temp"
 ;* V14 tmp8         [V14    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Collections.Generic.List`1+Enumerator[Microsoft.Extensions.DependencyInjection.ServiceDescriptor]>
 ;* V15 tmp9         [V15,T20] (  0,   0   )     int  ->  zero-ref    "OSR entry state var"
 ;  V16 tmp10        [V16,T00] ( 18,4200   )   byref  ->  rdi         "Inlining Arg"
 ;  V17 tmp11        [V17,T04] (  8,1000   )     ref  ->  rax         class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V18 tmp12        [V18,T01] (  6,2400   )     ref  ->  r13         "arr expr"
+;  V18 tmp12        [V18,T01] (  6,2400   )     ref  ->  r15         "arr expr"
 ;  V19 tmp13        [V19,T02] (  6,2400   )     int  ->   r8         "index expr"
-;  V20 PSPSym       [V20,T21] (  1,   1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
-;  V21 cse0         [V21,T07] (  3, 594   )     int  ->  r15         "CSE - aggressive"
+;  V20 PSPSym       [V20,T21] (  1,   1   )    long  ->  [rbp-0x30]  do-not-enreg[V] "PSPSym"
+;  V21 cse0         [V21,T12] (  2, 198   )     int  ->  rcx         "CSE - aggressive"
 ;  V22 cse1         [V22,T03] (  3,1188   )     int  ->   r8         "CSE - aggressive"
-;  V23 cse2         [V23,T18] (  3,   6.00)     int  ->  r15         "CSE - aggressive"
+;  V23 cse2         [V23,T19] (  2,   2.00)     int  ->  rcx         "CSE - aggressive"
 ;  V24 cse3         [V24,T16] (  3,  12.00)     int  ->   r8         "CSE - aggressive"
-;  V25 cse4         [V25,T05] (  4, 693   )     ref  ->  r14         "CSE - aggressive"
-;  V26 cse5         [V26,T17] (  4,   7.00)     ref  ->  r14         "CSE - aggressive"
-;  V27 rat0         [V27,T09] (  3, 519.75)    long  ->  r11         "fgMakeTemp is creating a new local variable"
-;  V28 rat1         [V28,T19] (  3,   5.25)    long  ->  r11         "fgMakeTemp is creating a new local variable"
+;  V25 cse4         [V25,T08] (  3, 297   )     ref  ->  r14         "CSE - aggressive"
+;  V26 cse5         [V26,T18] (  3,   3.00)     ref  ->  r14         "CSE - aggressive"
+;  V27 rat0         [V27,T07] (  3, 519.75)    long  ->  r11         "fgMakeTemp is creating a new local variable"
+;  V28 rat1         [V28,T17] (  3,   5.25)    long  ->  r11         "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 48
+; Lcl frame size = 40
 
 G_M43250_IG01:        ; bbWeight=12.44, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        mov      rax, qword ptr [rbp]
        push     rax
-       sub      rsp, 96
-       mov      qword ptr [rsp+0x148], r15
-       mov      qword ptr [rsp+0x140], r14
-       mov      qword ptr [rsp+0x138], r13
-       mov      qword ptr [rsp+0x130], rdi
-       mov      qword ptr [rsp+0x128], rsi
-       mov      qword ptr [rsp+0x120], rbx
-       lea      rbp, [rsp+0x60]
-       mov      qword ptr [rbp-0x40], rsp
+       sub      rsp, 80
+       mov      qword ptr [rsp+0x138], r15
+       mov      qword ptr [rsp+0x130], r14
+       mov      qword ptr [rsp+0x128], rdi
+       mov      qword ptr [rsp+0x120], rsi
+       mov      qword ptr [rsp+0x118], rbx
+       lea      rbp, [rsp+0x50]
+       mov      qword ptr [rbp-0x30], rsp
        mov      rsi, qword ptr [rbp+0x100]
        mov      rbx, gword ptr [rbp+0x110]
        ; gcrRegs +[rbx]
-                      ;; size=80 bbWeight=12.44 PerfScore 183.46
-G_M43250_IG02:        ; bbWeight=12.44, gcVars=0000000000001000 {V03}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; GC ptr vars +{V03}
+                      ;; size=72 bbWeight=12.44 PerfScore 171.02
+G_M43250_IG02:        ; bbWeight=12.44, gcVars=0000000000000800 {V03}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
+       ; GC ptr vars +{V03 V11}
        cmp      gword ptr [rbp+0xA8], 0
-       je       G_M43250_IG19
+       je       G_M43250_IG18
        mov      rcx, gword ptr [rbp+0xA8]
        ; gcrRegs +[rcx]
        mov      rdx, 0xD1FFAB1E      ; System.Collections.Generic.List`1+Enumerator[Microsoft.Extensions.DependencyInjection.ServiceDescriptor]
        cmp      qword ptr [rcx], rdx
-       jne      G_M43250_IG19
+       jne      G_M43250_IG18
        jmp      SHORT G_M43250_IG07
                        ;; size=42 bbWeight=12.44 PerfScore 127.49
 G_M43250_IG03:        ; bbWeight=92.81, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
@@ -89,7 +88,7 @@ G_M43250_IG04:        ; bbWeight=92.81, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcrRegs +[rdx]
        cmp      gword ptr [rax+0x10], rdx
        jne      SHORT G_M43250_IG07
-       jmp      G_M43250_IG17
+       jmp      G_M43250_IG16
                       ;; size=47 bbWeight=92.81 PerfScore 1345.78
 G_M43250_IG05:        ; bbWeight=18.56, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax rdx]
@@ -110,9 +109,9 @@ G_M43250_IG06:        ; bbWeight=92.81, gcrefRegs=0009 {rax rbx}, byrefRegs=0000
        ; gcrRegs -[rax rcx rdx]
        ; gcr arg pop 0
        test     eax, eax
-       jne      G_M43250_IG17
+       jne      G_M43250_IG16
                      ;; size=18 bbWeight=92.81 PerfScore 603.28
-G_M43250_IG07:        ; bbWeight=99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M43250_IG07:        ; bbWeight=99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdi, gword ptr [rbp+0xA8]
        ; gcrRegs +[rdi]
        add      rdi, 8
@@ -122,25 +121,25 @@ G_M43250_IG07:        ; bbWeight=99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, by
        ; gcrRegs +[r14]
        mov      rax, r14
        ; gcrRegs +[rax]
-       mov      r15d, dword ptr [rdi+0x14]
-       cmp      r15d, dword ptr [rax+0x14]
-       jne      SHORT G_M43250_IG10
-                       ;; size=27 bbWeight=99 PerfScore 940.50
+       mov      ecx, dword ptr [rdi+0x14]
+       cmp      ecx, dword ptr [rax+0x14]
+       jne      G_M43250_IG17
+                       ;; size=29 bbWeight=99 PerfScore 940.50
 G_M43250_IG08:        ; bbWeight=396, gcrefRegs=4009 {rax rbx r14}, byrefRegs=0080 {rdi}, byref, isz
        mov      r8d, dword ptr [rdi+0x10]
        cmp      r8d, dword ptr [rax+0x10]
-       jae      SHORT G_M43250_IG11
-       mov      r13, gword ptr [rax+0x08]
-       ; gcrRegs +[r13]
-       cmp      r8d, dword ptr [r13+0x08]
+       jae      SHORT G_M43250_IG10
+       mov      r15, gword ptr [rax+0x08]
+       ; gcrRegs +[r15]
+       cmp      r8d, dword ptr [r15+0x08]
        jae      SHORT G_M43250_IG09
        mov      ecx, r8d
-       mov      rdx, gword ptr [r13+8*rcx+0x10]
+       mov      rdx, gword ptr [r15+8*rcx+0x10]
        ; gcrRegs +[rdx]
        lea      rcx, bword ptr [rdi+0x08]
        ; byrRegs +[rcx]
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       ; gcrRegs -[rax rdx r13-r14]
+       ; gcrRegs -[rax rdx r14-r15]
        ; byrRegs -[rcx]
        inc      dword ptr [rdi+0x10]
        jmp      G_M43250_IG03
@@ -151,13 +150,9 @@ G_M43250_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
                        ;; size=5 bbWeight=0 PerfScore 0.00
-G_M43250_IG10:        ; bbWeight=396, gcrefRegs=4008 {rbx r14}, byrefRegs=0080 {rdi}, byref
+G_M43250_IG10:        ; bbWeight=99, gcrefRegs=4008 {rbx r14}, byrefRegs=0080 {rdi}, byref
        ; gcrRegs +[rbx r14]
        ; byrRegs +[rdi]
-       cmp      r15d, dword ptr [r14+0x14]
-       jne      G_M43250_IG18
-                       ;; size=10 bbWeight=396 PerfScore 1584.00
-G_M43250_IG11:        ; bbWeight=99, gcrefRegs=4008 {rbx r14}, byrefRegs=0080 {rdi}, byref
        mov      ecx, dword ptr [r14+0x10]
        inc      ecx
        mov      dword ptr [rdi+0x10], ecx
@@ -165,29 +160,29 @@ G_M43250_IG11:        ; bbWeight=99, gcrefRegs=4008 {rbx r14}, byrefRegs=0080 {r
        ; gcrRegs +[rcx]
        mov      gword ptr [rdi+0x08], rcx
                        ;; size=15 bbWeight=99 PerfScore 445.50
-G_M43250_IG12:        ; bbWeight=99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M43250_IG11:        ; bbWeight=99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx r14]
        ; byrRegs -[rdi]
        test     ecx, ecx
-       je       G_M43250_IG28
+       je       G_M43250_IG26
                      ;; size=8 bbWeight=99 PerfScore 123.75
-G_M43250_IG13:        ; bbWeight=92.81, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M43250_IG12:        ; bbWeight=92.81, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        jmp      G_M43250_IG03
                        ;; size=5 bbWeight=92.81 PerfScore 185.62
-G_M43250_IG14:        ; bbWeight=0.94, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M43250_IG13:        ; bbWeight=0.94, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rcx, qword ptr [rsi+0x10]
        mov      r11, qword ptr [rcx+0x18]
        test     r11, r11
-       jne      G_M43250_IG24
+       jne      G_M43250_IG23
                      ;; size=17 bbWeight=0.94 PerfScore 4.92
-G_M43250_IG15:        ; bbWeight=0.19, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M43250_IG14:        ; bbWeight=0.19, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rcx, rsi
        mov      rdx, 0xD1FFAB1E      ; global ptr
        call     CORINFO_HELP_RUNTIMEHANDLE_METHOD
        ; gcr arg pop 0
        mov      r11, rax
                        ;; size=21 bbWeight=0.19 PerfScore 0.33
-G_M43250_IG16:        ; bbWeight=0.94, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M43250_IG15:        ; bbWeight=0.94, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rcx, gword ptr [rbp+0xA8]
        ; gcrRegs +[rcx]
        call     [r11]
@@ -195,7 +190,7 @@ G_M43250_IG16:        ; bbWeight=0.94, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcr arg pop 0
        mov      rdx, 0xD1FFAB1E      ; function address
        cmp      qword ptr [rbx+0x18], rdx
-       je       G_M43250_IG23
+       je       G_M43250_IG22
        mov      rdx, rax
        ; gcrRegs +[rdx]
        mov      rcx, gword ptr [rbx+0x08]
@@ -204,27 +199,27 @@ G_M43250_IG16:        ; bbWeight=0.94, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcrRegs -[rax rcx rdx]
        ; gcr arg pop 0
        test     eax, eax
-       je       SHORT G_M43250_IG19
+       je       SHORT G_M43250_IG18
                      ;; size=44 bbWeight=0.94 PerfScore 13.83
-G_M43250_IG17:        ; bbWeight=93.75, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M43250_IG16:        ; bbWeight=93.75, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx]
        mov      dword ptr [rbp+0x9C], 1
-       jmp      G_M43250_IG30
+       jmp      G_M43250_IG28
                       ;; size=15 bbWeight=93.75 PerfScore 281.25
-G_M43250_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M43250_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()]
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M43250_IG19:        ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M43250_IG18:        ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rbx]
        mov      rcx, gword ptr [rbp+0xA8]
        ; gcrRegs +[rcx]
        mov      rdx, 0xD1FFAB1E      ; System.Collections.Generic.List`1+Enumerator[Microsoft.Extensions.DependencyInjection.ServiceDescriptor]
        cmp      qword ptr [rcx], rdx
-       je       SHORT G_M43250_IG21
+       je       SHORT G_M43250_IG20
                      ;; size=22 bbWeight=1.00 PerfScore 5.25
-G_M43250_IG20:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M43250_IG19:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rcx]
        mov      rcx, gword ptr [rbp+0xA8]
        ; gcrRegs +[rcx]
@@ -233,9 +228,9 @@ G_M43250_IG20:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        mov      ecx, eax
-       jmp      G_M43250_IG27
-                       ;; size=27 bbWeight=0 PerfScore 0.00
-G_M43250_IG21:        ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M43250_IG25
...
  
-39 (-5.08%) : 117300.dasm - System.Linq.Enumerable:AnySystem.__Canon:ubyte (Tier1-OSR)
@@ -12,61 +12,60 @@
 ;
 ;  V00 TypeCtx      [V00,T14] (  7, 115.50)    long  ->  rsi         single-def
 ;* V01 arg0         [V01    ] (  0,   0   )     ref  ->  zero-ref    class-hnd single-def <System.Collections.Generic.IEnumerable`1[System.__Canon]>
-;  V02 arg1         [V02,T10] (  8, 283.25)     ref  ->  rbx         class-hnd single-def <System.Func`2[System.__Canon,ubyte]>
-;  V03 loc0         [V03,T12] ( 10, 219.63)     ref  ->  [rbp+0xA8]  do-not-enreg[H] class-hnd EH-live tier0-frame <System.Collections.Generic.IEnumerator`1[System.__Canon]>
-;  V04 loc1         [V04,T11] (  6, 281.25)     ref  ->  rax         class-hnd <System.__Canon>
+;  V02 arg1         [V02,T09] (  8, 283.25)     ref  ->  rbx         class-hnd single-def <System.Func`2[System.__Canon,ubyte]>
+;  V03 loc0         [V03,T11] ( 10, 219.63)     ref  ->  [rbp+0xA8]  do-not-enreg[H] class-hnd EH-live tier0-frame <System.Collections.Generic.IEnumerator`1[System.__Canon]>
+;  V04 loc1         [V04,T10] (  6, 281.25)     ref  ->  rax         class-hnd <System.__Canon>
 ;  V05 loc2         [V05,T15] (  2,  93.75)   ubyte  ->  [rbp+0x9C]  do-not-enreg[Z] EH-live tier0-frame
 ;  V06 OutArgs      [V06    ] (  1,   1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V07 tmp1         [V07    ] (  0,   0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V08 tmp2         [V08    ] (  0,   0   )    long  ->  zero-ref    "VirtualCall with runtime lookup"
 ;* V09 tmp3         [V09    ] (  0,   0   )    long  ->  zero-ref    "spilling helperCall"
-;  V10 tmp4         [V10,T08] (  8, 562.50)    long  ->  r11         "VirtualCall with runtime lookup"
+;  V10 tmp4         [V10,T06] (  8, 562.50)    long  ->  r11         "VirtualCall with runtime lookup"
 ;  V11 tmp5         [V11,T13] (  4, 187.50)     int  ->  rax         "guarded devirt return temp"
 ;* V12 tmp6         [V12    ] (  0,   0   )     ref  ->  zero-ref    class-hnd "guarded devirt this exact temp" <Yarp.ReverseProxy.Management.IReverseProxyBuilderExtensions+<>c>
-;  V13 tmp7         [V13,T06] (  5, 200   )     int  ->  rcx         "guarded devirt return temp"
+;  V13 tmp7         [V13,T05] (  5, 200   )     int  ->  rcx         "guarded devirt return temp"
 ;* V14 tmp8         [V14    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Collections.Generic.List`1+Enumerator[Microsoft.Extensions.DependencyInjection.ServiceDescriptor]>
 ;* V15 tmp9         [V15,T20] (  0,   0   )     int  ->  zero-ref    "OSR entry state var"
 ;  V16 tmp10        [V16,T00] ( 18,4200   )   byref  ->  rdi         "Inlining Arg"
 ;  V17 tmp11        [V17,T04] (  8,1000   )     ref  ->  rax         class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V18 tmp12        [V18,T01] (  6,2400   )     ref  ->  r13         "arr expr"
+;  V18 tmp12        [V18,T01] (  6,2400   )     ref  ->  r15         "arr expr"
 ;  V19 tmp13        [V19,T02] (  6,2400   )     int  ->   r8         "index expr"
-;  V20 PSPSym       [V20,T21] (  1,   1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
-;  V21 cse0         [V21,T07] (  3, 594   )     int  ->  r15         "CSE - aggressive"
+;  V20 PSPSym       [V20,T21] (  1,   1   )    long  ->  [rbp-0x30]  do-not-enreg[V] "PSPSym"
+;  V21 cse0         [V21,T12] (  2, 198   )     int  ->  rcx         "CSE - aggressive"
 ;  V22 cse1         [V22,T03] (  3,1188   )     int  ->   r8         "CSE - aggressive"
-;  V23 cse2         [V23,T18] (  3,   6.00)     int  ->  r15         "CSE - aggressive"
+;  V23 cse2         [V23,T19] (  2,   2.00)     int  ->  rcx         "CSE - aggressive"
 ;  V24 cse3         [V24,T16] (  3,  12.00)     int  ->   r8         "CSE - aggressive"
-;  V25 cse4         [V25,T05] (  4, 693   )     ref  ->  r14         "CSE - aggressive"
-;  V26 cse5         [V26,T17] (  4,   7.00)     ref  ->  r14         "CSE - aggressive"
-;  V27 rat0         [V27,T09] (  3, 519.75)    long  ->  r11         "fgMakeTemp is creating a new local variable"
-;  V28 rat1         [V28,T19] (  3,   5.25)    long  ->  r11         "fgMakeTemp is creating a new local variable"
+;  V25 cse4         [V25,T08] (  3, 297   )     ref  ->  r14         "CSE - aggressive"
+;  V26 cse5         [V26,T18] (  3,   3.00)     ref  ->  r14         "CSE - aggressive"
+;  V27 rat0         [V27,T07] (  3, 519.75)    long  ->  r11         "fgMakeTemp is creating a new local variable"
+;  V28 rat1         [V28,T17] (  3,   5.25)    long  ->  r11         "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 48
+; Lcl frame size = 40
 
 G_M43250_IG01:        ; bbWeight=12.44, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        mov      rax, qword ptr [rbp]
        push     rax
-       sub      rsp, 96
-       mov      qword ptr [rsp+0x148], r15
-       mov      qword ptr [rsp+0x140], r14
-       mov      qword ptr [rsp+0x138], r13
-       mov      qword ptr [rsp+0x130], rdi
-       mov      qword ptr [rsp+0x128], rsi
-       mov      qword ptr [rsp+0x120], rbx
-       lea      rbp, [rsp+0x60]
-       mov      qword ptr [rbp-0x40], rsp
+       sub      rsp, 80
+       mov      qword ptr [rsp+0x138], r15
+       mov      qword ptr [rsp+0x130], r14
+       mov      qword ptr [rsp+0x128], rdi
+       mov      qword ptr [rsp+0x120], rsi
+       mov      qword ptr [rsp+0x118], rbx
+       lea      rbp, [rsp+0x50]
+       mov      qword ptr [rbp-0x30], rsp
        mov      rsi, qword ptr [rbp+0x100]
        mov      rbx, gword ptr [rbp+0x110]
        ; gcrRegs +[rbx]
-                      ;; size=80 bbWeight=12.44 PerfScore 183.46
-G_M43250_IG02:        ; bbWeight=12.44, gcVars=0000000000001000 {V03}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; GC ptr vars +{V03}
+                      ;; size=72 bbWeight=12.44 PerfScore 171.02
+G_M43250_IG02:        ; bbWeight=12.44, gcVars=0000000000000800 {V03}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
+       ; GC ptr vars +{V03 V11}
        cmp      gword ptr [rbp+0xA8], 0
-       je       G_M43250_IG19
+       je       G_M43250_IG18
        mov      rcx, gword ptr [rbp+0xA8]
        ; gcrRegs +[rcx]
        mov      rdx, 0xD1FFAB1E      ; System.Collections.Generic.List`1+Enumerator[Microsoft.Extensions.DependencyInjection.ServiceDescriptor]
        cmp      qword ptr [rcx], rdx
-       jne      G_M43250_IG19
+       jne      G_M43250_IG18
        jmp      SHORT G_M43250_IG07
                        ;; size=42 bbWeight=12.44 PerfScore 127.49
 G_M43250_IG03:        ; bbWeight=92.81, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
@@ -89,7 +88,7 @@ G_M43250_IG04:        ; bbWeight=92.81, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcrRegs +[rdx]
        cmp      gword ptr [rax+0x10], rdx
        jne      SHORT G_M43250_IG07
-       jmp      G_M43250_IG17
+       jmp      G_M43250_IG16
                       ;; size=47 bbWeight=92.81 PerfScore 1345.78
 G_M43250_IG05:        ; bbWeight=18.56, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax rdx]
@@ -110,9 +109,9 @@ G_M43250_IG06:        ; bbWeight=92.81, gcrefRegs=0009 {rax rbx}, byrefRegs=0000
        ; gcrRegs -[rax rcx rdx]
        ; gcr arg pop 0
        test     eax, eax
-       jne      G_M43250_IG17
+       jne      G_M43250_IG16
                      ;; size=18 bbWeight=92.81 PerfScore 603.28
-G_M43250_IG07:        ; bbWeight=99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M43250_IG07:        ; bbWeight=99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdi, gword ptr [rbp+0xA8]
        ; gcrRegs +[rdi]
        add      rdi, 8
@@ -122,25 +121,25 @@ G_M43250_IG07:        ; bbWeight=99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, by
        ; gcrRegs +[r14]
        mov      rax, r14
        ; gcrRegs +[rax]
-       mov      r15d, dword ptr [rdi+0x14]
-       cmp      r15d, dword ptr [rax+0x14]
-       jne      SHORT G_M43250_IG10
-                       ;; size=27 bbWeight=99 PerfScore 940.50
+       mov      ecx, dword ptr [rdi+0x14]
+       cmp      ecx, dword ptr [rax+0x14]
+       jne      G_M43250_IG17
+                       ;; size=29 bbWeight=99 PerfScore 940.50
 G_M43250_IG08:        ; bbWeight=396, gcrefRegs=4009 {rax rbx r14}, byrefRegs=0080 {rdi}, byref, isz
        mov      r8d, dword ptr [rdi+0x10]
        cmp      r8d, dword ptr [rax+0x10]
-       jae      SHORT G_M43250_IG11
-       mov      r13, gword ptr [rax+0x08]
-       ; gcrRegs +[r13]
-       cmp      r8d, dword ptr [r13+0x08]
+       jae      SHORT G_M43250_IG10
+       mov      r15, gword ptr [rax+0x08]
+       ; gcrRegs +[r15]
+       cmp      r8d, dword ptr [r15+0x08]
        jae      SHORT G_M43250_IG09
        mov      ecx, r8d
-       mov      rdx, gword ptr [r13+8*rcx+0x10]
+       mov      rdx, gword ptr [r15+8*rcx+0x10]
        ; gcrRegs +[rdx]
        lea      rcx, bword ptr [rdi+0x08]
        ; byrRegs +[rcx]
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       ; gcrRegs -[rax rdx r13-r14]
+       ; gcrRegs -[rax rdx r14-r15]
        ; byrRegs -[rcx]
        inc      dword ptr [rdi+0x10]
        jmp      G_M43250_IG03
@@ -151,13 +150,9 @@ G_M43250_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
                        ;; size=5 bbWeight=0 PerfScore 0.00
-G_M43250_IG10:        ; bbWeight=396, gcrefRegs=4008 {rbx r14}, byrefRegs=0080 {rdi}, byref
+G_M43250_IG10:        ; bbWeight=99, gcrefRegs=4008 {rbx r14}, byrefRegs=0080 {rdi}, byref
        ; gcrRegs +[rbx r14]
        ; byrRegs +[rdi]
-       cmp      r15d, dword ptr [r14+0x14]
-       jne      G_M43250_IG18
-                       ;; size=10 bbWeight=396 PerfScore 1584.00
-G_M43250_IG11:        ; bbWeight=99, gcrefRegs=4008 {rbx r14}, byrefRegs=0080 {rdi}, byref
        mov      ecx, dword ptr [r14+0x10]
        inc      ecx
        mov      dword ptr [rdi+0x10], ecx
@@ -165,29 +160,29 @@ G_M43250_IG11:        ; bbWeight=99, gcrefRegs=4008 {rbx r14}, byrefRegs=0080 {r
        ; gcrRegs +[rcx]
        mov      gword ptr [rdi+0x08], rcx
                        ;; size=15 bbWeight=99 PerfScore 445.50
-G_M43250_IG12:        ; bbWeight=99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M43250_IG11:        ; bbWeight=99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx r14]
        ; byrRegs -[rdi]
        test     ecx, ecx
-       je       G_M43250_IG28
+       je       G_M43250_IG26
                      ;; size=8 bbWeight=99 PerfScore 123.75
-G_M43250_IG13:        ; bbWeight=92.81, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M43250_IG12:        ; bbWeight=92.81, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        jmp      G_M43250_IG03
                        ;; size=5 bbWeight=92.81 PerfScore 185.62
-G_M43250_IG14:        ; bbWeight=0.94, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M43250_IG13:        ; bbWeight=0.94, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rcx, qword ptr [rsi+0x10]
        mov      r11, qword ptr [rcx+0x18]
        test     r11, r11
-       jne      G_M43250_IG24
+       jne      G_M43250_IG23
                      ;; size=17 bbWeight=0.94 PerfScore 4.92
-G_M43250_IG15:        ; bbWeight=0.19, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M43250_IG14:        ; bbWeight=0.19, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rcx, rsi
        mov      rdx, 0xD1FFAB1E      ; global ptr
        call     CORINFO_HELP_RUNTIMEHANDLE_METHOD
        ; gcr arg pop 0
        mov      r11, rax
                        ;; size=21 bbWeight=0.19 PerfScore 0.33
-G_M43250_IG16:        ; bbWeight=0.94, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M43250_IG15:        ; bbWeight=0.94, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rcx, gword ptr [rbp+0xA8]
        ; gcrRegs +[rcx]
        call     [r11]
@@ -195,7 +190,7 @@ G_M43250_IG16:        ; bbWeight=0.94, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcr arg pop 0
        mov      rdx, 0xD1FFAB1E      ; function address
        cmp      qword ptr [rbx+0x18], rdx
-       je       G_M43250_IG23
+       je       G_M43250_IG22
        mov      rdx, rax
        ; gcrRegs +[rdx]
        mov      rcx, gword ptr [rbx+0x08]
@@ -204,27 +199,27 @@ G_M43250_IG16:        ; bbWeight=0.94, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        ; gcrRegs -[rax rcx rdx]
        ; gcr arg pop 0
        test     eax, eax
-       je       SHORT G_M43250_IG19
+       je       SHORT G_M43250_IG18
                      ;; size=44 bbWeight=0.94 PerfScore 13.83
-G_M43250_IG17:        ; bbWeight=93.75, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M43250_IG16:        ; bbWeight=93.75, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx]
        mov      dword ptr [rbp+0x9C], 1
-       jmp      G_M43250_IG30
+       jmp      G_M43250_IG28
                       ;; size=15 bbWeight=93.75 PerfScore 281.25
-G_M43250_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M43250_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()]
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M43250_IG19:        ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M43250_IG18:        ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rbx]
        mov      rcx, gword ptr [rbp+0xA8]
        ; gcrRegs +[rcx]
        mov      rdx, 0xD1FFAB1E      ; System.Collections.Generic.List`1+Enumerator[Microsoft.Extensions.DependencyInjection.ServiceDescriptor]
        cmp      qword ptr [rcx], rdx
-       je       SHORT G_M43250_IG21
+       je       SHORT G_M43250_IG20
                      ;; size=22 bbWeight=1.00 PerfScore 5.25
-G_M43250_IG20:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M43250_IG19:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rcx]
        mov      rcx, gword ptr [rbp+0xA8]
        ; gcrRegs +[rcx]
@@ -233,9 +228,9 @@ G_M43250_IG20:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        mov      ecx, eax
-       jmp      G_M43250_IG27
-                       ;; size=27 bbWeight=0 PerfScore 0.00
-G_M43250_IG21:        ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M43250_IG25
...
  
-18 (-5.06%) : 20474.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (Tier1)
@@ -14,7 +14,7 @@
 ;  V02 loc0         [V02,T05] (  3,  1   )     ref  ->  [rbp-0x40]  class-hnd exact EH-live spill-single-def <System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo>
 ;  V03 loc1         [V03    ] (  5,  4   )   ubyte  ->  [rbp-0x20]  do-not-enreg[X] addr-exposed ld-addr-op
 ;  V04 loc2         [V04,T07] (  3,  0.70)     ref  ->  rax         class-hnd single-def <<unknown class>>
-;  V05 loc3         [V05    ] ( 15,  0   )  struct (24) [rbp-0x38]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
+;  V05 loc3         [V05    ] ( 13,  0   )  struct (24) [rbp-0x38]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;  V06 loc4         [V06,T10] (  2,  0   )     ref  ->   r8         class-hnd exact <System.String>
 ;  V07 loc5         [V07,T03] (  5,  1.76)     ref  ->   r8         class-hnd exact <System.String>
 ;  V08 OutArgs      [V08    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -23,10 +23,10 @@
 ;* V11 tmp3         [V11,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V12 tmp4         [V12,T08] (  4,  0   )     ref  ->  rcx         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V13 tmp5         [V13,T01] (  3,  1.35)     ref  ->  rsi         single-def "field V00._descriptor (fldOffset=0x0)" P-INDEP
-;  V14 tmp6         [V14    ] (  4,  0   )     ref  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V05._list (fldOffset=0x0)" P-DEP
+;  V14 tmp6         [V14    ] (  3,  0   )     ref  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V05._list (fldOffset=0x0)" P-DEP
 ;  V15 tmp7         [V15    ] (  4,  0   )     ref  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V05._current (fldOffset=0x8)" P-DEP
 ;  V16 tmp8         [V16    ] (  7,  0   )     int  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V05._index (fldOffset=0x10)" P-DEP
-;  V17 tmp9         [V17    ] (  3,  0   )     int  ->  [rbp-0x24]  do-not-enreg[X] addr-exposed "field V05._version (fldOffset=0x14)" P-DEP
+;  V17 tmp9         [V17    ] (  2,  0   )     int  ->  [rbp-0x24]  do-not-enreg[X] addr-exposed "field V05._version (fldOffset=0x14)" P-DEP
 ;  V18 tmp10        [V18,T09] (  3,  0   )     ref  ->  rcx         "arr expr"
 ;  V19 PSPSym       [V19,T06] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
 ;  V20 cse0         [V20,T02] (  4,  2.70)     ref  ->  rdi         "CSE - aggressive"
@@ -68,7 +68,7 @@ G_M53769_IG03:        ; bbWeight=1, gcVars=0000000000000020 {V02}, gcrefRegs=004
        mov      rdi, gword ptr [rbx+0x08]
        ; gcrRegs +[rdi]
        test     rdi, rdi
-       je       G_M53769_IG14
+       je       G_M53769_IG13
                      ;; size=31 bbWeight=1 PerfScore 8.00
 G_M53769_IG04:        ; bbWeight=0.35, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
        mov      rdx, rdi
@@ -93,12 +93,12 @@ G_M53769_IG04:        ; bbWeight=0.35, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0
        ; gcrRegs -[rax rcx rdx rsi rdi r8]
        ; gcr arg pop 0
                        ;; size=57 bbWeight=0.35 PerfScore 3.60
-G_M53769_IG05:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M53769_IG05:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        xor      rcx, rcx
        ; gcrRegs +[rcx]
        mov      gword ptr [rbx+0x08], rcx
-       jmp      G_M53769_IG14
-                       ;; size=11 bbWeight=1 PerfScore 3.25
+       jmp      SHORT G_M53769_IG13
+                       ;; size=8 bbWeight=1 PerfScore 3.25
 G_M53769_IG06:        ; bbWeight=0, gcrefRegs=0049 {rax rbx rsi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rcx] +[rax rsi]
        lea      rdx, [rbp-0x38]
@@ -132,10 +132,10 @@ G_M53769_IG09:        ; bbWeight=0, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {},
        ; gcrRegs +[rcx]
        mov      edx, dword ptr [rbp-0x24]
        cmp      edx, dword ptr [rcx+0x14]
-       jne      SHORT G_M53769_IG11
+       jne      SHORT G_M53769_IG12
        mov      edx, dword ptr [rbp-0x28]
        cmp      edx, dword ptr [rcx+0x10]
-       jae      SHORT G_M53769_IG12
+       jae      SHORT G_M53769_IG11
        mov      rcx, gword ptr [rcx+0x08]
        mov      edx, dword ptr [rcx+0x08]
        cmp      dword ptr [rbp-0x28], edx
@@ -156,14 +156,6 @@ G_M53769_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
                        ;; size=5 bbWeight=0 PerfScore 0.00
 G_M53769_IG11:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rbx]
-       mov      eax, dword ptr [rbp-0x24]
-       mov      rcx, gword ptr [rbp-0x38]
-       ; gcrRegs +[rcx]
-       cmp      eax, dword ptr [rcx+0x14]
-       jne      SHORT G_M53769_IG13
-                       ;; size=12 bbWeight=0 PerfScore 0.00
-G_M53769_IG12:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rcx]
        mov      rax, gword ptr [rbp-0x38]
        ; gcrRegs +[rax]
        mov      eax, dword ptr [rax+0x10]
@@ -173,17 +165,17 @@ G_M53769_IG12:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        xor      rax, rax
        ; gcrRegs +[rax]
        mov      gword ptr [rbp-0x30], rax
-       jmp      G_M53769_IG05
-                       ;; size=23 bbWeight=0 PerfScore 0.00
-G_M53769_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       jmp      SHORT G_M53769_IG05
+                       ;; size=20 bbWeight=0 PerfScore 0.00
+G_M53769_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax rbx]
        call     [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()]
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M53769_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M53769_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        cmp      byte  ptr [rbp-0x20], 0
-       je       SHORT G_M53769_IG15
+       je       SHORT G_M53769_IG14
        mov      rcx, gword ptr [rbp-0x40]
        ; gcrRegs +[rcx]
        ; GC ptr vars -{V02}
@@ -191,10 +183,10 @@ G_M53769_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
                        ;; size=15 bbWeight=1 PerfScore 5.00
-G_M53769_IG15:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M53769_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
-G_M53769_IG16:        ; bbWeight=1, epilog, nogc, extend
+G_M53769_IG15:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 88
        pop      rbx
        pop      rsi
@@ -202,7 +194,7 @@ G_M53769_IG16:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=9 bbWeight=1 PerfScore 3.25
-G_M53769_IG17:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+G_M53769_IG16:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
        ; GC ptr vars +{V02}
        push     rbp
        push     rdi
@@ -213,9 +205,9 @@ G_M53769_IG17:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=000
        mov      qword ptr [rsp+0x20], rbp
        lea      rbp, [rbp+0x70]
                        ;; size=21 bbWeight=0 PerfScore 0.00
-G_M53769_IG18:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M53769_IG17:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        cmp      byte  ptr [rbp-0x20], 0
-       je       SHORT G_M53769_IG19
+       je       SHORT G_M53769_IG18
        mov      rcx, gword ptr [rbp-0x40]
        ; gcrRegs +[rcx]
        ; GC ptr vars -{V02}
@@ -223,10 +215,10 @@ G_M53769_IG18:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=000
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
                        ;; size=15 bbWeight=0 PerfScore 0.00
-G_M53769_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M53769_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=0 PerfScore 0.00
-G_M53769_IG20:        ; bbWeight=0, funclet epilog, nogc, extend
+G_M53769_IG19:        ; bbWeight=0, funclet epilog, nogc, extend
        add      rsp, 40
        pop      rbx
        pop      rsi
@@ -235,7 +227,7 @@ G_M53769_IG20:        ; bbWeight=0, funclet epilog, nogc, extend
        ret      
                        ;; size=9 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 356, prolog size 38, PerfScore 35.43, instruction count 112, allocated bytes for code 356 (MethodHash=4a3e2df6) for method System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (Tier1)
+; Total bytes of code 338, prolog size 38, PerfScore 35.43, instruction count 108, allocated bytes for code 338 (MethodHash=4a3e2df6) for method System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -270,4 +262,4 @@ Unwind Info:
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 *************** EH table for System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo)
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M53769_IG03..G_M53769_IG14) handled by [G_M53769_IG17..END) (fault)
+EH#0: try [G_M53769_IG03..G_M53769_IG13) handled by [G_M53769_IG16..END) (fault)
  
+24 (+2.05%) : 51590.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
@@ -11,7 +11,7 @@
 ;
 ;  V00 this         [V00,T01] ( 25,876.16)   byref  ->  rbx         this single-def
 ;  V01 arg1         [V01,T12] (  4,  3.50)   byref  ->  rsi         single-def
-;  V02 loc0         [V02,T03] ( 18,497.31)  ushort  ->  r14        
+;  V02 loc0         [V02,T03] ( 18,497.74)  ushort  ->  r14        
 ;  V03 loc1         [V03    ] ( 39,252.75)  struct (32) [rbp+0x18]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Text.ValueStringBuilder>
 ;  V04 loc2         [V04,T08] (  6, 63.51)  ushort  ->  r15        
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[ushort]>
@@ -115,19 +115,19 @@ G_M25128_IG04:        ; bbWeight=4.67, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rs
        lea      eax, [rcx+0x01]
        mov      dword ptr [rbx+0x10], eax
        cmp      ecx, dword ptr [rbx+0x08]
-       jae      G_M25128_IG50
+       jae      G_M25128_IG59
        mov      rax, bword ptr [rbx]
        ; byrRegs +[rax]
        mov      ecx, ecx
        movzx    rdi, word  ptr [rax+2*rcx]
        test     edi, edi
-       je       G_M25128_IG62
+       je       G_M25128_IG57
                      ;; size=32 bbWeight=4.67 PerfScore 51.33
 G_M25128_IG05:        ; bbWeight=1.17, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref
        ; byrRegs -[rax]
        mov      r14d, edi
        test     r14d, r14d
-       je       G_M25128_IG44
+       je       G_M25128_IG46
                        ;; size=12 bbWeight=1.17 PerfScore 1.75
 G_M25128_IG06:        ; bbWeight=1.33, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref
        cmp      r14d, 44
@@ -171,146 +171,119 @@ G_M25128_IG13:        ; bbWeight=0.33, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rs
        mov      r15d, edi
        mov      eax, dword ptr [rbx+0x10]
        cmp      eax, dword ptr [rbx+0x08]
-       jge      G_M25128_IG39
+       jge      G_M25128_IG43
        lea      ecx, [rax+0x01]
        mov      dword ptr [rbx+0x10], ecx
        cmp      eax, dword ptr [rbx+0x08]
-       jae      G_M25128_IG50
+       jae      G_M25128_IG59
        mov      rcx, bword ptr [rbx]
        ; byrRegs +[rcx]
        movzx    r14, word  ptr [rcx+2*rax]
        test     r14d, r14d
-       je       G_M25128_IG62
+       je       G_M25128_IG57
                        ;; size=47 bbWeight=0.33 PerfScore 5.66
 G_M25128_IG14:        ; bbWeight=61.84, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref
        ; byrRegs -[rcx]
        test     r14d, r14d
        je       G_M25128_IG49
                        ;; size=9 bbWeight=61.84 PerfScore 77.30
-G_M25128_IG15:        ; bbWeight=61.67, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref, isz
+G_M25128_IG15:        ; bbWeight=61.67, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref
        test     r15d, r15d
-       jne      G_M25128_IG51
+       jne      G_M25128_IG62
        cmp      r14d, 44
-       je       SHORT G_M25128_IG17
-                       ;; size=15 bbWeight=61.67 PerfScore 154.18
+       je       G_M25128_IG42
+                       ;; size=19 bbWeight=61.67 PerfScore 154.18
 G_M25128_IG16:        ; bbWeight=60.85, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref
        cmp      r14d, 61
-       jne      G_M25128_IG36
+       je       G_M25128_IG42
                      ;; size=10 bbWeight=60.85 PerfScore 76.06
-G_M25128_IG17:        ; bbWeight=0.33, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref
-       mov      edi, dword ptr [rbx+0x10]
-       lea      ecx, [rdi-0x01]
-       mov      dword ptr [rbx+0x10], ecx
-                       ;; size=9 bbWeight=0.33 PerfScore 1.17
-G_M25128_IG18:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byref, isz
-       ; byrRegs -[rbx]
-       test     r15d, r15d
-       jne      SHORT G_M25128_IG20
-                       ;; size=5 bbWeight=0.50 PerfScore 0.62
-G_M25128_IG19:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byref, isz
+G_M25128_IG17:        ; bbWeight=61.34, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref
+       cmp      r14d, 39
+       je       G_M25128_IG57
+                       ;; size=10 bbWeight=61.34 PerfScore 76.67
+G_M25128_IG18:        ; bbWeight=60.91, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref
+       cmp      r14d, 34
+       je       G_M25128_IG57
+                       ;; size=10 bbWeight=60.91 PerfScore 76.14
+G_M25128_IG19:        ; bbWeight=61.34, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref, isz
+       cmp      r14d, 92
+       je       SHORT G_M25128_IG24
+                       ;; size=6 bbWeight=61.34 PerfScore 76.67
+G_M25128_IG20:        ; bbWeight=61.28, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref
        mov      ecx, dword ptr [rbp+0x20]
-       test     ecx, ecx
-       jle      SHORT G_M25128_IG20
-       dec      ecx
-       cmp      ecx, dword ptr [rbp+0x30]
-       jae      G_M25128_IG50
        mov      rax, bword ptr [rbp+0x28]
        ; byrRegs +[rax]
-       movzx    rcx, word  ptr [rax+2*rcx]
-       call     [System.Reflection.AssemblyNameParser:IsWhiteSpace(ushort):ubyte]
+       mov      edx, dword ptr [rbp+0x30]
+       cmp      ecx, edx
+       jae      G_M25128_IG60
+       mov      edx, ecx
+       mov      word  ptr [rax+2*rdx], r14w
+       inc      ecx
+       mov      dword ptr [rbp+0x20], ecx
+                       ;; size=30 bbWeight=61.28 PerfScore 413.63
+G_M25128_IG21:        ; bbWeight=61.28, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref
        ; byrRegs -[rax]
-       ; gcr arg pop 0
-       test     eax, eax
-       jne      G_M25128_IG63
-                       ;; size=40 bbWeight=0.50 PerfScore 6.38
-G_M25128_IG20:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byref, isz
-       mov      ecx, dword ptr [rbp+0x20]
-       cmp      ecx, dword ptr [rbp+0x30]
-       ja       G_M25128_IG64
-       mov      rax, bword ptr [rbp+0x28]
-       ; byrRegs +[rax]
-       mov      bword ptr [rbp+0x08], rax
-       mov      dword ptr [rbp+0x10], ecx
-       lea      rcx, [rbp+0x08]
-       call     [<unknown method>]
-       ; gcrRegs +[rax]
-       ; byrRegs -[rax]
-       ; gcr arg pop 0
-       mov      r14, rax
-       ; gcrRegs +[r14]
-       mov      rdx, gword ptr [rbp+0x18]
-       ; gcrRegs +[rdx]
-       vxorps   ymm0, ymm0, ymm0
-       vmovdqu  ymmword ptr [rbp+0x18], ymm0
-       test     rdx, rdx
-       jne      SHORT G_M25128_IG27
-                       ;; size=54 bbWeight=0.50 PerfScore 7.17
-G_M25128_IG21:        ; bbWeight=0.50, gcrefRegs=4000 {r14}, byrefRegs=0040 {rsi}, byref, isz
-       ; gcrRegs -[rax rdx]
-       mov      rcx, rsi
-       ; byrRegs +[rcx]
-       mov      rdx, r14
-       ; gcrRegs +[rdx]
-       call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       ; gcrRegs -[rdx r14]
-       ; byrRegs -[rcx rsi]
-       mov      eax, 3
-       mov      rcx, 0xD1FFAB1E
-       cmp      qword ptr [rbp], rcx
-       je       SHORT G_M25128_IG22
-       call     CORINFO_HELP_FAIL_FAST
-       ; gcr arg pop 0
-                       ;; size=37 bbWeight=0.50 PerfScore 3.00
-G_M25128_IG22:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       nop      
-                       ;; size=1 bbWeight=0.50 PerfScore 0.12
-G_M25128_IG23:        ; bbWeight=0.50, epilog, nogc, extend
-       lea      rsp, [rbp+0x38]
-       pop      rbx
-       pop      rsi
-       pop      rdi
-       pop      r14
-       pop      r15
-       pop      rbp
-       ret      
-                       ;; size=13 bbWeight=0.50 PerfScore 2.25
-G_M25128_IG24:        ; bbWeight=61.28, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, gcvars, byref, isz
-       ; byrRegs +[rbx rsi]
        mov      ecx, dword ptr [rbx+0x10]
        cmp      ecx, dword ptr [rbx+0x08]
-       jge      SHORT G_M25128_IG32
-                       ;; size=8 bbWeight=61.28 PerfScore 367.67
-G_M25128_IG25:        ; bbWeight=244.03, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref
+       jge      G_M25128_IG32
+                       ;; size=12 bbWeight=61.28 PerfScore 367.67
+G_M25128_IG22:        ; bbWeight=244.03, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref
        lea      eax, [rcx+0x01]
        mov      dword ptr [rbx+0x10], eax
        cmp      ecx, dword ptr [rbx+0x08]
-       jae      G_M25128_IG50
+       jae      G_M25128_IG59
        mov      rax, bword ptr [rbx]
        ; byrRegs +[rax]
        mov      ecx, ecx
        movzx    r14, word  ptr [rax+2*rcx]
        test     r14d, r14d
-       je       G_M25128_IG62
+       je       G_M25128_IG57
                        ;; size=34 bbWeight=244.03 PerfScore 2684.30
-G_M25128_IG26:        ; bbWeight=61.01, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref
+G_M25128_IG23:        ; bbWeight=61.01, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref
        ; byrRegs -[rax]
        jmp      G_M25128_IG14
                        ;; size=5 bbWeight=61.01 PerfScore 122.01
-G_M25128_IG27:        ; bbWeight=0.02, gcrefRegs=4004 {rdx r14}, byrefRegs=0040 {rsi}, byref, isz
-       ; gcrRegs +[rdx r14]
-       ; byrRegs -[rbx]
-       mov      rcx, 0xD1FFAB1E      ; const ptr
-       mov      rcx, gword ptr [rcx]
-       ; gcrRegs +[rcx]
-       xor      r8d, r8d
-       call     [<unknown method>]
-       ; gcrRegs -[rcx rdx]
-       ; gcr arg pop 0
-       jmp      SHORT G_M25128_IG21
-                       ;; size=24 bbWeight=0.02 PerfScore 0.19
+G_M25128_IG24:        ; bbWeight=0.06, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref
+       mov      edi, dword ptr [rbx+0x10]
+       cmp      edi, dword ptr [rbx+0x08]
+       jge      G_M25128_IG45
+                       ;; size=12 bbWeight=0.06 PerfScore 0.37
+G_M25128_IG25:        ; bbWeight=0.24, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref
+       lea      ecx, [rdi+0x01]
+       mov      dword ptr [rbx+0x10], ecx
+       cmp      edi, dword ptr [rbx+0x08]
+       jae      G_M25128_IG59
+       mov      rcx, bword ptr [rbx]
+       ; byrRegs +[rcx]
+       mov      edx, edi
+       movzx    rdx, word  ptr [rcx+2*rdx]
+       test     edx, edx
+       je       G_M25128_IG57
+                       ;; size=32 bbWeight=0.24 PerfScore 2.68
+G_M25128_IG26:        ; bbWeight=0.06, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref
+       ; byrRegs -[rcx]
+       cmp      edx, 61
+       ja       G_M25128_IG65
+       cmp      edx, 39
+       ja       G_M25128_IG64
+       cmp      edx, 34
+       jne      G_M25128_IG63
+                       ;; size=27 bbWeight=0.06 PerfScore 0.23
+G_M25128_IG27:        ; bbWeight=0.06, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref
+       mov      ecx, dword ptr [rbp+0x20]
+       mov      rax, bword ptr [rbp+0x28]
+       ; byrRegs +[rax]
+       mov      r8d, dword ptr [rbp+0x30]
+       cmp      ecx, r8d
+       jae      G_M25128_IG50
+       mov      r8d, ecx
+       mov      word  ptr [rax+2*r8], dx
+       inc      ecx
+       mov      dword ptr [rbp+0x20], ecx
+       jmp      G_M25128_IG21
+                       ;; size=38 bbWeight=0.06 PerfScore 0.53
 G_M25128_IG28:        ; bbWeight=4.67, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi}, byref
-       ; gcrRegs -[r14]
...
  
+2 (+2.13%) : 114732.dasm - Fluid.Ast.NamedExpressionList:.ctor(System.Collections.Generic.List`1[Fluid.Ast.FilterArgument]):this (Tier1)
@@ -8,30 +8,31 @@
 ; 0 inlinees with PGO data; 7 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T10] (  3,  4   )     ref  ->  rbx         this class-hnd single-def <Fluid.Ast.NamedExpressionList>
-;  V01 arg1         [V01,T09] (  4,  4   )     ref  ->  rdx         class-hnd single-def <System.Collections.Generic.List`1[Fluid.Ast.FilterArgument]>
+;  V00 this         [V00,T11] (  3,  4   )     ref  ->  rbx         this class-hnd single-def <Fluid.Ast.NamedExpressionList>
+;  V01 arg1         [V01,T10] (  4,  4   )     ref  ->  rdx         class-hnd single-def <System.Collections.Generic.List`1[Fluid.Ast.FilterArgument]>
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op <System.Collections.Generic.List`1+Enumerator[Fluid.Ast.FilterArgument]>
 ;* V03 loc1         [V03    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <Fluid.Ast.FilterArgument>
 ;  V04 OutArgs      [V04    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V05 tmp1         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.String>
 ;* V06 tmp2         [V06    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[Fluid.Ast.FilterArgument]>
-;* V07 tmp3         [V07,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V07 tmp3         [V07,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V08 tmp4         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[Fluid.Ast.FilterArgument]>
 ;* V09 tmp5         [V09    ] (  0,  0   )     ref  ->  zero-ref    "field V03.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
 ;* V10 tmp6         [V10    ] (  0,  0   )     ref  ->  zero-ref    "field V03.<Expression>k__BackingField (fldOffset=0x8)" P-INDEP
 ;  V11 tmp7         [V11,T03] (  4, 17   )     ref  ->  rdi         single-def "V02.[000..008)"
 ;  V12 tmp8         [V12,T00] (  6, 21   )     int  ->  rbp         "V02.[008..012)"
-;  V13 tmp9         [V13,T07] (  2,  9   )     int  ->  rsi         single-def "V02.[012..016)"
-;  V14 tmp10        [V14,T05] (  2,  6   )     ref  ->  rdx         "V02.[016..024)"
-;  V15 tmp11        [V15,T06] (  2,  6   )     ref  ->   r8         "V02.[024..032)"
+;  V13 tmp9         [V13,T08] (  2,  9   )     int  ->  rsi         single-def "V02.[012..016)"
+;  V14 tmp10        [V14,T06] (  2,  6   )     ref  ->  rdx         "V02.[016..024)"
+;  V15 tmp11        [V15,T07] (  2,  6   )     ref  ->   r8         "V02.[024..032)"
 ;* V16 tmp12        [V16    ] (  0,  0   )     ref  ->  zero-ref    single-def "V06.[000..008)"
 ;* V17 tmp13        [V17    ] (  0,  0   )     int  ->  zero-ref    single-def "V06.[008..012)"
-;  V18 tmp14        [V18,T11] (  2,  2   )     int  ->  rsi         single-def "V06.[012..016)"
+;  V18 tmp14        [V18,T12] (  2,  2   )     int  ->  rsi         single-def "V06.[012..016)"
 ;* V19 tmp15        [V19    ] (  0,  0   )     ref  ->  zero-ref    single-def "V06.[016..024)"
 ;* V20 tmp16        [V20    ] (  0,  0   )     ref  ->  zero-ref    single-def "V06.[024..032)"
 ;  V21 tmp17        [V21,T01] (  3, 24   )   byref  ->  rcx         "Spilling address for field-by-field copy"
 ;  V22 tmp18        [V22,T02] (  3, 24   )     ref  ->  rcx         "arr expr"
-;  V23 cse0         [V23,T04] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V23 cse0         [V23,T05] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V24 cse1         [V24,T04] (  2, 16   )     int  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -62,9 +63,10 @@ G_M54163_IG03:        ; bbWeight=2, gcrefRegs=018C {rdx rbx rdi r8}, byrefRegs=0
                        ;; size=9 bbWeight=2 PerfScore 6.50
 G_M54163_IG04:        ; bbWeight=8, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
-       cmp      esi, dword ptr [rdi+0x14]
+       mov      ecx, dword ptr [rdi+0x14]
+       cmp      esi, ecx
        jne      SHORT G_M54163_IG08
-                      ;; size=5 bbWeight=8 PerfScore 32.00
+                      ;; size=7 bbWeight=8 PerfScore 26.00
 G_M54163_IG05:        ; bbWeight=4, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
        mov      ecx, dword ptr [rdi+0x10]
        cmp      ebp, ecx
@@ -105,7 +107,7 @@ G_M54163_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 94, prolog size 8, PerfScore 129.50, instruction count 36, allocated bytes for code 94 (MethodHash=a12e2c6c) for method Fluid.Ast.NamedExpressionList:.ctor(System.Collections.Generic.List`1[Fluid.Ast.FilterArgument]):this (Tier1)
+; Total bytes of code 96, prolog size 8, PerfScore 123.50, instruction count 37, allocated bytes for code 96 (MethodHash=a12e2c6c) for method Fluid.Ast.NamedExpressionList:.ctor(System.Collections.Generic.List`1[Fluid.Ast.FilterArgument]):this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
+2 (+2.13%) : 126912.dasm - Fluid.Ast.NamedExpressionList:.ctor(System.Collections.Generic.List`1[Fluid.Ast.FilterArgument]):this (FullOpts)
@@ -8,30 +8,31 @@
 ; 0 inlinees with PGO data; 7 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T10] (  3,  4   )     ref  ->  rbx         this class-hnd single-def <Fluid.Ast.NamedExpressionList>
-;  V01 arg1         [V01,T09] (  4,  4   )     ref  ->  rdx         class-hnd single-def <System.Collections.Generic.List`1[Fluid.Ast.FilterArgument]>
+;  V00 this         [V00,T11] (  3,  4   )     ref  ->  rbx         this class-hnd single-def <Fluid.Ast.NamedExpressionList>
+;  V01 arg1         [V01,T10] (  4,  4   )     ref  ->  rdx         class-hnd single-def <System.Collections.Generic.List`1[Fluid.Ast.FilterArgument]>
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op <System.Collections.Generic.List`1+Enumerator[Fluid.Ast.FilterArgument]>
 ;* V03 loc1         [V03    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <Fluid.Ast.FilterArgument>
 ;  V04 OutArgs      [V04    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V05 tmp1         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.String>
 ;* V06 tmp2         [V06    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[Fluid.Ast.FilterArgument]>
-;* V07 tmp3         [V07,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V07 tmp3         [V07,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V08 tmp4         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[Fluid.Ast.FilterArgument]>
 ;* V09 tmp5         [V09    ] (  0,  0   )     ref  ->  zero-ref    "field V03.<Name>k__BackingField (fldOffset=0x0)" P-INDEP
 ;* V10 tmp6         [V10    ] (  0,  0   )     ref  ->  zero-ref    "field V03.<Expression>k__BackingField (fldOffset=0x8)" P-INDEP
 ;  V11 tmp7         [V11,T03] (  4, 17   )     ref  ->  rdi         single-def "V02.[000..008)"
 ;  V12 tmp8         [V12,T00] (  6, 21   )     int  ->  rbp         "V02.[008..012)"
-;  V13 tmp9         [V13,T07] (  2,  9   )     int  ->  rsi         single-def "V02.[012..016)"
-;  V14 tmp10        [V14,T05] (  2,  6   )     ref  ->  rdx         "V02.[016..024)"
-;  V15 tmp11        [V15,T06] (  2,  6   )     ref  ->   r8         "V02.[024..032)"
+;  V13 tmp9         [V13,T08] (  2,  9   )     int  ->  rsi         single-def "V02.[012..016)"
+;  V14 tmp10        [V14,T06] (  2,  6   )     ref  ->  rdx         "V02.[016..024)"
+;  V15 tmp11        [V15,T07] (  2,  6   )     ref  ->   r8         "V02.[024..032)"
 ;* V16 tmp12        [V16    ] (  0,  0   )     ref  ->  zero-ref    single-def "V06.[000..008)"
 ;* V17 tmp13        [V17    ] (  0,  0   )     int  ->  zero-ref    single-def "V06.[008..012)"
-;  V18 tmp14        [V18,T11] (  2,  2   )     int  ->  rsi         single-def "V06.[012..016)"
+;  V18 tmp14        [V18,T12] (  2,  2   )     int  ->  rsi         single-def "V06.[012..016)"
 ;* V19 tmp15        [V19    ] (  0,  0   )     ref  ->  zero-ref    single-def "V06.[016..024)"
 ;* V20 tmp16        [V20    ] (  0,  0   )     ref  ->  zero-ref    single-def "V06.[024..032)"
 ;  V21 tmp17        [V21,T01] (  3, 24   )   byref  ->  rcx         "Spilling address for field-by-field copy"
 ;  V22 tmp18        [V22,T02] (  3, 24   )     ref  ->  rcx         "arr expr"
-;  V23 cse0         [V23,T04] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V23 cse0         [V23,T05] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V24 cse1         [V24,T04] (  2, 16   )     int  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -62,9 +63,10 @@ G_M54163_IG03:        ; bbWeight=2, gcrefRegs=018C {rdx rbx rdi r8}, byrefRegs=0
                        ;; size=9 bbWeight=2 PerfScore 6.50
 G_M54163_IG04:        ; bbWeight=8, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
-       cmp      esi, dword ptr [rdi+0x14]
+       mov      ecx, dword ptr [rdi+0x14]
+       cmp      esi, ecx
        jne      SHORT G_M54163_IG08
-                      ;; size=5 bbWeight=8 PerfScore 32.00
+                      ;; size=7 bbWeight=8 PerfScore 26.00
 G_M54163_IG05:        ; bbWeight=4, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
        mov      ecx, dword ptr [rdi+0x10]
        cmp      ebp, ecx
@@ -105,7 +107,7 @@ G_M54163_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 94, prolog size 8, PerfScore 129.50, instruction count 36, allocated bytes for code 94 (MethodHash=a12e2c6c) for method Fluid.Ast.NamedExpressionList:.ctor(System.Collections.Generic.List`1[Fluid.Ast.FilterArgument]):this (FullOpts)
+; Total bytes of code 96, prolog size 8, PerfScore 123.50, instruction count 37, allocated bytes for code 96 (MethodHash=a12e2c6c) for method Fluid.Ast.NamedExpressionList:.ctor(System.Collections.Generic.List`1[Fluid.Ast.FilterArgument]):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
benchmarks.run.windows.x64.checked.mch
-12 (-3.76%) : 18114.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
@@ -10,72 +10,72 @@
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Net.Http.Headers.HeaderDescriptor>
 ;  V01 arg1         [V01,T03] (  8, 13.50)     ref  ->  rbx         class-hnd single-def <System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo>
-;  V02 loc0         [V02,T16] (  3,  0.50)     ref  ->  [rbp-0x40]  class-hnd exact EH-live spill-single-def <System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo>
-;  V03 loc1         [V03    ] (  6,  5   )   ubyte  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed ld-addr-op
-;  V04 loc2         [V04,T12] (  3,  1.50)     ref  ->  rax         class-hnd single-def <<unknown class>>
+;  V02 loc0         [V02,T17] (  3,  0.50)     ref  ->  [rbp-0x38]  class-hnd exact EH-live spill-single-def <System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo>
+;  V03 loc1         [V03    ] (  6,  5   )   ubyte  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V04 loc2         [V04,T13] (  3,  1.50)     ref  ->  rax         class-hnd single-def <<unknown class>>
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
-;  V07 loc5         [V07,T10] (  5,  2.50)     ref  ->   r8         class-hnd exact <System.String>
+;  V07 loc5         [V07,T11] (  5,  2.50)     ref  ->   r8         class-hnd exact <System.String>
 ;  V08 OutArgs      [V08    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V09 tmp1         [V09,T11] (  2,  2   )     ref  ->   r8         single-def "CASTCLASS eval op1"
+;  V09 tmp1         [V09,T12] (  2,  2   )     ref  ->   r8         single-def "CASTCLASS eval op1"
 ;* V10 tmp2         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.String>
 ;* V11 tmp3         [V11    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
-;* V12 tmp4         [V12,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V12 tmp4         [V12,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V13 tmp5         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V14 tmp6         [V14,T08] (  3,  5.50)     ref  ->  rsi         single-def "field V00._descriptor (fldOffset=0x0)" P-INDEP
 ;  V15 tmp7         [V15,T02] (  4, 12.50)     ref  ->  rdi         single-def "field V05._list (fldOffset=0x0)" P-INDEP
 ;  V16 tmp8         [V16,T04] (  2,  8   )     ref  ->   r8         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V17 tmp9         [V17,T00] (  6, 20.50)     int  ->  r15         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V18 tmp10        [V18,T06] (  3,  8.50)     int  ->  r14         "field V05._version (fldOffset=0x14)" P-INDEP
-;  V19 tmp11        [V19,T13] (  3,  1.50)     ref  ->  rdi         single-def "field V11._list (fldOffset=0x0)" P-INDEP
+;  V18 tmp10        [V18,T09] (  2,  4.50)     int  ->  r14         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V19 tmp11        [V19,T14] (  3,  1.50)     ref  ->  rdi         single-def "field V11._list (fldOffset=0x0)" P-INDEP
 ;* V20 tmp12        [V20    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V11._current (fldOffset=0x8)" P-INDEP
-;* V21 tmp13        [V21,T17] (  0,  0   )     int  ->  zero-ref    "field V11._index (fldOffset=0x10)" P-INDEP
-;  V22 tmp14        [V22,T14] (  2,  1   )     int  ->  r14         "field V11._version (fldOffset=0x14)" P-INDEP
+;* V21 tmp13        [V21,T18] (  0,  0   )     int  ->  zero-ref    "field V11._index (fldOffset=0x10)" P-INDEP
+;  V22 tmp14        [V22,T15] (  2,  1   )     int  ->  r14         "field V11._version (fldOffset=0x14)" P-INDEP
 ;  V23 tmp15        [V23,T01] (  3, 24   )     ref  ->  rcx         "arr expr"
-;  V24 PSPSym       [V24,T15] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
-;  V25 cse0         [V25,T05] (  3, 12   )     int  ->  r13         "CSE - aggressive"
-;  V26 cse1         [V26,T09] (  4,  3   )     ref  ->  rdi         "CSE - aggressive"
+;  V24 PSPSym       [V24,T16] (  1,  1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
+;  V25 cse0         [V25,T07] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V26 cse1         [V26,T05] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V27 cse2         [V27,T10] (  4,  3   )     ref  ->  rdi         "CSE - aggressive"
 ;
-; Lcl frame size = 64
+; Lcl frame size = 56
 
 G_M53769_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 64
-       lea      rbp, [rsp+0x70]
-       mov      qword ptr [rbp-0x50], rsp
+       sub      rsp, 56
+       lea      rbp, [rsp+0x60]
+       mov      qword ptr [rbp-0x40], rsp
        mov      rsi, rcx
        ; gcrRegs +[rsi]
        mov      rbx, rdx
        ; gcrRegs +[rbx]
-                      ;; size=29 bbWeight=1 PerfScore 9.25
+                      ;; size=27 bbWeight=1 PerfScore 8.25
 G_M53769_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
-       mov      gword ptr [rbp-0x40], rbx
+       mov      gword ptr [rbp-0x38], rbx
        ; GC ptr vars +{V02}
        xor      edx, edx
-       mov      dword ptr [rbp-0x38], edx
+       mov      dword ptr [rbp-0x30], edx
                      ;; size=9 bbWeight=1 PerfScore 2.25
-G_M53769_IG03:        ; bbWeight=1, gcVars=0000000000010000 {V02}, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, gcvars, byref, isz
-       cmp      byte  ptr [rbp-0x38], 0
+G_M53769_IG03:        ; bbWeight=1, gcVars=0000000000020000 {V02}, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, gcvars, byref, isz
+       cmp      byte  ptr [rbp-0x30], 0
        jne      SHORT G_M53769_IG06
-       lea      rdx, [rbp-0x38]
+       lea      rdx, [rbp-0x30]
        mov      rcx, rbx
        ; gcrRegs +[rcx]
        call     <unknown method>
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       movzx    rcx, byte  ptr [rbp-0x38]
+       movzx    rcx, byte  ptr [rbp-0x30]
        call     [<unknown method>]
        ; gcr arg pop 0
        mov      rdi, gword ptr [rbx+0x08]
        ; gcrRegs +[rdi]
        test     rdi, rdi
-       je       G_M53769_IG12
+       je       G_M53769_IG11
                      ;; size=41 bbWeight=1 PerfScore 12.00
 G_M53769_IG04:        ; bbWeight=0.50, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
        mov      rdx, rdi
@@ -85,22 +85,23 @@ G_M53769_IG04:        ; bbWeight=0.50, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0
        ; gcrRegs -[rdx] +[rax]
        ; gcr arg pop 0
        test     rax, rax
-       je       SHORT G_M53769_IG11
+       je       SHORT G_M53769_IG10
        mov      rdi, rax
        mov      r14d, dword ptr [rdi+0x14]
        xor      r15d, r15d
                        ;; size=33 bbWeight=0.50 PerfScore 2.62
 G_M53769_IG05:        ; bbWeight=4, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
-       mov      r13d, dword ptr [rdi+0x14]
-       cmp      r14d, r13d
-       jne      SHORT G_M53769_IG07
-       cmp      r15d, dword ptr [rdi+0x10]
-       jae      SHORT G_M53769_IG08
+       mov      ecx, dword ptr [rdi+0x14]
+       cmp      r14d, ecx
+       jne      SHORT G_M53769_IG09
+       mov      ecx, dword ptr [rdi+0x10]
+       cmp      r15d, ecx
+       jae      SHORT G_M53769_IG07
        mov      rcx, gword ptr [rdi+0x08]
        ; gcrRegs +[rcx]
        cmp      r15d, dword ptr [rcx+0x08]
-       jae      SHORT G_M53769_IG09
+       jae      SHORT G_M53769_IG08
        mov      edx, r15d
        mov      r8, gword ptr [rcx+8*rdx+0x10]
        ; gcrRegs +[r8]
@@ -112,7 +113,7 @@ G_M53769_IG05:        ; bbWeight=4, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000
        ; gcrRegs -[rcx rdx r8]
        ; gcr arg pop 0
        jmp      SHORT G_M53769_IG05
-                      ;; size=50 bbWeight=4 PerfScore 85.00
+                     ;; size=51 bbWeight=4 PerfScore 82.00
 G_M53769_IG06:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx rsi rdi]
        call     [System.Threading.Monitor:ThrowLockTakenException()]
@@ -121,26 +122,22 @@ G_M53769_IG06:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
                        ;; size=7 bbWeight=0 PerfScore 0.00
 G_M53769_IG07:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rbx]
-       cmp      r14d, r13d
-       jne      SHORT G_M53769_IG10
-                       ;; size=5 bbWeight=4 PerfScore 5.00
-G_M53769_IG08:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        xor      rcx, rcx
        ; gcrRegs +[rcx]
        mov      gword ptr [rbx+0x08], rcx
-       jmp      SHORT G_M53769_IG12
+       jmp      SHORT G_M53769_IG11
                         ;; size=8 bbWeight=4 PerfScore 13.00
-G_M53769_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M53769_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx rbx]
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
                        ;; size=5 bbWeight=0 PerfScore 0.00
-G_M53769_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M53769_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()]
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M53769_IG11:        ; bbWeight=0.50, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
+G_M53769_IG10:        ; bbWeight=0.50, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rbx rsi rdi]
        mov      r8, rdi
        ; gcrRegs +[r8]
@@ -155,75 +152,72 @@ G_M53769_IG11:        ; bbWeight=0.50, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0
        call     [System.Net.Http.Headers.HttpHeaders:ParseSingleRawHeaderValue(System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo,System.Net.Http.Headers.HeaderDescriptor,System.String)]
        ; gcrRegs -[rcx rdx rsi rdi r8]
        ; gcr arg pop 0
-       jmp      SHORT G_M53769_IG08
+       jmp      SHORT G_M53769_IG07
                        ;; size=36 bbWeight=0.50 PerfScore 4.75
-G_M53769_IG12:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M53769_IG11:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rbx]
-       cmp      byte  ptr [rbp-0x38], 0
-       je       SHORT G_M53769_IG14
+       cmp      byte  ptr [rbp-0x30], 0
+       je       SHORT G_M53769_IG13
                         ;; size=6 bbWeight=1 PerfScore 3.00
-G_M53769_IG13:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       mov      rcx, gword ptr [rbp-0x40]
+G_M53769_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       mov      rcx, gword ptr [rbp-0x38]
        ; gcrRegs +[rcx]
        ; GC ptr vars -{V02}
        call     <unknown method>
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
                        ;; size=9 bbWeight=0.50 PerfScore 1.00
-G_M53769_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M53769_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
-G_M53769_IG15:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 64
+G_M53769_IG14:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 56
        pop      rbx
        pop      rsi
        pop      rdi
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=15 bbWeight=1 PerfScore 4.75
-G_M53769_IG16:        ; bbWeight=0, gcVars=0000000000010000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-       ; GC ptr vars +{V02 V16}
+                      ;; size=13 bbWeight=1 PerfScore 4.25
+G_M53769_IG15:        ; bbWeight=0, gcVars=0000000000020000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+       ; GC ptr vars +{V02 V17}
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 48
+       sub      rsp, 40
        mov      rbp, qword ptr [rcx+0x20]
        mov      qword ptr [rsp+0x20], rbp
-       lea      rbp, [rbp+0x70]
-                       ;; size=27 bbWeight=0 PerfScore 0.00
-G_M53769_IG17:        ; bbWeight=0, gcVars=0000000000010000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-       cmp      byte  ptr [rbp-0x38], 0
-       je       SHORT G_M53769_IG18
-       mov      rcx, gword ptr [rbp-0x40]
+       lea      rbp, [rbp+0x60]
+                       ;; size=25 bbWeight=0 PerfScore 0.00
+G_M53769_IG16:        ; bbWeight=0, gcVars=0000000000020000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+       cmp      byte  ptr [rbp-0x30], 0
+       je       SHORT G_M53769_IG17
+       mov      rcx, gword ptr [rbp-0x38]
        ; gcrRegs +[rcx]
-       ; GC ptr vars -{V02 V16}
+       ; GC ptr vars -{V02 V17}
        call     <unknown method>
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
                        ;; size=15 bbWeight=0 PerfScore 0.00
-G_M53769_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M53769_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
...
  
-12 (-3.76%) : 11152.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
@@ -10,72 +10,72 @@
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Net.Http.Headers.HeaderDescriptor>
 ;  V01 arg1         [V01,T03] (  8, 13.50)     ref  ->  rbx         class-hnd single-def <System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo>
-;  V02 loc0         [V02,T16] (  3,  0.50)     ref  ->  [rbp-0x40]  class-hnd exact EH-live spill-single-def <System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo>
-;  V03 loc1         [V03    ] (  6,  5   )   ubyte  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed ld-addr-op
-;  V04 loc2         [V04,T12] (  3,  1.50)     ref  ->  rax         class-hnd single-def <<unknown class>>
+;  V02 loc0         [V02,T17] (  3,  0.50)     ref  ->  [rbp-0x38]  class-hnd exact EH-live spill-single-def <System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo>
+;  V03 loc1         [V03    ] (  6,  5   )   ubyte  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V04 loc2         [V04,T13] (  3,  1.50)     ref  ->  rax         class-hnd single-def <<unknown class>>
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
-;  V07 loc5         [V07,T10] (  5,  2.50)     ref  ->   r8         class-hnd exact <System.String>
+;  V07 loc5         [V07,T11] (  5,  2.50)     ref  ->   r8         class-hnd exact <System.String>
 ;  V08 OutArgs      [V08    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V09 tmp1         [V09,T11] (  2,  2   )     ref  ->   r8         single-def "CASTCLASS eval op1"
+;  V09 tmp1         [V09,T12] (  2,  2   )     ref  ->   r8         single-def "CASTCLASS eval op1"
 ;* V10 tmp2         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.String>
 ;* V11 tmp3         [V11    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
-;* V12 tmp4         [V12,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V12 tmp4         [V12,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V13 tmp5         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V14 tmp6         [V14,T08] (  3,  5.50)     ref  ->  rsi         single-def "field V00._descriptor (fldOffset=0x0)" P-INDEP
 ;  V15 tmp7         [V15,T02] (  4, 12.50)     ref  ->  rdi         single-def "field V05._list (fldOffset=0x0)" P-INDEP
 ;  V16 tmp8         [V16,T04] (  2,  8   )     ref  ->   r8         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V17 tmp9         [V17,T00] (  6, 20.50)     int  ->  r15         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V18 tmp10        [V18,T06] (  3,  8.50)     int  ->  r14         "field V05._version (fldOffset=0x14)" P-INDEP
-;  V19 tmp11        [V19,T13] (  3,  1.50)     ref  ->  rdi         single-def "field V11._list (fldOffset=0x0)" P-INDEP
+;  V18 tmp10        [V18,T09] (  2,  4.50)     int  ->  r14         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V19 tmp11        [V19,T14] (  3,  1.50)     ref  ->  rdi         single-def "field V11._list (fldOffset=0x0)" P-INDEP
 ;* V20 tmp12        [V20    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V11._current (fldOffset=0x8)" P-INDEP
-;* V21 tmp13        [V21,T17] (  0,  0   )     int  ->  zero-ref    "field V11._index (fldOffset=0x10)" P-INDEP
-;  V22 tmp14        [V22,T14] (  2,  1   )     int  ->  r14         "field V11._version (fldOffset=0x14)" P-INDEP
+;* V21 tmp13        [V21,T18] (  0,  0   )     int  ->  zero-ref    "field V11._index (fldOffset=0x10)" P-INDEP
+;  V22 tmp14        [V22,T15] (  2,  1   )     int  ->  r14         "field V11._version (fldOffset=0x14)" P-INDEP
 ;  V23 tmp15        [V23,T01] (  3, 24   )     ref  ->  rcx         "arr expr"
-;  V24 PSPSym       [V24,T15] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
-;  V25 cse0         [V25,T05] (  3, 12   )     int  ->  r13         "CSE - aggressive"
-;  V26 cse1         [V26,T09] (  4,  3   )     ref  ->  rdi         "CSE - aggressive"
+;  V24 PSPSym       [V24,T16] (  1,  1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
+;  V25 cse0         [V25,T07] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V26 cse1         [V26,T05] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V27 cse2         [V27,T10] (  4,  3   )     ref  ->  rdi         "CSE - aggressive"
 ;
-; Lcl frame size = 64
+; Lcl frame size = 56
 
 G_M53769_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 64
-       lea      rbp, [rsp+0x70]
-       mov      qword ptr [rbp-0x50], rsp
+       sub      rsp, 56
+       lea      rbp, [rsp+0x60]
+       mov      qword ptr [rbp-0x40], rsp
        mov      rsi, rcx
        ; gcrRegs +[rsi]
        mov      rbx, rdx
        ; gcrRegs +[rbx]
-                      ;; size=29 bbWeight=1 PerfScore 9.25
+                      ;; size=27 bbWeight=1 PerfScore 8.25
 G_M53769_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
-       mov      gword ptr [rbp-0x40], rbx
+       mov      gword ptr [rbp-0x38], rbx
        ; GC ptr vars +{V02}
        xor      edx, edx
-       mov      dword ptr [rbp-0x38], edx
+       mov      dword ptr [rbp-0x30], edx
                      ;; size=9 bbWeight=1 PerfScore 2.25
-G_M53769_IG03:        ; bbWeight=1, gcVars=0000000000010000 {V02}, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, gcvars, byref, isz
-       cmp      byte  ptr [rbp-0x38], 0
+G_M53769_IG03:        ; bbWeight=1, gcVars=0000000000020000 {V02}, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, gcvars, byref, isz
+       cmp      byte  ptr [rbp-0x30], 0
        jne      SHORT G_M53769_IG06
-       lea      rdx, [rbp-0x38]
+       lea      rdx, [rbp-0x30]
        mov      rcx, rbx
        ; gcrRegs +[rcx]
        call     <unknown method>
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       movzx    rcx, byte  ptr [rbp-0x38]
+       movzx    rcx, byte  ptr [rbp-0x30]
        call     [<unknown method>]
        ; gcr arg pop 0
        mov      rdi, gword ptr [rbx+0x08]
        ; gcrRegs +[rdi]
        test     rdi, rdi
-       je       G_M53769_IG12
+       je       G_M53769_IG11
                      ;; size=41 bbWeight=1 PerfScore 12.00
 G_M53769_IG04:        ; bbWeight=0.50, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
        mov      rdx, rdi
@@ -85,22 +85,23 @@ G_M53769_IG04:        ; bbWeight=0.50, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0
        ; gcrRegs -[rdx] +[rax]
        ; gcr arg pop 0
        test     rax, rax
-       je       SHORT G_M53769_IG11
+       je       SHORT G_M53769_IG10
        mov      rdi, rax
        mov      r14d, dword ptr [rdi+0x14]
        xor      r15d, r15d
                        ;; size=33 bbWeight=0.50 PerfScore 2.62
 G_M53769_IG05:        ; bbWeight=4, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
-       mov      r13d, dword ptr [rdi+0x14]
-       cmp      r14d, r13d
-       jne      SHORT G_M53769_IG07
-       cmp      r15d, dword ptr [rdi+0x10]
-       jae      SHORT G_M53769_IG08
+       mov      ecx, dword ptr [rdi+0x14]
+       cmp      r14d, ecx
+       jne      SHORT G_M53769_IG09
+       mov      ecx, dword ptr [rdi+0x10]
+       cmp      r15d, ecx
+       jae      SHORT G_M53769_IG07
        mov      rcx, gword ptr [rdi+0x08]
        ; gcrRegs +[rcx]
        cmp      r15d, dword ptr [rcx+0x08]
-       jae      SHORT G_M53769_IG09
+       jae      SHORT G_M53769_IG08
        mov      edx, r15d
        mov      r8, gword ptr [rcx+8*rdx+0x10]
        ; gcrRegs +[r8]
@@ -112,7 +113,7 @@ G_M53769_IG05:        ; bbWeight=4, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000
        ; gcrRegs -[rcx rdx r8]
        ; gcr arg pop 0
        jmp      SHORT G_M53769_IG05
-                      ;; size=50 bbWeight=4 PerfScore 85.00
+                     ;; size=51 bbWeight=4 PerfScore 82.00
 G_M53769_IG06:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx rsi rdi]
        call     [System.Threading.Monitor:ThrowLockTakenException()]
@@ -121,26 +122,22 @@ G_M53769_IG06:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
                        ;; size=7 bbWeight=0 PerfScore 0.00
 G_M53769_IG07:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rbx]
-       cmp      r14d, r13d
-       jne      SHORT G_M53769_IG10
-                       ;; size=5 bbWeight=4 PerfScore 5.00
-G_M53769_IG08:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        xor      rcx, rcx
        ; gcrRegs +[rcx]
        mov      gword ptr [rbx+0x08], rcx
-       jmp      SHORT G_M53769_IG12
+       jmp      SHORT G_M53769_IG11
                         ;; size=8 bbWeight=4 PerfScore 13.00
-G_M53769_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M53769_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx rbx]
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
                        ;; size=5 bbWeight=0 PerfScore 0.00
-G_M53769_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M53769_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()]
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M53769_IG11:        ; bbWeight=0.50, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
+G_M53769_IG10:        ; bbWeight=0.50, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rbx rsi rdi]
        mov      r8, rdi
        ; gcrRegs +[r8]
@@ -155,75 +152,72 @@ G_M53769_IG11:        ; bbWeight=0.50, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0
        call     [System.Net.Http.Headers.HttpHeaders:ParseSingleRawHeaderValue(System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo,System.Net.Http.Headers.HeaderDescriptor,System.String)]
        ; gcrRegs -[rcx rdx rsi rdi r8]
        ; gcr arg pop 0
-       jmp      SHORT G_M53769_IG08
+       jmp      SHORT G_M53769_IG07
                        ;; size=36 bbWeight=0.50 PerfScore 4.75
-G_M53769_IG12:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M53769_IG11:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rbx]
-       cmp      byte  ptr [rbp-0x38], 0
-       je       SHORT G_M53769_IG14
+       cmp      byte  ptr [rbp-0x30], 0
+       je       SHORT G_M53769_IG13
                         ;; size=6 bbWeight=1 PerfScore 3.00
-G_M53769_IG13:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       mov      rcx, gword ptr [rbp-0x40]
+G_M53769_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       mov      rcx, gword ptr [rbp-0x38]
        ; gcrRegs +[rcx]
        ; GC ptr vars -{V02}
        call     <unknown method>
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
                        ;; size=9 bbWeight=0.50 PerfScore 1.00
-G_M53769_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M53769_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
-G_M53769_IG15:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 64
+G_M53769_IG14:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 56
        pop      rbx
        pop      rsi
        pop      rdi
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=15 bbWeight=1 PerfScore 4.75
-G_M53769_IG16:        ; bbWeight=0, gcVars=0000000000010000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-       ; GC ptr vars +{V02 V16}
+                      ;; size=13 bbWeight=1 PerfScore 4.25
+G_M53769_IG15:        ; bbWeight=0, gcVars=0000000000020000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+       ; GC ptr vars +{V02 V17}
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 48
+       sub      rsp, 40
        mov      rbp, qword ptr [rcx+0x20]
        mov      qword ptr [rsp+0x20], rbp
-       lea      rbp, [rbp+0x70]
-                       ;; size=27 bbWeight=0 PerfScore 0.00
-G_M53769_IG17:        ; bbWeight=0, gcVars=0000000000010000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-       cmp      byte  ptr [rbp-0x38], 0
-       je       SHORT G_M53769_IG18
-       mov      rcx, gword ptr [rbp-0x40]
+       lea      rbp, [rbp+0x60]
+                       ;; size=25 bbWeight=0 PerfScore 0.00
+G_M53769_IG16:        ; bbWeight=0, gcVars=0000000000020000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+       cmp      byte  ptr [rbp-0x30], 0
+       je       SHORT G_M53769_IG17
+       mov      rcx, gword ptr [rbp-0x38]
        ; gcrRegs +[rcx]
-       ; GC ptr vars -{V02 V16}
+       ; GC ptr vars -{V02 V17}
        call     <unknown method>
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
                        ;; size=15 bbWeight=0 PerfScore 0.00
-G_M53769_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M53769_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
...
  
-24 (-1.48%) : 23715.dasm - System.Formats.Tar.TarReader+d__8:MoveNext():this (FullOpts)
@@ -9,13 +9,13 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T04] ( 29, 37   )   byref  ->  [rbp+0x10]  this EH-live single-def
-;  V01 loc0         [V01,T29] (  6,  6   )     int  ->  [rbp-0x34]  do-not-enreg[Z] EH-live
+;  V01 loc0         [V01,T29] (  6,  6   )     int  ->  [rbp-0x2C]  do-not-enreg[Z] EH-live
 ;  V02 loc1         [V02,T30] (  6,  6   )     ref  ->  rbx         class-hnd exact single-def <<unknown class>>
 ;* V03 loc2         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.IO.Stream>
-;  V04 loc3         [V04    ] ( 10, 31   )  struct (16) [rbp-0x48]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter>
-;  V05 loc4         [V05    ] (  6, 15   )  struct (16) [rbp-0x58]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Threading.Tasks.ValueTask>
+;  V04 loc3         [V04    ] ( 10, 31   )  struct (16) [rbp-0x40]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter>
+;  V05 loc4         [V05    ] (  6, 15   )  struct (16) [rbp-0x50]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Threading.Tasks.ValueTask>
 ;* V06 loc5         [V06    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable>
-;  V07 loc6         [V07    ] ( 10, 10   )  struct (16) [rbp-0x68]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter>
+;  V07 loc6         [V07    ] ( 10, 10   )  struct (16) [rbp-0x60]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter>
 ;* V08 loc7         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <<unknown class>>
 ;  V09 OutArgs      [V09    ] (  1,  1   )  struct (56) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V10 tmp1         [V10    ] (  0,  0   )     int  ->  zero-ref    "dup spill"
@@ -31,11 +31,11 @@
 ;* V20 tmp11        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask>
 ;* V21 tmp12        [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Threading.Tasks.ValueTask>
 ;* V22 tmp13        [V22    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable>
-;  V23 tmp14        [V23,T16] (  2, 16   )     ref  ->  rdx         class-hnd "Inlining Arg" <System.Object>
-;  V24 tmp15        [V24,T17] (  2, 16   )   short  ->  rcx         "Inlining Arg"
+;  V23 tmp14        [V23,T15] (  2, 16   )     ref  ->  rdx         class-hnd "Inlining Arg" <System.Object>
+;  V24 tmp15        [V24,T16] (  2, 16   )   short  ->  rcx         "Inlining Arg"
 ;* V25 tmp16        [V25    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter>
 ;* V26 tmp17        [V26,T42] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V27 tmp18        [V27,T07] (  7, 28   )     ref  ->  rdi         class-hnd "Inline stloc first use temp" <System.Object>
+;  V27 tmp18        [V27,T06] (  7, 28   )     ref  ->  rdi         class-hnd "Inline stloc first use temp" <System.Object>
 ;  V28 tmp19        [V28,T21] (  2,  8   )     int  ->  rcx        
 ;  V29 tmp20        [V29,T20] (  3, 12   )     ref  ->  rax         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task>
 ;* V30 tmp21        [V30    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <<unknown class>>
@@ -45,13 +45,13 @@
 ;* V34 tmp25        [V34    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V35 tmp26        [V35    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V36 tmp27        [V36    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V37 tmp28        [V37,T08] (  7, 28   )     ref  ->  rdi         class-hnd "Inline stloc first use temp" <System.Object>
+;  V37 tmp28        [V37,T07] (  7, 28   )     ref  ->  rdi         class-hnd "Inline stloc first use temp" <System.Object>
 ;  V38 tmp29        [V38,T22] (  2,  8   )     int  ->  rcx        
-;  V39 tmp30        [V39,T15] (  4, 16   )     ref  ->  rax         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task>
+;  V39 tmp30        [V39,T14] (  4, 16   )     ref  ->  rax         class-hnd "Inline stloc first use temp" <System.Threading.Tasks.Task>
 ;* V40 tmp31        [V40    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <<unknown class>>
 ;* V41 tmp32        [V41    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V42 tmp33        [V42    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V43 tmp34        [V43,T18] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V43 tmp34        [V43,T17] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V44 tmp35        [V44,T00] (  9,144   )   byref  ->  r14         "Inlining Arg"
 ;  V45 tmp36        [V45,T05] (  4, 32   )     ref  ->  rcx         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;* V46 tmp37        [V46    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask>
@@ -75,7 +75,7 @@
 ;* V64 tmp55        [V64    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <<unknown class>>
 ;  V65 tmp56        [V65,T24] (  4,  8   )   byref  ->  rcx         single-def "Inlining Arg"
 ;* V66 tmp57        [V66    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.Tasks.VoidTaskResult>
-;  V67 tmp58        [V67,T14] ( 10, 20   )     ref  ->  rsi         class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
+;  V67 tmp58        [V67,T13] ( 10, 20   )     ref  ->  rsi         class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
 ;  V68 tmp59        [V68,T40] (  2,  4   )  struct ( 8) rbx         "Inlining Arg" <System.Threading.Tasks.VoidTaskResult>
 ;  V69 tmp60        [V69,T19] (  6, 12   )     ref  ->  rdi         class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
 ;* V70 tmp61        [V70    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -87,14 +87,14 @@
 ;* V76 tmp67        [V76,T57] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
 ;  V77 tmp68        [V77,T46] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.Task+ContingentProperties>
 ;  V78 tmp69        [V78,T44] (  2,  2   )   ubyte  ->  rax         "Inline return value spill temp"
-;  V79 tmp70        [V79,T33] (  5,  5   )     int  ->  [rbp-0x6C]  spill-single-def "Inline stloc first use temp"
+;  V79 tmp70        [V79,T33] (  5,  5   )     int  ->  [rbp-0x64]  spill-single-def "Inline stloc first use temp"
 ;  V80 tmp71        [V80,T53] (  3,  3   )   ubyte  ->  rax         "Inline return value spill temp"
-;  V81 tmp72        [V81,T03] (  6, 41   )     int  ->  [rbp-0x70]  "Inline stloc first use temp"
+;  V81 tmp72        [V81,T03] (  6, 41   )     int  ->  [rbp-0x68]  "Inline stloc first use temp"
 ;  V82 tmp73        [V82,T11] (  3, 24   )     int  ->  rax         "Inline stloc first use temp"
 ;  V83 tmp74        [V83,T47] (  3,  3   )     ref  ->  rcx         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
-;  V84 tmp75        [V84    ] (  4, 10   )     ref  ->  [rbp-0x58]  do-not-enreg[X] addr-exposed "field V05._obj (fldOffset=0x0)" P-DEP
-;  V85 tmp76        [V85    ] (  4, 10   )   short  ->  [rbp-0x50]  do-not-enreg[X] addr-exposed "field V05._token (fldOffset=0x8)" P-DEP
-;  V86 tmp77        [V86    ] (  2,  5   )   ubyte  ->  [rbp-0x4E]  do-not-enreg[X] addr-exposed "field V05._continueOnCapturedContext (fldOffset=0xa)" P-DEP
+;  V84 tmp75        [V84    ] (  4, 10   )     ref  ->  [rbp-0x50]  do-not-enreg[X] addr-exposed "field V05._obj (fldOffset=0x0)" P-DEP
+;  V85 tmp76        [V85    ] (  4, 10   )   short  ->  [rbp-0x48]  do-not-enreg[X] addr-exposed "field V05._token (fldOffset=0x8)" P-DEP
+;  V86 tmp77        [V86    ] (  2,  5   )   ubyte  ->  [rbp-0x46]  do-not-enreg[X] addr-exposed "field V05._continueOnCapturedContext (fldOffset=0xa)" P-DEP
 ;  V87 tmp78        [V87,T48] (  3,  3   )     ref  ->  rdx         single-def "field V18._list (fldOffset=0x0)" P-INDEP
 ;* V88 tmp79        [V88,T60] (  0,  0   )     ref  ->  zero-ref    single-def "field V18._current (fldOffset=0x8)" P-INDEP
 ;* V89 tmp80        [V89,T63] (  0,  0   )     int  ->  zero-ref    "field V18._index (fldOffset=0x10)" P-INDEP
@@ -113,7 +113,7 @@
 ;* V102 tmp93       [V102    ] (  0,  0   )   ubyte  ->  zero-ref    "field V47._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
 ;  V103 tmp94       [V103,T01] (  3, 48   )     ref  ->  rcx         "arr expr"
 ;  V104 tmp95       [V104,T02] (  3, 48   )     int  ->  rdx         "index expr"
-;  V105 tmp96       [V105,T10] (  3, 24   )     ref  ->  rcx         "argument with side effect"
+;  V105 tmp96       [V105,T09] (  3, 24   )     ref  ->  rcx         "argument with side effect"
 ;  V106 tmp97       [V106,T37] (  2,  4   )     ref  ->  rdx         "argument with side effect"
 ;  V107 tmp98       [V107,T32] (  3,  6   )     ref  ->  rcx         single-def "argument with side effect"
 ;  V108 tmp99       [V108,T38] (  2,  4   )     ref  ->  rdx         single-def "argument with side effect"
@@ -121,60 +121,57 @@
 ;  V110 cse0        [V110,T49] (  3,  3   )     ref  ->  rdi         "CSE - conservative"
 ;  V111 cse1        [V111,T54] (  3,  3   )     int  ->  rdx         "CSE - conservative"
 ;  V112 cse2        [V112,T12] (  3, 24   )     int  ->  rdx         "CSE - moderate"
-;  V113 cse3        [V113,T13] (  3, 24   )     int  ->  r13         "CSE - moderate"
+;  V113 cse3        [V113,T18] (  2, 16   )     int  ->  rdx         "CSE - moderate"
 ;  V114 cse4        [V114,T50] (  3,  3   )     ref  ->  rdx         "CSE - conservative"
-;  V115 cse5        [V115,T06] (  4, 32   )     ref  ->  r15         "CSE - aggressive"
+;  V115 cse5        [V115,T10] (  3, 24   )     ref  ->  r15         "CSE - aggressive"
 ;  V116 cse6        [V116,T23] (  4, 11   )   byref  ->  rcx         "CSE - moderate"
-;  V117 cse7        [V117,T09] (  6, 24   )     ref  ->  rdx         multi-def "CSE - aggressive"
+;  V117 cse7        [V117,T08] (  6, 24   )     ref  ->  rdx         multi-def "CSE - aggressive"
 ;
-; Lcl frame size = 128
+; Lcl frame size = 136
 
 G_M52177_IG01:        ; bbWeight=1, gcVars=00000000000000000000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 128
+       sub      rsp, 136
        vzeroupper 
        lea      rbp, [rsp+0xB0]
-       xor      eax, eax
-       mov      qword ptr [rbp-0x68], rax
        vxorps   xmm4, xmm4, xmm4
        vmovdqu  ymmword ptr [rbp-0x60], ymm4
-       mov      qword ptr [rbp-0x40], rax
+       vmovdqa  xmmword ptr [rbp-0x40], xmm4
        mov      qword ptr [rbp-0x78], rsp
        mov      bword ptr [rbp+0x10], rcx
        ; GC ptr vars +{V00}
        mov      rsi, rcx
        ; byrRegs +[rsi]
-                      ;; size=58 bbWeight=1 PerfScore 15.58
+                     ;; size=51 bbWeight=1 PerfScore 14.33
 G_M52177_IG02:        ; bbWeight=1, gcVars=00000000000000000000000000000010 {V00}, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, gcvars, byref
        mov      ecx, dword ptr [rsi+0x08]
-       mov      dword ptr [rbp-0x34], ecx
+       mov      dword ptr [rbp-0x2C], ecx
        mov      rbx, gword ptr [rsi]
        ; gcrRegs +[rbx]
                        ;; size=9 bbWeight=1 PerfScore 5.00
 G_M52177_IG03:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref, isz
-       cmp      dword ptr [rbp-0x34], 0
+       cmp      dword ptr [rbp-0x2C], 0
        je       SHORT G_M52177_IG05
-       cmp      dword ptr [rbp-0x34], 1
-       je       G_M52177_IG32
+       cmp      dword ptr [rbp-0x2C], 1
+       je       G_M52177_IG31
        cmp      byte  ptr [rbx+0x20], 0
-       jne      G_M52177_IG38
+       jne      G_M52177_IG37
        mov      byte  ptr [rbx+0x20], 1
        cmp      byte  ptr [rbx+0x21], 0
-       jne      G_M52177_IG38
+       jne      G_M52177_IG37
        mov      rdx, gword ptr [rbx+0x10]
        ; gcrRegs +[rdx]
        mov      rcx, rdx
        ; gcrRegs +[rcx]
        test     rcx, rcx
-       je       G_M52177_IG27
+       je       G_M52177_IG26
        cmp      dword ptr [rcx+0x10], 0
-       jle      G_M52177_IG27
+       jle      G_M52177_IG26
        mov      edi, dword ptr [rdx+0x14]
        lea      rcx, bword ptr [rsi+0x18]
        ; gcrRegs -[rcx]
@@ -192,37 +189,37 @@ G_M52177_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi},
        mov      dword ptr [rsi+0x2C], edi
                        ;; size=6 bbWeight=1 PerfScore 2.00
 G_M52177_IG05:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref
-       cmp      dword ptr [rbp-0x34], 0
+       cmp      dword ptr [rbp-0x2C], 0
        jne      G_M52177_IG18
                        ;; size=10 bbWeight=1 PerfScore 3.00
 G_M52177_IG06:        ; bbWeight=1, nogc, extend
        vmovdqu  xmm0, xmmword ptr [rsi+0x30]
-       vmovdqu  xmmword ptr [rbp-0x48], xmm0
+       vmovdqu  xmmword ptr [rbp-0x40], xmm0
                        ;; size=10 bbWeight=1 PerfScore 5.00
 G_M52177_IG07:        ; bbWeight=1, extend
        xor      edx, edx
        mov      qword ptr [rsi+0x30], rdx
        mov      qword ptr [rsi+0x38], rdx
-       mov      dword ptr [rbp-0x34], -1
+       mov      dword ptr [rbp-0x2C], -1
        mov      dword ptr [rsi+0x08], -1
        jmp      G_M52177_IG14
                        ;; size=29 bbWeight=1 PerfScore 6.25
 G_M52177_IG08:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref, isz
        mov      rcx, gword ptr [rsi+0x20]
        ; gcrRegs +[rcx]
-       lea      rdx, [rbp-0x58]
+       lea      rdx, [rbp-0x50]
        mov      rax, qword ptr [rcx]
        mov      rax, qword ptr [rax+0x58]
        call     [rax+0x28]<unknown method>
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      rdx, gword ptr [rbp-0x58]
+       mov      rdx, gword ptr [rbp-0x50]
        ; gcrRegs +[rdx]
-       movsx    rcx, word  ptr [rbp-0x50]
-       mov      gword ptr [rbp-0x48], rdx
-       mov      word  ptr [rbp-0x40], cx
-       mov      byte  ptr [rbp-0x3E], 0
-       mov      rdi, gword ptr [rbp-0x48]
+       movsx    rcx, word  ptr [rbp-0x48]
+       mov      gword ptr [rbp-0x40], rdx
+       mov      word  ptr [rbp-0x38], cx
+       mov      byte  ptr [rbp-0x36], 0
+       mov      rdi, gword ptr [rbp-0x40]
        ; gcrRegs +[rdi]
        test     rdi, rdi
        je       SHORT G_M52177_IG09
@@ -277,7 +274,7 @@ G_M52177_IG12:        ; bbWeight=4, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rs
        ; gcrRegs +[rbx rdi]
        mov      rcx, rdi
        ; gcrRegs +[rcx]
-       movsx    rdx, word  ptr [rbp-0x40]
+       movsx    rdx, word  ptr [rbp-0x38]
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
        call     [r11]<unknown method>
        ; gcrRegs -[rcx rdi]
@@ -291,7 +288,7 @@ G_M52177_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byr
        mov      dword ptr [rsi+0x08], eax
        lea      rdi, bword ptr [rsi+0x30]
        ; byrRegs +[rdi]
-       lea      rsi, bword ptr [rbp-0x48]
+       lea      rsi, bword ptr [rbp-0x40]
        call     CORINFO_HELP_ASSIGN_BYREF
        movsq    
        mov      rsi, bword ptr [rbp+0x10]
@@ -305,15 +302,15 @@ G_M52177_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byr
        ; gcr arg pop 0
        mov      rdx, rax
        ; gcrRegs +[rdx]
-       lea      rcx, [rbp-0x48]
+       lea      rcx, [rbp-0x40]
        call     [<unknown method>]
        ; gcrRegs -[rax rdx]
        ; gcr arg pop 0
-       jmp      G_M52177_IG24
+       jmp      G_M52177_IG23
                        ;; size=55 bbWeight=1 PerfScore 14.75
 G_M52177_IG14:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref, isz
        ; gcrRegs +[rbx]
-       mov      rdi, gword ptr [rbp-0x48]
+       mov      rdi, gword ptr [rbp-0x40]
        ; gcrRegs +[rdi]
        test     rdi, rdi
        je       SHORT G_M52177_IG15
@@ -374,7 +371,7 @@ G_M52177_IG17:        ; bbWeight=4, gcrefRegs=0088 {rbx rdi}, byrefRegs=0040 {rs
...
  
+4 (+3.01%) : 8415.dasm - Newtonsoft.Json.Serialization.JsonContract:InvokeOnDeserializing(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
@@ -8,12 +8,12 @@
 ; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T08] (  3,  3   )     ref  ->  rcx         this class-hnd single-def <Newtonsoft.Json.Serialization.JsonContract>
-;  V01 arg1         [V01,T07] (  3,  4   )     ref  ->  rsi         class-hnd single-def <System.Object>
+;  V00 this         [V00,T09] (  3,  3   )     ref  ->  rcx         this class-hnd single-def <Newtonsoft.Json.Serialization.JsonContract>
+;  V01 arg1         [V01,T08] (  3,  4   )     ref  ->  rsi         class-hnd single-def <System.Object>
 ;  V02 arg2         [V02,T05] (  3,  8   )   byref  ->  rbx         single-def
 ;* V03 loc0         [V03    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[Newtonsoft.Json.Serialization.SerializationCallback]>
 ;  V04 OutArgs      [V04    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T11] (  2,  2   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V05 tmp1         [V05,T12] (  2,  2   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V06 tmp2         [V06    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[Newtonsoft.Json.Serialization.SerializationCallback]>
 ;* V07 tmp3         [V07,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V08 tmp4         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
@@ -22,16 +22,17 @@
 ;  V11 tmp7         [V11,T02] (  4, 12.50)     ref  ->  rdi         single-def "field V03._list (fldOffset=0x0)" P-INDEP
 ;  V12 tmp8         [V12,T03] (  3,  8   )     ref  ->  rax         "field V03._current (fldOffset=0x8)" P-INDEP
 ;  V13 tmp9         [V13,T00] (  6, 20.50)     int  ->  r14         "field V03._index (fldOffset=0x10)" P-INDEP
-;  V14 tmp10        [V14,T09] (  2,  4.50)     int  ->  rbp         single-def "field V03._version (fldOffset=0x14)" P-INDEP
-;  V15 tmp11        [V15,T12] (  3,  1.50)     ref  ->  rdi         single-def "field V06._list (fldOffset=0x0)" P-INDEP
+;  V14 tmp10        [V14,T10] (  2,  4.50)     int  ->  rbp         single-def "field V03._version (fldOffset=0x14)" P-INDEP
+;  V15 tmp11        [V15,T13] (  3,  1.50)     ref  ->  rdi         single-def "field V06._list (fldOffset=0x0)" P-INDEP
 ;* V16 tmp12        [V16    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V06._current (fldOffset=0x8)" P-INDEP
-;* V17 tmp13        [V17,T14] (  0,  0   )     int  ->  zero-ref    single-def "field V06._index (fldOffset=0x10)" P-INDEP
-;  V18 tmp14        [V18,T13] (  2,  1   )     int  ->  rbp         single-def "field V06._version (fldOffset=0x14)" P-INDEP
+;* V17 tmp13        [V17,T15] (  0,  0   )     int  ->  zero-ref    single-def "field V06._index (fldOffset=0x10)" P-INDEP
+;  V18 tmp14        [V18,T14] (  2,  1   )     int  ->  rbp         single-def "field V06._version (fldOffset=0x14)" P-INDEP
 ;* V19 tmp15        [V19    ] (  0,  0   )  struct (16) zero-ref    "Promoted implicit byref" <System.Runtime.Serialization.StreamingContext>
 ;  V20 tmp16        [V20,T01] (  3, 24   )     ref  ->   r8         "arr expr"
 ;  V21 tmp17        [V21    ] (  2,  8   )  struct (16) [rsp+0x20]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Runtime.Serialization.StreamingContext>
-;  V22 cse0         [V22,T04] (  2,  8   )     int  ->   r8         "CSE - aggressive"
-;  V23 cse1         [V23,T10] (  3,  2.50)     ref  ->  rdi         "CSE - aggressive"
+;  V22 cse0         [V22,T07] (  2,  8   )     int  ->   r8         "CSE - aggressive"
+;  V23 cse1         [V23,T04] (  2,  8   )     int  ->   r8         "CSE - aggressive"
+;  V24 cse2         [V24,T11] (  3,  2.50)     ref  ->  rdi         "CSE - aggressive"
 ;
 ; Lcl frame size = 48
 
@@ -80,7 +81,8 @@ G_M7587_IG05:        ; bbWeight=2, extend
        ; gcr arg pop 0
                        ;; size=15 bbWeight=2 PerfScore 11.50
 G_M7587_IG06:        ; bbWeight=4, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0008 {rbx}, byref, isz
-       cmp      ebp, dword ptr [rdi+0x14]
+       mov      r8d, dword ptr [rdi+0x14]
+       cmp      ebp, r8d
        jne      SHORT G_M7587_IG09
        mov      r8d, dword ptr [rdi+0x10]
        cmp      r14d, r8d
@@ -94,7 +96,7 @@ G_M7587_IG06:        ; bbWeight=4, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0008 {rbx
        ; gcrRegs +[rax]
        inc      r14d
        jmp      SHORT G_M7587_IG04
-                       ;; size=37 bbWeight=4 PerfScore 71.00
+                     ;; size=41 bbWeight=4 PerfScore 68.00
 G_M7587_IG07:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rax rsi rdi r8]
        ; byrRegs -[rbx]
@@ -116,7 +118,7 @@ G_M7587_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 133, prolog size 25, PerfScore 121.88, instruction count 46, allocated bytes for code 133 (MethodHash=e780e25c) for method Newtonsoft.Json.Serialization.JsonContract:InvokeOnDeserializing(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
+; Total bytes of code 137, prolog size 25, PerfScore 118.88, instruction count 47, allocated bytes for code 137 (MethodHash=e780e25c) for method Newtonsoft.Json.Serialization.JsonContract:InvokeOnDeserializing(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+4 (+3.01%) : 8463.dasm - Newtonsoft.Json.Serialization.JsonContract:InvokeOnDeserialized(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
@@ -8,12 +8,12 @@
 ; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T08] (  3,  3   )     ref  ->  rcx         this class-hnd single-def <Newtonsoft.Json.Serialization.JsonContract>
-;  V01 arg1         [V01,T07] (  3,  4   )     ref  ->  rsi         class-hnd single-def <System.Object>
+;  V00 this         [V00,T09] (  3,  3   )     ref  ->  rcx         this class-hnd single-def <Newtonsoft.Json.Serialization.JsonContract>
+;  V01 arg1         [V01,T08] (  3,  4   )     ref  ->  rsi         class-hnd single-def <System.Object>
 ;  V02 arg2         [V02,T05] (  3,  8   )   byref  ->  rbx         single-def
 ;* V03 loc0         [V03    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[Newtonsoft.Json.Serialization.SerializationCallback]>
 ;  V04 OutArgs      [V04    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T11] (  2,  2   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V05 tmp1         [V05,T12] (  2,  2   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V06 tmp2         [V06    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[Newtonsoft.Json.Serialization.SerializationCallback]>
 ;* V07 tmp3         [V07,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V08 tmp4         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
@@ -22,16 +22,17 @@
 ;  V11 tmp7         [V11,T02] (  4, 12.50)     ref  ->  rdi         single-def "field V03._list (fldOffset=0x0)" P-INDEP
 ;  V12 tmp8         [V12,T03] (  3,  8   )     ref  ->  rax         "field V03._current (fldOffset=0x8)" P-INDEP
 ;  V13 tmp9         [V13,T00] (  6, 20.50)     int  ->  r14         "field V03._index (fldOffset=0x10)" P-INDEP
-;  V14 tmp10        [V14,T09] (  2,  4.50)     int  ->  rbp         single-def "field V03._version (fldOffset=0x14)" P-INDEP
-;  V15 tmp11        [V15,T12] (  3,  1.50)     ref  ->  rdi         single-def "field V06._list (fldOffset=0x0)" P-INDEP
+;  V14 tmp10        [V14,T10] (  2,  4.50)     int  ->  rbp         single-def "field V03._version (fldOffset=0x14)" P-INDEP
+;  V15 tmp11        [V15,T13] (  3,  1.50)     ref  ->  rdi         single-def "field V06._list (fldOffset=0x0)" P-INDEP
 ;* V16 tmp12        [V16    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V06._current (fldOffset=0x8)" P-INDEP
-;* V17 tmp13        [V17,T14] (  0,  0   )     int  ->  zero-ref    single-def "field V06._index (fldOffset=0x10)" P-INDEP
-;  V18 tmp14        [V18,T13] (  2,  1   )     int  ->  rbp         single-def "field V06._version (fldOffset=0x14)" P-INDEP
+;* V17 tmp13        [V17,T15] (  0,  0   )     int  ->  zero-ref    single-def "field V06._index (fldOffset=0x10)" P-INDEP
+;  V18 tmp14        [V18,T14] (  2,  1   )     int  ->  rbp         single-def "field V06._version (fldOffset=0x14)" P-INDEP
 ;* V19 tmp15        [V19    ] (  0,  0   )  struct (16) zero-ref    "Promoted implicit byref" <System.Runtime.Serialization.StreamingContext>
 ;  V20 tmp16        [V20,T01] (  3, 24   )     ref  ->   r8         "arr expr"
 ;  V21 tmp17        [V21    ] (  2,  8   )  struct (16) [rsp+0x20]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Runtime.Serialization.StreamingContext>
-;  V22 cse0         [V22,T04] (  2,  8   )     int  ->   r8         "CSE - aggressive"
-;  V23 cse1         [V23,T10] (  3,  2.50)     ref  ->  rdi         "CSE - aggressive"
+;  V22 cse0         [V22,T07] (  2,  8   )     int  ->   r8         "CSE - aggressive"
+;  V23 cse1         [V23,T04] (  2,  8   )     int  ->   r8         "CSE - aggressive"
+;  V24 cse2         [V24,T11] (  3,  2.50)     ref  ->  rdi         "CSE - aggressive"
 ;
 ; Lcl frame size = 48
 
@@ -80,7 +81,8 @@ G_M55938_IG05:        ; bbWeight=2, extend
        ; gcr arg pop 0
                        ;; size=15 bbWeight=2 PerfScore 11.50
 G_M55938_IG06:        ; bbWeight=4, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0008 {rbx}, byref, isz
-       cmp      ebp, dword ptr [rdi+0x14]
+       mov      r8d, dword ptr [rdi+0x14]
+       cmp      ebp, r8d
        jne      SHORT G_M55938_IG09
        mov      r8d, dword ptr [rdi+0x10]
        cmp      r14d, r8d
@@ -94,7 +96,7 @@ G_M55938_IG06:        ; bbWeight=4, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0008 {rb
        ; gcrRegs +[rax]
        inc      r14d
        jmp      SHORT G_M55938_IG04
-                      ;; size=37 bbWeight=4 PerfScore 71.00
+                     ;; size=41 bbWeight=4 PerfScore 68.00
 G_M55938_IG07:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rax rsi rdi r8]
        ; byrRegs -[rbx]
@@ -116,7 +118,7 @@ G_M55938_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 133, prolog size 25, PerfScore 121.88, instruction count 46, allocated bytes for code 133 (MethodHash=cff3257d) for method Newtonsoft.Json.Serialization.JsonContract:InvokeOnDeserialized(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
+; Total bytes of code 137, prolog size 25, PerfScore 118.88, instruction count 47, allocated bytes for code 137 (MethodHash=cff3257d) for method Newtonsoft.Json.Serialization.JsonContract:InvokeOnDeserialized(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+4 (+3.01%) : 8332.dasm - Newtonsoft.Json.Serialization.JsonContract:InvokeOnSerializing(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
@@ -8,12 +8,12 @@
 ; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T08] (  3,  3   )     ref  ->  rcx         this class-hnd single-def <Newtonsoft.Json.Serialization.JsonContract>
-;  V01 arg1         [V01,T07] (  3,  4   )     ref  ->  rsi         class-hnd single-def <System.Object>
+;  V00 this         [V00,T09] (  3,  3   )     ref  ->  rcx         this class-hnd single-def <Newtonsoft.Json.Serialization.JsonContract>
+;  V01 arg1         [V01,T08] (  3,  4   )     ref  ->  rsi         class-hnd single-def <System.Object>
 ;  V02 arg2         [V02,T05] (  3,  8   )   byref  ->  rbx         single-def
 ;* V03 loc0         [V03    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[Newtonsoft.Json.Serialization.SerializationCallback]>
 ;  V04 OutArgs      [V04    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V05 tmp1         [V05,T11] (  2,  2   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V05 tmp1         [V05,T12] (  2,  2   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V06 tmp2         [V06    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[Newtonsoft.Json.Serialization.SerializationCallback]>
 ;* V07 tmp3         [V07,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V08 tmp4         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
@@ -22,16 +22,17 @@
 ;  V11 tmp7         [V11,T02] (  4, 12.50)     ref  ->  rdi         single-def "field V03._list (fldOffset=0x0)" P-INDEP
 ;  V12 tmp8         [V12,T03] (  3,  8   )     ref  ->  rax         "field V03._current (fldOffset=0x8)" P-INDEP
 ;  V13 tmp9         [V13,T00] (  6, 20.50)     int  ->  r14         "field V03._index (fldOffset=0x10)" P-INDEP
-;  V14 tmp10        [V14,T09] (  2,  4.50)     int  ->  rbp         single-def "field V03._version (fldOffset=0x14)" P-INDEP
-;  V15 tmp11        [V15,T12] (  3,  1.50)     ref  ->  rdi         single-def "field V06._list (fldOffset=0x0)" P-INDEP
+;  V14 tmp10        [V14,T10] (  2,  4.50)     int  ->  rbp         single-def "field V03._version (fldOffset=0x14)" P-INDEP
+;  V15 tmp11        [V15,T13] (  3,  1.50)     ref  ->  rdi         single-def "field V06._list (fldOffset=0x0)" P-INDEP
 ;* V16 tmp12        [V16    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V06._current (fldOffset=0x8)" P-INDEP
-;* V17 tmp13        [V17,T14] (  0,  0   )     int  ->  zero-ref    single-def "field V06._index (fldOffset=0x10)" P-INDEP
-;  V18 tmp14        [V18,T13] (  2,  1   )     int  ->  rbp         single-def "field V06._version (fldOffset=0x14)" P-INDEP
+;* V17 tmp13        [V17,T15] (  0,  0   )     int  ->  zero-ref    single-def "field V06._index (fldOffset=0x10)" P-INDEP
+;  V18 tmp14        [V18,T14] (  2,  1   )     int  ->  rbp         single-def "field V06._version (fldOffset=0x14)" P-INDEP
 ;* V19 tmp15        [V19    ] (  0,  0   )  struct (16) zero-ref    "Promoted implicit byref" <System.Runtime.Serialization.StreamingContext>
 ;  V20 tmp16        [V20,T01] (  3, 24   )     ref  ->   r8         "arr expr"
 ;  V21 tmp17        [V21    ] (  2,  8   )  struct (16) [rsp+0x20]  do-not-enreg[XS] must-init addr-exposed "by-value struct argument" <System.Runtime.Serialization.StreamingContext>
-;  V22 cse0         [V22,T04] (  2,  8   )     int  ->   r8         "CSE - aggressive"
-;  V23 cse1         [V23,T10] (  3,  2.50)     ref  ->  rdi         "CSE - aggressive"
+;  V22 cse0         [V22,T07] (  2,  8   )     int  ->   r8         "CSE - aggressive"
+;  V23 cse1         [V23,T04] (  2,  8   )     int  ->   r8         "CSE - aggressive"
+;  V24 cse2         [V24,T11] (  3,  2.50)     ref  ->  rdi         "CSE - aggressive"
 ;
 ; Lcl frame size = 48
 
@@ -80,7 +81,8 @@ G_M62978_IG05:        ; bbWeight=2, extend
        ; gcr arg pop 0
                        ;; size=15 bbWeight=2 PerfScore 11.50
 G_M62978_IG06:        ; bbWeight=4, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0008 {rbx}, byref, isz
-       cmp      ebp, dword ptr [rdi+0x14]
+       mov      r8d, dword ptr [rdi+0x14]
+       cmp      ebp, r8d
        jne      SHORT G_M62978_IG09
        mov      r8d, dword ptr [rdi+0x10]
        cmp      r14d, r8d
@@ -94,7 +96,7 @@ G_M62978_IG06:        ; bbWeight=4, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0008 {rb
        ; gcrRegs +[rax]
        inc      r14d
        jmp      SHORT G_M62978_IG04
-                      ;; size=37 bbWeight=4 PerfScore 71.00
+                     ;; size=41 bbWeight=4 PerfScore 68.00
 G_M62978_IG07:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rax rsi rdi r8]
        ; byrRegs -[rbx]
@@ -116,7 +118,7 @@ G_M62978_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 133, prolog size 25, PerfScore 121.88, instruction count 46, allocated bytes for code 133 (MethodHash=063809fd) for method Newtonsoft.Json.Serialization.JsonContract:InvokeOnSerializing(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
+; Total bytes of code 137, prolog size 25, PerfScore 118.88, instruction count 47, allocated bytes for code 137 (MethodHash=063809fd) for method Newtonsoft.Json.Serialization.JsonContract:InvokeOnSerializing(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
benchmarks.run_pgo.windows.x64.checked.mch
-13 (-2.52%) : 93851.dasm - System.Linq.Enumerable:CountSystem.__Canon:int (Tier1)
@@ -25,7 +25,7 @@
 ;  V13 tmp7         [V13,T09] (  2, 155.72)     int  ->  rax         "guarded devirt return temp"
 ;* V14 tmp8         [V14    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Collections.Generic.List`1+Enumerator[Product]>
 ;* V15 tmp9         [V15    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact "guarded devirt this exact temp" <System.Collections.Generic.List`1+Enumerator[Product]>
-;  V16 tmp10        [V16,T00] ( 12,1094.10)   byref  ->  r15         "Inlining Arg"
+;  V16 tmp10        [V16,T00] ( 10,1090.04)   byref  ->  r15         "Inlining Arg"
 ;  V17 tmp11        [V17,T07] (  4, 310.43)     ref  ->  rcx         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;* V18 tmp12        [V18    ] (  0,   0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V19 tmp13        [V19,T02] (  3, 461.07)     ref  ->  rcx         "arr expr"
@@ -57,14 +57,14 @@ G_M54795_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=34 bbWeight=1 PerfScore 9.50
 G_M54795_IG02:        ; bbWeight=1, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref
        test     rdi, rdi
-       je       G_M54795_IG24
+       je       G_M54795_IG23
        test     rbx, rbx
-       je       G_M54795_IG25
+       je       G_M54795_IG24
        xor      r14d, r14d
        mov      rcx, qword ptr [rsi+0x38]
        mov      r11, qword ptr [rcx+0x10]
        test     r11, r11
-       je       G_M54795_IG20
+       je       G_M54795_IG19
                      ;; size=38 bbWeight=1 PerfScore 8.00
 G_M54795_IG03:        ; bbWeight=1, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref
        mov      rcx, rdi
@@ -135,10 +135,10 @@ G_M54795_IG10:        ; bbWeight=77.86, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000
        ; gcrRegs +[rcx]
        mov      edx, dword ptr [r15+0x14]
        cmp      edx, dword ptr [rcx+0x14]
-       jne      SHORT G_M54795_IG18
+       jne      SHORT G_M54795_IG17
        mov      edx, dword ptr [r15+0x10]
        cmp      edx, dword ptr [rcx+0x10]
-       jae      SHORT G_M54795_IG19
+       jae      SHORT G_M54795_IG18
                         ;; size=40 bbWeight=77.86 PerfScore 1459.87
 G_M54795_IG11:        ; bbWeight=76.85, gcrefRegs=008A {rcx rbx rdi}, byrefRegs=8000 {r15}, byref, isz
        mov      rcx, gword ptr [rcx+0x08]
@@ -169,7 +169,7 @@ G_M54795_IG12:        ; bbWeight=77.86, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000
                        ;; size=24 bbWeight=77.86 PerfScore 369.83
 G_M54795_IG13:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rbx]
-       jmp      SHORT G_M54795_IG21
+       jmp      SHORT G_M54795_IG20
                       ;; size=2 bbWeight=1 PerfScore 2.00
 G_M54795_IG14:        ; bbWeight=5.00, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rbx]
@@ -194,14 +194,6 @@ G_M54795_IG17:        ; bbWeight=0, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byr
                        ;; size=7 bbWeight=0 PerfScore 0.00
 G_M54795_IG18:        ; bbWeight=1.01, gcrefRegs=0080 {rdi}, byrefRegs=8000 {r15}, byref, isz
        ; byrRegs +[r15]
-       mov      ecx, dword ptr [r15+0x14]
-       mov      r11, gword ptr [r15]
-       ; gcrRegs +[r11]
-       cmp      ecx, dword ptr [r11+0x14]
-       jne      SHORT G_M54795_IG17
-                       ;; size=13 bbWeight=1.01 PerfScore 8.11
-G_M54795_IG19:        ; bbWeight=1.01, gcrefRegs=0080 {rdi}, byrefRegs=8000 {r15}, byref, isz
-       ; gcrRegs -[r11]
        mov      rcx, gword ptr [r15]
        ; gcrRegs +[rcx]
        mov      ecx, dword ptr [rcx+0x10]
@@ -211,9 +203,9 @@ G_M54795_IG19:        ; bbWeight=1.01, gcrefRegs=0080 {rdi}, byrefRegs=8000 {r15
        xor      rcx, rcx
        ; gcrRegs +[rcx]
        mov      gword ptr [r15+0x08], rcx
-       jmp      SHORT G_M54795_IG21
+       jmp      SHORT G_M54795_IG20
                         ;; size=20 bbWeight=1.01 PerfScore 8.62
-G_M54795_IG20:        ; bbWeight=0.20, gcVars=0000000000000000 {}, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, gcvars, byref
+G_M54795_IG19:        ; bbWeight=0.20, gcVars=0000000000000000 {}, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rcx] +[rbx]
        ; byrRegs -[r15]
        ; GC ptr vars -{V04}
@@ -224,19 +216,19 @@ G_M54795_IG20:        ; bbWeight=0.20, gcVars=0000000000000000 {}, gcrefRegs=008
        mov      r11, rax
        jmp      G_M54795_IG03
                        ;; size=26 bbWeight=0.20 PerfScore 0.75
-G_M54795_IG21:        ; bbWeight=1, gcVars=0000000000000040 {V04}, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M54795_IG20:        ; bbWeight=1, gcVars=0000000000000040 {V04}, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rbx]
        ; GC ptr vars +{V04}
        mov      rax, 0xD1FFAB1E      ; System.Collections.Generic.List`1+Enumerator[Product]
        cmp      qword ptr [rdi], rax
-       jne      SHORT G_M54795_IG26
+       jne      SHORT G_M54795_IG25
                      ;; size=15 bbWeight=1 PerfScore 4.25
-G_M54795_IG22:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M54795_IG21:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rdi]
        ; GC ptr vars -{V04}
        mov      eax, r14d
                        ;; size=3 bbWeight=1 PerfScore 0.25
-G_M54795_IG23:        ; bbWeight=1, epilog, nogc, extend
+G_M54795_IG22:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 56
        pop      rbx
        pop      rsi
@@ -246,19 +238,19 @@ G_M54795_IG23:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=13 bbWeight=1 PerfScore 4.25
-G_M54795_IG24:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M54795_IG23:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        mov      ecx, 17
        call     [System.Linq.ThrowHelper:ThrowArgumentNullException(int)]
        ; gcr arg pop 0
        int3     
                        ;; size=12 bbWeight=0 PerfScore 0.00
-G_M54795_IG25:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M54795_IG24:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      ecx, 12
        call     [System.Linq.ThrowHelper:ThrowArgumentNullException(int)]
        ; gcr arg pop 0
        int3     
                        ;; size=12 bbWeight=0 PerfScore 0.00
-G_M54795_IG26:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M54795_IG25:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[rdi]
        ; GC ptr vars +{V04}
        mov      rcx, rdi
@@ -268,9 +260,9 @@ G_M54795_IG26:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=008
        call     [r11]<unknown method>
        ; gcrRegs -[rcx rdi]
        ; gcr arg pop 0
-       jmp      SHORT G_M54795_IG22
+       jmp      SHORT G_M54795_IG21
                        ;; size=18 bbWeight=0 PerfScore 0.00
-G_M54795_IG27:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+G_M54795_IG26:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
        ; GC ptr vars +{V04}
        push     rbp
        push     r15
@@ -283,14 +275,14 @@ G_M54795_IG27:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=000
        mov      qword ptr [rsp+0x20], rbp
        lea      rbp, [rbp+0x60]
                        ;; size=25 bbWeight=0 PerfScore 0.00
-G_M54795_IG28:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M54795_IG27:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        cmp      gword ptr [rbp-0x38], 0
-       je       SHORT G_M54795_IG29
+       je       SHORT G_M54795_IG28
        mov      rcx, 0xD1FFAB1E      ; System.Collections.Generic.List`1+Enumerator[Product]
        mov      rdi, gword ptr [rbp-0x38]
        ; gcrRegs +[rdi]
        cmp      qword ptr [rdi], rcx
-       je       SHORT G_M54795_IG29
+       je       SHORT G_M54795_IG28
        mov      rcx, rdi
        ; gcrRegs +[rcx]
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
@@ -299,10 +291,10 @@ G_M54795_IG28:        ; bbWeight=0, gcVars=0000000000000040 {V04}, gcrefRegs=000
        ; gcrRegs -[rcx rdi]
        ; gcr arg pop 0
                        ;; size=42 bbWeight=0 PerfScore 0.00
-G_M54795_IG29:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M54795_IG28:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=0 PerfScore 0.00
-G_M54795_IG30:        ; bbWeight=0, funclet epilog, nogc, extend
+G_M54795_IG29:        ; bbWeight=0, funclet epilog, nogc, extend
        add      rsp, 40
        pop      rbx
        pop      rsi
@@ -313,7 +305,7 @@ G_M54795_IG30:        ; bbWeight=0, funclet epilog, nogc, extend
        ret      
                        ;; size=13 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 515, prolog size 34, PerfScore 5333.63, instruction count 150, allocated bytes for code 515 (MethodHash=aec129f4) for method System.Linq.Enumerable:Count[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (Tier1)
+; Total bytes of code 502, prolog size 34, PerfScore 5325.51, instruction count 146, allocated bytes for code 502 (MethodHash=aec129f4) for method System.Linq.Enumerable:Count[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -352,4 +344,4 @@ Unwind Info:
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 *************** EH table for System.Linq.Enumerable:Count[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M54795_IG04..G_M54795_IG20) handled by [G_M54795_IG27..END) (fault)
+EH#0: try [G_M54795_IG04..G_M54795_IG19) handled by [G_M54795_IG26..END) (fault)
  
-10 (-1.77%) : 39649.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
@@ -9,7 +9,7 @@
 ; 3 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 21,  5.50)     ref  ->  [rbp+0x10]  this class-hnd EH-live single-def <System.Buffers.SharedArrayPoolPartitions+Partition>
+;  V00 this         [V00,T00] ( 20,  5.50)     ref  ->  [rbp+0x10]  this class-hnd EH-live single-def <System.Buffers.SharedArrayPoolPartitions+Partition>
 ;  V01 arg1         [V01,T02] (  4,  2.50)     int  ->  rsi         single-def
 ;  V02 arg2         [V02,T03] (  3,  2   )     int  ->  rdi         single-def
 ;  V03 arg3         [V03,T01] (  5,  2.50)     int  ->  rbx         single-def
@@ -98,13 +98,13 @@ G_M62513_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        mov      rcx, gword ptr [rbp+0x10]
        ; gcrRegs +[rcx]
        cmp      dword ptr [rcx+0x14], 0
-       je       G_M62513_IG21
+       je       G_M62513_IG20
        cmp      dword ptr [rcx+0x18], 0
        jne      SHORT G_M62513_IG10
                        ;; size=20 bbWeight=0.50 PerfScore 4.50
 G_M62513_IG07:        ; bbWeight=0.25, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
        mov      dword ptr [rcx+0x18], esi
-       jmp      G_M62513_IG21
+       jmp      G_M62513_IG20
                         ;; size=8 bbWeight=0.25 PerfScore 0.75
 G_M62513_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rcx]
@@ -127,7 +127,7 @@ G_M62513_IG10:        ; bbWeight=0.25, gcrefRegs=0002 {rcx}, byrefRegs=0000 {},
        sub      esi, dword ptr [rcx+0x18]
        cmp      esi, r14d
        jg       SHORT G_M62513_IG14
-       jmp      G_M62513_IG21
+       jmp      G_M62513_IG20
                       ;; size=13 bbWeight=0.25 PerfScore 1.56
 G_M62513_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
@@ -140,11 +140,9 @@ G_M62513_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
                        ;; size=5 bbWeight=0 PerfScore 0.00
 G_M62513_IG13:        ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rcx]
-       cmp      dword ptr [rcx+0x14], 0
-       jg       G_M62513_IG19
        xor      eax, eax
-       jmp      G_M62513_IG20
-                       ;; size=17 bbWeight=0 PerfScore 0.00
+       jmp      G_M62513_IG19
+                       ;; size=7 bbWeight=0 PerfScore 0.00
 G_M62513_IG14:        ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref, isz
        mov      rdx, 0xD1FFAB1E      ; const ptr
        mov      rsi, gword ptr [rdx]
@@ -230,20 +228,18 @@ G_M62513_IG18:        ; bbWeight=0, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byr
        lea      r15d, [rdx-0x01]
        test     edx, edx
        jg       G_M62513_IG16
-                        ;; size=29 bbWeight=0 PerfScore 0.00
-G_M62513_IG19:        ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rsi]
        mov      eax, r14d
        sar      eax, 31
        and      eax, 3
        add      eax, r14d
        sar      eax, 2
        add      eax, dword ptr [rcx+0x18]
-                        ;; size=18 bbWeight=0 PerfScore 0.00
-G_M62513_IG20:        ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
+                       ;; size=47 bbWeight=0 PerfScore 0.00
+G_M62513_IG19:        ; bbWeight=0, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rsi]
        mov      dword ptr [rcx+0x18], eax
                        ;; size=3 bbWeight=0 PerfScore 0.00
-G_M62513_IG21:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
+G_M62513_IG20:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, byref
        cmp      byte  ptr [rbp-0x30], 0
        je       G_M62513_IG03
        ; GC ptr vars -{V00}
@@ -252,7 +248,7 @@ G_M62513_IG21:        ; bbWeight=0.50, gcrefRegs=0002 {rcx}, byrefRegs=0000 {},
        ; gcr arg pop 0
        jmp      G_M62513_IG03
                        ;; size=20 bbWeight=0.50 PerfScore 3.00
-G_M62513_IG22:        ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+G_M62513_IG21:        ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
        ; GC ptr vars +{V00}
        push     rbp
        push     r15
@@ -265,9 +261,9 @@ G_M62513_IG22:        ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=000
        mov      qword ptr [rsp+0x28], rbp
        lea      rbp, [rbp+0x60]
                        ;; size=25 bbWeight=0 PerfScore 0.00
-G_M62513_IG23:        ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M62513_IG22:        ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        cmp      byte  ptr [rbp-0x30], 0
-       je       SHORT G_M62513_IG24
+       je       SHORT G_M62513_IG23
        mov      rcx, gword ptr [rbp+0x10]
        ; gcrRegs +[rcx]
        ; GC ptr vars -{V00}
@@ -275,10 +271,10 @@ G_M62513_IG23:        ; bbWeight=0, gcVars=0000000000000001 {V00}, gcrefRegs=000
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
                        ;; size=15 bbWeight=0 PerfScore 0.00
-G_M62513_IG24:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M62513_IG23:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=0 PerfScore 0.00
-G_M62513_IG25:        ; bbWeight=0, funclet epilog, nogc, extend
+G_M62513_IG24:        ; bbWeight=0, funclet epilog, nogc, extend
        add      rsp, 56
        pop      rbx
        pop      rsi
@@ -289,7 +285,7 @@ G_M62513_IG25:        ; bbWeight=0, funclet epilog, nogc, extend
        ret      
                        ;; size=13 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 564, prolog size 33, PerfScore 29.94, instruction count 154, allocated bytes for code 564 (MethodHash=d51a0bce) for method System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
+; Total bytes of code 554, prolog size 33, PerfScore 29.94, instruction count 152, allocated bytes for code 554 (MethodHash=d51a0bce) for method System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
 ; ============================================================
 
 Unwind Info:
@@ -328,4 +324,4 @@ Unwind Info:
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 *************** EH table for System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M62513_IG05..G_M62513_IG21) handled by [G_M62513_IG22..END) (fault)
+EH#0: try [G_M62513_IG05..G_M62513_IG20) handled by [G_M62513_IG21..END) (fault)
  
-36 (-1.70%) : 89379.dasm - LinqBenchmarks:Where01LinqQueryX():ubyte:this (Tier1-OSR)
@@ -64,7 +64,7 @@
 ;  V51 tmp44        [V51,T05] (  6, 293138.74)     int  ->  r11         "Inline stloc first use temp"
 ;  V52 tmp45        [V52,T03] (  4, 390851.66)    long  ->  rcx         "impAppendStmt"
 ;* V53 tmp46        [V53,T22] (  0,      0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V54 tmp47        [V54,T15] ( 25,  30834.69)   byref  ->  r12         "Inlining Arg"
+;  V54 tmp47        [V54,T15] ( 21,  30755.84)   byref  ->  r12         "Inlining Arg"
 ;  V55 tmp48        [V55,T20] (  8,   6167.32)     ref  ->  rax         class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[Product]>
 ;  V56 tmp49        [V56,T37] (  6,    300   )     ref  ->  rdx         "field V40._list (fldOffset=0x0)" P-INDEP
 ;* V57 tmp50        [V57,T44] (  0,      0   )     ref  ->  zero-ref    "field V40._current (fldOffset=0x8)" P-INDEP
@@ -122,11 +122,11 @@ G_M11746_IG03:        ; bbWeight=20.00, gcVars=0000000000000000 {}, gcrefRegs=00
                        ;; size=18 bbWeight=20.00 PerfScore 70.02
 G_M11746_IG04:        ; bbWeight=20.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
        test     rbx, rbx
-       je       G_M11746_IG71
+       je       G_M11746_IG69
                      ;; size=9 bbWeight=20.00 PerfScore 25.01
 G_M11746_IG05:        ; bbWeight=80.02, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
        test     r14, r14
-       je       G_M11746_IG72
+       je       G_M11746_IG70
        mov      rdx, rbx
        ; gcrRegs +[rdx]
        mov      rcx, 0xD1FFAB1E      ; <unknown class>
@@ -294,7 +294,7 @@ G_M11746_IG10:        ; bbWeight=80.02, gcrefRegs=4008 {rbx r14}, byrefRegs=0000
 G_M11746_IG11:        ; bbWeight=20.00, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, byref
        mov      rax, 0xD1FFAB1E      ; System.Linq.Enumerable+WhereListIterator`1[Product]
        cmp      qword ptr [r13], rax
-       jne      G_M11746_IG73
+       jne      G_M11746_IG71
                      ;; size=20 bbWeight=20.00 PerfScore 85.02
 G_M11746_IG12:        ; bbWeight=20.00, gcrefRegs=2008 {rbx r13}, byrefRegs=0000 {}, byref, isz
        cmp      dword ptr [r13+0x14], 0
@@ -353,12 +353,12 @@ G_M11746_IG17:        ; bbWeight=20.00, gcrefRegs=4008 {rbx r14}, byrefRegs=0000
 G_M11746_IG18:        ; bbWeight=21.14, gcVars=0000000001000000 {V05}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[r14]
        cmp      gword ptr [rbp+0xB8], 0
-       je       G_M11746_IG43
+       je       G_M11746_IG42
        mov      rcx, gword ptr [rbp+0xB8]
        ; gcrRegs +[rcx]
        mov      rdx, 0xD1FFAB1E      ; System.Linq.Enumerable+WhereListIterator`1[Product]
        cmp      qword ptr [rcx], rdx
-       jne      G_M11746_IG43
+       jne      G_M11746_IG42
        jmp      SHORT G_M11746_IG20
                        ;; size=42 bbWeight=21.14 PerfScore 216.65
 G_M11746_IG19:        ; bbWeight=79.20, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
@@ -377,7 +377,7 @@ G_M11746_IG20:        ; bbWeight=99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, by
 G_M11746_IG21:        ; bbWeight=79.19, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
        cmp      r15d, 2
-       jne      G_M11746_IG39
+       jne      G_M11746_IG38
                       ;; size=10 bbWeight=79.19 PerfScore 98.99
 G_M11746_IG22:        ; bbWeight=1531.29, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
        lea      r12, bword ptr [r14+0x28]
@@ -386,16 +386,16 @@ G_M11746_IG22:        ; bbWeight=1531.29, gcrefRegs=4008 {rbx r14}, byrefRegs=00
        ; gcrRegs +[rax]
        mov      ecx, dword ptr [r12+0x14]
        cmp      ecx, dword ptr [rax+0x14]
-       jne      G_M11746_IG33
+       jne      G_M11746_IG50
        mov      r8d, dword ptr [r12+0x10]
        cmp      r8d, dword ptr [rax+0x10]
-       jae      G_M11746_IG34
+       jae      G_M11746_IG33
                         ;; size=37 bbWeight=1531.29 PerfScore 22203.73
 G_M11746_IG23:        ; bbWeight=1511.77, gcrefRegs=4009 {rax rbx r14}, byrefRegs=1000 {r12}, byref
        mov      r10, gword ptr [rax+0x08]
        ; gcrRegs +[r10]
        cmp      r8d, dword ptr [r10+0x08]
-       jae      G_M11746_IG49
+       jae      G_M11746_IG48
        mov      ecx, r8d
        mov      rdx, gword ptr [r10+8*rcx+0x10]
        ; gcrRegs +[rdx]
@@ -411,7 +411,7 @@ G_M11746_IG23:        ; bbWeight=1511.77, gcrefRegs=4009 {rax rbx r14}, byrefReg
        ; gcrRegs +[rax]
        mov      rcx, 0xD1FFAB1E      ; code for LinqBenchmarks+<>c:<Where01LinqQueryX>b__10_0(Product):ubyte:this
        cmp      qword ptr [rax+0x18], rcx
-       jne      G_M11746_IG36
+       jne      G_M11746_IG35
                         ;; size=65 bbWeight=1511.77 PerfScore 31747.26
 G_M11746_IG24:        ; bbWeight=1511.50, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
@@ -507,19 +507,11 @@ G_M11746_IG31:        ; bbWeight=96735.78, gcrefRegs=6008 {rbx r13 r14}, byrefRe
        jle      G_M11746_IG22
                        ;; size=9 bbWeight=96735.78 PerfScore 120919.73
 G_M11746_IG32:        ; bbWeight=1511.50, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref, isz
-       jmp      SHORT G_M11746_IG37
+       jmp      SHORT G_M11746_IG36
                         ;; size=2 bbWeight=1511.50 PerfScore 3022.99
-G_M11746_IG33:        ; bbWeight=19.52, gcrefRegs=4008 {rbx r14}, byrefRegs=1000 {r12}, byref
+G_M11746_IG33:        ; bbWeight=1531.29, gcrefRegs=4008 {rbx r14}, byrefRegs=1000 {r12}, byref
        ; gcrRegs -[r13]
        ; byrRegs +[r12]
-       mov      ecx, dword ptr [r12+0x14]
-       mov      rdx, gword ptr [r12]
-       ; gcrRegs +[rdx]
-       cmp      ecx, dword ptr [rdx+0x14]
-       jne      G_M11746_IG51
-                       ;; size=18 bbWeight=19.52 PerfScore 156.14
-G_M11746_IG34:        ; bbWeight=1531.29, gcrefRegs=4008 {rbx r14}, byrefRegs=1000 {r12}, byref
-       ; gcrRegs -[rdx]
        mov      rcx, gword ptr [r12]
        ; gcrRegs +[rcx]
        mov      ecx, dword ptr [rcx+0x10]
@@ -530,14 +522,14 @@ G_M11746_IG34:        ; bbWeight=1531.29, gcrefRegs=4008 {rbx r14}, byrefRegs=10
        ; gcrRegs +[rcx]
        mov      gword ptr [r12+0x08], rcx
                        ;; size=21 bbWeight=1531.29 PerfScore 9953.40
-G_M11746_IG35:        ; bbWeight=1531.29, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
+G_M11746_IG34:        ; bbWeight=1531.29, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rcx]
        ; byrRegs -[r12]
        mov      gword ptr [r14+0x08], rcx
        mov      dword ptr [r14+0x14], -1
-       jmp      SHORT G_M11746_IG39
+       jmp      SHORT G_M11746_IG38
                      ;; size=14 bbWeight=1531.29 PerfScore 6125.17
-G_M11746_IG36:        ; bbWeight=1511.50, gcrefRegs=6009 {rax rbx r13 r14}, byrefRegs=0000 {}, byref
+G_M11746_IG35:        ; bbWeight=1511.50, gcrefRegs=6009 {rax rbx r13 r14}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rax r13]
        mov      rdx, r13
        ; gcrRegs +[rdx]
@@ -549,7 +541,7 @@ G_M11746_IG36:        ; bbWeight=1511.50, gcrefRegs=6009 {rax rbx r13 r14}, byre
        test     eax, eax
        je       G_M11746_IG22
                        ;; size=18 bbWeight=1511.50 PerfScore 9824.73
-G_M11746_IG37:        ; bbWeight=1511.50, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref
+G_M11746_IG36:        ; bbWeight=1511.50, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref
        lea      rcx, bword ptr [r14+0x08]
        ; byrRegs +[rcx]
        mov      rdx, r13
@@ -559,7 +551,7 @@ G_M11746_IG37:        ; bbWeight=1511.50, gcrefRegs=6008 {rbx r13 r14}, byrefReg
        ; byrRegs -[rcx]
        jmp      G_M11746_IG19
                        ;; size=17 bbWeight=1511.50 PerfScore 5668.11
-G_M11746_IG38:        ; bbWeight=15.27, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
+G_M11746_IG37:        ; bbWeight=15.27, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
        ; gcrRegs +[r14]
        mov      r13, gword ptr [r14+0x30]
        ; gcrRegs +[r13]
@@ -567,64 +559,64 @@ G_M11746_IG38:        ; bbWeight=15.27, gcrefRegs=4008 {rbx r14}, byrefRegs=0000
        ; gcrRegs +[rax]
        mov      rdx, 0xD1FFAB1E      ; function address
        cmp      qword ptr [rax+0x18], rdx
-       jne      G_M11746_IG60
-       jmp      G_M11746_IG47
+       jne      G_M11746_IG59
+       jmp      G_M11746_IG46
                       ;; size=33 bbWeight=15.27 PerfScore 156.49
-G_M11746_IG39:        ; bbWeight=99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M11746_IG38:        ; bbWeight=99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax r13-r14]
        xor      r13d, r13d
        jne      G_M11746_IG19
                        ;; size=9 bbWeight=99 PerfScore 123.75
-G_M11746_IG40:        ; bbWeight=19.99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       jmp      G_M11746_IG67
+G_M11746_IG39:        ; bbWeight=19.99, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       jmp      G_M11746_IG65
                       ;; size=5 bbWeight=19.99 PerfScore 39.99
-G_M11746_IG41:        ; bbWeight=0.80, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M11746_IG40:        ; bbWeight=0.80, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rcx, gword ptr [rbp+0xB8]
        ; gcrRegs +[rcx]
        mov      rax, 0xD1FFAB1E      ; System.Linq.Enumerable+WhereListIterator`1[Product]
        cmp      qword ptr [rcx], rax
-       jne      G_M11746_IG50
+       jne      G_M11746_IG49
                      ;; size=26 bbWeight=0.80 PerfScore 4.20
-G_M11746_IG42:        ; bbWeight=0.80, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M11746_IG41:        ; bbWeight=0.80, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
        inc      esi
                        ;; size=2 bbWeight=0.80 PerfScore 0.20
-G_M11746_IG43:        ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M11746_IG42:        ; bbWeight=1.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rcx, gword ptr [rbp+0xB8]
        ; gcrRegs +[rcx]
        mov      rdx, 0xD1FFAB1E      ; System.Linq.Enumerable+WhereListIterator`1[Product]
        cmp      qword ptr [rcx], rdx
-       jne      G_M11746_IG52
+       jne      G_M11746_IG51
        mov      r14, gword ptr [rbp+0xB8]
        ; gcrRegs +[r14]
        mov      rcx, gword ptr [rbp+0xB8]
        mov      r15d, dword ptr [rcx+0x14]
        cmp      r15d, 1
-       je       G_M11746_IG53
+       je       G_M11746_IG52
                       ;; size=54 bbWeight=1.00 PerfScore 10.50
-G_M11746_IG44:        ; bbWeight=0.80, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
+G_M11746_IG43:        ; bbWeight=0.80, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
        cmp      r15d, 2
-       jne      G_M11746_IG65
+       jne      G_M11746_IG63
                       ;; size=10 bbWeight=0.80 PerfScore 1.00
-G_M11746_IG45:        ; bbWeight=15.47, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
+G_M11746_IG44:        ; bbWeight=15.47, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {}, byref
        lea      r12, bword ptr [r14+0x28]
        ; byrRegs +[r12]
        mov      rax, gword ptr [r12]
        ; gcrRegs +[rax]
        mov      ecx, dword ptr [r12+0x14]
        cmp      ecx, dword ptr [rax+0x14]
-       jne      G_M11746_IG61
+       jne      G_M11746_IG50
        mov      ecx, dword ptr [r12+0x10]
        cmp      ecx, dword ptr [rax+0x10]
-       jae      G_M11746_IG62
+       jae      G_M11746_IG60
                         ;; size=36 bbWeight=15.47 PerfScore 224.28
-G_M11746_IG46:        ; bbWeight=15.27, gcrefRegs=4009 {rax rbx r14}, byrefRegs=1000 {r12}, byref
+G_M11746_IG45:        ; bbWeight=15.27, gcrefRegs=4009 {rax rbx r14}, byrefRegs=1000 {r12}, byref
        mov      r10, gword ptr [rax+0x08]
        ; gcrRegs +[r10]
        mov      r8d, dword ptr [r12+0x10]
        cmp      r8d, dword ptr [r10+0x08]
-       jae      G_M11746_IG49
+       jae      G_M11746_IG48
        mov      ecx, r8d
        mov      rdx, gword ptr [r10+8*rcx+0x10]
        ; gcrRegs +[rdx]
@@ -634,15 +626,15 @@ G_M11746_IG46:        ; bbWeight=15.27, gcrefRegs=4009 {rax rbx r14}, byrefRegs=
        ; gcrRegs -[rax rdx r10]
        ; byrRegs -[rcx]
        inc      dword ptr [r12+0x10]
-       jmp      G_M11746_IG38
+       jmp      G_M11746_IG37
                      ;; size=47 bbWeight=15.27 PerfScore 255.78
-G_M11746_IG47:        ; bbWeight=15.27, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref, isz
+G_M11746_IG46:        ; bbWeight=15.27, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[r13]
        ; byrRegs -[r12]
        cmp      dword ptr [r13+0x1C], 0
-       jle      SHORT G_M11746_IG45
+       jle      SHORT G_M11746_IG44
                       ;; size=7 bbWeight=15.27 PerfScore 61.07
-G_M11746_IG48:        ; bbWeight=977.13, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref
+G_M11746_IG47:        ; bbWeight=977.13, gcrefRegs=6008 {rbx r13 r14}, byrefRegs=0000 {}, byref
        mov      r8d, dword ptr [r13+0x20]
        mov      r10d, dword ptr [r13+0x24]
        mov      r9, qword ptr [r13+0x28]
@@ -656,22 +648,22 @@ G_M11746_IG48:        ; bbWeight=977.13, gcrefRegs=6008 {rbx r13 r14}, byrefRegs
        mov      rcx, qword ptr [rbp-0x50]
        mov      edx, dword ptr [rbp-0x54]
        or       rdx, rcx
...
  
+25 (+1.44%) : 92316.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
@@ -13,7 +13,7 @@
 ;  V00 loc0         [V00,T19] ( 11, 403.31)     ref  ->  rdi         class-hnd exact <System.Threading.ThreadPoolWorkQueue>
 ;  V01 loc1         [V01,T26] (  8, 200.04)     ref  ->  rbp         class-hnd exact <System.Threading.ThreadPoolWorkQueueThreadLocals>
 ;  V02 loc2         [V02    ] (  7, 499.08)     ref  ->  [rsp+0xF0]  do-not-enreg[X] addr-exposed ld-addr-op class-hnd tier0-frame <System.Object>
-;  V03 loc3         [V03,T08] (  5,1088.74)     ref  ->  rsi         class-hnd <System.Object>
+;  V03 loc3         [V03,T08] (  6,1088.74)     ref  ->  rsi         class-hnd <System.Object>
 ;  V04 loc4         [V04,T04] ( 10,2183.45)     ref  ->  rbx         class-hnd exact <System.Threading.Thread>
 ;  V05 loc5         [V05,T28] (  2,  99.19)     int  ->  [rsp+0xDC]  tier0-frame
 ;* V06 loc6         [V06    ] (  0,   0   )   ubyte  ->  zero-ref   
@@ -96,7 +96,7 @@
 ;  V83 tmp72        [V83,T00] (  8,9897.67)     ref  ->  r12         class-hnd exact "Inlining Arg" <System.Threading.PortableThreadPool>
 ;* V84 tmp73        [V84    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V85 tmp74        [V85    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V86 tmp75        [V86,T18] (  3, 494.88)     ref  ->  rcx         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
+;  V86 tmp75        [V86,T18] (  5, 494.88)     ref  ->  rax         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V87 tmp76        [V87    ] (  0,   0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V88 tmp77        [V88    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V89 tmp78        [V89    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -157,7 +157,7 @@ G_M63069_IG03:        ; bbWeight=99.21, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefR
        ; gcrRegs +[rcx]
        mov      eax, dword ptr [rcx+0x14]
        cmp      eax, dword ptr [rcx+0x18]
-       jl       G_M63069_IG49
+       jl       G_M63069_IG40
                         ;; size=27 bbWeight=99.21 PerfScore 1190.51
 G_M63069_IG04:        ; bbWeight=396.84, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
@@ -167,14 +167,14 @@ G_M63069_IG04:        ; bbWeight=396.84, gcrefRegs=00E8 {rbx rbp rsi rdi}, byref
 G_M63069_IG05:        ; bbWeight=99.21, gcrefRegs=40E8 {rbx rbp rsi rdi r14}, byrefRegs=0000 {}, byref
        mov      gword ptr [rsp+0x30], r14
        cmp      gword ptr [rsp+0x30], 0
-       jne      G_M63069_IG66
+       jne      G_M63069_IG65
        cmp      byte  ptr [rbp+0x3C], 0
-       jne      G_M63069_IG44
+       jne      G_M63069_IG35
                      ;; size=27 bbWeight=99.21 PerfScore 793.67
 G_M63069_IG06:        ; bbWeight=101.10, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
        cmp      dword ptr [rdi+0x30], 0
-       jne      G_M63069_IG67
+       jne      G_M63069_IG66
                       ;; size=10 bbWeight=101.10 PerfScore 404.41
 G_M63069_IG07:        ; bbWeight=99.21, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
        mov      r14, gword ptr [rdi+0x08]
@@ -189,11 +189,11 @@ G_M63069_IG07:        ; bbWeight=99.21, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefR
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        test     eax, eax
-       jne      G_M63069_IG66
+       jne      G_M63069_IG65
                      ;; size=32 bbWeight=99.21 PerfScore 1190.51
 G_M63069_IG08:        ; bbWeight=3174.69, gcrefRegs=C0E8 {rbx rbp rsi rdi r14 r15}, byrefRegs=0000 {}, byref
        cmp      gword ptr [r15+0x10], 0
-       jne      G_M63069_IG51
+       jne      G_M63069_IG42
        xor      rdx, rdx
        ; gcrRegs +[rdx]
        mov      gword ptr [rsp+0x30], rdx
@@ -230,7 +230,7 @@ G_M63069_IG09:        ; bbWeight=0.75, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRe
        ; gcrRegs +[r13]
        mov      r12d, dword ptr [r13+0x08]
        test     r12d, r12d
-       jle      G_M63069_IG68
+       jle      G_M63069_IG67
                        ;; size=108 bbWeight=0.75 PerfScore 19.53
 G_M63069_IG10:        ; bbWeight=0.75, gcrefRegs=A0E8 {rbx rbp rsi rdi r13 r15}, byrefRegs=0000 {}, byref, isz
        lea      r8d, [r12-0x01]
@@ -243,7 +243,7 @@ G_M63069_IG10:        ; bbWeight=0.75, gcrefRegs=A0E8 {rbx rbp rsi rdi r13 r15},
                        ;; size=21 bbWeight=0.75 PerfScore 20.65
 G_M63069_IG11:        ; bbWeight=2.14, gcrefRegs=A0E8 {rbx rbp rsi rdi r13 r15}, byrefRegs=0000 {}, byref, isz
        cmp      r14d, dword ptr [r13+0x08]
-       jae      G_M63069_IG64
+       jae      G_M63069_IG63
        mov      edx, r14d
        mov      rcx, gword ptr [r13+8*rdx+0x10]
        ; gcrRegs +[rcx]
@@ -253,12 +253,12 @@ G_M63069_IG11:        ; bbWeight=2.14, gcrefRegs=A0E8 {rbx rbp rsi rdi r13 r15},
 G_M63069_IG12:        ; bbWeight=1.39, gcrefRegs=A0EA {rcx rbx rbp rsi rdi r13 r15}, byrefRegs=0000 {}, byref
        mov      edx, dword ptr [rcx+0x14]
        cmp      edx, dword ptr [rcx+0x18]
-       jl       G_M63069_IG69
+       jl       G_M63069_IG68
                         ;; size=12 bbWeight=1.39 PerfScore 8.34
 G_M63069_IG13:        ; bbWeight=2.14, gcrefRegs=A0E8 {rbx rbp rsi rdi r13 r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
        cmp      r14d, r8d
-       jl       G_M63069_IG53
+       jl       G_M63069_IG44
                         ;; size=9 bbWeight=2.14 PerfScore 2.68
 G_M63069_IG14:        ; bbWeight=0.75, gcrefRegs=A0E8 {rbx rbp rsi rdi r13 r15}, byrefRegs=0000 {}, byref
        xor      edx, edx
@@ -280,12 +280,12 @@ G_M63069_IG17:        ; bbWeight=99.21, gcrefRegs=40E8 {rbx rbp rsi rdi r14}, by
        mov      gword ptr [rsp+0x30], rdx
        mov      gword ptr [rsp+0xF0], r14
        cmp      gword ptr [rsp+0xF0], 0
-       je       G_M63069_IG61
+       je       G_M63069_IG60
                       ;; size=30 bbWeight=99.21 PerfScore 520.85
 G_M63069_IG18:        ; bbWeight=99.93, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdx r14]
        cmp      byte  ptr [rdi+0x34], 0
-       jne      G_M63069_IG70
+       jne      G_M63069_IG69
                       ;; size=10 bbWeight=99.93 PerfScore 399.71
 G_M63069_IG19:        ; bbWeight=99.83, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
        mov      r15, gword ptr [rsp+0xF0]
@@ -297,7 +297,7 @@ G_M63069_IG19:        ; bbWeight=99.83, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefR
        ; gcrRegs -[rdx] +[rax]
        ; gcr arg pop 0
        test     rax, rax
-       je       G_M63069_IG55
+       je       G_M63069_IG52
                      ;; size=35 bbWeight=99.83 PerfScore 374.36
 G_M63069_IG20:        ; bbWeight=399.32, gcrefRegs=00E9 {rax rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r15]
@@ -347,11 +347,11 @@ G_M63069_IG25:        ; bbWeight=98.98, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefR
        mov      rax, qword ptr GS:[0x0058]
        mov      rax, qword ptr [rax]
        cmp      dword ptr [rax+0xD8], 3
-       jl       G_M63069_IG72
+       jl       G_M63069_IG71
        mov      rax, qword ptr [rax+0xE0]
        mov      rax, qword ptr [rax+0x18]
        test     rax, rax
-       je       G_M63069_IG72
+       je       G_M63069_IG71
        mov      rax, bword ptr [rax]
        ; byrRegs +[rax]
        add      rax, 16
@@ -371,7 +371,7 @@ G_M63069_IG27:        ; bbWeight=395.91, gcrefRegs=00E8 {rbx rbp rsi rdi}, byref
                        ;; size=6 bbWeight=395.91 PerfScore 1187.72
 G_M63069_IG28:        ; bbWeight=98.98, gcrefRegs=00E9 {rax rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
        cmp      rbx, rax
-       jne      G_M63069_IG73
+       jne      G_M63069_IG72
                      ;; size=9 bbWeight=98.98 PerfScore 123.72
 G_M63069_IG29:        ; bbWeight=98.98, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax]
@@ -381,7 +381,7 @@ G_M63069_IG29:        ; bbWeight=98.98, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefR
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        test     eax, eax
-       je       G_M63069_IG74
+       je       G_M63069_IG73
                      ;; size=16 bbWeight=98.98 PerfScore 247.44
 G_M63069_IG30:        ; bbWeight=98.98, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref, isz
        cmp      byte  ptr [rbx+0x38], 0
@@ -402,85 +402,23 @@ G_M63069_IG32:        ; bbWeight=98.98, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefR
        mov      r12, gword ptr [rcx]
        ; gcrRegs +[r12]
        test     rsi, rsi
+       je       G_M63069_IG74
+       mov      rax, rsi
+       ; gcrRegs +[rax]
+       test     rax, rax
        je       G_M63069_IG75
-                        ;; size=30 bbWeight=98.98 PerfScore 470.14
-G_M63069_IG33:        ; bbWeight=98.98, gcrefRegs=10E8 {rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref, isz
-       mov      rcx, rsi
-       ; gcrRegs +[rcx]
-       test     rcx, rcx
-       je       SHORT G_M63069_IG35
-                       ;; size=8 bbWeight=98.98 PerfScore 148.47
-G_M63069_IG34:        ; bbWeight=49.49, gcrefRegs=10EA {rcx rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref, isz
-       mov      rdx, 0xD1FFAB1E      ; System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode
-       cmp      qword ptr [rcx], rdx
-       je       SHORT G_M63069_IG36
-                       ;; size=15 bbWeight=49.49 PerfScore 210.33
-G_M63069_IG35:        ; bbWeight=98.98, gcrefRegs=10E8 {rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rcx]
-       mov      rcx, 0xD1FFAB1E
-       ; gcrRegs +[rcx]
-       mov      rdx, 0xD1FFAB1E
-       ; gcrRegs +[rdx]
-       call     [<unknown method>]
-       ; gcrRegs -[rcx rdx]
-       ; gcr arg pop 0
-                       ;; size=26 bbWeight=98.98 PerfScore 346.42
-G_M63069_IG36:        ; bbWeight=98.98, gcrefRegs=10E8 {rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref
-       mov      ecx, dword ptr [rsi+0x20]
-       inc      ecx
+                      ;; size=42 bbWeight=98.98 PerfScore 618.60
+G_M63069_IG33:        ; bbWeight=49.49, gcrefRegs=10E9 {rax rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref
+       mov      rcx, 0xD1FFAB1E      ; System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode
+       cmp      qword ptr [rax], rcx
        je       G_M63069_IG54
-                        ;; size=11 bbWeight=98.98 PerfScore 321.67
-G_M63069_IG37:        ; bbWeight=395.91, gcrefRegs=10E8 {rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref
-       mov      dword ptr [rsi+0x20], ecx
-                       ;; size=3 bbWeight=395.91 PerfScore 395.91
-G_M63069_IG38:        ; bbWeight=791.81, gcrefRegs=10E8 {rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref
-       mov      dword ptr [r12+0xF0], r13d
-       mov      ecx, dword ptr [r12+0x134]
-       mov      eax, r13d
-       sub      eax, ecx
-       mov      edx, dword ptr [r12+0x138]
-       sub      edx, ecx
-       cmp      eax, edx
-       jae      G_M63069_IG57
-                       ;; size=39 bbWeight=791.81 PerfScore 5542.69
-G_M63069_IG39:        ; bbWeight=1583.63, gcrefRegs=10E8 {rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref
-       mov      rcx, r12
-       ; gcrRegs +[rcx]
-       call     [System.Threading.PortableThreadPool+WorkerThread:ShouldStopProcessingWorkNow(System.Threading.PortableThreadPool):ubyte]
-       ; gcrRegs -[rcx r12]
-       ; gcr arg pop 0
-       test     eax, eax
-       jne      G_M63069_IG62
-                       ;; size=17 bbWeight=1583.63 PerfScore 7126.32
-G_M63069_IG40:        ; bbWeight=98.97, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
-       mov      r12d, dword ptr [rsp+0xDC]
-       mov      ecx, r13d
-       sub      ecx, r12d
-       cmp      ecx, 30
-       mov      dword ptr [rsp+0xDC], r12d
-       jb       G_M63069_IG02
-                       ;; size=31 bbWeight=98.97 PerfScore 371.12
-G_M63069_IG41:        ; bbWeight=0.22, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
-       mov      r12d, r13d
-       mov      rcx, 0xD1FFAB1E      ; const ptr
-       mov      rcx, gword ptr [rcx]
-       ; gcrRegs +[rcx]
-       cmp      byte  ptr [rcx+0x9D], 0
-       jne      G_M63069_IG60
-                       ;; size=29 bbWeight=0.22 PerfScore 1.44
-G_M63069_IG42:        ; bbWeight=1.77, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rcx]
-       cmp      byte  ptr [rdi+0x34], 0
-       je       SHORT G_M63069_IG43
-       mov      byte  ptr [rdi+0x34], 0
-       mov      dword ptr [rsp+0xDC], r12d
-       jmp      G_M63069_IG02
-                       ;; size=23 bbWeight=1.77 PerfScore 14.17
-G_M63069_IG43:        ; bbWeight=0.89, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
-       mov      dword ptr [rsp+0xDC], r12d
-       jmp      G_M63069_IG02
-                       ;; size=13 bbWeight=0.89 PerfScore 2.66
-G_M63069_IG44:        ; bbWeight=0.10, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
+                        ;; size=19 bbWeight=49.49 PerfScore 210.33
+G_M63069_IG34:        ; bbWeight=24.74, gcrefRegs=10E8 {rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rax]
+       jmp      G_M63069_IG75
+                       ;; size=5 bbWeight=24.74 PerfScore 49.49
+G_M63069_IG35:        ; bbWeight=0.10, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[r12]
        mov      r14, gword ptr [rdi+0x10]
        ; gcrRegs +[r14]
        mov      r15, gword ptr [r14+0x18]
@@ -493,25 +431,25 @@ G_M63069_IG44:        ; bbWeight=0.10, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRe
...
  
+25 (+1.44%) : 98080.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
@@ -13,7 +13,7 @@
 ;  V00 loc0         [V00,T19] ( 11, 388.65)     ref  ->  rdi         class-hnd exact <System.Threading.ThreadPoolWorkQueue>
 ;  V01 loc1         [V01,T26] (  8, 201.62)     ref  ->  rbp         class-hnd exact <System.Threading.ThreadPoolWorkQueueThreadLocals>
 ;  V02 loc2         [V02    ] (  7, 488.56)     ref  ->  [rsp+0xF0]  do-not-enreg[X] addr-exposed ld-addr-op class-hnd tier0-frame <System.Object>
-;  V03 loc3         [V03,T08] (  5,1060.20)     ref  ->  rsi         class-hnd <System.Object>
+;  V03 loc3         [V03,T08] (  6,1060.20)     ref  ->  rsi         class-hnd <System.Object>
 ;  V04 loc4         [V04,T04] ( 10,2126.52)     ref  ->  rbx         class-hnd exact <System.Threading.Thread>
 ;  V05 loc5         [V05,T28] (  2,  96.48)     int  ->  [rsp+0xDC]  tier0-frame
 ;* V06 loc6         [V06    ] (  0,   0   )   ubyte  ->  zero-ref   
@@ -99,7 +99,7 @@
 ;  V86 tmp75        [V86,T00] (  8,9638.14)     ref  ->  r12         class-hnd exact "Inlining Arg" <System.Threading.PortableThreadPool>
 ;* V87 tmp76        [V87    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V88 tmp77        [V88    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V89 tmp78        [V89,T18] (  3, 481.91)     ref  ->  rcx         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
+;  V89 tmp78        [V89,T18] (  5, 481.91)     ref  ->  rax         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V90 tmp79        [V90    ] (  0,   0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V91 tmp80        [V91    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V92 tmp81        [V92    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -160,7 +160,7 @@ G_M63069_IG03:        ; bbWeight=96.52, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefR
        ; gcrRegs +[rcx]
        mov      eax, dword ptr [rcx+0x14]
        cmp      eax, dword ptr [rcx+0x18]
-       jl       G_M63069_IG49
+       jl       G_M63069_IG40
                         ;; size=27 bbWeight=96.52 PerfScore 1158.30
 G_M63069_IG04:        ; bbWeight=386.10, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
@@ -170,14 +170,14 @@ G_M63069_IG04:        ; bbWeight=386.10, gcrefRegs=00E8 {rbx rbp rsi rdi}, byref
 G_M63069_IG05:        ; bbWeight=96.52, gcrefRegs=40E8 {rbx rbp rsi rdi r14}, byrefRegs=0000 {}, byref
        mov      gword ptr [rsp+0x30], r14
        cmp      gword ptr [rsp+0x30], 0
-       jne      G_M63069_IG66
+       jne      G_M63069_IG65
        cmp      byte  ptr [rbp+0x3C], 0
-       jne      G_M63069_IG44
+       jne      G_M63069_IG35
                      ;; size=27 bbWeight=96.52 PerfScore 772.20
 G_M63069_IG06:        ; bbWeight=95.62, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
        cmp      dword ptr [rdi+0x30], 0
-       jne      G_M63069_IG67
+       jne      G_M63069_IG66
                       ;; size=10 bbWeight=95.62 PerfScore 382.49
 G_M63069_IG07:        ; bbWeight=96.52, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
        mov      r14, gword ptr [rdi+0x08]
@@ -192,11 +192,11 @@ G_M63069_IG07:        ; bbWeight=96.52, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefR
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        test     eax, eax
-       jne      G_M63069_IG66
+       jne      G_M63069_IG65
                      ;; size=32 bbWeight=96.52 PerfScore 1158.30
 G_M63069_IG08:        ; bbWeight=3088.79, gcrefRegs=C0E8 {rbx rbp rsi rdi r14 r15}, byrefRegs=0000 {}, byref
        cmp      gword ptr [r15+0x10], 0
-       jne      G_M63069_IG52
+       jne      G_M63069_IG43
        xor      rdx, rdx
        ; gcrRegs +[rdx]
        mov      gword ptr [rsp+0x30], rdx
@@ -233,7 +233,7 @@ G_M63069_IG09:        ; bbWeight=3.83, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRe
        ; gcrRegs +[r13]
        mov      r12d, dword ptr [r13+0x08]
        test     r12d, r12d
-       jle      G_M63069_IG68
+       jle      G_M63069_IG67
                        ;; size=108 bbWeight=3.83 PerfScore 99.68
 G_M63069_IG10:        ; bbWeight=3.83, gcrefRegs=A0E8 {rbx rbp rsi rdi r13 r15}, byrefRegs=0000 {}, byref, isz
        lea      r8d, [r12-0x01]
@@ -246,7 +246,7 @@ G_M63069_IG10:        ; bbWeight=3.83, gcrefRegs=A0E8 {rbx rbp rsi rdi r13 r15},
                        ;; size=21 bbWeight=3.83 PerfScore 105.43
 G_M63069_IG11:        ; bbWeight=7.67, gcrefRegs=A0E8 {rbx rbp rsi rdi r13 r15}, byrefRegs=0000 {}, byref, isz
        cmp      r14d, dword ptr [r13+0x08]
-       jae      G_M63069_IG64
+       jae      G_M63069_IG63
        mov      edx, r14d
        mov      rcx, gword ptr [r13+8*rdx+0x10]
        ; gcrRegs +[rcx]
@@ -256,12 +256,12 @@ G_M63069_IG11:        ; bbWeight=7.67, gcrefRegs=A0E8 {rbx rbp rsi rdi r13 r15},
 G_M63069_IG12:        ; bbWeight=3.83, gcrefRegs=A0EA {rcx rbx rbp rsi rdi r13 r15}, byrefRegs=0000 {}, byref
        mov      edx, dword ptr [rcx+0x14]
        cmp      edx, dword ptr [rcx+0x18]
-       jl       G_M63069_IG69
+       jl       G_M63069_IG68
                         ;; size=12 bbWeight=3.83 PerfScore 23.00
 G_M63069_IG13:        ; bbWeight=7.67, gcrefRegs=A0E8 {rbx rbp rsi rdi r13 r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
        cmp      r14d, r8d
-       jl       G_M63069_IG54
+       jl       G_M63069_IG45
                         ;; size=9 bbWeight=7.67 PerfScore 9.58
 G_M63069_IG14:        ; bbWeight=3.83, gcrefRegs=A0E8 {rbx rbp rsi rdi r13 r15}, byrefRegs=0000 {}, byref
        xor      edx, edx
@@ -283,12 +283,12 @@ G_M63069_IG17:        ; bbWeight=96.52, gcrefRegs=40E8 {rbx rbp rsi rdi r14}, by
        mov      gword ptr [rsp+0x30], rdx
        mov      gword ptr [rsp+0xF0], r14
        cmp      gword ptr [rsp+0xF0], 0
-       je       G_M63069_IG62
+       je       G_M63069_IG61
                       ;; size=30 bbWeight=96.52 PerfScore 506.75
 G_M63069_IG18:        ; bbWeight=97.35, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdx r14]
        cmp      byte  ptr [rdi+0x34], 0
-       jne      G_M63069_IG70
+       jne      G_M63069_IG69
                       ;; size=10 bbWeight=97.35 PerfScore 389.42
 G_M63069_IG19:        ; bbWeight=97.26, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
        mov      r15, gword ptr [rsp+0xF0]
@@ -300,7 +300,7 @@ G_M63069_IG19:        ; bbWeight=97.26, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefR
        ; gcrRegs -[rdx] +[rax]
        ; gcr arg pop 0
        test     rax, rax
-       je       G_M63069_IG56
+       je       G_M63069_IG53
                      ;; size=35 bbWeight=97.26 PerfScore 364.72
 G_M63069_IG20:        ; bbWeight=389.03, gcrefRegs=00E9 {rax rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r15]
@@ -350,11 +350,11 @@ G_M63069_IG25:        ; bbWeight=96.38, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefR
        mov      rax, qword ptr GS:[0x0058]
        mov      rax, qword ptr [rax]
        cmp      dword ptr [rax+0xD8], 3
-       jl       G_M63069_IG72
+       jl       G_M63069_IG71
        mov      rax, qword ptr [rax+0xE0]
        mov      rax, qword ptr [rax+0x18]
        test     rax, rax
-       je       G_M63069_IG72
+       je       G_M63069_IG71
        mov      rax, bword ptr [rax]
        ; byrRegs +[rax]
        add      rax, 16
@@ -374,7 +374,7 @@ G_M63069_IG27:        ; bbWeight=385.53, gcrefRegs=00E8 {rbx rbp rsi rdi}, byref
                        ;; size=6 bbWeight=385.53 PerfScore 1156.58
 G_M63069_IG28:        ; bbWeight=96.38, gcrefRegs=00E9 {rax rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
        cmp      rbx, rax
-       jne      G_M63069_IG73
+       jne      G_M63069_IG72
                      ;; size=9 bbWeight=96.38 PerfScore 120.48
 G_M63069_IG29:        ; bbWeight=96.38, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax]
@@ -384,7 +384,7 @@ G_M63069_IG29:        ; bbWeight=96.38, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefR
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        test     eax, eax
-       je       G_M63069_IG74
+       je       G_M63069_IG73
                      ;; size=16 bbWeight=96.38 PerfScore 240.95
 G_M63069_IG30:        ; bbWeight=96.38, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref, isz
        cmp      byte  ptr [rbx+0x38], 0
@@ -405,85 +405,23 @@ G_M63069_IG32:        ; bbWeight=96.38, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefR
        mov      r12, gword ptr [rcx]
        ; gcrRegs +[r12]
        test     rsi, rsi
+       je       G_M63069_IG74
+       mov      rax, rsi
+       ; gcrRegs +[rax]
+       test     rax, rax
        je       G_M63069_IG75
-                        ;; size=30 bbWeight=96.38 PerfScore 457.81
-G_M63069_IG33:        ; bbWeight=96.38, gcrefRegs=10E8 {rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref, isz
-       mov      rcx, rsi
-       ; gcrRegs +[rcx]
-       test     rcx, rcx
-       je       SHORT G_M63069_IG35
-                       ;; size=8 bbWeight=96.38 PerfScore 144.57
-G_M63069_IG34:        ; bbWeight=48.19, gcrefRegs=10EA {rcx rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref, isz
-       mov      rdx, 0xD1FFAB1E      ; System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode
-       cmp      qword ptr [rcx], rdx
-       je       SHORT G_M63069_IG36
-                       ;; size=15 bbWeight=48.19 PerfScore 204.81
-G_M63069_IG35:        ; bbWeight=96.38, gcrefRegs=10E8 {rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rcx]
-       mov      rcx, 0xD1FFAB1E
-       ; gcrRegs +[rcx]
-       mov      rdx, 0xD1FFAB1E
-       ; gcrRegs +[rdx]
-       call     [<unknown method>]
-       ; gcrRegs -[rcx rdx]
-       ; gcr arg pop 0
-                       ;; size=26 bbWeight=96.38 PerfScore 337.33
-G_M63069_IG36:        ; bbWeight=96.38, gcrefRegs=10E8 {rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref
-       mov      ecx, dword ptr [rsi+0x20]
-       inc      ecx
+                      ;; size=42 bbWeight=96.38 PerfScore 602.38
+G_M63069_IG33:        ; bbWeight=48.19, gcrefRegs=10E9 {rax rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref
+       mov      rcx, 0xD1FFAB1E      ; System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode
+       cmp      qword ptr [rax], rcx
        je       G_M63069_IG55
-                        ;; size=11 bbWeight=96.38 PerfScore 313.24
-G_M63069_IG37:        ; bbWeight=385.53, gcrefRegs=10E8 {rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref
-       mov      dword ptr [rsi+0x20], ecx
-                       ;; size=3 bbWeight=385.53 PerfScore 385.53
-G_M63069_IG38:        ; bbWeight=771.05, gcrefRegs=10E8 {rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref
-       mov      dword ptr [r12+0xF0], r13d
-       mov      ecx, dword ptr [r12+0x134]
-       mov      eax, r13d
-       sub      eax, ecx
-       mov      edx, dword ptr [r12+0x138]
-       sub      edx, ecx
-       cmp      eax, edx
-       jae      G_M63069_IG58
-                       ;; size=39 bbWeight=771.05 PerfScore 5397.36
-G_M63069_IG39:        ; bbWeight=1542.10, gcrefRegs=10E8 {rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref
-       mov      rcx, r12
-       ; gcrRegs +[rcx]
-       call     [System.Threading.PortableThreadPool+WorkerThread:ShouldStopProcessingWorkNow(System.Threading.PortableThreadPool):ubyte]
-       ; gcrRegs -[rcx r12]
-       ; gcr arg pop 0
-       test     eax, eax
-       jne      G_M63069_IG79
-                       ;; size=17 bbWeight=1542.10 PerfScore 6939.46
-G_M63069_IG40:        ; bbWeight=96.38, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
-       mov      r12d, dword ptr [rsp+0xDC]
-       mov      ecx, r13d
-       sub      ecx, r12d
-       cmp      ecx, 30
-       mov      dword ptr [rsp+0xDC], r12d
-       jb       G_M63069_IG02
-                       ;; size=31 bbWeight=96.38 PerfScore 361.43
-G_M63069_IG41:        ; bbWeight=0.10, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
-       mov      r12d, r13d
-       mov      rcx, 0xD1FFAB1E      ; const ptr
-       mov      rcx, gword ptr [rcx]
-       ; gcrRegs +[rcx]
-       cmp      byte  ptr [rcx+0x9D], 0
-       jne      G_M63069_IG61
-                       ;; size=29 bbWeight=0.10 PerfScore 0.66
-G_M63069_IG42:        ; bbWeight=0.81, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rcx]
-       cmp      byte  ptr [rdi+0x34], 0
-       je       SHORT G_M63069_IG43
-       mov      byte  ptr [rdi+0x34], 0
-       mov      dword ptr [rsp+0xDC], r12d
-       jmp      G_M63069_IG02
-                       ;; size=23 bbWeight=0.81 PerfScore 6.47
-G_M63069_IG43:        ; bbWeight=0.40, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
-       mov      dword ptr [rsp+0xDC], r12d
-       jmp      G_M63069_IG02
-                       ;; size=13 bbWeight=0.40 PerfScore 1.21
-G_M63069_IG44:        ; bbWeight=0.90, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
+                        ;; size=19 bbWeight=48.19 PerfScore 204.81
+G_M63069_IG34:        ; bbWeight=24.10, gcrefRegs=10E8 {rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rax]
+       jmp      G_M63069_IG75
+                       ;; size=5 bbWeight=24.10 PerfScore 48.19
+G_M63069_IG35:        ; bbWeight=0.90, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[r12]
        mov      r14, gword ptr [rdi+0x10]
        ; gcrRegs +[r14]
        mov      r15, gword ptr [r14+0x18]
@@ -496,25 +434,25 @@ G_M63069_IG44:        ; bbWeight=0.90, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRe
...
  
+25 (+1.44%) : 58781.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
@@ -13,7 +13,7 @@
 ;  V00 loc0         [V00,T19] ( 11, 386.02)     ref  ->  rdi         class-hnd exact <System.Threading.ThreadPoolWorkQueue>
 ;  V01 loc1         [V01,T26] (  8, 211.72)     ref  ->  rbp         class-hnd exact <System.Threading.ThreadPoolWorkQueueThreadLocals>
 ;  V02 loc2         [V02    ] (  7, 484.64)     ref  ->  [rsp+0xF0]  do-not-enreg[X] addr-exposed ld-addr-op class-hnd tier0-frame <System.Object>
-;  V03 loc3         [V03,T08] (  5,1050.97)     ref  ->  rsi         class-hnd <System.Object>
+;  V03 loc3         [V03,T08] (  6,1050.97)     ref  ->  rsi         class-hnd <System.Object>
 ;  V04 loc4         [V04,T04] ( 10,2102.89)     ref  ->  rbx         class-hnd exact <System.Threading.Thread>
 ;  V05 loc5         [V05,T31] (  2,  95.64)     int  ->  [rsp+0xDC]  tier0-frame
 ;* V06 loc6         [V06    ] (  0,   0   )   ubyte  ->  zero-ref   
@@ -99,7 +99,7 @@
 ;  V86 tmp75        [V86,T00] (  8,9554.24)     ref  ->  r12         class-hnd exact "Inlining Arg" <System.Threading.PortableThreadPool>
 ;* V87 tmp76        [V87    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V88 tmp77        [V88    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V89 tmp78        [V89,T18] (  3, 477.71)     ref  ->  rcx         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
+;  V89 tmp78        [V89,T18] (  5, 477.71)     ref  ->  rax         class-hnd "spilling QMark2" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V90 tmp79        [V90    ] (  0,   0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode>
 ;* V91 tmp80        [V91    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V92 tmp81        [V92    ] (  0,   0   )   ubyte  ->  zero-ref    "Inlining Arg"
@@ -160,7 +160,7 @@ G_M63069_IG03:        ; bbWeight=96.14, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefR
        ; gcrRegs +[rcx]
        mov      eax, dword ptr [rcx+0x14]
        cmp      eax, dword ptr [rcx+0x18]
-       jl       G_M63069_IG49
+       jl       G_M63069_IG40
                         ;; size=27 bbWeight=96.14 PerfScore 1153.67
 G_M63069_IG04:        ; bbWeight=384.56, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
@@ -170,14 +170,14 @@ G_M63069_IG04:        ; bbWeight=384.56, gcrefRegs=00E8 {rbx rbp rsi rdi}, byref
 G_M63069_IG05:        ; bbWeight=96.14, gcrefRegs=40E8 {rbx rbp rsi rdi r14}, byrefRegs=0000 {}, byref
        mov      gword ptr [rsp+0x30], r14
        cmp      gword ptr [rsp+0x30], 0
-       jne      G_M63069_IG67
+       jne      G_M63069_IG66
        cmp      byte  ptr [rbp+0x3C], 0
-       jne      G_M63069_IG44
+       jne      G_M63069_IG35
                      ;; size=27 bbWeight=96.14 PerfScore 769.11
 G_M63069_IG06:        ; bbWeight=93.68, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r14]
        cmp      dword ptr [rdi+0x30], 0
-       jne      G_M63069_IG68
+       jne      G_M63069_IG67
                       ;; size=10 bbWeight=93.68 PerfScore 374.71
 G_M63069_IG07:        ; bbWeight=96.14, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
        mov      r14, gword ptr [rdi+0x08]
@@ -192,11 +192,11 @@ G_M63069_IG07:        ; bbWeight=96.14, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefR
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        test     eax, eax
-       jne      G_M63069_IG67
+       jne      G_M63069_IG66
                      ;; size=32 bbWeight=96.14 PerfScore 1153.67
 G_M63069_IG08:        ; bbWeight=3076.45, gcrefRegs=C0E8 {rbx rbp rsi rdi r14 r15}, byrefRegs=0000 {}, byref
        cmp      gword ptr [r15+0x10], 0
-       jne      G_M63069_IG52
+       jne      G_M63069_IG43
        xor      rdx, rdx
        ; gcrRegs +[rdx]
        mov      gword ptr [rsp+0x30], rdx
@@ -233,7 +233,7 @@ G_M63069_IG09:        ; bbWeight=8.48, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRe
        ; gcrRegs +[r13]
        mov      r12d, dword ptr [r13+0x08]
        test     r12d, r12d
-       jle      G_M63069_IG69
+       jle      G_M63069_IG68
                        ;; size=108 bbWeight=8.48 PerfScore 220.53
 G_M63069_IG10:        ; bbWeight=8.48, gcrefRegs=A0E8 {rbx rbp rsi rdi r13 r15}, byrefRegs=0000 {}, byref, isz
        lea      r8d, [r12-0x01]
@@ -246,7 +246,7 @@ G_M63069_IG10:        ; bbWeight=8.48, gcrefRegs=A0E8 {rbx rbp rsi rdi r13 r15},
                        ;; size=21 bbWeight=8.48 PerfScore 233.25
 G_M63069_IG11:        ; bbWeight=23.45, gcrefRegs=A0E8 {rbx rbp rsi rdi r13 r15}, byrefRegs=0000 {}, byref, isz
        cmp      r14d, dword ptr [r13+0x08]
-       jae      G_M63069_IG65
+       jae      G_M63069_IG64
        mov      edx, r14d
        mov      rcx, gword ptr [r13+8*rdx+0x10]
        ; gcrRegs +[rcx]
@@ -256,12 +256,12 @@ G_M63069_IG11:        ; bbWeight=23.45, gcrefRegs=A0E8 {rbx rbp rsi rdi r13 r15}
 G_M63069_IG12:        ; bbWeight=14.97, gcrefRegs=A0EA {rcx rbx rbp rsi rdi r13 r15}, byrefRegs=0000 {}, byref
        mov      edx, dword ptr [rcx+0x14]
        cmp      edx, dword ptr [rcx+0x18]
-       jl       G_M63069_IG70
+       jl       G_M63069_IG69
                         ;; size=12 bbWeight=14.97 PerfScore 89.82
 G_M63069_IG13:        ; bbWeight=23.45, gcrefRegs=A0E8 {rbx rbp rsi rdi r13 r15}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
        cmp      r14d, r8d
-       jl       G_M63069_IG54
+       jl       G_M63069_IG45
                         ;; size=9 bbWeight=23.45 PerfScore 29.31
 G_M63069_IG14:        ; bbWeight=8.48, gcrefRegs=A0E8 {rbx rbp rsi rdi r13 r15}, byrefRegs=0000 {}, byref
        xor      edx, edx
@@ -283,12 +283,12 @@ G_M63069_IG17:        ; bbWeight=96.14, gcrefRegs=40E8 {rbx rbp rsi rdi r14}, by
        mov      gword ptr [rsp+0x30], rdx
        mov      gword ptr [rsp+0xF0], r14
        cmp      gword ptr [rsp+0xF0], 0
-       je       G_M63069_IG62
+       je       G_M63069_IG61
                       ;; size=30 bbWeight=96.14 PerfScore 504.73
 G_M63069_IG18:        ; bbWeight=95.78, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdx r14]
        cmp      byte  ptr [rdi+0x34], 0
-       jne      G_M63069_IG71
+       jne      G_M63069_IG70
                       ;; size=10 bbWeight=95.78 PerfScore 383.10
 G_M63069_IG19:        ; bbWeight=95.68, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
        mov      r15, gword ptr [rsp+0xF0]
@@ -300,7 +300,7 @@ G_M63069_IG19:        ; bbWeight=95.68, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefR
        ; gcrRegs -[rdx] +[rax]
        ; gcr arg pop 0
        test     rax, rax
-       je       G_M63069_IG56
+       je       G_M63069_IG53
                      ;; size=35 bbWeight=95.68 PerfScore 358.80
 G_M63069_IG20:        ; bbWeight=382.72, gcrefRegs=00E9 {rax rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r15]
@@ -350,11 +350,11 @@ G_M63069_IG25:        ; bbWeight=95.54, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefR
        mov      rax, qword ptr GS:[0x0058]
        mov      rax, qword ptr [rax]
        cmp      dword ptr [rax+0xD8], 3
-       jl       G_M63069_IG73
+       jl       G_M63069_IG72
        mov      rax, qword ptr [rax+0xE0]
        mov      rax, qword ptr [rax+0x18]
        test     rax, rax
-       je       G_M63069_IG73
+       je       G_M63069_IG72
        mov      rax, bword ptr [rax]
        ; byrRegs +[rax]
        add      rax, 16
@@ -374,7 +374,7 @@ G_M63069_IG27:        ; bbWeight=382.17, gcrefRegs=00E8 {rbx rbp rsi rdi}, byref
                        ;; size=6 bbWeight=382.17 PerfScore 1146.51
 G_M63069_IG28:        ; bbWeight=95.54, gcrefRegs=00E9 {rax rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
        cmp      rbx, rax
-       jne      G_M63069_IG74
+       jne      G_M63069_IG73
                      ;; size=9 bbWeight=95.54 PerfScore 119.43
 G_M63069_IG29:        ; bbWeight=95.54, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax]
@@ -384,7 +384,7 @@ G_M63069_IG29:        ; bbWeight=95.54, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefR
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        test     eax, eax
-       je       G_M63069_IG75
+       je       G_M63069_IG74
                      ;; size=16 bbWeight=95.54 PerfScore 238.86
 G_M63069_IG30:        ; bbWeight=95.54, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref, isz
        cmp      byte  ptr [rbx+0x38], 0
@@ -405,85 +405,23 @@ G_M63069_IG32:        ; bbWeight=95.54, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefR
        mov      r12, gword ptr [rcx]
        ; gcrRegs +[r12]
        test     rsi, rsi
+       je       G_M63069_IG75
+       mov      rax, rsi
+       ; gcrRegs +[rax]
+       test     rax, rax
        je       G_M63069_IG76
-                        ;; size=30 bbWeight=95.54 PerfScore 453.83
-G_M63069_IG33:        ; bbWeight=95.54, gcrefRegs=10E8 {rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref, isz
-       mov      rcx, rsi
-       ; gcrRegs +[rcx]
-       test     rcx, rcx
-       je       SHORT G_M63069_IG35
-                       ;; size=8 bbWeight=95.54 PerfScore 143.31
-G_M63069_IG34:        ; bbWeight=47.77, gcrefRegs=10EA {rcx rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref, isz
-       mov      rdx, 0xD1FFAB1E      ; System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode
-       cmp      qword ptr [rcx], rdx
-       je       SHORT G_M63069_IG36
-                       ;; size=15 bbWeight=47.77 PerfScore 203.03
-G_M63069_IG35:        ; bbWeight=95.54, gcrefRegs=10E8 {rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rcx]
-       mov      rcx, 0xD1FFAB1E
-       ; gcrRegs +[rcx]
-       mov      rdx, 0xD1FFAB1E
-       ; gcrRegs +[rdx]
-       call     [<unknown method>]
-       ; gcrRegs -[rcx rdx]
-       ; gcr arg pop 0
-                       ;; size=26 bbWeight=95.54 PerfScore 334.40
-G_M63069_IG36:        ; bbWeight=95.54, gcrefRegs=10E8 {rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref
-       mov      ecx, dword ptr [rsi+0x20]
-       inc      ecx
+                      ;; size=42 bbWeight=95.54 PerfScore 597.14
+G_M63069_IG33:        ; bbWeight=47.77, gcrefRegs=10E9 {rax rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref
+       mov      rcx, 0xD1FFAB1E      ; System.Threading.ThreadInt64PersistentCounter+ThreadLocalNode
+       cmp      qword ptr [rax], rcx
        je       G_M63069_IG55
-                        ;; size=11 bbWeight=95.54 PerfScore 310.51
-G_M63069_IG37:        ; bbWeight=382.17, gcrefRegs=10E8 {rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref
-       mov      dword ptr [rsi+0x20], ecx
-                       ;; size=3 bbWeight=382.17 PerfScore 382.17
-G_M63069_IG38:        ; bbWeight=764.34, gcrefRegs=10E8 {rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref
-       mov      dword ptr [r12+0xF0], r13d
-       mov      ecx, dword ptr [r12+0x134]
-       mov      eax, r13d
-       sub      eax, ecx
-       mov      edx, dword ptr [r12+0x138]
-       sub      edx, ecx
-       cmp      eax, edx
-       jae      G_M63069_IG58
-                       ;; size=39 bbWeight=764.34 PerfScore 5350.37
-G_M63069_IG39:        ; bbWeight=1528.68, gcrefRegs=10E8 {rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref
-       mov      rcx, r12
-       ; gcrRegs +[rcx]
-       call     [System.Threading.PortableThreadPool+WorkerThread:ShouldStopProcessingWorkNow(System.Threading.PortableThreadPool):ubyte]
-       ; gcrRegs -[rcx r12]
-       ; gcr arg pop 0
-       test     eax, eax
-       jne      G_M63069_IG63
-                       ;; size=17 bbWeight=1528.68 PerfScore 6879.05
-G_M63069_IG40:        ; bbWeight=95.54, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
-       mov      r12d, dword ptr [rsp+0xDC]
-       mov      ecx, r13d
-       sub      ecx, r12d
-       cmp      ecx, 30
-       mov      dword ptr [rsp+0xDC], r12d
-       jb       G_M63069_IG02
-                       ;; size=31 bbWeight=95.54 PerfScore 358.26
-G_M63069_IG41:        ; bbWeight=0.11, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
-       mov      r12d, r13d
-       mov      rcx, 0xD1FFAB1E      ; const ptr
-       mov      rcx, gword ptr [rcx]
-       ; gcrRegs +[rcx]
-       cmp      byte  ptr [rcx+0x9D], 0
-       jne      G_M63069_IG61
-                       ;; size=29 bbWeight=0.11 PerfScore 0.70
-G_M63069_IG42:        ; bbWeight=0.86, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rcx]
-       cmp      byte  ptr [rdi+0x34], 0
-       je       SHORT G_M63069_IG43
-       mov      byte  ptr [rdi+0x34], 0
-       mov      dword ptr [rsp+0xDC], r12d
-       jmp      G_M63069_IG02
-                       ;; size=23 bbWeight=0.86 PerfScore 6.87
-G_M63069_IG43:        ; bbWeight=0.43, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
-       mov      dword ptr [rsp+0xDC], r12d
-       jmp      G_M63069_IG02
-                       ;; size=13 bbWeight=0.43 PerfScore 1.29
-G_M63069_IG44:        ; bbWeight=2.46, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
+                        ;; size=19 bbWeight=47.77 PerfScore 203.03
+G_M63069_IG34:        ; bbWeight=23.89, gcrefRegs=10E8 {rbx rbp rsi rdi r12}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rax]
+       jmp      G_M63069_IG76
+                       ;; size=5 bbWeight=23.89 PerfScore 47.77
+G_M63069_IG35:        ; bbWeight=2.46, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[r12]
        mov      r14, gword ptr [rdi+0x10]
        ; gcrRegs +[r14]
        mov      r15, gword ptr [r14+0x18]
@@ -496,25 +434,25 @@ G_M63069_IG44:        ; bbWeight=2.46, gcrefRegs=00E8 {rbx rbp rsi rdi}, byrefRe
...
  
  
benchmarks.run_tiered.windows.x64.checked.mch
-15 (-0.82%) : 73163.dasm - System.Net.Security.SslStream+d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (Tier1)
@@ -232,7 +232,7 @@ G_M55896_IG03:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi},
        test     eax, eax
        je       SHORT G_M55896_IG04
        mov      r14d, dword ptr [rsi+0x10]
-       jmp      G_M55896_IG47
+       jmp      G_M55896_IG48
                        ;; size=43 bbWeight=1 PerfScore 11.50
 G_M55896_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref
        mov      rcx, gword ptr [rbx+0x10]
@@ -350,7 +350,7 @@ G_M55896_IG10:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byr
        call     [<unknown method>]
        ; gcrRegs -[rax rdx]
        ; gcr arg pop 0
-       jmp      G_M55896_IG49
+       jmp      G_M55896_IG50
                        ;; size=55 bbWeight=1 PerfScore 14.75
 G_M55896_IG11:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref, nogc
        ; gcrRegs +[rbx]
@@ -468,11 +468,11 @@ G_M55896_IG20:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=00C0 {rsi rd
        ; gcrRegs -[rax]
        sub      eax, dword ptr [rcx+0x0C]
        cmp      eax, edx
-       jge      G_M55896_IG43
+       jge      G_M55896_IG46
        call     [<unknown method>]
        ; byrRegs -[rcx rdi r14]
        ; gcr arg pop 0
-       jmp      G_M55896_IG43
+       jmp      G_M55896_IG46
                        ;; size=39 bbWeight=1 PerfScore 15.00
 G_M55896_IG21:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref, isz
        mov      rcx, gword ptr [rbx+0x10]
@@ -486,7 +486,7 @@ G_M55896_IG21:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi},
        test     r9, r9
        jne      SHORT G_M55896_IG22
        test     r8d, r8d
-       jne      G_M55896_IG45
+       jne      G_M55896_IG42
        xor      rdx, rdx
        ; gcrRegs +[rdx]
        xor      r8d, r8d
@@ -496,7 +496,7 @@ G_M55896_IG21:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi},
 G_M55896_IG22:        ; bbWeight=4, gcrefRegs=020A {rcx rbx r9}, byrefRegs=0040 {rsi}, byref
        ; gcrRegs -[rdx]
        cmp      dword ptr [r9+0x08], r8d
-       jb       G_M55896_IG45
+       jb       G_M55896_IG42
        mov      rdx, r9
        ; gcrRegs +[rdx]
        mov      eax, dword ptr [rdx+0x08]
@@ -613,7 +613,7 @@ G_M55896_IG28:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byr
        call     [<unknown method>]
        ; gcrRegs -[rax rdx]
        ; gcr arg pop 0
-       jmp      G_M55896_IG49
+       jmp      G_M55896_IG50
                        ;; size=57 bbWeight=1 PerfScore 14.50
 G_M55896_IG29:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref, nogc
        ; gcrRegs +[rbx]
@@ -737,10 +737,10 @@ G_M55896_IG38:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi},
        sub      eax, dword ptr [rdx+0x08]
        sub      eax, dword ptr [rcx+0x04]
        sub      eax, dword ptr [rcx]
-       jne      G_M55896_IG46
+       jne      G_M55896_IG43
        xor      r14d, r14d
        ; byrRegs -[r14]
-       jmp      G_M55896_IG47
+       jmp      G_M55896_IG48
                       ;; size=42 bbWeight=1 PerfScore 15.75
 G_M55896_IG39:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref, isz
        ; byrRegs -[rcx rdx rdi]
@@ -748,7 +748,7 @@ G_M55896_IG39:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi},
        ; byrRegs +[rcx]
        add      dword ptr [rcx+0x0C], edi
        cmp      dword ptr [rsi+0x10], 0xD1FFAB1E
-       jne      G_M55896_IG43
+       jne      G_M55896_IG46
        lea      rdi, bword ptr [rbx+0x88]
        ; byrRegs +[rdi]
        mov      rcx, rdi
@@ -765,7 +765,7 @@ G_M55896_IG39:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi},
        sub      r10d, r8d
        sub      r10d, dword ptr [rcx]
        cmp      r10d, 5
-       jle      G_M55896_IG43
+       jle      G_M55896_IG46
        mov      rcx, rdi
        mov      r10, r14
        ; byrRegs +[r10]
@@ -775,37 +775,69 @@ G_M55896_IG39:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi},
        test     r10, r10
        jne      SHORT G_M55896_IG40
        or       edx, eax
-       jne      G_M55896_IG45
+       jne      SHORT G_M55896_IG42
        xor      r15, r15
        ; byrRegs +[r15]
        xor      r13d, r13d
        jmp      SHORT G_M55896_IG41
-                      ;; size=101 bbWeight=4 PerfScore 110.00
-G_M55896_IG40:        ; bbWeight=4, gcrefRegs=0408 {rbx r10}, byrefRegs=40C2 {rcx rsi rdi r14}, byref
+                        ;; size=97 bbWeight=4 PerfScore 110.00
+G_M55896_IG40:        ; bbWeight=4, gcrefRegs=0408 {rbx r10}, byrefRegs=40C2 {rcx rsi rdi r14}, byref, isz
        ; byrRegs -[r15]
        mov      r9d, edx
        mov      r11d, eax
        add      r9, r11
        mov      r11d, dword ptr [r10+0x08]
        cmp      r9, r11
-       ja       G_M55896_IG45
+       ja       SHORT G_M55896_IG42
        mov      edx, edx
        lea      r15, bword ptr [r10+rdx+0x10]
        ; byrRegs +[r15]
        mov      r13d, eax
-                        ;; size=32 bbWeight=4 PerfScore 22.00
+                     ;; size=28 bbWeight=4 PerfScore 22.00
 G_M55896_IG41:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=C0C2 {rcx rsi rdi r14 r15}, byref, isz
        ; gcrRegs -[r10]
        add      r8d, dword ptr [rcx]
        cmp      r8d, r13d
-       ja       G_M55896_IG45
+       jbe      SHORT G_M55896_IG44
+                       ;; size=8 bbWeight=4 PerfScore 17.00
+G_M55896_IG42:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byref
+       ; gcrRegs -[rbx]
+       ; byrRegs -[rcx rdi r14-r15]
+       call     [System.ThrowHelper:ThrowArgumentOutOfRangeException()]
+       ; gcr arg pop 0
+       int3     
+                       ;; size=7 bbWeight=0 PerfScore 0.00
+G_M55896_IG43:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byref
+       mov      rcx, 0xD1FFAB1E      ; <unknown class>
+       call     CORINFO_HELP_NEWSFAST
+       ; gcrRegs +[rax]
+       ; gcr arg pop 0
+       mov      rbx, rax
+       ; gcrRegs +[rbx]
+       call     [<unknown method>]
+       ; gcr arg pop 0
+       mov      rdx, rax
+       ; gcrRegs +[rdx]
+       mov      rcx, rbx
+       ; gcrRegs +[rcx]
+       call     [<unknown method>]
+       ; gcrRegs -[rax rcx rdx]
+       ; gcr arg pop 0
+       mov      rcx, rbx
+       ; gcrRegs +[rcx]
+       call     CORINFO_HELP_THROW
+       ; gcrRegs -[rcx rbx]
+       ; gcr arg pop 0
+                       ;; size=44 bbWeight=0 PerfScore 0.00
+G_M55896_IG44:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=C0C0 {rsi rdi r14 r15}, byref, isz
+       ; gcrRegs +[rbx]
+       ; byrRegs +[rdi r14-r15]
        mov      r12d, r8d
        add      r15, r12
        sub      r13d, r8d
-       jns      SHORT G_M55896_IG42
+       jns      SHORT G_M55896_IG45
        mov      rcx, 0xD1FFAB1E
        ; gcrRegs +[rcx]
-       ; byrRegs -[rcx]
        mov      r12, rcx
        ; gcrRegs +[r12]
        mov      rcx, r12
@@ -821,8 +853,8 @@ G_M55896_IG41:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=C0C2 {rcx rs
        call     [<unknown method>]
        ; gcrRegs -[rcx rdx r12]
        ; gcr arg pop 0
-                       ;; size=60 bbWeight=4 PerfScore 54.00
-G_M55896_IG42:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=C0C0 {rsi rdi r14 r15}, byref, isz
+                       ;; size=48 bbWeight=4 PerfScore 37.00
+G_M55896_IG45:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=C0C0 {rsi rdi r14 r15}, byref, isz
        mov      bword ptr [rbp-0x88], r15
        mov      dword ptr [rbp-0x80], r13d
        lea      rdx, [rbp-0x88]
@@ -852,12 +884,12 @@ G_M55896_IG42:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=C0C0 {rsi rd
        ; gcrRegs -[rax]
        sub      eax, dword ptr [rcx+0x0C]
        cmp      eax, edx
-       jge      SHORT G_M55896_IG43
+       jge      SHORT G_M55896_IG46
        call     [<unknown method>]
        ; byrRegs -[rcx rdi r14]
        ; gcr arg pop 0
                        ;; size=83 bbWeight=4 PerfScore 132.00
-G_M55896_IG43:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref
+G_M55896_IG46:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref
        lea      rdi, bword ptr [rbx+0x88]
        ; byrRegs +[rdi]
        mov      r8, rdi
@@ -873,46 +905,17 @@ G_M55896_IG43:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi},
        cmp      edx, dword ptr [rsi+0x10]
        jl       G_M55896_IG21
                        ;; size=41 bbWeight=8 PerfScore 132.00
-G_M55896_IG44:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byref, isz
+G_M55896_IG47:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byref
        ; gcrRegs -[rbx]
        ; byrRegs -[rdi r8-r9 r14]
        mov      r14d, dword ptr [rsi+0x10]
-       jmp      SHORT G_M55896_IG47
-                       ;; size=6 bbWeight=1 PerfScore 4.00
-G_M55896_IG45:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byref
-       call     [System.ThrowHelper:ThrowArgumentOutOfRangeException()]
-       ; gcr arg pop 0
-       int3     
-                       ;; size=7 bbWeight=0 PerfScore 0.00
-G_M55896_IG46:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byref
-       mov      rcx, 0xD1FFAB1E      ; <unknown class>
-       call     CORINFO_HELP_NEWSFAST
-       ; gcrRegs +[rax]
-       ; gcr arg pop 0
-       mov      rbx, rax
-       ; gcrRegs +[rbx]
-       call     [<unknown method>]
-       ; gcr arg pop 0
-       mov      rdx, rax
-       ; gcrRegs +[rdx]
-       mov      rcx, rbx
-       ; gcrRegs +[rcx]
-       call     [<unknown method>]
-       ; gcrRegs -[rax rcx rdx]
-       ; gcr arg pop 0
-       mov      rcx, rbx
-       ; gcrRegs +[rcx]
-       call     CORINFO_HELP_THROW
-       ; gcrRegs -[rcx rbx]
-       ; gcr arg pop 0
-       int3     
-                       ;; size=45 bbWeight=0 PerfScore 0.00
-G_M55896_IG47:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byref, isz
+                      ;; size=4 bbWeight=1 PerfScore 2.00
+G_M55896_IG48:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byref, isz
        mov      dword ptr [rsi+0x08], -2
        lea      rcx, bword ptr [rsi+0x18]
        ; byrRegs +[rcx]
        cmp      gword ptr [rcx], 0
-       jne      SHORT G_M55896_IG48
+       jne      SHORT G_M55896_IG49
        mov      dword ptr [rcx+0x08], r14d
        mov      rdx, 0xD1FFAB1E      ; const ptr
        mov      rdx, gword ptr [rdx]
@@ -921,9 +924,9 @@ G_M55896_IG47:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byr
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
        ; gcrRegs -[rdx]
        ; byrRegs -[rcx rsi]
-       jmp      SHORT G_M55896_IG49
...
  
-15 (-0.82%) : 77068.dasm - System.Net.Security.SslStream+d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (Tier1)
@@ -233,7 +233,7 @@ G_M55896_IG03:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi},
        test     eax, eax
        je       SHORT G_M55896_IG04
        mov      r14d, dword ptr [rsi+0x10]
-       jmp      G_M55896_IG47
+       jmp      G_M55896_IG48
                        ;; size=43 bbWeight=1 PerfScore 11.50
 G_M55896_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref
        mov      rcx, gword ptr [rbx+0x10]
@@ -351,7 +351,7 @@ G_M55896_IG10:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byr
        call     [<unknown method>]
        ; gcrRegs -[rax rdx]
        ; gcr arg pop 0
-       jmp      G_M55896_IG49
+       jmp      G_M55896_IG50
                        ;; size=55 bbWeight=1 PerfScore 14.75
 G_M55896_IG11:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref, nogc
        ; gcrRegs +[rbx]
@@ -469,11 +469,11 @@ G_M55896_IG20:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=00C0 {rsi rd
        ; gcrRegs -[rax]
        sub      eax, dword ptr [rcx+0x0C]
        cmp      eax, edx
-       jge      G_M55896_IG43
+       jge      G_M55896_IG46
        call     [<unknown method>]
        ; byrRegs -[rcx rdi r14]
        ; gcr arg pop 0
-       jmp      G_M55896_IG43
+       jmp      G_M55896_IG46
                        ;; size=39 bbWeight=1 PerfScore 15.00
 G_M55896_IG21:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref, isz
        mov      rcx, gword ptr [rbx+0x10]
@@ -487,7 +487,7 @@ G_M55896_IG21:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi},
        test     r9, r9
        jne      SHORT G_M55896_IG22
        test     r8d, r8d
-       jne      G_M55896_IG45
+       jne      G_M55896_IG42
        xor      rdx, rdx
        ; gcrRegs +[rdx]
        xor      r8d, r8d
@@ -497,7 +497,7 @@ G_M55896_IG21:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi},
 G_M55896_IG22:        ; bbWeight=4, gcrefRegs=020A {rcx rbx r9}, byrefRegs=0040 {rsi}, byref
        ; gcrRegs -[rdx]
        cmp      dword ptr [r9+0x08], r8d
-       jb       G_M55896_IG45
+       jb       G_M55896_IG42
        mov      rdx, r9
        ; gcrRegs +[rdx]
        mov      eax, dword ptr [rdx+0x08]
@@ -614,7 +614,7 @@ G_M55896_IG28:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byr
        call     [<unknown method>]
        ; gcrRegs -[rax rdx]
        ; gcr arg pop 0
-       jmp      G_M55896_IG49
+       jmp      G_M55896_IG50
                        ;; size=57 bbWeight=1 PerfScore 14.50
 G_M55896_IG29:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref, nogc
        ; gcrRegs +[rbx]
@@ -738,10 +738,10 @@ G_M55896_IG38:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi},
        sub      eax, dword ptr [rdx+0x08]
        sub      eax, dword ptr [rcx+0x04]
        sub      eax, dword ptr [rcx]
-       jne      G_M55896_IG46
+       jne      G_M55896_IG43
        xor      r14d, r14d
        ; byrRegs -[r14]
-       jmp      G_M55896_IG47
+       jmp      G_M55896_IG48
                       ;; size=42 bbWeight=1 PerfScore 15.75
 G_M55896_IG39:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref, isz
        ; byrRegs -[rcx rdx rdi]
@@ -749,7 +749,7 @@ G_M55896_IG39:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi},
        ; byrRegs +[rcx]
        add      dword ptr [rcx+0x0C], edi
        cmp      dword ptr [rsi+0x10], 0xD1FFAB1E
-       jne      G_M55896_IG43
+       jne      G_M55896_IG46
        lea      rdi, bword ptr [rbx+0x88]
        ; byrRegs +[rdi]
        mov      rcx, rdi
@@ -766,7 +766,7 @@ G_M55896_IG39:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi},
        sub      r10d, r8d
        sub      r10d, dword ptr [rcx]
        cmp      r10d, 5
-       jle      G_M55896_IG43
+       jle      G_M55896_IG46
        mov      rcx, rdi
        mov      r10, r14
        ; byrRegs +[r10]
@@ -776,37 +776,69 @@ G_M55896_IG39:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi},
        test     r10, r10
        jne      SHORT G_M55896_IG40
        or       edx, eax
-       jne      G_M55896_IG45
+       jne      SHORT G_M55896_IG42
        xor      r15, r15
        ; byrRegs +[r15]
        xor      r13d, r13d
        jmp      SHORT G_M55896_IG41
-                      ;; size=101 bbWeight=4 PerfScore 110.00
-G_M55896_IG40:        ; bbWeight=4, gcrefRegs=0408 {rbx r10}, byrefRegs=40C2 {rcx rsi rdi r14}, byref
+                        ;; size=97 bbWeight=4 PerfScore 110.00
+G_M55896_IG40:        ; bbWeight=4, gcrefRegs=0408 {rbx r10}, byrefRegs=40C2 {rcx rsi rdi r14}, byref, isz
        ; byrRegs -[r15]
        mov      r9d, edx
        mov      r11d, eax
        add      r9, r11
        mov      r11d, dword ptr [r10+0x08]
        cmp      r9, r11
-       ja       G_M55896_IG45
+       ja       SHORT G_M55896_IG42
        mov      edx, edx
        lea      r15, bword ptr [r10+rdx+0x10]
        ; byrRegs +[r15]
        mov      r13d, eax
-                        ;; size=32 bbWeight=4 PerfScore 22.00
+                     ;; size=28 bbWeight=4 PerfScore 22.00
 G_M55896_IG41:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=C0C2 {rcx rsi rdi r14 r15}, byref, isz
        ; gcrRegs -[r10]
        add      r8d, dword ptr [rcx]
        cmp      r8d, r13d
-       ja       G_M55896_IG45
+       jbe      SHORT G_M55896_IG44
+                       ;; size=8 bbWeight=4 PerfScore 17.00
+G_M55896_IG42:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byref
+       ; gcrRegs -[rbx]
+       ; byrRegs -[rcx rdi r14-r15]
+       call     [System.ThrowHelper:ThrowArgumentOutOfRangeException()]
+       ; gcr arg pop 0
+       int3     
+                       ;; size=7 bbWeight=0 PerfScore 0.00
+G_M55896_IG43:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byref
+       mov      rcx, 0xD1FFAB1E      ; <unknown class>
+       call     CORINFO_HELP_NEWSFAST
+       ; gcrRegs +[rax]
+       ; gcr arg pop 0
+       mov      rbx, rax
+       ; gcrRegs +[rbx]
+       call     [<unknown method>]
+       ; gcr arg pop 0
+       mov      rdx, rax
+       ; gcrRegs +[rdx]
+       mov      rcx, rbx
+       ; gcrRegs +[rcx]
+       call     [<unknown method>]
+       ; gcrRegs -[rax rcx rdx]
+       ; gcr arg pop 0
+       mov      rcx, rbx
+       ; gcrRegs +[rcx]
+       call     CORINFO_HELP_THROW
+       ; gcrRegs -[rcx rbx]
+       ; gcr arg pop 0
+                       ;; size=44 bbWeight=0 PerfScore 0.00
+G_M55896_IG44:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=C0C0 {rsi rdi r14 r15}, byref, isz
+       ; gcrRegs +[rbx]
+       ; byrRegs +[rdi r14-r15]
        mov      r12d, r8d
        add      r15, r12
        sub      r13d, r8d
-       jns      SHORT G_M55896_IG42
+       jns      SHORT G_M55896_IG45
        mov      rcx, 0xD1FFAB1E
        ; gcrRegs +[rcx]
-       ; byrRegs -[rcx]
        mov      r12, rcx
        ; gcrRegs +[r12]
        mov      rcx, r12
@@ -822,8 +854,8 @@ G_M55896_IG41:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=C0C2 {rcx rs
        call     [<unknown method>]
        ; gcrRegs -[rcx rdx r12]
        ; gcr arg pop 0
-                       ;; size=60 bbWeight=4 PerfScore 54.00
-G_M55896_IG42:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=C0C0 {rsi rdi r14 r15}, byref, isz
+                       ;; size=48 bbWeight=4 PerfScore 37.00
+G_M55896_IG45:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=C0C0 {rsi rdi r14 r15}, byref, isz
        mov      bword ptr [rbp-0x88], r15
        mov      dword ptr [rbp-0x80], r13d
        lea      rdx, [rbp-0x88]
@@ -853,12 +885,12 @@ G_M55896_IG42:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=C0C0 {rsi rd
        ; gcrRegs -[rax]
        sub      eax, dword ptr [rcx+0x0C]
        cmp      eax, edx
-       jge      SHORT G_M55896_IG43
+       jge      SHORT G_M55896_IG46
        call     [<unknown method>]
        ; byrRegs -[rcx rdi r14]
        ; gcr arg pop 0
                        ;; size=83 bbWeight=4 PerfScore 132.00
-G_M55896_IG43:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref
+G_M55896_IG46:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, byref
        lea      rdi, bword ptr [rbx+0x88]
        ; byrRegs +[rdi]
        mov      r8, rdi
@@ -874,46 +906,17 @@ G_M55896_IG43:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi},
        cmp      edx, dword ptr [rsi+0x10]
        jl       G_M55896_IG21
                        ;; size=41 bbWeight=8 PerfScore 132.00
-G_M55896_IG44:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byref, isz
+G_M55896_IG47:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byref
        ; gcrRegs -[rbx]
        ; byrRegs -[rdi r8-r9 r14]
        mov      r14d, dword ptr [rsi+0x10]
-       jmp      SHORT G_M55896_IG47
-                       ;; size=6 bbWeight=1 PerfScore 4.00
-G_M55896_IG45:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byref
-       call     [System.ThrowHelper:ThrowArgumentOutOfRangeException()]
-       ; gcr arg pop 0
-       int3     
-                       ;; size=7 bbWeight=0 PerfScore 0.00
-G_M55896_IG46:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byref
-       mov      rcx, 0xD1FFAB1E      ; <unknown class>
-       call     CORINFO_HELP_NEWSFAST
-       ; gcrRegs +[rax]
-       ; gcr arg pop 0
-       mov      rbx, rax
-       ; gcrRegs +[rbx]
-       call     [<unknown method>]
-       ; gcr arg pop 0
-       mov      rdx, rax
-       ; gcrRegs +[rdx]
-       mov      rcx, rbx
-       ; gcrRegs +[rcx]
-       call     [<unknown method>]
-       ; gcrRegs -[rax rcx rdx]
-       ; gcr arg pop 0
-       mov      rcx, rbx
-       ; gcrRegs +[rcx]
-       call     CORINFO_HELP_THROW
-       ; gcrRegs -[rcx rbx]
-       ; gcr arg pop 0
-       int3     
-                       ;; size=45 bbWeight=0 PerfScore 0.00
-G_M55896_IG47:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byref, isz
+                      ;; size=4 bbWeight=1 PerfScore 2.00
+G_M55896_IG48:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byref, isz
        mov      dword ptr [rsi+0x08], -2
        lea      rcx, bword ptr [rsi+0x18]
        ; byrRegs +[rcx]
        cmp      gword ptr [rcx], 0
-       jne      SHORT G_M55896_IG48
+       jne      SHORT G_M55896_IG49
        mov      dword ptr [rcx+0x08], r14d
        mov      rdx, 0xD1FFAB1E      ; const ptr
        mov      rdx, gword ptr [rdx]
@@ -922,9 +925,9 @@ G_M55896_IG47:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0040 {rsi}, byr
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
        ; gcrRegs -[rdx]
        ; byrRegs -[rcx rsi]
-       jmp      SHORT G_M55896_IG49
...
  
-6 (-0.65%) : 3113.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
@@ -8,7 +8,7 @@
 ; 0 inlinees with PGO data; 21 single block inlinees; 14 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T36] (  4,  1   )     ref  ->  [rbp-0x60]  class-hnd EH-live spill-single-def <System.Object>
+;  V00 loc0         [V00,T37] (  4,  1   )     ref  ->  [rbp-0x60]  class-hnd EH-live spill-single-def <System.Object>
 ;  V01 loc1         [V01    ] (  6,  2.50)   ubyte  ->  [rbp-0x40]  do-not-enreg[X] addr-exposed ld-addr-op
 ;  V02 loc2         [V02,T03] (  6, 26.50)     ref  ->  rbx         class-hnd exact single-def <<unknown class>>
 ;  V03 loc3         [V03,T08] (  6, 17   )     ref  ->  rsi         class-hnd <System.Diagnostics.Tracing.EventListener>
@@ -20,16 +20,16 @@
 ;  V09 loc9         [V09    ] (  7, 42   )  struct (24) [rbp-0x58]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.Diagnostics.Tracing.EventListener,ubyte]>
 ;  V10 loc10        [V10,T01] (  2,144   )     ref  ->  [rbp-0x70]  class-hnd spill-single-def <System.Diagnostics.Tracing.EventListener>
 ;  V11 OutArgs      [V11    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V12 tmp1         [V12,T30] (  3,  3   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V13 tmp2         [V13,T32] (  2,  2   )   ubyte  ->  rcx         "Inlining Arg"
+;  V12 tmp1         [V12,T31] (  3,  3   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V13 tmp2         [V13,T33] (  2,  2   )   ubyte  ->  rcx         "Inlining Arg"
 ;* V14 tmp3         [V14    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V15 tmp4         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;  V16 tmp5         [V16,T31] (  2,  2   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V16 tmp5         [V16,T32] (  2,  2   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V17 tmp6         [V17    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.WeakReference`1[System.Diagnostics.Tracing.EventSource]]>
 ;* V18 tmp7         [V18    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V19 tmp8         [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Diagnostics.Tracing.EventSource>
 ;  V20 tmp9         [V20,T23] (  3,  6   )     ref  ->  r12         class-hnd "Inline return value spill temp" <System.Diagnostics.Tracing.EventSource>
-;  V21 tmp10        [V21,T11] (  5, 14   )    long  ->  rcx         "Inline stloc first use temp"
+;  V21 tmp10        [V21,T10] (  5, 14   )    long  ->  rcx         "Inline stloc first use temp"
 ;* V22 tmp11        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Diagnostics.Tracing.EventSource>
 ;  V23 tmp12        [V23,T24] (  3,  6   )     ref  ->  r12         class-hnd "Inline stloc first use temp" <System.Diagnostics.Tracing.EventSource>
 ;* V24 tmp13        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Diagnostics.Tracing.EventSource>
@@ -37,45 +37,46 @@
 ;  V26 tmp15        [V26,T13] (  3, 12   )     ref  ->  r12         class-hnd "updating class info" <System.ComAwareWeakReference>
 ;* V27 tmp16        [V27    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V28 tmp17        [V28    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V29 tmp18        [V29,T19] (  2,  8   )     ref  ->  rax         class-hnd "dup spill" <System.Object>
-;  V30 tmp19        [V30,T17] (  4,  8   )     ref  ->  rax        
+;  V29 tmp18        [V29,T18] (  2,  8   )     ref  ->  rax         class-hnd "dup spill" <System.Object>
+;  V30 tmp19        [V30,T16] (  4,  8   )     ref  ->  rax        
 ;* V31 tmp20        [V31    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V32 tmp21        [V32,T02] (  2, 64   )     ref  ->  rdx         class-hnd "Inlining Arg" <System.Diagnostics.Tracing.EventListener>
 ;* V33 tmp22        [V33    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V34 tmp23        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <<unknown class>>
-;  V35 tmp24        [V35,T20] (  2,  8   )     ref  ->  rax         class-hnd exact "dup spill" <System.Collections.Generic.Dictionary`2+KeyCollection[System.__Canon,ubyte]>
-;  V36 tmp25        [V36,T18] (  4,  8   )     ref  ->  rax        
-;  V37 tmp26        [V37,T10] (  4, 16   )     ref  ->  r13         class-hnd exact "NewObj constructor temp" <<unknown class>>
+;  V35 tmp24        [V35,T19] (  2,  8   )     ref  ->  rax         class-hnd exact "dup spill" <System.Collections.Generic.Dictionary`2+KeyCollection[System.__Canon,ubyte]>
+;  V36 tmp25        [V36,T17] (  4,  8   )     ref  ->  rax        
+;  V37 tmp26        [V37,T09] (  4, 16   )     ref  ->  r13         class-hnd exact "NewObj constructor temp" <<unknown class>>
 ;* V38 tmp27        [V38    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <<unknown class>>
 ;* V39 tmp28        [V39    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.Dictionary`2+KeyCollection+Enumerator[System.Diagnostics.Tracing.EventListener,ubyte]>
-;  V40 tmp29        [V40,T21] (  2,  8   )     ref  ->  rcx         class-hnd "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.__Canon,ubyte]>
+;  V40 tmp29        [V40,T20] (  2,  8   )     ref  ->  rcx         class-hnd "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.__Canon,ubyte]>
 ;* V41 tmp30        [V41    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V42 tmp31        [V42    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V43 tmp32        [V43,T22] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V43 tmp32        [V43,T21] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V44 tmp33        [V44    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V45 tmp34        [V45,T09] (  4, 12.50)     ref  ->  rdi         single-def "field V05._list (fldOffset=0x0)" P-INDEP
-;  V46 tmp35        [V46,T12] (  3, 10   )     ref  ->  r13         "field V05._current (fldOffset=0x8)" P-INDEP
+;  V45 tmp34        [V45,T12] (  4, 12.50)     ref  ->  rdi         single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V46 tmp35        [V46,T11] (  3, 10   )     ref  ->  r13         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V47 tmp36        [V47,T04] (  6, 20.50)     int  ->  r15         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V48 tmp37        [V48,T16] (  3,  8.50)     int  ->  r14         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V48 tmp37        [V48,T28] (  2,  4.50)     int  ->  r14         "field V05._version (fldOffset=0x14)" P-INDEP
 ;  V49 tmp38        [V49    ] (  3, 20   )     ref  ->  [rbp-0x58]  do-not-enreg[X] addr-exposed "field V09._dictionary (fldOffset=0x0)" P-DEP
 ;  V50 tmp39        [V50    ] (  4, 36   )     ref  ->  [rbp-0x50]  do-not-enreg[X] addr-exposed "field V09._currentKey (fldOffset=0x8)" P-DEP
 ;  V51 tmp40        [V51    ] (  3, 20   )     int  ->  [rbp-0x48]  do-not-enreg[X] addr-exposed "field V09._index (fldOffset=0x10)" P-DEP
 ;  V52 tmp41        [V52    ] (  3, 20   )     int  ->  [rbp-0x44]  do-not-enreg[X] addr-exposed "field V09._version (fldOffset=0x14)" P-DEP
-;  V53 tmp42        [V53,T35] (  3,  1.50)     ref  ->  rdi         single-def "field V17._list (fldOffset=0x0)" P-INDEP
+;  V53 tmp42        [V53,T36] (  3,  1.50)     ref  ->  rdi         single-def "field V17._list (fldOffset=0x0)" P-INDEP
 ;* V54 tmp43        [V54    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V17._current (fldOffset=0x8)" P-INDEP
-;* V55 tmp44        [V55,T39] (  0,  0   )     int  ->  zero-ref    "field V17._index (fldOffset=0x10)" P-INDEP
-;  V56 tmp45        [V56,T37] (  2,  1   )     int  ->  r14         "field V17._version (fldOffset=0x14)" P-INDEP
+;* V55 tmp44        [V55,T40] (  0,  0   )     int  ->  zero-ref    "field V17._index (fldOffset=0x10)" P-INDEP
+;  V56 tmp45        [V56,T38] (  2,  1   )     int  ->  r14         "field V17._version (fldOffset=0x14)" P-INDEP
 ;  V57 tmp46        [V57,T25] (  3,  6   )     ref  ->  rcx         "field V39._dictionary (fldOffset=0x0)" P-INDEP
-;* V58 tmp47        [V58,T33] (  0,  0   )     ref  ->  zero-ref    "field V39._currentKey (fldOffset=0x8)" P-INDEP
-;* V59 tmp48        [V59,T34] (  0,  0   )     int  ->  zero-ref    "field V39._index (fldOffset=0x10)" P-INDEP
-;  V60 tmp49        [V60,T29] (  2,  4   )     int  ->  rdx         "field V39._version (fldOffset=0x14)" P-INDEP
+;* V58 tmp47        [V58,T34] (  0,  0   )     ref  ->  zero-ref    "field V39._currentKey (fldOffset=0x8)" P-INDEP
+;* V59 tmp48        [V59,T35] (  0,  0   )     int  ->  zero-ref    "field V39._index (fldOffset=0x10)" P-INDEP
+;  V60 tmp49        [V60,T30] (  2,  4   )     int  ->  rdx         "field V39._version (fldOffset=0x14)" P-INDEP
 ;  V61 tmp50        [V61,T06] (  3, 24   )     ref  ->  rcx         "arr expr"
-;  V62 PSPSym       [V62,T38] (  1,  1   )    long  ->  [rbp-0x80]  do-not-enreg[V] "PSPSym"
-;  V63 cse0         [V63,T14] (  3, 12   )     int  ->  r13         "CSE - moderate"
-;  V64 cse1         [V64,T07] (  3, 20   )    long  ->  r13         "CSE - aggressive"
-;  V65 rat0         [V65,T28] (  3,  4   )    long  ->  rax         "TLS field access"
-;  V66 rat1         [V66,T26] (  3,  6   )    long  ->  rax         "TLS access"
-;  V67 rat2         [V67,T27] (  3,  6   )    long  ->  rax         "ThreadStaticBlockBase access"
+;  V62 PSPSym       [V62,T39] (  1,  1   )    long  ->  [rbp-0x80]  do-not-enreg[V] "PSPSym"
+;  V63 cse0         [V63,T22] (  2,  8   )     int  ->  rcx         "CSE - moderate"
+;  V64 cse1         [V64,T14] (  2,  8   )     int  ->  rcx         "CSE - moderate"
+;  V65 cse2         [V65,T07] (  3, 20   )    long  ->  r13         "CSE - aggressive"
+;  V66 rat0         [V66,T29] (  3,  4   )    long  ->  rax         "TLS field access"
+;  V67 rat1         [V67,T26] (  3,  6   )    long  ->  rax         "TLS access"
+;  V68 rat2         [V68,T27] (  3,  6   )    long  ->  rax         "ThreadStaticBlockBase access"
 ;
 ; Lcl frame size = 104
 
@@ -100,11 +101,11 @@ G_M15982_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rax, qword ptr GS:[0x0058]
        mov      rax, qword ptr [rax]
        cmp      dword ptr [rax+0xC8], 2
-       jl       G_M15982_IG40
+       jl       G_M15982_IG39
        mov      rax, qword ptr [rax+0xD0]
        mov      rax, qword ptr [rax+0x10]
        test     rax, rax
-       je       G_M15982_IG40
+       je       G_M15982_IG39
                      ;; size=45 bbWeight=1 PerfScore 12.25
 G_M15982_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        cmp      byte  ptr [rax+0x0AB5], 0
@@ -131,7 +132,7 @@ G_M15982_IG05:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000
        xor      edx, edx
        mov      dword ptr [rbp-0x40], edx
                        ;; size=15 bbWeight=0.50 PerfScore 2.62
-G_M15982_IG06:        ; bbWeight=0.50, gcVars=0000001000000000 {V00}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M15982_IG06:        ; bbWeight=0.50, gcVars=0000002000000000 {V00}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref, isz
        cmp      byte  ptr [rbp-0x40], 0
        jne      G_M15982_IG33
        lea      rdx, [rbp-0x40]
@@ -221,15 +222,16 @@ G_M15982_IG12:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        xor      r15d, r15d
                        ;; size=25 bbWeight=0.50 PerfScore 2.38
 G_M15982_IG13:        ; bbWeight=4, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref
-       mov      r13d, dword ptr [rdi+0x14]
-       cmp      r14d, r13d
-       jne      G_M15982_IG36
-       cmp      r15d, dword ptr [rdi+0x10]
-       jae      G_M15982_IG39
+       mov      ecx, dword ptr [rdi+0x14]
+       cmp      r14d, ecx
+       jne      G_M15982_IG37
+       mov      ecx, dword ptr [rdi+0x10]
+       cmp      r15d, ecx
+       jae      G_M15982_IG38
        mov      rcx, gword ptr [rdi+0x08]
        ; gcrRegs +[rcx]
        cmp      r15d, dword ptr [rcx+0x08]
-       jae      G_M15982_IG37
+       jae      G_M15982_IG36
        mov      eax, r15d
        mov      r13, gword ptr [rcx+8*rax+0x10]
        ; gcrRegs +[r13]
@@ -239,7 +241,7 @@ G_M15982_IG13:        ; bbWeight=4, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {},
        ; gcrRegs -[rcx]
        and      rcx, -2
        jne      G_M15982_IG23
-                        ;; size=64 bbWeight=4 PerfScore 77.00
+                     ;; size=65 bbWeight=4 PerfScore 74.00
 G_M15982_IG14:        ; bbWeight=2, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[r13]
        xor      r12, r12
@@ -392,14 +394,14 @@ G_M15982_IG28:        ; bbWeight=16, gcrefRegs=1088 {rbx rdi r12}, byrefRegs=000
        mov      r8, rcx
        ; gcrRegs +[r8]
                        ;; size=16 bbWeight=16 PerfScore 68.00
-G_M15982_IG29:        ; bbWeight=128, gcVars=0000001000000002 {V00 V10}, gcrefRegs=1188 {rbx rdi r8 r12}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M15982_IG29:        ; bbWeight=128, gcVars=0000002000000002 {V00 V10}, gcrefRegs=1188 {rbx rdi r8 r12}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rax rcx]
        mov      gword ptr [rbp-0x68], r8
        ; GC ptr vars +{V08}
        test     r8, r8
        jne      SHORT G_M15982_IG31
                        ;; size=9 bbWeight=128 PerfScore 288.00
-G_M15982_IG30:        ; bbWeight=32, gcVars=0000001000000003 {V00 V08 V10}, gcrefRegs=1088 {rbx rdi r12}, byrefRegs=0000 {}, gcvars, byref
+G_M15982_IG30:        ; bbWeight=32, gcVars=0000002000000003 {V00 V08 V10}, gcrefRegs=1088 {rbx rdi r12}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[r8]
        mov      rcx, 0xD1FFAB1E
        ; gcrRegs +[rcx]
@@ -417,12 +419,12 @@ G_M15982_IG31:        ; bbWeight=128, gcrefRegs=1088 {rbx rdi r12}, byrefRegs=00
        cmp      gword ptr [r8+0x08], rax
        je       SHORT G_M15982_IG34
                        ;; size=14 bbWeight=128 PerfScore 768.00
-G_M15982_IG32:        ; bbWeight=64, gcVars=0000001000000002 {V00 V10}, gcrefRegs=1189 {rax rbx rdi r8 r12}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M15982_IG32:        ; bbWeight=64, gcVars=0000002000000002 {V00 V10}, gcrefRegs=1189 {rax rbx rdi r8 r12}, byrefRegs=0000 {}, gcvars, byref, isz
        ; GC ptr vars -{V00 V08}
        mov      r8, gword ptr [r8+0x18]
        jmp      SHORT G_M15982_IG29
                        ;; size=6 bbWeight=64 PerfScore 256.00
-G_M15982_IG33:        ; bbWeight=0, gcVars=0000001000000000 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M15982_IG33:        ; bbWeight=0, gcVars=0000002000000000 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax rbx rdi r8 r12]
        ; GC ptr vars -{V10} +{V00}
        call     [System.Threading.Monitor:ThrowLockTakenException()]
@@ -442,22 +444,17 @@ G_M15982_IG35:        ; bbWeight=4, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {},
        ; gcrRegs -[r12]
        jmp      G_M15982_IG13
                        ;; size=5 bbWeight=4 PerfScore 8.00
-G_M15982_IG36:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M15982_IG36:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx rdi]
-       cmp      r14d, r13d
-       jne      SHORT G_M15982_IG38
-       jmp      SHORT G_M15982_IG39
-                       ;; size=7 bbWeight=4 PerfScore 13.00
-G_M15982_IG37:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
                        ;; size=5 bbWeight=0 PerfScore 0.00
-G_M15982_IG38:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M15982_IG37:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()]
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M15982_IG39:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M15982_IG38:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        cmp      byte  ptr [rbp-0x40], 0
        je       G_M15982_IG04
        mov      rcx, gword ptr [rbp-0x60]
@@ -468,14 +465,14 @@ G_M15982_IG39:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        ; gcr arg pop 0
        jmp      G_M15982_IG04
                        ;; size=24 bbWeight=0.50 PerfScore 3.50
-G_M15982_IG40:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M15982_IG39:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      ecx, 2
        call     CORINFO_HELP_GETSHARED_NONGCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
        ; gcr arg pop 0
        jmp      G_M15982_IG03
                        ;; size=15 bbWeight=0 PerfScore 0.00
-G_M15982_IG41:        ; bbWeight=0, gcVars=0000001000000000 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-       ; GC ptr vars +{V00 V36}
+G_M15982_IG40:        ; bbWeight=0, gcVars=0000002000000000 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+       ; GC ptr vars +{V00 V37}
        push     rbp
        push     r15
        push     r14
@@ -489,20 +486,20 @@ G_M15982_IG41:        ; bbWeight=0, gcVars=0000001000000000 {V00}, gcrefRegs=000
        mov      qword ptr [rsp+0x20], rbp
        lea      rbp, [rbp+0xA0]
                        ;; size=32 bbWeight=0 PerfScore 0.00
-G_M15982_IG42:        ; bbWeight=0, gcVars=0000001000000000 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M15982_IG41:        ; bbWeight=0, gcVars=0000002000000000 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        cmp      byte  ptr [rbp-0x40], 0
-       je       SHORT G_M15982_IG43
+       je       SHORT G_M15982_IG42
        mov      rcx, gword ptr [rbp-0x60]
        ; gcrRegs +[rcx]
-       ; GC ptr vars -{V00 V36}
+       ; GC ptr vars -{V00 V37}
        call     <unknown method>
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
                        ;; size=15 bbWeight=0 PerfScore 0.00
-G_M15982_IG43:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M15982_IG42:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
...
  
+2 (+0.87%) : 30667.dasm - (dynamicClass):WriteArrayOfintToXml(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.XmlObjectSerializerWriteContext,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
@@ -8,33 +8,34 @@
 ; 0 inlinees with PGO data; 9 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T03] (  7, 11   )     ref  ->  rbx         class-hnd single-def <System.Runtime.Serialization.XmlWriterDelegator>
-;  V01 arg1         [V01,T13] (  4,  3.12)     ref  ->  rdx         class-hnd single-def <System.Object>
-;  V02 arg2         [V02,T10] (  5,  5   )     ref  ->  rsi         class-hnd single-def <System.Runtime.Serialization.XmlObjectSerializerWriteContext>
-;  V03 arg3         [V03,T11] (  4,  4   )     ref  ->  rdi         class-hnd single-def <System.Runtime.Serialization.DataContracts.CollectionDataContract>
+;  V00 arg0         [V00,T04] (  7, 11   )     ref  ->  rbx         class-hnd single-def <System.Runtime.Serialization.XmlWriterDelegator>
+;  V01 arg1         [V01,T14] (  4,  3.12)     ref  ->  rdx         class-hnd single-def <System.Object>
+;  V02 arg2         [V02,T11] (  5,  5   )     ref  ->  rsi         class-hnd single-def <System.Runtime.Serialization.XmlObjectSerializerWriteContext>
+;  V03 arg3         [V03,T12] (  4,  4   )     ref  ->  rdi         class-hnd single-def <System.Runtime.Serialization.DataContracts.CollectionDataContract>
 ;* V04 loc0         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.Collections.Generic.List`1[int]>
-;  V05 loc1         [V05,T15] (  2,  3   )     ref  ->  r14         class-hnd single-def <System.Xml.XmlDictionaryString>
-;  V06 loc2         [V06,T16] (  2,  3   )     ref  ->  rdi         class-hnd single-def <System.Xml.XmlDictionaryString>
+;  V05 loc1         [V05,T16] (  2,  3   )     ref  ->  r14         class-hnd single-def <System.Xml.XmlDictionaryString>
+;  V06 loc2         [V06,T17] (  2,  3   )     ref  ->  rdi         class-hnd single-def <System.Xml.XmlDictionaryString>
 ;* V07 loc3         [V07    ] (  0,  0   )     int  ->  zero-ref   
 ;* V08 loc4         [V08    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[int]>
 ;  V09 OutArgs      [V09    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V10 tmp1         [V10,T18] (  3,  1.25)    long  ->  rcx         "fgMakeTemp is creating a new local variable"
-;  V11 tmp2         [V11,T08] (  6,  8.75)     ref  ->  rbp         class-hnd "spilling QMark2" <System.Collections.Generic.List`1[int]>
-;  V12 tmp3         [V12,T12] (  3,  6   )     int  ->  r15         "Inlining Arg"
+;  V10 tmp1         [V10,T19] (  3,  1.25)    long  ->  rcx         "fgMakeTemp is creating a new local variable"
+;  V11 tmp2         [V11,T09] (  6,  8.75)     ref  ->  rbp         class-hnd "spilling QMark2" <System.Collections.Generic.List`1[int]>
+;  V12 tmp3         [V12,T13] (  3,  6   )     int  ->  r15         "Inlining Arg"
 ;* V13 tmp4         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[int]>
-;* V14 tmp5         [V14,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V14 tmp5         [V14,T10] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V15 tmp6         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[int]>
 ;  V16 tmp7         [V16,T02] (  4, 17   )     ref  ->  rbp         single-def "field V08._list (fldOffset=0x0)" P-INDEP
 ;  V17 tmp8         [V17,T00] (  6, 21   )     int  ->  r15         "field V08._index (fldOffset=0x8)" P-INDEP
-;  V18 tmp9         [V18,T07] (  2,  9   )     int  ->  rsi         single-def "field V08._version (fldOffset=0xc)" P-INDEP
-;  V19 tmp10        [V19,T06] (  2,  6   )     int  ->  r13         "field V08._current (fldOffset=0x10)" P-INDEP
-;  V20 tmp11        [V20,T14] (  3,  3   )     ref  ->  rbp         single-def "field V13._list (fldOffset=0x0)" P-INDEP
-;* V21 tmp12        [V21,T19] (  0,  0   )     int  ->  zero-ref    single-def "field V13._index (fldOffset=0x8)" P-INDEP
-;  V22 tmp13        [V22,T17] (  2,  2   )     int  ->  rsi         single-def "field V13._version (fldOffset=0xc)" P-INDEP
+;  V18 tmp9         [V18,T08] (  2,  9   )     int  ->  rsi         single-def "field V08._version (fldOffset=0xc)" P-INDEP
+;  V19 tmp10        [V19,T07] (  2,  6   )     int  ->  r13         "field V08._current (fldOffset=0x10)" P-INDEP
+;  V20 tmp11        [V20,T15] (  3,  3   )     ref  ->  rbp         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;* V21 tmp12        [V21,T20] (  0,  0   )     int  ->  zero-ref    single-def "field V13._index (fldOffset=0x8)" P-INDEP
+;  V22 tmp13        [V22,T18] (  2,  2   )     int  ->  rsi         single-def "field V13._version (fldOffset=0xc)" P-INDEP
 ;* V23 tmp14        [V23    ] (  0,  0   )     int  ->  zero-ref    single-def "field V13._current (fldOffset=0x10)" P-INDEP
 ;  V24 tmp15        [V24,T01] (  3, 24   )     ref  ->  rcx         "arr expr"
-;  V25 tmp16        [V25,T04] (  3, 12   )     ref  ->  rcx         "argument with side effect"
-;  V26 cse0         [V26,T05] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V25 tmp16        [V25,T05] (  3, 12   )     ref  ->  rcx         "argument with side effect"
+;  V26 cse0         [V26,T06] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V27 cse1         [V27,T03] (  2, 16   )     int  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 32
 
@@ -133,9 +134,10 @@ G_M6012_IG06:        ; bbWeight=2, gcrefRegs=40A8 {rbx rbp rdi r14}, byrefRegs=0
        ; gcr arg pop 0
                        ;; size=45 bbWeight=2 PerfScore 40.50
 G_M6012_IG07:        ; bbWeight=8, gcrefRegs=40A8 {rbx rbp rdi r14}, byrefRegs=0000 {}, byref, isz
-       cmp      esi, dword ptr [rbp+0x14]
+       mov      ecx, dword ptr [rbp+0x14]
+       cmp      esi, ecx
        jne      SHORT G_M6012_IG11
-                       ;; size=5 bbWeight=8 PerfScore 32.00
+                      ;; size=7 bbWeight=8 PerfScore 26.00
 G_M6012_IG08:        ; bbWeight=4, gcrefRegs=40A8 {rbx rbp rdi r14}, byrefRegs=0000 {}, byref, isz
        mov      ecx, dword ptr [rbp+0x10]
        cmp      r15d, ecx
@@ -171,7 +173,7 @@ G_M6012_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 229, prolog size 14, PerfScore 180.47, instruction count 74, allocated bytes for code 229 (MethodHash=c618e883) for method (dynamicClass):WriteArrayOfintToXml(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.XmlObjectSerializerWriteContext,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
+; Total bytes of code 231, prolog size 14, PerfScore 174.47, instruction count 75, allocated bytes for code 231 (MethodHash=c618e883) for method (dynamicClass):WriteArrayOfintToXml(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.XmlObjectSerializerWriteContext,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+2 (+0.87%) : 58455.dasm - (dynamicClass):WriteArrayOfintToXml(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.XmlObjectSerializerWriteContext,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
@@ -8,33 +8,34 @@
 ; 0 inlinees with PGO data; 9 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T03] (  7, 11   )     ref  ->  rbx         class-hnd single-def <System.Runtime.Serialization.XmlWriterDelegator>
-;  V01 arg1         [V01,T13] (  4,  3.12)     ref  ->  rdx         class-hnd single-def <System.Object>
-;  V02 arg2         [V02,T10] (  5,  5   )     ref  ->  rsi         class-hnd single-def <System.Runtime.Serialization.XmlObjectSerializerWriteContext>
-;  V03 arg3         [V03,T11] (  4,  4   )     ref  ->  rdi         class-hnd single-def <System.Runtime.Serialization.DataContracts.CollectionDataContract>
+;  V00 arg0         [V00,T04] (  7, 11   )     ref  ->  rbx         class-hnd single-def <System.Runtime.Serialization.XmlWriterDelegator>
+;  V01 arg1         [V01,T14] (  4,  3.12)     ref  ->  rdx         class-hnd single-def <System.Object>
+;  V02 arg2         [V02,T11] (  5,  5   )     ref  ->  rsi         class-hnd single-def <System.Runtime.Serialization.XmlObjectSerializerWriteContext>
+;  V03 arg3         [V03,T12] (  4,  4   )     ref  ->  rdi         class-hnd single-def <System.Runtime.Serialization.DataContracts.CollectionDataContract>
 ;* V04 loc0         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.Collections.Generic.List`1[int]>
-;  V05 loc1         [V05,T15] (  2,  3   )     ref  ->  r14         class-hnd single-def <System.Xml.XmlDictionaryString>
-;  V06 loc2         [V06,T16] (  2,  3   )     ref  ->  rdi         class-hnd single-def <System.Xml.XmlDictionaryString>
+;  V05 loc1         [V05,T16] (  2,  3   )     ref  ->  r14         class-hnd single-def <System.Xml.XmlDictionaryString>
+;  V06 loc2         [V06,T17] (  2,  3   )     ref  ->  rdi         class-hnd single-def <System.Xml.XmlDictionaryString>
 ;* V07 loc3         [V07    ] (  0,  0   )     int  ->  zero-ref   
 ;* V08 loc4         [V08    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[int]>
 ;  V09 OutArgs      [V09    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V10 tmp1         [V10,T18] (  3,  1.25)    long  ->  rcx         "fgMakeTemp is creating a new local variable"
-;  V11 tmp2         [V11,T08] (  6,  8.75)     ref  ->  rbp         class-hnd "spilling QMark2" <System.Collections.Generic.List`1[int]>
-;  V12 tmp3         [V12,T12] (  3,  6   )     int  ->  r15         "Inlining Arg"
+;  V10 tmp1         [V10,T19] (  3,  1.25)    long  ->  rcx         "fgMakeTemp is creating a new local variable"
+;  V11 tmp2         [V11,T09] (  6,  8.75)     ref  ->  rbp         class-hnd "spilling QMark2" <System.Collections.Generic.List`1[int]>
+;  V12 tmp3         [V12,T13] (  3,  6   )     int  ->  r15         "Inlining Arg"
 ;* V13 tmp4         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[int]>
-;* V14 tmp5         [V14,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V14 tmp5         [V14,T10] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V15 tmp6         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[int]>
 ;  V16 tmp7         [V16,T02] (  4, 17   )     ref  ->  rbp         single-def "field V08._list (fldOffset=0x0)" P-INDEP
 ;  V17 tmp8         [V17,T00] (  6, 21   )     int  ->  r15         "field V08._index (fldOffset=0x8)" P-INDEP
-;  V18 tmp9         [V18,T07] (  2,  9   )     int  ->  rsi         single-def "field V08._version (fldOffset=0xc)" P-INDEP
-;  V19 tmp10        [V19,T06] (  2,  6   )     int  ->  r13         "field V08._current (fldOffset=0x10)" P-INDEP
-;  V20 tmp11        [V20,T14] (  3,  3   )     ref  ->  rbp         single-def "field V13._list (fldOffset=0x0)" P-INDEP
-;* V21 tmp12        [V21,T19] (  0,  0   )     int  ->  zero-ref    single-def "field V13._index (fldOffset=0x8)" P-INDEP
-;  V22 tmp13        [V22,T17] (  2,  2   )     int  ->  rsi         single-def "field V13._version (fldOffset=0xc)" P-INDEP
+;  V18 tmp9         [V18,T08] (  2,  9   )     int  ->  rsi         single-def "field V08._version (fldOffset=0xc)" P-INDEP
+;  V19 tmp10        [V19,T07] (  2,  6   )     int  ->  r13         "field V08._current (fldOffset=0x10)" P-INDEP
+;  V20 tmp11        [V20,T15] (  3,  3   )     ref  ->  rbp         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;* V21 tmp12        [V21,T20] (  0,  0   )     int  ->  zero-ref    single-def "field V13._index (fldOffset=0x8)" P-INDEP
+;  V22 tmp13        [V22,T18] (  2,  2   )     int  ->  rsi         single-def "field V13._version (fldOffset=0xc)" P-INDEP
 ;* V23 tmp14        [V23    ] (  0,  0   )     int  ->  zero-ref    single-def "field V13._current (fldOffset=0x10)" P-INDEP
 ;  V24 tmp15        [V24,T01] (  3, 24   )     ref  ->  rcx         "arr expr"
-;  V25 tmp16        [V25,T04] (  3, 12   )     ref  ->  rcx         "argument with side effect"
-;  V26 cse0         [V26,T05] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V25 tmp16        [V25,T05] (  3, 12   )     ref  ->  rcx         "argument with side effect"
+;  V26 cse0         [V26,T06] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V27 cse1         [V27,T03] (  2, 16   )     int  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 32
 
@@ -133,9 +134,10 @@ G_M6012_IG06:        ; bbWeight=2, gcrefRegs=40A8 {rbx rbp rdi r14}, byrefRegs=0
        ; gcr arg pop 0
                        ;; size=45 bbWeight=2 PerfScore 40.50
 G_M6012_IG07:        ; bbWeight=8, gcrefRegs=40A8 {rbx rbp rdi r14}, byrefRegs=0000 {}, byref, isz
-       cmp      esi, dword ptr [rbp+0x14]
+       mov      ecx, dword ptr [rbp+0x14]
+       cmp      esi, ecx
        jne      SHORT G_M6012_IG11
-                       ;; size=5 bbWeight=8 PerfScore 32.00
+                      ;; size=7 bbWeight=8 PerfScore 26.00
 G_M6012_IG08:        ; bbWeight=4, gcrefRegs=40A8 {rbx rbp rdi r14}, byrefRegs=0000 {}, byref, isz
        mov      ecx, dword ptr [rbp+0x10]
        cmp      r15d, ecx
@@ -171,7 +173,7 @@ G_M6012_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 229, prolog size 14, PerfScore 180.47, instruction count 74, allocated bytes for code 229 (MethodHash=c618e883) for method (dynamicClass):WriteArrayOfintToXml(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.XmlObjectSerializerWriteContext,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
+; Total bytes of code 231, prolog size 14, PerfScore 174.47, instruction count 75, allocated bytes for code 231 (MethodHash=c618e883) for method (dynamicClass):WriteArrayOfintToXml(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.XmlObjectSerializerWriteContext,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+2 (+1.61%) : 30037.dasm - System.Text.Json.JsonSerializerOptions:GetConverterFromList(System.Type):System.Text.Json.Serialization.JsonConverter:this (Tier1)
@@ -8,27 +8,28 @@
 ; 0 inlinees with PGO data; 5 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T07] (  3,  3   )     ref  ->  rcx         this class-hnd single-def <System.Text.Json.JsonSerializerOptions>
-;  V01 arg1         [V01,T06] (  3,  4   )     ref  ->  rbx         class-hnd single-def <System.Type>
-;  V02 loc0         [V02,T09] (  3,  2.50)     ref  ->  rcx         class-hnd exact single-def <<unknown class>>
+;  V00 this         [V00,T08] (  3,  3   )     ref  ->  rcx         this class-hnd single-def <System.Text.Json.JsonSerializerOptions>
+;  V01 arg1         [V01,T07] (  3,  4   )     ref  ->  rbx         class-hnd single-def <System.Type>
+;  V02 loc0         [V02,T10] (  3,  2.50)     ref  ->  rcx         class-hnd exact single-def <<unknown class>>
 ;* V03 loc1         [V03    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Text.Json.Serialization.JsonConverter]>
 ;* V04 loc2         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Text.Json.Serialization.JsonConverter>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Text.Json.Serialization.JsonConverter>
 ;  V06 OutArgs      [V06    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V07 tmp1         [V07,T10] (  2,  2   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.__Canon]>
+;  V07 tmp1         [V07,T11] (  2,  2   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.__Canon]>
 ;* V08 tmp2         [V08    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Text.Json.Serialization.JsonConverter]>
 ;* V09 tmp3         [V09,T05] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V10 tmp4         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V11 tmp5         [V11,T03] (  4, 12.50)     ref  ->  rsi         single-def "field V03._list (fldOffset=0x0)" P-INDEP
 ;  V12 tmp6         [V12,T02] (  4,  8.50)     ref  ->  r14         "field V03._current (fldOffset=0x8)" P-INDEP
 ;  V13 tmp7         [V13,T00] (  6, 20.50)     int  ->  rbp         "field V03._index (fldOffset=0x10)" P-INDEP
-;  V14 tmp8         [V14,T08] (  2,  4.50)     int  ->  rdi         "field V03._version (fldOffset=0x14)" P-INDEP
-;  V15 tmp9         [V15,T11] (  3,  1.50)     ref  ->  rsi         single-def "field V08._list (fldOffset=0x0)" P-INDEP
+;  V14 tmp8         [V14,T09] (  2,  4.50)     int  ->  rdi         "field V03._version (fldOffset=0x14)" P-INDEP
+;  V15 tmp9         [V15,T12] (  3,  1.50)     ref  ->  rsi         single-def "field V08._list (fldOffset=0x0)" P-INDEP
 ;* V16 tmp10        [V16    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V08._current (fldOffset=0x8)" P-INDEP
-;* V17 tmp11        [V17,T13] (  0,  0   )     int  ->  zero-ref    "field V08._index (fldOffset=0x10)" P-INDEP
-;  V18 tmp12        [V18,T12] (  2,  1   )     int  ->  rdi         "field V08._version (fldOffset=0x14)" P-INDEP
+;* V17 tmp11        [V17,T14] (  0,  0   )     int  ->  zero-ref    "field V08._index (fldOffset=0x10)" P-INDEP
+;  V18 tmp12        [V18,T13] (  2,  1   )     int  ->  rdi         "field V08._version (fldOffset=0x14)" P-INDEP
 ;  V19 tmp13        [V19,T01] (  3, 24   )     ref  ->  rcx         "arr expr"
-;  V20 cse0         [V20,T04] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V20 cse0         [V20,T06] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V21 cse1         [V21,T04] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 32
 
@@ -71,7 +72,8 @@ G_M48066_IG04:        ; bbWeight=2, gcrefRegs=4048 {rbx rsi r14}, byrefRegs=0000
                        ;; size=20 bbWeight=2 PerfScore 17.50
 G_M48066_IG05:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[r14]
-       cmp      edi, dword ptr [rsi+0x14]
+       mov      ecx, dword ptr [rsi+0x14]
+       cmp      edi, ecx
        jne      SHORT G_M48066_IG11
        mov      ecx, dword ptr [rsi+0x10]
        cmp      ebp, ecx
@@ -85,7 +87,7 @@ G_M48066_IG05:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {},
        ; gcrRegs +[r14]
        inc      ebp
        jmp      SHORT G_M48066_IG04
-                      ;; size=32 bbWeight=4 PerfScore 71.00
+                     ;; size=34 bbWeight=4 PerfScore 68.00
 G_M48066_IG06:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx rbx rsi r14]
        xor      rax, rax
@@ -125,7 +127,7 @@ G_M48066_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 124, prolog size 10, PerfScore 118.38, instruction count 52, allocated bytes for code 124 (MethodHash=6c47443d) for method System.Text.Json.JsonSerializerOptions:GetConverterFromList(System.Type):System.Text.Json.Serialization.JsonConverter:this (Tier1)
+; Total bytes of code 126, prolog size 10, PerfScore 115.38, instruction count 53, allocated bytes for code 126 (MethodHash=6c47443d) for method System.Text.Json.JsonSerializerOptions:GetConverterFromList(System.Type):System.Text.Json.Serialization.JsonConverter:this (Tier1)
 ; ============================================================
 
 Unwind Info:
  
  
coreclr_tests.run.windows.x64.checked.mch
-29 (-16.76%) : 245441.dasm - Program:M49() (FullOpts)
@@ -10,11 +10,12 @@
 ;  V00 loc0         [V00,T01] (  4, 13   )     int  ->  rbx        
 ;* V01 loc1         [V01    ] (  0,  0   )    long  ->  zero-ref   
 ;  V02 OutArgs      [V02    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T02] (  3, 12   )     ref  ->  rcx         "arr expr"
-;  V04 tmp2         [V04,T00] (  3, 24   )     ref  ->  rax         "arr expr"
-;  V05 PSPSym       [V05,T05] (  1,  1   )    long  ->  [rbp-0x20]  do-not-enreg[V] "PSPSym"
-;  V06 cse0         [V06,T03] (  3, 12   )     int  ->  rax         "CSE - aggressive"
-;  V07 cse1         [V07,T04] (  2,  4.50)    long  ->  rsi         hoist "CSE - aggressive"
+;  V03 tmp1         [V03,T00] (  3, 24   )     ref  ->  rax         "arr expr"
+;* V04 tmp2         [V04,T04] (  0,  0   )     ref  ->  zero-ref    "arr expr"
+;  V05 PSPSym       [V05,T06] (  1,  1   )    long  ->  [rbp-0x20]  do-not-enreg[V] "PSPSym"
+;  V06 cse0         [V06,T02] (  3, 12   )   byref  ->  rax         "CSE - aggressive"
+;  V07 cse1         [V07,T03] (  2,  8   )     ref  ->  rax         "CSE - aggressive"
+;  V08 cse2         [V08,T05] (  2,  4.50)    long  ->  rsi         hoist "CSE - aggressive"
 ;
 ; Lcl frame size = 48
 
@@ -31,73 +32,60 @@ G_M37813_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        call     [<unknown method>]
        ; gcr arg pop 0
        test     eax, eax
-       jle      SHORT G_M37813_IG08
+       jle      SHORT G_M37813_IG06
                      ;; size=12 bbWeight=1 PerfScore 4.50
 G_M37813_IG03:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rsi, 0xD1FFAB1E      ; static handle
                        ;; size=10 bbWeight=0.50 PerfScore 0.12
 G_M37813_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       movzx    rax, byte  ptr [rsi]
-       test     eax, eax
-       jne      SHORT G_M37813_IG06
-                       ;; size=7 bbWeight=4 PerfScore 13.00
-G_M37813_IG05:        ; bbWeight=2, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       mov      rcx, 0xD1FFAB1E      ; data for <unknown class>:<unknown field>
-       mov      rcx, gword ptr [rcx]
-       ; gcrRegs +[rcx]
-       cmp      dword ptr [rcx+0x08], 0
-       jbe      SHORT G_M37813_IG13
-       xor      edx, edx
-       mov      dword ptr [rcx+0x10], edx
-                       ;; size=24 bbWeight=2 PerfScore 15.00
-G_M37813_IG06:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[rcx]
-       test     eax, eax
-       je       SHORT G_M37813_IG09
-                       ;; size=4 bbWeight=4 PerfScore 5.00
-G_M37813_IG07:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       cmp      byte  ptr [rsi], 0
+       jne      SHORT G_M37813_IG05
+       mov      rax, 0xD1FFAB1E      ; data for <unknown class>:<unknown field>
+       mov      rax, gword ptr [rax]
+       ; gcrRegs +[rax]
+       cmp      dword ptr [rax+0x08], 0
+       jbe      SHORT G_M37813_IG10
+       add      rax, 16
+       ; gcrRegs -[rax]
+       ; byrRegs +[rax]
+       xor      ecx, ecx
+       mov      dword ptr [rax], ecx
+       jmp      SHORT G_M37813_IG07
+                       ;; size=34 bbWeight=4 PerfScore 55.00
+G_M37813_IG05:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       ; byrRegs -[rax]
        xor      eax, eax
        mov      dword ptr [(reloc)], eax
                        ;; size=8 bbWeight=0.50 PerfScore 0.62
-G_M37813_IG08:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
+G_M37813_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        add      rsp, 48
        pop      rbx
        pop      rsi
        pop      rbp
        ret      
                        ;; size=8 bbWeight=1 PerfScore 2.75
-G_M37813_IG09:        ; bbWeight=4, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-       mov      rax, 0xD1FFAB1E      ; data for <unknown class>:<unknown field>
-       mov      rax, gword ptr [rax]
-       ; gcrRegs +[rax]
-       cmp      dword ptr [rax+0x08], 0
-       jbe      SHORT G_M37813_IG10
+G_M37813_IG07:        ; bbWeight=4, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0001 {rax}, gcvars, byref
+       ; byrRegs +[rax]
        mov      ecx, dword ptr [(reloc)]      ; static handle
-       mov      dword ptr [rax+0x10], ecx
-       jmp      SHORT G_M37813_IG11
-                       ;; size=30 bbWeight=4 PerfScore 45.00
-G_M37813_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rax]
-       call     CORINFO_HELP_RNGCHKFAIL
-       ; gcr arg pop 0
-       int3     
-                       ;; size=6 bbWeight=0 PerfScore 0.00
-G_M37813_IG11:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       mov      dword ptr [rax], ecx
+                       ;; size=8 bbWeight=4 PerfScore 12.00
+G_M37813_IG08:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       ; byrRegs -[rax]
        inc      ebx
        call     [<unknown method>]
        ; gcr arg pop 0
        cmp      eax, ebx
        jg       SHORT G_M37813_IG04
                        ;; size=12 bbWeight=4 PerfScore 18.00
-G_M37813_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       jmp      SHORT G_M37813_IG08
+G_M37813_IG09:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M37813_IG06
                         ;; size=2 bbWeight=0.50 PerfScore 1.00
-G_M37813_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M37813_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
-G_M37813_IG14:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+G_M37813_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        push     rbp
        push     rsi
        push     rbx
@@ -106,7 +94,7 @@ G_M37813_IG14:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      qword ptr [rsp+0x20], rbp
        lea      rbp, [rbp+0x40]
                        ;; size=20 bbWeight=0 PerfScore 0.00
-G_M37813_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
+G_M37813_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet epilog, nogc
        add      rsp, 48
        pop      rbx
        pop      rsi
@@ -114,7 +102,7 @@ G_M37813_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        ret      
                        ;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 173, prolog size 16, PerfScore 109.75, instruction count 57, allocated bytes for code 173 (MethodHash=996e6c4a) for method Program:M49() (FullOpts)
+; Total bytes of code 144, prolog size 16, PerfScore 98.75, instruction count 49, allocated bytes for code 144 (MethodHash=996e6c4a) for method Program:M49() (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -147,4 +135,4 @@ Unwind Info:
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 *************** EH table for Program:M49()
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M37813_IG09..G_M37813_IG11) handled by [G_M37813_IG14..END) (fault)
+EH#0: try [G_M37813_IG07..G_M37813_IG08) handled by [G_M37813_IG11..END) (fault)
  
-14 (-6.36%) : 251549.dasm - Test.BB:TestEntryPoint() (FullOpts)
@@ -8,130 +8,117 @@
 ; 0 inlinees with PGO data; 1 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T07] (  2,  0   )     ref  ->  [rbp-0x18]  class-hnd exact EH-live single-def <<unknown class>>
+;  V00 loc0         [V00,T06] (  2,  0   )     ref  ->  [rbp-0x10]  class-hnd exact EH-live single-def <<unknown class>>
 ;  V01 OutArgs      [V01    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V02 tmp1         [V02    ] (  0,  0   )   float  ->  zero-ref    "bubbling QMark2"
 ;  V03 tmp2         [V03,T00] (  4, 38   )     ref  ->  rdx         "CASTCLASS eval op1"
-;  V04 tmp3         [V04,T02] (  3, 10   )    long  ->  rcx         "fgMakeTemp is creating a new local variable"
+;  V04 tmp3         [V04,T01] (  3, 10   )    long  ->  rcx         "fgMakeTemp is creating a new local variable"
 ;* V05 tmp4         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <double[]>
 ;* V06 tmp5         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
-;  V07 tmp6         [V07,T08] (  2,  0   )   float  ->  [rbp-0x0C]  spill-single-def "bubbling QMark2"
-;  V08 tmp7         [V08,T05] (  3,  0   )     ref  ->  rbx         single-def "CASTCLASS eval op1"
-;  V09 tmp8         [V09,T06] (  3,  0   )    long  ->  rcx         "fgMakeTemp is creating a new local variable"
-;  V10 tmp9         [V10,T04] (  5,  0   )     ref  ->  rdx         class-hnd "spilling QMark2" <double[]>
-;  V11 PSPSym       [V11,T03] (  1,  1   )    long  ->  [rbp-0x20]  do-not-enreg[V] "PSPSym"
-;  V12 cse0         [V12,T01] (  5, 24   )     ref  ->  rbx         multi-def "CSE - aggressive"
+;  V07 tmp6         [V07,T07] (  2,  0   )   float  ->  [rbp-0x04]  spill-single-def "bubbling QMark2"
+;  V08 tmp7         [V08,T04] (  3,  0   )     ref  ->  rdx         single-def "CASTCLASS eval op1"
+;  V09 tmp8         [V09,T05] (  3,  0   )    long  ->  rcx         "fgMakeTemp is creating a new local variable"
+;  V10 tmp9         [V10,T03] (  5,  0   )     ref  ->  rax         class-hnd "spilling QMark2" <double[]>
+;  V11 PSPSym       [V11,T02] (  1,  1   )    long  ->  [rbp-0x20]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 56
+; Lcl frame size = 64
 
 G_M52695_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
-       push     rbx
-       sub      rsp, 56
+       sub      rsp, 64
        vzeroupper 
        lea      rbp, [rsp+0x40]
        mov      qword ptr [rbp-0x20], rsp
-                        ;; size=18 bbWeight=1 PerfScore 4.75
+                      ;; size=17 bbWeight=1 PerfScore 3.75
 G_M52695_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rcx, 0xD1FFAB1E      ; <unknown class>
        mov      edx, 2
        call     CORINFO_HELP_NEWARR_1_VC
        ; gcrRegs +[rax]
        ; gcr arg pop 0
-       mov      gword ptr [rbp-0x18], rax
+       mov      gword ptr [rbp-0x10], rax
        ; GC ptr vars +{V00}
                        ;; size=24 bbWeight=1 PerfScore 2.50
-G_M52695_IG03:        ; bbWeight=8, gcVars=0000000000000080 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M52695_IG03:        ; bbWeight=8, gcVars=0000000000000040 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rax]
        mov      ecx, 2
        cmp      ecx, 3
        jbe      SHORT G_M52695_IG06
        mov      rcx, 0xD1FFAB1E      ; data for <unknown class>:<unknown field>
-       mov      rbx, gword ptr [rcx]
-       ; gcrRegs +[rbx]
-       mov      rdx, rbx
+       mov      rdx, gword ptr [rcx]
        ; gcrRegs +[rdx]
        test     rdx, rdx
-       je       SHORT G_M52695_IG07
-                       ;; size=31 bbWeight=8 PerfScore 42.00
-G_M52695_IG04:        ; bbWeight=2, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref, isz
+       je       SHORT G_M52695_IG03
+                       ;; size=28 bbWeight=8 PerfScore 40.00
+G_M52695_IG04:        ; bbWeight=2, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, isz
        mov      rcx, 0xD1FFAB1E      ; double[]
        cmp      qword ptr [rdx], rcx
        je       SHORT G_M52695_IG07
                        ;; size=15 bbWeight=2 PerfScore 8.50
-G_M52695_IG05:        ; bbWeight=1, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref, isz
+G_M52695_IG05:        ; bbWeight=1, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, isz
        call     CORINFO_HELP_CHKCASTARRAY
        ; gcrRegs -[rdx] +[rax]
        ; gcr arg pop 0
        jmp      SHORT G_M52695_IG07
                        ;; size=7 bbWeight=1 PerfScore 3.00
 G_M52695_IG06:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rax rbx]
+       ; gcrRegs -[rax]
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
                        ;; size=5 bbWeight=0 PerfScore 0.00
-G_M52695_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs +[rbx]
-       test     rbx, rbx
-       je       SHORT G_M52695_IG03
-                       ;; size=5 bbWeight=8 PerfScore 10.00
+G_M52695_IG07:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       nop      
+                       ;; size=1 bbWeight=8 PerfScore 2.00
 G_M52695_IG08:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, epilog, nogc
-       ; gcrRegs -[rbx]
        ; GC ptr vars -{V00}
-       add      rsp, 56
-       pop      rbx
+       add      rsp, 64
        pop      rbp
        ret      
-                     ;; size=7 bbWeight=1 PerfScore 2.25
+                       ;; size=6 bbWeight=1 PerfScore 1.75
 G_M52695_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        push     rbp
-       push     rbx
-       sub      rsp, 40
+       sub      rsp, 48
        vzeroupper 
        mov      rbp, qword ptr [rcx+0x20]
        mov      qword ptr [rsp+0x20], rbp
        lea      rbp, [rbp+0x40]
-                      ;; size=22 bbWeight=0 PerfScore 0.00
-G_M52695_IG10:        ; bbWeight=0, gcVars=0000000000000080 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; GC ptr vars +{V00 V07}
-       mov      rax, gword ptr [rbp-0x18]
+                        ;; size=21 bbWeight=0 PerfScore 0.00
+G_M52695_IG10:        ; bbWeight=0, gcVars=0000000000000040 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+       ; GC ptr vars +{V00}
+       mov      rax, gword ptr [rbp-0x10]
        ; gcrRegs +[rax]
        vmovss   xmm0, dword ptr [rax+0x10]
-       vmovss   dword ptr [rbp-0x0C], xmm0
+       vmovss   dword ptr [rbp-0x04], xmm0
        mov      rcx, 0xD1FFAB1E      ; data for <unknown class>:<unknown field>
-       mov      rbx, gword ptr [rcx]
-       ; gcrRegs +[rbx]
-       mov      rdx, rbx
+       mov      rdx, gword ptr [rcx]
        ; gcrRegs +[rdx]
-       test     rdx, rdx
+       mov      rax, rdx
+       test     rax, rax
        je       SHORT G_M52695_IG11
        mov      rcx, 0xD1FFAB1E      ; double[]
-       cmp      qword ptr [rdx], rcx
+       cmp      qword ptr [rax], rcx
        je       SHORT G_M52695_IG11
-       mov      rdx, rbx
-       ; GC ptr vars -{V00 V07}
+       ; GC ptr vars -{V00}
        call     CORINFO_HELP_CHKCASTARRAY
-       ; gcrRegs -[rdx rbx]
-       ; gcr arg pop 0
-       mov      rdx, rax
-       ; gcrRegs +[rdx]
-                       ;; size=61 bbWeight=0 PerfScore 0.00
-G_M52695_IG11:        ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rax]
-       vmovss   xmm0, dword ptr [rbp-0x0C]
-       call     [Test.BB:Method1(float,double[])]
        ; gcrRegs -[rdx]
+       ; gcr arg pop 0
+                       ;; size=55 bbWeight=0 PerfScore 0.00
+G_M52695_IG11:        ; bbWeight=0, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref
+       vmovss   xmm0, dword ptr [rbp-0x04]
+       mov      rdx, rax
+       ; gcrRegs +[rdx]
+       call     [Test.BB:Method1(float,double[])]
+       ; gcrRegs -[rax rdx]
        ; gcr arg pop 0
        lea      rax, G_M52695_IG08
-                       ;; size=18 bbWeight=0 PerfScore 0.00
+                      ;; size=21 bbWeight=0 PerfScore 0.00
 G_M52695_IG12:        ; bbWeight=0, funclet epilog, nogc, extend
-       add      rsp, 40
-       pop      rbx
+       add      rsp, 48
        pop      rbp
        ret      
-                     ;; size=7 bbWeight=0 PerfScore 0.00
+                       ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 220, prolog size 18, PerfScore 73.00, instruction count 58, allocated bytes for code 220 (MethodHash=459c3228) for method Test.BB:TestEntryPoint() (FullOpts)
+; Total bytes of code 206, prolog size 17, PerfScore 61.50, instruction count 51, allocated bytes for code 206 (MethodHash=459c3228) for method Test.BB:TestEntryPoint() (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -139,26 +126,24 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x06
-  CountOfUnwindCodes: 3
+  SizeOfProlog      : 0x05
+  CountOfUnwindCodes: 2
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 6 * 8 + 8 = 56 = 0x38
-    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 7 * 8 + 8 = 64 = 0x40
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 Unwind Info:
   >> Start offset   : 0xd1ffab1e (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x06
-  CountOfUnwindCodes: 3
+  SizeOfProlog      : 0x05
+  CountOfUnwindCodes: 2
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
-    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x05 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 5 * 8 + 8 = 48 = 0x30
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 *************** EH table for Test.BB:TestEntryPoint()
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
  
-36 (-6.20%) : 176538.dasm - CloningForIEnumerable:Sum(System.Collections.Generic.IEnumerable`1[int]):int (Tier1)
@@ -5,7 +5,7 @@
 ; optimized using Dynamic PGO
 ; rbp based frame
 ; fully interruptible
-; with Dynamic PGO: edge weights are invalid, and fgCalledCount is 7
+; with Dynamic PGO: edge weights are valid, and fgCalledCount is 7
 ; 3 inlinees with PGO data; 5 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
@@ -25,7 +25,7 @@
 ;  V13 tmp9         [V13,T08] (  6, 12   )     ref  ->  rdi         class-hnd exact single-def "Single-def Box Helper" <System.Collections.Generic.List`1+Enumerator[int]>
 ;* V14 tmp10        [V14    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[int]>
 ;* V15 tmp11        [V15    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V16 tmp12        [V16,T00] ( 24,158   )   byref  ->  rcx         "Inlining Arg"
+;  V16 tmp12        [V16,T00] ( 20,154   )   byref  ->  rcx         "Inlining Arg"
 ;  V17 tmp13        [V17,T03] (  8, 43   )     ref  ->  r11         class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[int]>
 ;* V18 tmp14        [V18    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V19 tmp15        [V19,T12] (  3,  3   )     ref  ->  rdx         single-def "field V14._list (fldOffset=0x0)" P-INDEP
@@ -57,9 +57,9 @@ G_M48461_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        xor      esi, esi
        mov      rcx, 0xD1FFAB1E      ; System.Collections.Generic.List`1[int]
        cmp      qword ptr [rbx], rcx
-       jne      G_M48461_IG26
+       jne      G_M48461_IG25
        cmp      dword ptr [rbx+0x10], 0
-       je       G_M48461_IG25
+       je       G_M48461_IG24
        mov      rdi, 0xD1FFAB1E      ; System.Collections.Generic.List`1+Enumerator[int]
        mov      rcx, rdi
        call     CORINFO_HELP_NEWSFAST
@@ -89,13 +89,13 @@ G_M48461_IG04:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byr
                        ;; size=4 bbWeight=1 PerfScore 1.00
 G_M48461_IG05:        ; bbWeight=1, gcVars=0000000000000020 {V02}, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, gcvars, byref, isz
        test     rdi, rdi
-       je       G_M48461_IG14
+       je       G_M48461_IG13
        mov      rcx, 0xD1FFAB1E      ; System.Collections.Generic.List`1+Enumerator[int]
        mov      rbx, rcx
        cmp      qword ptr [rdi], rbx
-       jne      G_M48461_IG14
+       jne      SHORT G_M48461_IG13
        jmp      SHORT G_M48461_IG07
-                      ;; size=33 bbWeight=1 PerfScore 7.75
+                      ;; size=29 bbWeight=1 PerfScore 7.75
 G_M48461_IG06:        ; bbWeight=9.90, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        mov      r14d, dword ptr [rdi+0x18]
        add      esi, r14d
@@ -107,10 +107,10 @@ G_M48461_IG07:        ; bbWeight=10.89, gcrefRegs=0080 {rdi}, byrefRegs=0000 {},
        ; gcrRegs +[r11]
        mov      eax, dword ptr [rcx+0x0C]
        cmp      eax, dword ptr [r11+0x14]
-       jne      SHORT G_M48461_IG12
+       jne      SHORT G_M48461_IG10
        mov      eax, dword ptr [rcx+0x08]
        cmp      eax, dword ptr [r11+0x10]
-       jae      SHORT G_M48461_IG13
+       jae      SHORT G_M48461_IG12
                         ;; size=25 bbWeight=10.89 PerfScore 157.91
 G_M48461_IG08:        ; bbWeight=9.90, gcrefRegs=0880 {rdi r11}, byrefRegs=0002 {rcx}, byref, isz
        mov      rdx, gword ptr [r11+0x08]
@@ -145,43 +145,61 @@ G_M48461_IG11:        ; bbWeight=0, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byr
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        mov      r14d, eax
-       jmp      SHORT G_M48461_IG16
+       jmp      SHORT G_M48461_IG15
                         ;; size=21 bbWeight=0 PerfScore 0.00
 G_M48461_IG12:        ; bbWeight=0.99, gcrefRegs=0080 {rdi}, byrefRegs=0002 {rcx}, byref, isz
        ; byrRegs +[rcx]
-       mov      eax, dword ptr [rcx+0x0C]
-       mov      r11, gword ptr [rcx]
-       ; gcrRegs +[r11]
-       cmp      eax, dword ptr [r11+0x14]
-       jne      SHORT G_M48461_IG10
-                       ;; size=12 bbWeight=0.99 PerfScore 7.92
-G_M48461_IG13:        ; bbWeight=0.99, gcrefRegs=0080 {rdi}, byrefRegs=0002 {rcx}, byref
-       ; gcrRegs -[r11]
-       mov      r11, gword ptr [rcx]
-       ; gcrRegs +[r11]
-       mov      r11d, dword ptr [r11+0x10]
-       ; gcrRegs -[r11]
+       mov      rax, gword ptr [rcx]
+       ; gcrRegs +[rax]
+       mov      r11d, dword ptr [rax+0x10]
        inc      r11d
        mov      dword ptr [rcx+0x08], r11d
        xor      r11d, r11d
        mov      dword ptr [rcx+0x10], r11d
-       jmp      G_M48461_IG22
-                       ;; size=26 bbWeight=0.99 PerfScore 8.41
-G_M48461_IG14:        ; bbWeight=0.01, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M48461_IG21
+                       ;; size=23 bbWeight=0.99 PerfScore 8.41
+G_M48461_IG13:        ; bbWeight=0.01, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rax]
        ; byrRegs -[rcx]
        cmp      dword ptr [rdi], edi
        mov      rbx, 0xD1FFAB1E      ; System.Collections.Generic.List`1+Enumerator[int]
-       jmp      SHORT G_M48461_IG17
+       jmp      SHORT G_M48461_IG16
                      ;; size=14 bbWeight=0.01 PerfScore 0.05
-G_M48461_IG15:        ; bbWeight=0.10, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+G_M48461_IG14:        ; bbWeight=0.10, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        mov      r14d, dword ptr [rdi+0x18]
                        ;; size=4 bbWeight=0.10 PerfScore 0.20
-G_M48461_IG16:        ; bbWeight=0.10, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+G_M48461_IG15:        ; bbWeight=0.10, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        add      esi, r14d
                        ;; size=3 bbWeight=0.10 PerfScore 0.03
-G_M48461_IG17:        ; bbWeight=0.11, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+G_M48461_IG16:        ; bbWeight=0.11, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        cmp      qword ptr [rdi], rbx
-       je       SHORT G_M48461_IG18
+       jne      SHORT G_M48461_IG18
+       lea      rcx, bword ptr [rdi+0x08]
+       ; byrRegs +[rcx]
+       mov      r11, gword ptr [rcx]
+       ; gcrRegs +[r11]
+       mov      eax, dword ptr [rcx+0x0C]
+       cmp      eax, dword ptr [r11+0x14]
+       jne      SHORT G_M48461_IG10
+       mov      eax, dword ptr [rcx+0x08]
+       cmp      eax, dword ptr [r11+0x10]
+       jae      SHORT G_M48461_IG20
+                       ;; size=30 bbWeight=0.11 PerfScore 2.04
+G_M48461_IG17:        ; bbWeight=0.10, gcrefRegs=0880 {rdi r11}, byrefRegs=0002 {rcx}, byref, isz
+       mov      rdx, gword ptr [r11+0x08]
+       ; gcrRegs +[rdx]
+       cmp      eax, dword ptr [rdx+0x08]
+       jae      SHORT G_M48461_IG09
+       mov      r11d, eax
+       ; gcrRegs -[r11]
+       mov      r11d, dword ptr [rdx+4*r11+0x10]
+       mov      dword ptr [rcx+0x10], r11d
+       inc      dword ptr [rcx+0x08]
+       jmp      SHORT G_M48461_IG14
+                       ;; size=26 bbWeight=0.10 PerfScore 1.43
+G_M48461_IG18:        ; bbWeight=0.11, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rdx]
+       ; byrRegs -[rcx]
        mov      rcx, rdi
        ; gcrRegs +[rcx]
        mov      r11, 0xD1FFAB1E      ; function address
@@ -189,43 +207,13 @@ G_M48461_IG17:        ; bbWeight=0.11, gcrefRegs=0080 {rdi}, byrefRegs=0000 {},
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
        test     eax, eax
-       jne      SHORT G_M48461_IG11
-       jmp      SHORT G_M48461_IG22
-                       ;; size=27 bbWeight=0.11 PerfScore 1.18
-G_M48461_IG18:        ; bbWeight=0.11, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
-       lea      rcx, bword ptr [rdi+0x08]
-       ; byrRegs +[rcx]
-       mov      r11, gword ptr [rcx]
-       ; gcrRegs +[r11]
-       mov      eax, dword ptr [rcx+0x0C]
-       cmp      eax, dword ptr [r11+0x14]
-       jne      SHORT G_M48461_IG20
-       mov      eax, dword ptr [rcx+0x08]
-       cmp      eax, dword ptr [r11+0x10]
-       jae      SHORT G_M48461_IG21
-                       ;; size=25 bbWeight=0.11 PerfScore 1.60
-G_M48461_IG19:        ; bbWeight=0.10, gcrefRegs=0880 {rdi r11}, byrefRegs=0002 {rcx}, byref, isz
-       mov      rdx, gword ptr [r11+0x08]
-       ; gcrRegs +[rdx]
-       cmp      eax, dword ptr [rdx+0x08]
-       jae      G_M48461_IG09
-       mov      r11d, eax
-       ; gcrRegs -[r11]
-       mov      r11d, dword ptr [rdx+4*r11+0x10]
-       mov      dword ptr [rcx+0x10], r11d
-       inc      dword ptr [rcx+0x08]
-       jmp      SHORT G_M48461_IG15
-                       ;; size=30 bbWeight=0.10 PerfScore 1.43
+       jne      G_M48461_IG11
+                       ;; size=24 bbWeight=0.11 PerfScore 0.52
+G_M48461_IG19:        ; bbWeight=0.11, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M48461_IG21
+                       ;; size=2 bbWeight=0.11 PerfScore 0.22
 G_M48461_IG20:        ; bbWeight=0.01, gcrefRegs=0080 {rdi}, byrefRegs=0002 {rcx}, byref
-       ; gcrRegs -[rdx]
-       mov      r11d, dword ptr [rcx+0x0C]
-       mov      rax, gword ptr [rcx]
-       ; gcrRegs +[rax]
-       cmp      r11d, dword ptr [rax+0x14]
-       jne      G_M48461_IG10
-                       ;; size=17 bbWeight=0.01 PerfScore 0.08
-G_M48461_IG21:        ; bbWeight=0.01, gcrefRegs=0080 {rdi}, byrefRegs=0002 {rcx}, byref
-       ; gcrRegs -[rax]
+       ; byrRegs +[rcx]
        mov      r11, gword ptr [rcx]
        ; gcrRegs +[r11]
        mov      r11d, dword ptr [r11+0x10]
@@ -235,17 +223,17 @@ G_M48461_IG21:        ; bbWeight=0.01, gcrefRegs=0080 {rdi}, byrefRegs=0002 {rcx
        xor      r11d, r11d
        mov      dword ptr [rcx+0x10], r11d
                        ;; size=21 bbWeight=0.01 PerfScore 0.07
-G_M48461_IG22:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
+G_M48461_IG21:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref, isz
        ; byrRegs -[rcx]
        cmp      qword ptr [rdi], rbx
-       jne      SHORT G_M48461_IG27
+       jne      SHORT G_M48461_IG26
                      ;; size=5 bbWeight=1 PerfScore 4.00
-G_M48461_IG23:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48461_IG22:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rdi]
        ; GC ptr vars -{V02}
        mov      eax, esi
                        ;; size=2 bbWeight=1 PerfScore 0.25
-G_M48461_IG24:        ; bbWeight=1, epilog, nogc, extend
+G_M48461_IG23:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 48
        pop      rbx
        pop      rsi
@@ -254,7 +242,7 @@ G_M48461_IG24:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=11 bbWeight=1 PerfScore 3.75
-G_M48461_IG25:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M48461_IG24:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        mov      rcx, 0xD1FFAB1E
        mov      edx, 12
        call     CORINFO_HELP_CLASSINIT_SHARED_DYNAMICCLASS
@@ -264,7 +252,7 @@ G_M48461_IG25:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        ; gcrRegs +[rdi]
        jmp      G_M48461_IG04
                        ;; size=38 bbWeight=0 PerfScore 0.00
-G_M48461_IG26:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M48461_IG25:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi] +[rbx]
        mov      rcx, rbx
        ; gcrRegs +[rcx]
@@ -276,7 +264,7 @@ G_M48461_IG26:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcrRegs +[rdi]
        jmp      G_M48461_IG04
                        ;; size=24 bbWeight=0 PerfScore 0.00
-G_M48461_IG27:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M48461_IG26:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rax]
        ; GC ptr vars +{V02 V05}
        mov      rcx, rdi
@@ -286,9 +274,9 @@ G_M48461_IG27:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=008
        call     [r11]<unknown method>
        ; gcrRegs -[rcx rdi]
        ; gcr arg pop 0
-       jmp      SHORT G_M48461_IG23
+       jmp      SHORT G_M48461_IG22
                        ;; size=18 bbWeight=0 PerfScore 0.00
-G_M48461_IG28:        ; bbWeight=0, gcVars=0000000000000020 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
...
  
+9 (+1.40%) : 311246.dasm - Program:ManipulateListOfInt():ubyte (FullOpts)
@@ -151,7 +151,7 @@ G_M15514_IG07:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcr arg pop 0
        xor      esi, esi
        cmp      dword ptr [rbx+0x10], 0
-       jle      G_M15514_IG23
+       jle      G_M15514_IG21
                       ;; size=30 bbWeight=1 PerfScore 10.00
 G_M15514_IG08:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        xor      rcx, rcx
@@ -167,7 +167,7 @@ G_M15514_IG08:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcr arg pop 0
        mov      gword ptr [rsp+0x40], rax
        test     rax, rax
-       je       G_M15514_IG28
+       je       G_M15514_IG27
                      ;; size=45 bbWeight=4 PerfScore 36.00
 G_M15514_IG09:        ; bbWeight=2, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
        lea      rdi, bword ptr [rax+0x10]
@@ -182,11 +182,11 @@ G_M15514_IG10:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi},
        mov      dword ptr [rsp+0x48], edx
        mov      byte  ptr [rsp+0x4C], 0
        cmp      esi, dword ptr [rbx+0x10]
-       jae      G_M15514_IG30
+       jae      G_M15514_IG29
        mov      rdx, gword ptr [rbx+0x08]
        ; gcrRegs +[rdx]
        cmp      esi, dword ptr [rdx+0x08]
-       jae      G_M15514_IG27
+       jae      G_M15514_IG26
        mov      ecx, esi
        mov      edx, dword ptr [rdx+4*rcx+0x10]
        ; gcrRegs -[rdx]
@@ -197,7 +197,7 @@ G_M15514_IG10:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0080 {rdi},
        mov      ecx, dword ptr [rsp+0x48]
        mov      edi, dword ptr [rsp+0x58]
        cmp      ecx, edi
-       ja       G_M15514_IG29
+       ja       G_M15514_IG28
        mov      rdx, bword ptr [rsp+0x50]
        ; byrRegs +[rdx]
        mov      eax, ecx
@@ -218,10 +218,10 @@ G_M15514_IG11:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0020 {rbp},
        ; gcrRegs -[rcx rdx r14]
        ; gcr arg pop 0
                        ;; size=22 bbWeight=2 PerfScore 7.50
-G_M15514_IG12:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0020 {rbp}, byref, isz
+G_M15514_IG12:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0020 {rbp}, byref
        test     edi, edi
-       je       SHORT G_M15514_IG16
-                       ;; size=4 bbWeight=4 PerfScore 5.00
+       je       G_M15514_IG23
+                       ;; size=8 bbWeight=4 PerfScore 5.00
 G_M15514_IG13:        ; bbWeight=1.99, gcrefRegs=0008 {rbx}, byrefRegs=0020 {rbp}, byref
        mov      rcx, 0xD1FFAB1E
        ; byrRegs +[rcx]
@@ -236,13 +236,13 @@ G_M15514_IG14:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; byrRegs -[rbp]
        mov      edi, dword ptr [rsp+0x48]
        cmp      edi, dword ptr [rsp+0x58]
-       ja       G_M15514_IG29
+       ja       G_M15514_IG28
        mov      rbp, bword ptr [rsp+0x50]
        ; byrRegs +[rbp]
        test     edi, edi
-       jge      SHORT G_M15514_IG18
+       jge      SHORT G_M15514_IG16
                      ;; size=23 bbWeight=4 PerfScore 25.00
-G_M15514_IG15:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0020 {rbp}, byref, isz
+G_M15514_IG15:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0020 {rbp}, byref
        mov      r14, 0xD1FFAB1E
        ; gcrRegs +[r14]
        mov      rcx, r14
@@ -252,22 +252,6 @@ G_M15514_IG15:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0020 {rbp},
        call     [<unknown method>]
        ; gcrRegs -[rcx rdx]
        ; gcr arg pop 0
-       jmp      SHORT G_M15514_IG17
-                       ;; size=24 bbWeight=2 PerfScore 11.50
-G_M15514_IG16:        ; bbWeight=0.01, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       ; gcrRegs -[r14]
-       ; byrRegs -[rbp]
-       lea      rcx, [rsp+0x38]
-       mov      rdx, 0xD1FFAB1E
-       ; gcrRegs +[rdx]
-       call     [<unknown method>]
-       ; gcrRegs -[rdx]
-       ; gcr arg pop 0
-       jmp      SHORT G_M15514_IG14
-                       ;; size=23 bbWeight=0.01 PerfScore 0.03
-G_M15514_IG17:        ; bbWeight=2, gcrefRegs=4008 {rbx r14}, byrefRegs=0020 {rbp}, byref
-       ; gcrRegs +[r14]
-       ; byrRegs +[rbp]
        mov      rcx, r14
        ; gcrRegs +[rcx]
        mov      rdx, r14
@@ -275,8 +259,8 @@ G_M15514_IG17:        ; bbWeight=2, gcrefRegs=4008 {rbx r14}, byrefRegs=0020 {rb
        call     [<unknown method>]
        ; gcrRegs -[rcx rdx r14]
        ; gcr arg pop 0
-                       ;; size=12 bbWeight=2 PerfScore 7.00
-G_M15514_IG18:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0020 {rbp}, byref, isz
+                       ;; size=34 bbWeight=2 PerfScore 14.50
+G_M15514_IG16:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0020 {rbp}, byref, isz
        mov      bword ptr [rsp+0x28], rbp
        mov      dword ptr [rsp+0x30], edi
        lea      rcx, [rsp+0x28]
@@ -292,9 +276,9 @@ G_M15514_IG18:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0020 {rbp},
        vmovdqu  ymmword ptr [rsp+0x38], ymm0
        vmovdqu  xmmword ptr [rsp+0x50], xmm0
        test     rdx, rdx
-       je       SHORT G_M15514_IG20
+       je       SHORT G_M15514_IG18
                      ;; size=48 bbWeight=4 PerfScore 33.33
-G_M15514_IG19:        ; bbWeight=1.94, gcrefRegs=008C {rdx rbx rdi}, byrefRegs=0000 {}, byref
+G_M15514_IG17:        ; bbWeight=1.94, gcrefRegs=008C {rdx rbx rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax]
        mov      rcx, 0xD1FFAB1E      ; const ptr
        mov      rcx, gword ptr [rcx]
@@ -304,53 +288,53 @@ G_M15514_IG19:        ; bbWeight=1.94, gcrefRegs=008C {rdx rbx rdi}, byrefRegs=0
        ; gcrRegs -[rcx rdx]
        ; gcr arg pop 0
                        ;; size=22 bbWeight=1.94 PerfScore 10.68
-G_M15514_IG20:        ; bbWeight=4, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
+G_M15514_IG18:        ; bbWeight=4, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
        mov      rcx, rdi
        ; gcrRegs +[rcx]
        call     [<unknown method>]
        ; gcrRegs -[rcx rdi]
        ; gcr arg pop 0
        test     esi, esi
-       jle      SHORT G_M15514_IG22
+       jle      SHORT G_M15514_IG20
                      ;; size=13 bbWeight=4 PerfScore 18.00
-G_M15514_IG21:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M15514_IG19:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      eax, dword ptr [rbx+0x10]
        cmp      esi, eax
-       jae      SHORT G_M15514_IG30
+       jae      G_M15514_IG29
        mov      rcx, gword ptr [rbx+0x08]
        ; gcrRegs +[rcx]
        mov      rdx, rcx
        ; gcrRegs +[rdx]
        mov      r8d, dword ptr [rdx+0x08]
        cmp      esi, r8d
-       jae      SHORT G_M15514_IG27
+       jae      SHORT G_M15514_IG26
        mov      r10d, esi
        mov      edx, dword ptr [rdx+4*r10+0x10]
        ; gcrRegs -[rdx]
        lea      r10d, [rsi-0x01]
        cmp      r10d, eax
-       jae      SHORT G_M15514_IG30
+       jae      SHORT G_M15514_IG29
        cmp      r10d, r8d
-       jae      SHORT G_M15514_IG27
+       jae      SHORT G_M15514_IG26
        mov      eax, r10d
        cmp      dword ptr [rcx+4*rax+0x10], edx
-       jge      SHORT G_M15514_IG25
-                       ;; size=54 bbWeight=2 PerfScore 36.50
-G_M15514_IG22:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       jge      SHORT G_M15514_IG24
+                       ;; size=58 bbWeight=2 PerfScore 36.50
+G_M15514_IG20:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
        inc      esi
        mov      eax, dword ptr [rbx+0x10]
        cmp      esi, eax
        jl       G_M15514_IG08
                        ;; size=13 bbWeight=4 PerfScore 14.00
-G_M15514_IG23:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M15514_IG21:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        call     [<unknown method>]
        ; gcr arg pop 0
        xor      eax, eax
        cmp      dword ptr [rbx+0x10], 100
        sete     al
                        ;; size=15 bbWeight=0.50 PerfScore 3.62
-G_M15514_IG24:        ; bbWeight=0.50, epilog, nogc, extend
+G_M15514_IG22:        ; bbWeight=0.50, epilog, nogc, extend
        add      rsp, 96
        pop      rbx
        pop      rbp
@@ -359,11 +343,20 @@ G_M15514_IG24:        ; bbWeight=0.50, epilog, nogc, extend
        pop      r14
        ret      
                        ;; size=11 bbWeight=0.50 PerfScore 1.88
-G_M15514_IG25:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M15514_IG23:        ; bbWeight=0.01, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
+       lea      rcx, [rsp+0x38]
+       mov      rdx, 0xD1FFAB1E
+       ; gcrRegs +[rdx]
+       call     [<unknown method>]
+       ; gcrRegs -[rdx]
+       ; gcr arg pop 0
+       jmp      G_M15514_IG14
+                       ;; size=26 bbWeight=0.01 PerfScore 0.03
+G_M15514_IG24:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx]
        xor      eax, eax
                        ;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M15514_IG26:        ; bbWeight=0.50, epilog, nogc, extend
+G_M15514_IG25:        ; bbWeight=0.50, epilog, nogc, extend
        add      rsp, 96
        pop      rbx
        pop      rbp
@@ -372,31 +365,31 @@ G_M15514_IG26:        ; bbWeight=0.50, epilog, nogc, extend
        pop      r14
        ret      
                        ;; size=11 bbWeight=0.50 PerfScore 1.88
-G_M15514_IG27:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M15514_IG26:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
                        ;; size=5 bbWeight=0 PerfScore 0.00
-G_M15514_IG28:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M15514_IG27:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rbx]
        xor      rdi, rdi
        ; byrRegs +[rdi]
        xor      ebp, ebp
        jmp      G_M15514_IG10
                        ;; size=9 bbWeight=0 PerfScore 0.00
-G_M15514_IG29:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M15514_IG28:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx]
        ; byrRegs -[rdi]
        call     [System.ThrowHelper:ThrowArgumentOutOfRangeException()]
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M15514_IG30:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M15514_IG29:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     [System.ThrowHelper:ThrowArgumentOutOfRange_IndexMustBeLessException()]
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 643, prolog size 36, PerfScore 416.88, instruction count 174, allocated bytes for code 643 (MethodHash=b80ac365) for method Program:ManipulateListOfInt():ubyte (FullOpts)
+; Total bytes of code 652, prolog size 36, PerfScore 412.88, instruction count 173, allocated bytes for code 652 (MethodHash=b80ac365) for method Program:ManipulateListOfInt():ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+5 (+2.27%) : 237889.dasm - GCUtil:FreePins2() (FullOpts)
@@ -11,29 +11,30 @@
 ;* V00 loc0         [V00    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Runtime.InteropServices.GCHandle]>
 ;  V01 loc1         [V01    ] (  2,  4   )  struct ( 8) [rsp+0x20]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.InteropServices.GCHandle>
 ;  V02 OutArgs      [V02    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T12] (  2,  4   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Runtime.InteropServices.GCHandle]>
+;  V03 tmp1         [V03,T13] (  2,  4   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Runtime.InteropServices.GCHandle]>
 ;* V04 tmp2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Runtime.InteropServices.GCHandle]>
-;  V05 tmp3         [V05,T11] (  3,  6   )    long  ->  rbp         "Inline stloc first use temp"
+;  V05 tmp3         [V05,T12] (  3,  6   )    long  ->  rbp         "Inline stloc first use temp"
 ;* V06 tmp4         [V06    ] (  0,  0   )    long  ->  zero-ref    ld-addr-op "NewObj constructor temp"
 ;* V07 tmp5         [V07    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;  V08 tmp6         [V08,T09] (  3,  8   )    long  ->  rbp         "Inlining Arg"
-;* V09 tmp7         [V09,T10] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V08 tmp6         [V08,T10] (  3,  8   )    long  ->  rbp         "Inlining Arg"
+;* V09 tmp7         [V09,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V10 tmp8         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Runtime.InteropServices.GCHandle]>
 ;  V11 tmp9         [V11,T01] (  4, 32   )     ref  ->  rcx         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Runtime.InteropServices.GCHandle]>
 ;* V12 tmp10        [V12    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V13 tmp11        [V13,T00] (  6, 40.68)     ref  ->  rcx         class-hnd single-def "Inlining Arg" <<unknown class>>
-;  V14 tmp12        [V14,T08] (  3,  8.34)     int  ->   r8         single-def "Inline stloc first use temp"
+;  V14 tmp12        [V14,T09] (  3,  8.34)     int  ->   r8         single-def "Inline stloc first use temp"
 ;  V15 tmp13        [V15,T04] (  4, 17   )     ref  ->  rbx         single-def "field V00._list (fldOffset=0x0)" P-INDEP
 ;  V16 tmp14        [V16,T02] (  6, 21   )     int  ->  rdi         "field V00._index (fldOffset=0x8)" P-INDEP
-;  V17 tmp15        [V17,T07] (  2,  9   )     int  ->  rsi         single-def "field V00._version (fldOffset=0xc)" P-INDEP
-;  V18 tmp16        [V18,T06] (  2,  6   )    long  ->  rcx         "field V00._current (fldOffset=0x10)" P-INDEP
+;  V17 tmp15        [V17,T08] (  2,  9   )     int  ->  rsi         single-def "field V00._version (fldOffset=0xc)" P-INDEP
+;  V18 tmp16        [V18,T07] (  2,  6   )    long  ->  rcx         "field V00._current (fldOffset=0x10)" P-INDEP
 ;  V19 tmp17        [V19    ] (  2,  4   )    long  ->  [rsp+0x20]  do-not-enreg[X] addr-exposed "field V01._handle (fldOffset=0x0)" P-DEP
-;  V20 tmp18        [V20,T13] (  3,  3   )     ref  ->  rbx         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;* V21 tmp19        [V21,T15] (  0,  0   )     int  ->  zero-ref    single-def "field V04._index (fldOffset=0x8)" P-INDEP
-;  V22 tmp20        [V22,T14] (  2,  2   )     int  ->  rsi         single-def "field V04._version (fldOffset=0xc)" P-INDEP
+;  V20 tmp18        [V20,T14] (  3,  3   )     ref  ->  rbx         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;* V21 tmp19        [V21,T16] (  0,  0   )     int  ->  zero-ref    single-def "field V04._index (fldOffset=0x8)" P-INDEP
+;  V22 tmp20        [V22,T15] (  2,  2   )     int  ->  rsi         single-def "field V04._version (fldOffset=0xc)" P-INDEP
 ;* V23 tmp21        [V23    ] (  0,  0   )    long  ->  zero-ref    single-def "field V04._current (fldOffset=0x10)" P-INDEP
 ;  V24 tmp22        [V24,T03] (  3, 24   )     ref  ->  rcx         "arr expr"
-;  V25 cse0         [V25,T05] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V25 cse0         [V25,T06] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V26 cse1         [V26,T05] (  2, 16   )     int  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -72,9 +73,10 @@ G_M58371_IG03:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        je       SHORT G_M58371_IG10
                        ;; size=43 bbWeight=2 PerfScore 52.00
 G_M58371_IG04:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       cmp      esi, dword ptr [rbx+0x14]
+       mov      ecx, dword ptr [rbx+0x14]
+       cmp      esi, ecx
        jne      G_M58371_IG12
-                        ;; size=9 bbWeight=8 PerfScore 32.00
+                      ;; size=11 bbWeight=8 PerfScore 26.00
 G_M58371_IG05:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      ecx, dword ptr [rbx+0x10]
        cmp      edi, ecx
@@ -130,13 +132,13 @@ G_M58371_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
                        ;; size=5 bbWeight=0 PerfScore 0.00
-G_M58371_IG10:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M58371_IG10:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rbx]
        mov      rcx, rbp
        call     [<unknown method>]
        ; gcr arg pop 0
-       jmp      SHORT G_M58371_IG04
-                       ;; size=11 bbWeight=0 PerfScore 0.00
+       jmp      G_M58371_IG04
+                       ;; size=14 bbWeight=0 PerfScore 0.00
 G_M58371_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx]
        call     [System.ThrowHelper:ThrowInvalidOperationException_HandleIsNotInitialized()]
@@ -149,7 +151,7 @@ G_M58371_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 220, prolog size 15, PerfScore 221.71, instruction count 67, allocated bytes for code 220 (MethodHash=a5b91bfc) for method GCUtil:FreePins2() (FullOpts)
+; Total bytes of code 225, prolog size 15, PerfScore 215.71, instruction count 68, allocated bytes for code 225 (MethodHash=a5b91bfc) for method GCUtil:FreePins2() (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+5 (+2.27%) : 237890.dasm - GCUtil:FreePins() (FullOpts)
@@ -11,29 +11,30 @@
 ;* V00 loc0         [V00    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Runtime.InteropServices.GCHandle]>
 ;  V01 loc1         [V01    ] (  2,  4   )  struct ( 8) [rsp+0x20]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.InteropServices.GCHandle>
 ;  V02 OutArgs      [V02    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V03 tmp1         [V03,T12] (  2,  4   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Runtime.InteropServices.GCHandle]>
+;  V03 tmp1         [V03,T13] (  2,  4   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Runtime.InteropServices.GCHandle]>
 ;* V04 tmp2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Runtime.InteropServices.GCHandle]>
-;  V05 tmp3         [V05,T11] (  3,  6   )    long  ->  rbp         "Inline stloc first use temp"
+;  V05 tmp3         [V05,T12] (  3,  6   )    long  ->  rbp         "Inline stloc first use temp"
 ;* V06 tmp4         [V06    ] (  0,  0   )    long  ->  zero-ref    ld-addr-op "NewObj constructor temp"
 ;* V07 tmp5         [V07    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;  V08 tmp6         [V08,T09] (  3,  8   )    long  ->  rbp         "Inlining Arg"
-;* V09 tmp7         [V09,T10] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V08 tmp6         [V08,T10] (  3,  8   )    long  ->  rbp         "Inlining Arg"
+;* V09 tmp7         [V09,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V10 tmp8         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Runtime.InteropServices.GCHandle]>
 ;  V11 tmp9         [V11,T01] (  4, 32   )     ref  ->  rcx         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Runtime.InteropServices.GCHandle]>
 ;* V12 tmp10        [V12    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V13 tmp11        [V13,T00] (  6, 40.68)     ref  ->  rcx         class-hnd single-def "Inlining Arg" <<unknown class>>
-;  V14 tmp12        [V14,T08] (  3,  8.34)     int  ->   r8         single-def "Inline stloc first use temp"
+;  V14 tmp12        [V14,T09] (  3,  8.34)     int  ->   r8         single-def "Inline stloc first use temp"
 ;  V15 tmp13        [V15,T04] (  4, 17   )     ref  ->  rbx         single-def "field V00._list (fldOffset=0x0)" P-INDEP
 ;  V16 tmp14        [V16,T02] (  6, 21   )     int  ->  rdi         "field V00._index (fldOffset=0x8)" P-INDEP
-;  V17 tmp15        [V17,T07] (  2,  9   )     int  ->  rsi         single-def "field V00._version (fldOffset=0xc)" P-INDEP
-;  V18 tmp16        [V18,T06] (  2,  6   )    long  ->  rcx         "field V00._current (fldOffset=0x10)" P-INDEP
+;  V17 tmp15        [V17,T08] (  2,  9   )     int  ->  rsi         single-def "field V00._version (fldOffset=0xc)" P-INDEP
+;  V18 tmp16        [V18,T07] (  2,  6   )    long  ->  rcx         "field V00._current (fldOffset=0x10)" P-INDEP
 ;  V19 tmp17        [V19    ] (  2,  4   )    long  ->  [rsp+0x20]  do-not-enreg[X] addr-exposed "field V01._handle (fldOffset=0x0)" P-DEP
-;  V20 tmp18        [V20,T13] (  3,  3   )     ref  ->  rbx         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;* V21 tmp19        [V21,T15] (  0,  0   )     int  ->  zero-ref    single-def "field V04._index (fldOffset=0x8)" P-INDEP
-;  V22 tmp20        [V22,T14] (  2,  2   )     int  ->  rsi         single-def "field V04._version (fldOffset=0xc)" P-INDEP
+;  V20 tmp18        [V20,T14] (  3,  3   )     ref  ->  rbx         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;* V21 tmp19        [V21,T16] (  0,  0   )     int  ->  zero-ref    single-def "field V04._index (fldOffset=0x8)" P-INDEP
+;  V22 tmp20        [V22,T15] (  2,  2   )     int  ->  rsi         single-def "field V04._version (fldOffset=0xc)" P-INDEP
 ;* V23 tmp21        [V23    ] (  0,  0   )    long  ->  zero-ref    single-def "field V04._current (fldOffset=0x10)" P-INDEP
 ;  V24 tmp22        [V24,T03] (  3, 24   )     ref  ->  rcx         "arr expr"
-;  V25 cse0         [V25,T05] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V25 cse0         [V25,T06] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V26 cse1         [V26,T05] (  2, 16   )     int  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -72,9 +73,10 @@ G_M36241_IG03:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        je       SHORT G_M36241_IG10
                        ;; size=43 bbWeight=2 PerfScore 52.00
 G_M36241_IG04:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
-       cmp      esi, dword ptr [rbx+0x14]
+       mov      ecx, dword ptr [rbx+0x14]
+       cmp      esi, ecx
        jne      G_M36241_IG12
-                        ;; size=9 bbWeight=8 PerfScore 32.00
+                      ;; size=11 bbWeight=8 PerfScore 26.00
 G_M36241_IG05:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      ecx, dword ptr [rbx+0x10]
        cmp      edi, ecx
@@ -130,13 +132,13 @@ G_M36241_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
                        ;; size=5 bbWeight=0 PerfScore 0.00
-G_M36241_IG10:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M36241_IG10:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rbx]
        mov      rcx, rbp
        call     [<unknown method>]
        ; gcr arg pop 0
-       jmp      SHORT G_M36241_IG04
-                       ;; size=11 bbWeight=0 PerfScore 0.00
+       jmp      G_M36241_IG04
+                       ;; size=14 bbWeight=0 PerfScore 0.00
 G_M36241_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx]
        call     [System.ThrowHelper:ThrowInvalidOperationException_HandleIsNotInitialized()]
@@ -149,7 +151,7 @@ G_M36241_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 220, prolog size 15, PerfScore 221.71, instruction count 67, allocated bytes for code 220 (MethodHash=986a726e) for method GCUtil:FreePins() (FullOpts)
+; Total bytes of code 225, prolog size 15, PerfScore 215.71, instruction count 68, allocated bytes for code 225 (MethodHash=986a726e) for method GCUtil:FreePins() (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
libraries.crossgen2.windows.x64.checked.mch
-10 (-2.87%) : 31916.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
@@ -9,10 +9,10 @@
 ; 0 inlinees with PGO data; 12 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] (  3,  3   )    long  ->  rbx         single-def
-;  V01 arg1         [V01,T19] (  3,  3   )    long  ->  rsi         single-def
-;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [rbp-0x38]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T20] (  4, 11   )    long  ->  rsi        
+;  V00 arg0         [V00,T19] (  3,  3   )    long  ->  rbx         single-def
+;  V01 arg1         [V01,T20] (  3,  3   )    long  ->  rsi         single-def
+;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [rbp-0x30]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
+;  V03 loc1         [V03,T21] (  4, 11   )    long  ->  rsi        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
@@ -20,14 +20,14 @@
 ;  V08 tmp1         [V08,T10] (  7, 84   )     ref  ->  rbx         class-hnd single-def "non-inline candidate call" <<unknown class>>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V11 tmp4         [V11,T29] (  2,  0   )     ref  ->  rcx         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V12 tmp5         [V12,T22] (  2,  4   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp4         [V11,T30] (  2,  0   )     ref  ->  rcx         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp5         [V12,T23] (  2,  4   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp10        [V17,T08] (  2, 16   )     int  ->  r10         "Inlining Arg"
-;  V18 tmp11        [V18,T07] (  2, 16   )   byref  ->  rax         "Inlining Arg"
+;  V17 tmp10        [V17,T07] (  2, 16   )     int  ->  r10         "Inlining Arg"
+;  V18 tmp11        [V18,T06] (  2, 16   )   byref  ->  rax         "Inlining Arg"
 ;* V19 tmp12        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V21 tmp14        [V21,T12] (  2,  8   )   ubyte  ->  rax         "Inline return value spill temp"
@@ -41,30 +41,30 @@
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V30 tmp23        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V32 tmp25        [V32,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V32 tmp25        [V32,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V33 tmp26        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V34 tmp27        [V34,T23] (  3, 17   )     ref  ->  rcx         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V35 tmp28        [V35,T21] (  4, 18   )     int  ->  rdx         "Inline stloc first use temp"
-;  V36 tmp29        [V36,T17] (  3, 20   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [rbp-0x48]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
-;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
-;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
-;  V40 tmp33        [V40,T02] (  4, 25   )     ref  ->  rbx         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V41 tmp34        [V41,T03] (  4, 20   )     ref  ->   r8         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V34 tmp27        [V34,T24] (  3, 17   )     ref  ->  rcx         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V35 tmp28        [V35,T22] (  4, 18   )     int  ->  rdx         "Inline stloc first use temp"
+;  V36 tmp29        [V36,T18] (  3, 20   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [rbp-0x40]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
+;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
+;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
+;  V40 tmp33        [V40,T03] (  4, 25   )     ref  ->  rbx         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V41 tmp34        [V41,T02] (  4, 20   )     ref  ->   r8         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V42 tmp35        [V42,T00] (  6, 41   )     int  ->  r14         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V43 tmp36        [V43,T05] (  3, 17   )     int  ->  rdi         "field V04._version (fldOffset=0x14)" P-INDEP
-;  V44 tmp37        [V44,T13] (  2,  8   )   byref  ->  rcx         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp38        [V45,T15] (  2,  8   )     int  ->  rdx         "field V09._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp36        [V43,T13] (  2,  9   )     int  ->  rdi         "field V04._version (fldOffset=0x14)" P-INDEP
+;  V44 tmp37        [V44,T14] (  2,  8   )   byref  ->  rcx         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp38        [V45,T16] (  2,  8   )     int  ->  rdx         "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V46 tmp39        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V47 tmp40        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V48 tmp41        [V48,T24] (  3,  3   )     ref  ->  rbx         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;  V48 tmp41        [V48,T25] (  3,  3   )     ref  ->  rbx         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V49 tmp42        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V50 tmp43        [V50,T27] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
-;  V51 tmp44        [V51,T25] (  2,  2   )     int  ->  rdi         "field V13._version (fldOffset=0x14)" P-INDEP
+;* V50 tmp43        [V50,T28] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
+;  V51 tmp44        [V51,T26] (  2,  2   )     int  ->  rdi         "field V13._version (fldOffset=0x14)" P-INDEP
 ;  V52 tmp45        [V52,T11] (  3, 12   )   byref  ->  rax         "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V53 tmp46        [V53,T06] (  4, 16   )     int  ->  r10         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V54 tmp47        [V54,T14] (  2,  8   )   byref  ->  rax         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V55 tmp48        [V55,T16] (  2,  8   )     int  ->  r10         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V53 tmp46        [V53,T05] (  4, 16   )     int  ->  r10         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V54 tmp47        [V54,T15] (  2,  8   )   byref  ->  rax         "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V55 tmp48        [V55,T17] (  2,  8   )     int  ->  r10         "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp50        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V58 tmp51        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
@@ -80,40 +80,40 @@
 ;* V68 tmp61        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V69 tmp62        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;  V70 tmp63        [V70,T01] (  3, 48   )     ref  ->   r8         "arr expr"
-;  V71 PSPSym       [V71,T28] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
-;  V72 cse0         [V72,T04] (  3, 24   )     int  ->  r15         "CSE - aggressive"
-;  V73 cse1         [V73,T26] (  2, 16   )     int  ->   r8         "CSE - moderate"
+;  V71 PSPSym       [V71,T29] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
+;  V72 cse0         [V72,T09] (  2, 16   )     int  ->   r8         "CSE - aggressive"
+;  V73 cse1         [V73,T04] (  2, 16   )     int  ->   r8         "CSE - aggressive"
+;  V74 cse2         [V74,T27] (  2, 16   )     int  ->   r8         "CSE - moderate"
 ;
-; Lcl frame size = 72
+; Lcl frame size = 80
 
 G_M19804_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
-       push     r15
        push     r14
        push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 72
+       sub      rsp, 80
        lea      rbp, [rsp+0x70]
        xor      eax, eax
-       mov      qword ptr [rbp-0x38], rax
+       mov      qword ptr [rbp-0x30], rax
        mov      qword ptr [rbp-0x50], rsp
        mov      rbx, rcx
        mov      rsi, rdx
-                     ;; size=33 bbWeight=1 PerfScore 9.50
+                      ;; size=31 bbWeight=1 PerfScore 8.50
 G_M19804_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       lea      rcx, [rbp-0x48]
+       lea      rcx, [rbp-0x40]
        call     [CORINFO_HELP_JIT_REVERSE_PINVOKE_ENTER]
        ; gcr arg pop 0
        nop      
                        ;; size=11 bbWeight=1 PerfScore 3.75
 G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       lea      rcx, [rbp-0x38]
+       lea      rcx, [rbp-0x30]
        mov      rdx, rbx
        call     [System.Runtime.InteropServices.MemoryMarshal:CreateReadOnlySpanFromNullTerminated(ulong):System.ReadOnlySpan`1[ushort]]
        ; gcr arg pop 0
        cmp      byte  ptr [rsi+0x08], 0
-       je       SHORT G_M19804_IG11
+       je       SHORT G_M19804_IG10
        mov      rbx, gword ptr [rsi]
        ; gcrRegs +[rbx]
        mov      edi, dword ptr [rbx+0x14]
@@ -122,9 +122,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=30 bbWeight=1 PerfScore 14.00
 G_M19804_IG04:        ; bbWeight=4, gcrefRegs=0108 {rbx r8}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[r8]
-       mov      rcx, bword ptr [rbp-0x38]
+       mov      rcx, bword ptr [rbp-0x30]
        ; byrRegs +[rcx]
-       mov      edx, dword ptr [rbp-0x30]
+       mov      edx, dword ptr [rbp-0x28]
        test     r8, r8
        jne      SHORT G_M19804_IG05
        xor      rax, rax
@@ -150,14 +150,15 @@ G_M19804_IG06:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0003 {rax rc
        ; byrRegs -[rax rcx rdx]
        ; gcr arg pop 0
        test     eax, eax
-       jne      G_M19804_IG14
+       jne      G_M19804_IG13
                      ;; size=28 bbWeight=4 PerfScore 25.00
 G_M19804_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       mov      r15d, dword ptr [rbx+0x14]
-       cmp      edi, r15d
-       jne      SHORT G_M19804_IG10
-       cmp      r14d, dword ptr [rbx+0x10]
-       jae      SHORT G_M19804_IG11
+       mov      r8d, dword ptr [rbx+0x14]
+       cmp      edi, r8d
+       jne      SHORT G_M19804_IG09
+       mov      r8d, dword ptr [rbx+0x10]
+       cmp      r14d, r8d
+       jae      SHORT G_M19804_IG10
        mov      r8, gword ptr [rbx+0x08]
        ; gcrRegs +[r8]
        cmp      r14d, dword ptr [r8+0x08]
@@ -166,7 +167,7 @@ G_M19804_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      r8, gword ptr [r8+8*rcx+0x10]
        inc      r14d
        jmp      SHORT G_M19804_IG04
-                      ;; size=38 bbWeight=8 PerfScore 142.00
+                        ;; size=41 bbWeight=8 PerfScore 136.00
 G_M19804_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx r8]
        call     [CORINFO_HELP_RNGCHKFAIL]
@@ -178,13 +179,9 @@ G_M19804_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 G_M19804_IG10:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       cmp      edi, r15d
-       jne      SHORT G_M19804_IG09
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        mov      rbx, gword ptr [rsi]
        ; gcrRegs +[rbx]
-       lea      rcx, [rbp-0x38]
+       lea      rcx, [rbp-0x30]
        call     [<unknown method>]
        ; gcrRegs +[rax]
        ; gcr arg pop 0
@@ -194,9 +191,9 @@ G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      edx, dword ptr [rbx+0x10]
        mov      r8d, dword ptr [rcx+0x08]
        cmp      r8d, edx
-       jbe      SHORT G_M19804_IG13
+       jbe      SHORT G_M19804_IG12
                      ;; size=32 bbWeight=8 PerfScore 126.00
-G_M19804_IG12:        ; bbWeight=1, gcrefRegs=000B {rax rcx rbx}, byrefRegs=0000 {}, byref, isz
+G_M19804_IG11:        ; bbWeight=1, gcrefRegs=000B {rax rcx rbx}, byrefRegs=0000 {}, byref, isz
        lea      r8d, [rdx+0x01]
        mov      dword ptr [rbx+0x10], r8d
        mov      edx, edx
@@ -208,9 +205,9 @@ G_M19804_IG12:        ; bbWeight=1, gcrefRegs=000B {rax rcx rbx}, byrefRegs=0000
        call     [CORINFO_HELP_ASSIGN_REF]
        ; gcrRegs -[rax rdx rbx]
        ; byrRegs -[rcx]
-       jmp      SHORT G_M19804_IG14
+       jmp      SHORT G_M19804_IG13
                       ;; size=26 bbWeight=1 PerfScore 8.00
-G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
+G_M19804_IG12:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rax rbx]
        mov      rcx, rbx
        ; gcrRegs +[rcx]
@@ -221,36 +218,34 @@ G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {},
        ; gcr arg pop 0
        nop      
                        ;; size=13 bbWeight=1 PerfScore 3.75
-G_M19804_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       lea      rcx, [rbp-0x48]
+G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       lea      rcx, [rbp-0x40]
        call     [CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT]
        ; gcr arg pop 0
        nop      
                        ;; size=11 bbWeight=1 PerfScore 3.75
-G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 72
+G_M19804_IG14:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 80
        pop      rbx
        pop      rsi
        pop      rdi
        pop      r14
-       pop      r15
        pop      rbp
        ret      
-                     ;; size=13 bbWeight=1 PerfScore 4.25
-G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                     ;; size=11 bbWeight=1 PerfScore 3.75
+G_M19804_IG15:        ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        ; gcrRegs +[rdx]
        push     rbp
-       push     r15
        push     r14
        push     rdi
        push     rsi
...
  
-7 (-2.27%) : 32551.dasm - System.Diagnostics.Tracing.CounterGroup:ResetCounters():this (FullOpts)
@@ -9,32 +9,33 @@
 ; 0 inlinees with PGO data; 5 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T10] (  3,  3   )     ref  ->  rbx         this class-hnd single-def <System.Diagnostics.Tracing.CounterGroup>
-;  V01 loc0         [V01,T15] (  4,  1.50)     ref  ->  [rbp-0x30]  class-hnd EH-live spill-single-def <System.Object>
+;  V00 this         [V00,T11] (  3,  3   )     ref  ->  rbx         this class-hnd single-def <System.Diagnostics.Tracing.CounterGroup>
+;  V01 loc0         [V01,T16] (  4,  1.50)     ref  ->  [rbp-0x30]  class-hnd EH-live spill-single-def <System.Object>
 ;  V02 loc1         [V02    ] (  6,  5   )   ubyte  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V03 loc2         [V03    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Diagnostics.Tracing.DiagnosticCounter]>
 ;* V04 loc3         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Diagnostics.Tracing.DiagnosticCounter>
 ;  V05 loc4         [V05,T06] (  3, 10   )     ref  ->  rax         class-hnd <<unknown class>>
-;  V06 loc5         [V06,T08] (  3,  6   )     ref  ->  rax         class-hnd <<unknown class>>
-;  V07 loc6         [V07,T09] (  3,  6   )     ref  ->  rax         class-hnd <<unknown class>>
+;  V06 loc5         [V06,T09] (  3,  6   )     ref  ->  rax         class-hnd <<unknown class>>
+;  V07 loc6         [V07,T10] (  3,  6   )     ref  ->  rax         class-hnd <<unknown class>>
 ;  V08 OutArgs      [V08    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V09 tmp1         [V09,T12] (  2,  4   )   ubyte  ->  rcx         "Inlining Arg"
-;  V10 tmp2         [V10,T11] (  2,  4   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V09 tmp1         [V09,T13] (  2,  4   )   ubyte  ->  rcx         "Inlining Arg"
+;  V10 tmp2         [V10,T12] (  2,  4   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V11 tmp3         [V11    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Diagnostics.Tracing.DiagnosticCounter]>
-;* V12 tmp4         [V12,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V12 tmp4         [V12,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V13 tmp5         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V14 tmp6         [V14,T02] (  4, 17   )     ref  ->  rbx         single-def "field V03._list (fldOffset=0x0)" P-INDEP
-;  V15 tmp7         [V15,T04] (  4, 12   )     ref  ->  r14         "field V03._current (fldOffset=0x8)" P-INDEP
+;  V15 tmp7         [V15,T03] (  4, 12   )     ref  ->  r14         "field V03._current (fldOffset=0x8)" P-INDEP
 ;  V16 tmp8         [V16,T00] (  6, 21   )     int  ->  rdi         "field V03._index (fldOffset=0x10)" P-INDEP
-;  V17 tmp9         [V17,T05] (  3, 13   )     int  ->  rsi         "field V03._version (fldOffset=0x14)" P-INDEP
-;  V18 tmp10        [V18,T13] (  3,  3   )     ref  ->  rbx         single-def "field V11._list (fldOffset=0x0)" P-INDEP
+;  V17 tmp9         [V17,T07] (  2,  9   )     int  ->  rsi         "field V03._version (fldOffset=0x14)" P-INDEP
+;  V18 tmp10        [V18,T14] (  3,  3   )     ref  ->  rbx         single-def "field V11._list (fldOffset=0x0)" P-INDEP
 ;* V19 tmp11        [V19    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V11._current (fldOffset=0x8)" P-INDEP
-;* V20 tmp12        [V20,T17] (  0,  0   )     int  ->  zero-ref    "field V11._index (fldOffset=0x10)" P-INDEP
-;  V21 tmp13        [V21,T14] (  2,  2   )     int  ->  rsi         "field V11._version (fldOffset=0x14)" P-INDEP
+;* V20 tmp12        [V20,T18] (  0,  0   )     int  ->  zero-ref    "field V11._index (fldOffset=0x10)" P-INDEP
+;  V21 tmp13        [V21,T15] (  2,  2   )     int  ->  rsi         "field V11._version (fldOffset=0x14)" P-INDEP
 ;  V22 tmp14        [V22,T01] (  3, 24   )     ref  ->  rcx         "arr expr"
-;  V23 PSPSym       [V23,T18] (  1,  1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
-;  V24 cse0         [V24,T16] (  3,  1.50)     ref  ->  rdx         "CSE - moderate"
-;  V25 cse1         [V25,T03] (  3, 20   )     int  ->  r14         "CSE - aggressive"
+;  V23 PSPSym       [V23,T19] (  1,  1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
+;  V24 cse0         [V24,T17] (  3,  1.50)     ref  ->  rdx         "CSE - moderate"
+;  V25 cse1         [V25,T05] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V26 cse2         [V26,T04] (  2, 16   )     int  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 64
 
@@ -61,7 +62,7 @@ G_M25759_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        xor      edx, edx
        mov      dword ptr [rbp-0x28], edx
                        ;; size=22 bbWeight=1 PerfScore 7.25
-G_M25759_IG03:        ; bbWeight=1, gcVars=0000000000008000 {V01}, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M25759_IG03:        ; bbWeight=1, gcVars=0000000000010000 {V01}, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, gcvars, byref, isz
        ; byrRegs -[rax]
        cmp      byte  ptr [rbp-0x28], 0
        jne      SHORT G_M25759_IG09
@@ -89,17 +90,18 @@ G_M25759_IG05:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        xor      edi, edi
                        ;; size=9 bbWeight=1 PerfScore 4.25
 G_M25759_IG06:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       mov      r14d, dword ptr [rbx+0x14]
-       cmp      esi, r14d
-       jne      SHORT G_M25759_IG12
-                       ;; size=9 bbWeight=8 PerfScore 26.00
+       mov      ecx, dword ptr [rbx+0x14]
+       cmp      esi, ecx
+       jne      SHORT G_M25759_IG13
+                       ;; size=7 bbWeight=8 PerfScore 26.00
 G_M25759_IG07:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       cmp      edi, dword ptr [rbx+0x10]
-       jae      SHORT G_M25759_IG15
+       mov      ecx, dword ptr [rbx+0x10]
+       cmp      edi, ecx
+       jae      SHORT G_M25759_IG14
        mov      rcx, gword ptr [rbx+0x08]
        ; gcrRegs +[rcx]
        cmp      edi, dword ptr [rcx+0x08]
-       jae      SHORT G_M25759_IG13
+       jae      SHORT G_M25759_IG12
        mov      eax, edi
        mov      r14, gword ptr [rcx+8*rax+0x10]
        ; gcrRegs +[r14]
@@ -110,7 +112,7 @@ G_M25759_IG07:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcr arg pop 0
        test     rax, rax
        je       SHORT G_M25759_IG10
-                      ;; size=37 bbWeight=4 PerfScore 68.00
+                     ;; size=39 bbWeight=4 PerfScore 65.00
 G_M25759_IG08:        ; bbWeight=2, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[r14]
        mov      rcx, rax
@@ -158,26 +160,21 @@ G_M25759_IG11:        ; bbWeight=2, gcrefRegs=4008 {rbx r14}, byrefRegs=0000 {},
        ; gcr arg pop 0
        jmp      SHORT G_M25759_IG06
                        ;; size=25 bbWeight=2 PerfScore 19.50
-G_M25759_IG12:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M25759_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx]
-       cmp      esi, r14d
-       jne      SHORT G_M25759_IG14
-       jmp      SHORT G_M25759_IG15
-                       ;; size=7 bbWeight=4 PerfScore 13.00
-G_M25759_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     [CORINFO_HELP_RNGCHKFAIL]
        ; gcr arg pop 0
                        ;; size=6 bbWeight=0 PerfScore 0.00
-G_M25759_IG14:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M25759_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()]
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M25759_IG15:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M25759_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        cmp      byte  ptr [rbp-0x28], 0
-       je       SHORT G_M25759_IG17
+       je       SHORT G_M25759_IG16
                         ;; size=6 bbWeight=1 PerfScore 3.00
-G_M25759_IG16:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M25759_IG15:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rcx, gword ptr [rbp-0x30]
        ; gcrRegs +[rcx]
        ; GC ptr vars -{V01}
@@ -185,10 +182,10 @@ G_M25759_IG16:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
                        ;; size=10 bbWeight=0.50 PerfScore 2.00
-G_M25759_IG17:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M25759_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
-G_M25759_IG18:        ; bbWeight=1, epilog, nogc, extend
+G_M25759_IG17:        ; bbWeight=1, epilog, nogc, extend
        add      rsp, 64
        pop      rbx
        pop      rsi
@@ -197,8 +194,8 @@ G_M25759_IG18:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=11 bbWeight=1 PerfScore 3.75
-G_M25759_IG19:        ; bbWeight=0, gcVars=0000000000008000 {V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-       ; GC ptr vars +{V01 V15}
+G_M25759_IG18:        ; bbWeight=0, gcVars=0000000000010000 {V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+       ; GC ptr vars +{V01 V16}
        push     rbp
        push     r14
        push     rdi
@@ -209,20 +206,20 @@ G_M25759_IG19:        ; bbWeight=0, gcVars=0000000000008000 {V01}, gcrefRegs=000
        mov      qword ptr [rsp+0x20], rbp
        lea      rbp, [rbp+0x60]
                        ;; size=23 bbWeight=0 PerfScore 0.00
-G_M25759_IG20:        ; bbWeight=0, gcVars=0000000000008000 {V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M25759_IG19:        ; bbWeight=0, gcVars=0000000000010000 {V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        cmp      byte  ptr [rbp-0x28], 0
-       je       SHORT G_M25759_IG21
+       je       SHORT G_M25759_IG20
        mov      rcx, gword ptr [rbp-0x30]
        ; gcrRegs +[rcx]
-       ; GC ptr vars -{V01 V15}
+       ; GC ptr vars -{V01 V16}
        call     [<unknown method>]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
                        ;; size=16 bbWeight=0 PerfScore 0.00
-G_M25759_IG21:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M25759_IG20:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=0 PerfScore 0.00
-G_M25759_IG22:        ; bbWeight=0, funclet epilog, nogc, extend
+G_M25759_IG21:        ; bbWeight=0, funclet epilog, nogc, extend
        add      rsp, 48
        pop      rbx
        pop      rsi
@@ -232,7 +229,7 @@ G_M25759_IG22:        ; bbWeight=0, funclet epilog, nogc, extend
        ret      
                        ;; size=11 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 309, prolog size 22, PerfScore 196.38, instruction count 101, allocated bytes for code 309 (MethodHash=a2079b60) for method System.Diagnostics.Tracing.CounterGroup:ResetCounters():this (FullOpts)
+; Total bytes of code 302, prolog size 22, PerfScore 180.38, instruction count 99, allocated bytes for code 302 (MethodHash=a2079b60) for method System.Diagnostics.Tracing.CounterGroup:ResetCounters():this (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -269,4 +266,4 @@ Unwind Info:
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 *************** EH table for System.Diagnostics.Tracing.CounterGroup:ResetCounters():this
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M25759_IG03..G_M25759_IG15) handled by [G_M25759_IG19..END) (fault)
+EH#0: try [G_M25759_IG03..G_M25759_IG14) handled by [G_M25759_IG18..END) (fault)
  
-8 (-1.54%) : 29804.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
@@ -9,68 +9,69 @@
 ; 0 inlinees with PGO data; 23 single block inlinees; 10 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T17] (  7,  7   )     ref  ->  [rbp+0x10]  class-hnd EH-live single-def <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;  V01 arg1         [V01,T14] (  3, 10   )     int  ->  rbx         single-def
+;  V00 arg0         [V00,T18] (  7,  7   )     ref  ->  [rbp+0x10]  class-hnd EH-live single-def <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
+;  V01 arg1         [V01,T15] (  3, 10   )     int  ->  rbx         single-def
 ;* V02 arg2         [V02    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Threading.CancellationToken>
-;  V03 loc0         [V03,T15] (  4, 11   )   ubyte  ->  [rbp-0x3C]  do-not-enreg[Z] EH-live
-;  V04 loc1         [V04,T05] (  7, 28   )     ref  ->  [rbp-0x48]  class-hnd exact EH-live spill-single-def <System.Threading.Tasks.Task+SetOnCountdownMres>
+;  V03 loc0         [V03,T16] (  4, 11   )   ubyte  ->  [rbp-0x34]  do-not-enreg[Z] EH-live
+;  V04 loc1         [V04,T04] (  7, 28   )     ref  ->  [rbp-0x40]  class-hnd exact EH-live spill-single-def <System.Threading.Tasks.Task+SetOnCountdownMres>
 ;* V05 loc2         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V06 loc3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
 ;* V07 loc4         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V08 loc5         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Threading.Tasks.Task>
 ;  V09 OutArgs      [V09    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V10 tmp1         [V10,T19] (  4,  8   )     ref  ->  rdi         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task+SetOnCountdownMres>
+;  V10 tmp1         [V10,T21] (  4,  8   )     ref  ->  rdi         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task+SetOnCountdownMres>
 ;* V11 tmp2         [V11    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V12 tmp3         [V12    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V13 tmp4         [V13    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V14 tmp5         [V14,T20] (  3,  6   )     int  ->  r14         "Inlining Arg"
+;  V14 tmp5         [V14,T22] (  3,  6   )     int  ->  r14         "Inlining Arg"
 ;* V15 tmp6         [V15    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V16 tmp7         [V16    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V17 tmp8         [V17    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V18 tmp9         [V18    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V19 tmp10        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;* V20 tmp11        [V20,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V20 tmp11        [V20,T11] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V21 tmp12        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
 ;* V22 tmp13        [V22    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.Tasks.Task]>
 ;* V23 tmp14        [V23    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
-;* V24 tmp15        [V24,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V24 tmp15        [V24,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V25 tmp16        [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Threading.Tasks.Task]>
-;  V26 tmp17        [V26,T16] (  2,  9   )     ref  ->  rsi         single-def "field V02._source (fldOffset=0x0)" P-INDEP
-;  V27 tmp18        [V27,T04] (  4, 25   )     ref  ->  r14         single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V26 tmp17        [V26,T17] (  2,  9   )     ref  ->  rsi         single-def "field V02._source (fldOffset=0x0)" P-INDEP
+;  V27 tmp18        [V27,T05] (  4, 25   )     ref  ->  r14         single-def "field V05._list (fldOffset=0x0)" P-INDEP
 ;  V28 tmp19        [V28,T07] (  3, 16   )     ref  ->  rdx         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V29 tmp20        [V29,T00] (  6, 41   )     int  ->  r13         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V30 tmp21        [V30,T11] (  3, 17   )     int  ->  r15         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V30 tmp21        [V30,T19] (  2,  9   )     int  ->  r15         "field V05._version (fldOffset=0x14)" P-INDEP
 ;  V31 tmp22        [V31,T06] (  4, 25   )     ref  ->  rbx         single-def "field V07._list (fldOffset=0x0)" P-INDEP
 ;  V32 tmp23        [V32,T08] (  3, 16   )     ref  ->  rcx         "field V07._current (fldOffset=0x8)" P-INDEP
 ;  V33 tmp24        [V33,T01] (  6, 41   )     int  ->  rdi         "field V07._index (fldOffset=0x10)" P-INDEP
-;  V34 tmp25        [V34,T18] (  2,  9   )     int  ->  rsi         "field V07._version (fldOffset=0x14)" P-INDEP
-;  V35 tmp26        [V35,T22] (  3,  3   )     ref  ->  r14         single-def "field V17._list (fldOffset=0x0)" P-INDEP
+;  V34 tmp25        [V34,T20] (  2,  9   )     int  ->  rsi         "field V07._version (fldOffset=0x14)" P-INDEP
+;  V35 tmp26        [V35,T24] (  3,  3   )     ref  ->  r14         single-def "field V17._list (fldOffset=0x0)" P-INDEP
 ;* V36 tmp27        [V36    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V17._current (fldOffset=0x8)" P-INDEP
-;* V37 tmp28        [V37,T26] (  0,  0   )     int  ->  zero-ref    "field V17._index (fldOffset=0x10)" P-INDEP
-;  V38 tmp29        [V38,T24] (  2,  2   )     int  ->  r15         "field V17._version (fldOffset=0x14)" P-INDEP
-;  V39 tmp30        [V39,T23] (  3,  3   )     ref  ->  rbx         single-def "field V22._list (fldOffset=0x0)" P-INDEP
+;* V37 tmp28        [V37,T28] (  0,  0   )     int  ->  zero-ref    "field V17._index (fldOffset=0x10)" P-INDEP
+;  V38 tmp29        [V38,T26] (  2,  2   )     int  ->  r15         "field V17._version (fldOffset=0x14)" P-INDEP
+;  V39 tmp30        [V39,T25] (  3,  3   )     ref  ->  rbx         single-def "field V22._list (fldOffset=0x0)" P-INDEP
 ;* V40 tmp31        [V40    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V22._current (fldOffset=0x8)" P-INDEP
-;* V41 tmp32        [V41,T27] (  0,  0   )     int  ->  zero-ref    "field V22._index (fldOffset=0x10)" P-INDEP
-;  V42 tmp33        [V42,T25] (  2,  2   )     int  ->  rsi         "field V22._version (fldOffset=0x14)" P-INDEP
-;  V43 tmp34        [V43,T21] (  2,  4   )     int  ->   r8         "argument with side effect"
+;* V41 tmp32        [V41,T29] (  0,  0   )     int  ->  zero-ref    "field V22._index (fldOffset=0x10)" P-INDEP
+;  V42 tmp33        [V42,T27] (  2,  2   )     int  ->  rsi         "field V22._version (fldOffset=0x14)" P-INDEP
+;  V43 tmp34        [V43,T23] (  2,  4   )     int  ->   r8         "argument with side effect"
 ;  V44 tmp35        [V44,T02] (  3, 48   )     ref  ->  rdx         "arr expr"
 ;  V45 tmp36        [V45,T03] (  3, 48   )     ref  ->  rcx         "arr expr"
-;  V46 PSPSym       [V46,T28] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
-;  V47 cse0         [V47,T09] (  3, 24   )     int  ->  r12         "CSE - aggressive"
-;  V48 cse1         [V48,T10] (  2, 16   )     int  ->  rcx         "CSE - aggressive"
+;  V46 PSPSym       [V46,T30] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
+;  V47 cse0         [V47,T13] (  2, 16   )     int  ->  rdx         "CSE - aggressive"
+;  V48 cse1         [V48,T09] (  2, 16   )     int  ->  rdx         "CSE - aggressive"
+;  V49 cse2         [V49,T14] (  2, 16   )     int  ->  rcx         "CSE - aggressive"
+;  V50 cse3         [V50,T10] (  2, 16   )     int  ->  rcx         "CSE - aggressive"
 ;
-; Lcl frame size = 56
+; Lcl frame size = 64
 
 G_M12834_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
        push     r13
-       push     r12
        push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 56
+       sub      rsp, 64
        lea      rbp, [rsp+0x70]
        mov      qword ptr [rbp-0x50], rsp
        mov      gword ptr [rbp+0x10], rcx
@@ -78,8 +79,8 @@ G_M12834_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      ebx, edx
        mov      rsi, r8
        ; gcrRegs +[rsi]
-                      ;; size=34 bbWeight=1 PerfScore 11.25
-G_M12834_IG02:        ; bbWeight=1, gcVars=0000000000020000 {V00}, gcrefRegs=0042 {rcx rsi}, byrefRegs=0000 {}, gcvars, byref, isz
+                       ;; size=32 bbWeight=1 PerfScore 10.25
+G_M12834_IG02:        ; bbWeight=1, gcVars=0000000000040000 {V00}, gcrefRegs=0042 {rcx rsi}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[rcx]
        test     rcx, rcx
        jne      SHORT G_M12834_IG03
@@ -108,7 +109,7 @@ G_M12834_IG03:        ; bbWeight=1, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byr
                        ;; size=36 bbWeight=1 PerfScore 16.00
 G_M12834_IG04:        ; bbWeight=1, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, isz
        xor      eax, eax
-       mov      dword ptr [rbp-0x3C], eax
+       mov      dword ptr [rbp-0x34], eax
        call     [CORINFO_HELP_READYTORUN_NEW]
        ; gcrRegs +[rax]
        ; gcr arg pop 0
@@ -143,10 +144,10 @@ G_M12834_IG04:        ; bbWeight=1, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byr
                        ;; size=77 bbWeight=1 PerfScore 28.25
 G_M12834_IG05:        ; bbWeight=1, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
        mov      dword ptr [rdi+0x1C], r14d
-       mov      gword ptr [rbp-0x48], rdi
+       mov      gword ptr [rbp-0x40], rdi
        ; GC ptr vars +{V04}
                        ;; size=8 bbWeight=1 PerfScore 2.00
-G_M12834_IG06:        ; bbWeight=1, gcVars=0000000000020020 {V00 V04}, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M12834_IG06:        ; bbWeight=1, gcVars=0000000000040010 {V00 V04}, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, gcvars, byref, isz
        mov      rcx, gword ptr [rbp+0x10]
        ; gcrRegs +[rcx]
        mov      r14, rcx
@@ -196,11 +197,12 @@ G_M12834_IG08:        ; bbWeight=4, gcrefRegs=40C0 {rsi rdi r14}, byrefRegs=0000
        ; gcr arg pop 0
                        ;; size=32 bbWeight=4 PerfScore 60.00
 G_M12834_IG09:        ; bbWeight=8, gcrefRegs=40C0 {rsi rdi r14}, byrefRegs=0000 {}, byref, isz
-       mov      r12d, dword ptr [r14+0x14]
-       cmp      r15d, r12d
-       jne      SHORT G_M12834_IG12
-       cmp      r13d, dword ptr [r14+0x10]
-       jae      SHORT G_M12834_IG13
+       mov      edx, dword ptr [r14+0x14]
+       cmp      r15d, edx
+       jne      SHORT G_M12834_IG11
+       mov      edx, dword ptr [r14+0x10]
+       cmp      r13d, edx
+       jae      SHORT G_M12834_IG12
        mov      rdx, gword ptr [r14+0x08]
        ; gcrRegs +[rdx]
        cmp      r13d, dword ptr [rdx+0x08]
@@ -209,7 +211,7 @@ G_M12834_IG09:        ; bbWeight=8, gcrefRegs=40C0 {rsi rdi r14}, byrefRegs=0000
        mov      rdx, gword ptr [rdx+8*r8+0x10]
        inc      r13d
        jmp      SHORT G_M12834_IG07
-                      ;; size=38 bbWeight=8 PerfScore 142.00
+                        ;; size=41 bbWeight=8 PerfScore 136.00
 G_M12834_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdx rsi rdi r14]
        call     [CORINFO_HELP_RNGCHKFAIL]
@@ -221,12 +223,8 @@ G_M12834_IG11:        ; bbWeight=0, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byr
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M12834_IG12:        ; bbWeight=8, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref, isz
+G_M12834_IG12:        ; bbWeight=8, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rsi]
-       cmp      r15d, r12d
-       jne      SHORT G_M12834_IG11
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M12834_IG13:        ; bbWeight=8, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {}, byref
        mov      rcx, rdi
        ; gcrRegs +[rcx]
        mov      edx, ebx
@@ -235,108 +233,106 @@ G_M12834_IG13:        ; bbWeight=8, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0000 {},
        call     [<unknown method>]
        ; gcrRegs -[rcx rsi r8]
        ; gcr arg pop 0
-       mov      dword ptr [rbp-0x3C], eax
+       mov      dword ptr [rbp-0x34], eax
                        ;; size=17 bbWeight=8 PerfScore 38.00
-G_M12834_IG14:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+G_M12834_IG13:        ; bbWeight=1, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        mov      rcx, rsp
-       call     G_M12834_IG18
+       call     G_M12834_IG17
        ; gcrRegs -[rdi]
                        ;; size=8 bbWeight=1 PerfScore 1.25
-G_M12834_IG15:        ; bbWeight=1, nogc, extend
+G_M12834_IG14:        ; bbWeight=1, nogc, extend
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
-G_M12834_IG16:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M12834_IG15:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V00 V04}
-       mov      eax, dword ptr [rbp-0x3C]
+       mov      eax, dword ptr [rbp-0x34]
                       ;; size=3 bbWeight=1 PerfScore 1.00
-G_M12834_IG17:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 56
+G_M12834_IG16:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 64
        pop      rbx
        pop      rsi
        pop      rdi
-       pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=17 bbWeight=1 PerfScore 5.25
-G_M12834_IG18:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                        ;; size=15 bbWeight=1 PerfScore 4.75
+G_M12834_IG17:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        push     rbp
        push     r15
        push     r14
        push     r13
-       push     r12
        push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 40
+       sub      rsp, 48
        mov      rbp, qword ptr [rcx+0x20]
        mov      qword ptr [rsp+0x20], rbp
        lea      rbp, [rbp+0x70]
-                      ;; size=29 bbWeight=1 PerfScore 11.75
-G_M12834_IG19:        ; bbWeight=1, gcVars=0000000000020020 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+                      ;; size=27 bbWeight=1 PerfScore 10.75
+G_M12834_IG18:        ; bbWeight=1, gcVars=0000000000040010 {V00 V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        ; GC ptr vars +{V00 V04}
-       cmp      dword ptr [rbp-0x3C], 0
-       jne      SHORT G_M12834_IG24
+       cmp      dword ptr [rbp-0x34], 0
+       jne      SHORT G_M12834_IG23
        mov      rcx, gword ptr [rbp+0x10]
        ; gcrRegs +[rcx]
        mov      rbx, rcx
        ; gcrRegs +[rbx]
        mov      esi, dword ptr [rbx+0x14]
        xor      edi, edi
-       jmp      SHORT G_M12834_IG21
+       jmp      SHORT G_M12834_IG20
                      ;; size=20 bbWeight=1 PerfScore 8.50
-G_M12834_IG20:        ; bbWeight=4, gcVars=0000000000000020 {V04}, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M12834_IG19:        ; bbWeight=4, gcVars=0000000000000010 {V04}, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, gcvars, byref, isz
        ; GC ptr vars -{V00}
        test     dword ptr [rcx+0x34], 0xD1FFAB1E
-       jne      SHORT G_M12834_IG21
-       mov      rdx, gword ptr [rbp-0x48]
+       jne      SHORT G_M12834_IG20
+       mov      rdx, gword ptr [rbp-0x40]
        ; gcrRegs +[rdx]
...
  
+3 (+0.44%) : 32552.dasm - System.Diagnostics.Tracing.CounterGroup:PollForValues() (FullOpts)
@@ -9,81 +9,83 @@
 ; 0 inlinees with PGO data; 21 single block inlinees; 13 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T31] (  3, 24   )     ref  ->  r14         class-hnd <<unknown class>>
-;  V01 loc1         [V01,T00] ( 15,333   )     ref  ->  rbx         class-hnd exact single-def <<unknown class>>
-;  V02 loc2         [V02,T10] (  9, 84   )     int  ->  rdi        
-;  V03 loc3         [V03,T33] (  4, 20   )     ref  ->  [rbp-0x60]  do-not-enreg[Z] class-hnd EH-live <System.Object>
+;  V00 loc0         [V00,T33] (  3, 24   )     ref  ->  r14         class-hnd <<unknown class>>
+;  V01 loc1         [V01,T00] ( 14,301   )     ref  ->  rbx         class-hnd exact single-def <<unknown class>>
+;  V02 loc2         [V02,T11] (  9, 84   )     int  ->  rdi        
+;  V03 loc3         [V03,T35] (  4, 20   )     ref  ->  [rbp-0x60]  do-not-enreg[Z] class-hnd EH-live <System.Object>
 ;  V04 loc4         [V04    ] (  6, 40   )   ubyte  ->  [rbp-0x40]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V05 loc5         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Diagnostics.Tracing.CounterGroup]>
 ;* V06 loc6         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Diagnostics.Tracing.CounterGroup>
 ;* V07 loc7         [V07    ] (  0,  0   )  struct ( 8) zero-ref    <System.DateTime>
-;  V08 loc8         [V08,T22] (  3, 48   )     int  ->  rcx        
+;  V08 loc8         [V08,T24] (  3, 48   )     int  ->  rcx        
 ;  V09 loc9         [V09    ] (  2, 32   )  struct ( 8) [rbp-0x48]  do-not-enreg[XS] addr-exposed ld-addr-op <System.TimeSpan>
 ;* V10 loc10        [V10    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Diagnostics.Tracing.CounterGroup]>
 ;* V11 loc11        [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Diagnostics.Tracing.CounterGroup>
 ;  V12 OutArgs      [V12    ] (  1,  1   )  struct (40) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V13 tmp1         [V13,T42] (  3,  6   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V13 tmp1         [V13,T44] (  3,  6   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
 ;* V14 tmp2         [V14    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.TimeSpan>
 ;* V15 tmp3         [V15    ] (  0,  0   )  struct ( 8) zero-ref    "impAppendStmt" <System.DateTime>
 ;* V16 tmp4         [V16    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.DateTime>
-;  V17 tmp5         [V17,T25] (  2, 32   )   ubyte  ->  rcx         "Inlining Arg"
-;  V18 tmp6         [V18,T24] (  2, 32   )     ref  ->  r15         class-hnd "Inlining Arg" <<unknown class>>
+;  V17 tmp5         [V17,T27] (  2, 32   )   ubyte  ->  rcx         "Inlining Arg"
+;  V18 tmp6         [V18,T26] (  2, 32   )     ref  ->  r15         class-hnd "Inlining Arg" <<unknown class>>
 ;* V19 tmp7         [V19    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Diagnostics.Tracing.CounterGroup]>
 ;* V20 tmp8         [V20    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V21 tmp9         [V21    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.DateTime>
 ;* V22 tmp10        [V22    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.DateTime>
 ;* V23 tmp11        [V23    ] (  0,  0   )    long  ->  zero-ref    "impAppendStmt"
-;  V24 tmp12        [V24,T21] (  3, 48   )     ref  ->  rcx         class-hnd exact "Inline stloc first use temp" <<unknown class>>
-;  V25 tmp13        [V25,T15] (  4, 64   )     int  ->  rdx         "Inline stloc first use temp"
+;  V24 tmp12        [V24,T23] (  3, 48   )     ref  ->  rcx         class-hnd exact "Inline stloc first use temp" <<unknown class>>
+;  V25 tmp13        [V25,T17] (  4, 64   )     int  ->  rdx         "Inline stloc first use temp"
 ;* V26 tmp14        [V26    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.DateTime>
 ;* V27 tmp15        [V27    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.DateTime>
 ;* V28 tmp16        [V28    ] (  0,  0   )    long  ->  zero-ref    "impAppendStmt"
 ;* V29 tmp17        [V29    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.TimeSpan>
 ;* V30 tmp18        [V30    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;  V31 tmp19        [V31,T16] (  4, 64   )     int  ->  rcx         "Inline return value spill temp"
-;  V32 tmp20        [V32,T23] (  3, 48   )     int  ->  rcx         "Inline return value spill temp"
-;* V33 tmp21        [V33,T17] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V31 tmp19        [V31,T18] (  4, 64   )     int  ->  rcx         "Inline return value spill temp"
+;  V32 tmp20        [V32,T25] (  3, 48   )     int  ->  rcx         "Inline return value spill temp"
+;* V33 tmp21        [V33,T19] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V34 tmp22        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;* V35 tmp23        [V35    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Diagnostics.Tracing.CounterGroup]>
-;* V36 tmp24        [V36,T18] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V36 tmp24        [V36,T20] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V37 tmp25        [V37    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V38 tmp26        [V38,T14] (  3, 68   )     int  ->   r8         "Inline stloc first use temp"
+;  V38 tmp26        [V38,T16] (  3, 68   )     int  ->   r8         "Inline stloc first use temp"
 ;* V39 tmp27        [V39    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V40 tmp28        [V40,T38] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
-;  V41 tmp29        [V41,T05] (  4,136   )     ref  ->  r15         "field V05._list (fldOffset=0x0)" P-INDEP
-;  V42 tmp30        [V42,T07] (  5,112   )     ref  ->  [rbp-0x68]  spill-single-def "field V05._current (fldOffset=0x8)" P-INDEP
+;* V40 tmp28        [V40,T40] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
+;  V41 tmp29        [V41,T07] (  4,136   )     ref  ->  r15         "field V05._list (fldOffset=0x0)" P-INDEP
+;  V42 tmp30        [V42,T06] (  5,112   )     ref  ->  [rbp-0x68]  spill-single-def "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V43 tmp31        [V43,T01] (  6,168   )     int  ->  r12         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V44 tmp32        [V44,T09] (  3,104   )     int  ->  r13         "field V05._version (fldOffset=0x14)" P-INDEP
-;  V45 tmp33        [V45,T12] (  3, 80   )    long  ->  [rbp-0x50]  spill-single-def "field V07._dateData (fldOffset=0x0)" P-INDEP
+;  V44 tmp32        [V44,T14] (  2, 72   )     int  ->  r13         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V45 tmp33        [V45,T13] (  3, 80   )    long  ->  [rbp-0x50]  spill-single-def "field V07._dateData (fldOffset=0x0)" P-INDEP
 ;  V46 tmp34        [V46    ] (  2, 32   )    long  ->  [rbp-0x48]  do-not-enreg[X] addr-exposed "field V09._ticks (fldOffset=0x0)" P-DEP
-;* V47 tmp35        [V47,T39] (  0,  0   )     ref  ->  zero-ref    "field V10._list (fldOffset=0x0)" P-INDEP
-;  V48 tmp36        [V48,T11] (  2, 48   )     ref  ->  rcx         "field V10._current (fldOffset=0x8)" P-INDEP
+;* V47 tmp35        [V47,T41] (  0,  0   )     ref  ->  zero-ref    "field V10._list (fldOffset=0x0)" P-INDEP
+;  V48 tmp36        [V48,T12] (  2, 48   )     ref  ->  rcx         "field V10._current (fldOffset=0x8)" P-INDEP
 ;  V49 tmp37        [V49,T02] (  6,168   )     int  ->  r13         "field V10._index (fldOffset=0x10)" P-INDEP
-;  V50 tmp38        [V50,T13] (  2, 72   )     int  ->  r15         "field V10._version (fldOffset=0x14)" P-INDEP
-;* V51 tmp39        [V51,T29] (  0,  0   )    long  ->  zero-ref    "field V14._ticks (fldOffset=0x0)" P-INDEP
-;  V52 tmp40        [V52,T19] (  2, 64   )    long  ->  [rbp-0x58]  spill-single-def "field V15._dateData (fldOffset=0x0)" P-INDEP
-;  V53 tmp41        [V53,T20] (  2, 64   )    long  ->  rax         "field V16._dateData (fldOffset=0x0)" P-INDEP
-;  V54 tmp42        [V54,T32] (  3, 24   )     ref  ->  r15         "field V19._list (fldOffset=0x0)" P-INDEP
+;  V50 tmp38        [V50,T15] (  2, 72   )     int  ->  r15         "field V10._version (fldOffset=0x14)" P-INDEP
+;* V51 tmp39        [V51,T31] (  0,  0   )    long  ->  zero-ref    "field V14._ticks (fldOffset=0x0)" P-INDEP
+;  V52 tmp40        [V52,T21] (  2, 64   )    long  ->  [rbp-0x58]  spill-single-def "field V15._dateData (fldOffset=0x0)" P-INDEP
+;  V53 tmp41        [V53,T22] (  2, 64   )    long  ->  rax         "field V16._dateData (fldOffset=0x0)" P-INDEP
+;  V54 tmp42        [V54,T34] (  3, 24   )     ref  ->  r15         "field V19._list (fldOffset=0x0)" P-INDEP
 ;* V55 tmp43        [V55    ] (  0,  0   )     ref  ->  zero-ref    "field V19._current (fldOffset=0x8)" P-INDEP
-;* V56 tmp44        [V56,T40] (  0,  0   )     int  ->  zero-ref    "field V19._index (fldOffset=0x10)" P-INDEP
-;  V57 tmp45        [V57,T35] (  2, 16   )     int  ->  r13         "field V19._version (fldOffset=0x14)" P-INDEP
+;* V56 tmp44        [V56,T42] (  0,  0   )     int  ->  zero-ref    "field V19._index (fldOffset=0x10)" P-INDEP
+;  V57 tmp45        [V57,T37] (  2, 16   )     int  ->  r13         "field V19._version (fldOffset=0x14)" P-INDEP
 ;* V58 tmp46        [V58    ] (  0,  0   )    long  ->  zero-ref    "field V21._dateData (fldOffset=0x0)" P-INDEP
 ;* V59 tmp47        [V59    ] (  0,  0   )    long  ->  zero-ref    "field V22._dateData (fldOffset=0x0)" P-INDEP
-;  V60 tmp48        [V60,T26] (  2, 32   )    long  ->  rcx         "field V26._dateData (fldOffset=0x0)" P-INDEP
+;  V60 tmp48        [V60,T28] (  2, 32   )    long  ->  rcx         "field V26._dateData (fldOffset=0x0)" P-INDEP
 ;* V61 tmp49        [V61    ] (  0,  0   )    long  ->  zero-ref    "field V27._dateData (fldOffset=0x0)" P-INDEP
-;  V62 tmp50        [V62,T27] (  2, 32   )    long  ->  rcx         "field V29._ticks (fldOffset=0x0)" P-INDEP
-;  V63 tmp51        [V63,T34] (  2, 16   )     ref  ->  rcx         "field V35._list (fldOffset=0x0)" P-INDEP
+;  V62 tmp50        [V62,T29] (  2, 32   )    long  ->  rcx         "field V29._ticks (fldOffset=0x0)" P-INDEP
+;  V63 tmp51        [V63,T36] (  2, 16   )     ref  ->  rcx         "field V35._list (fldOffset=0x0)" P-INDEP
 ;* V64 tmp52        [V64    ] (  0,  0   )     ref  ->  zero-ref    "field V35._current (fldOffset=0x8)" P-INDEP
-;* V65 tmp53        [V65,T41] (  0,  0   )     int  ->  zero-ref    "field V35._index (fldOffset=0x10)" P-INDEP
-;  V66 tmp54        [V66,T36] (  2, 16   )     int  ->  r15         "field V35._version (fldOffset=0x14)" P-INDEP
+;* V65 tmp53        [V65,T43] (  0,  0   )     int  ->  zero-ref    "field V35._index (fldOffset=0x10)" P-INDEP
+;  V66 tmp54        [V66,T38] (  2, 16   )     int  ->  r15         "field V35._version (fldOffset=0x14)" P-INDEP
 ;  V67 tmp55        [V67,T03] (  3,192   )     ref  ->  rax         "arr expr"
 ;  V68 tmp56        [V68,T04] (  3,192   )     ref  ->  rcx         "arr expr"
-;  V69 PSPSym       [V69,T43] (  1,  1   )    long  ->  [rbp-0x78]  do-not-enreg[V] "PSPSym"
-;  V70 cse0         [V70,T30] (  4, 25   )   byref  ->  rsi         hoist "CSE - moderate"
-;  V71 cse1         [V71,T37] (  3, 12   )     ref  ->  rdx         "CSE - conservative"
+;  V69 PSPSym       [V69,T45] (  1,  1   )    long  ->  [rbp-0x78]  do-not-enreg[V] "PSPSym"
+;  V70 cse0         [V70,T32] (  4, 25   )   byref  ->  rsi         hoist "CSE - moderate"
+;  V71 cse1         [V71,T39] (  3, 12   )     ref  ->  rdx         "CSE - conservative"
 ;  V72 cse2         [V72,T08] (  3, 96   )     int  ->   r8         "CSE - aggressive"
-;  V73 cse3         [V73,T06] (  3,160   )     int  ->  rax         "CSE - aggressive"
-;  V74 cse4         [V74,T28] (  2, 32   )     int  ->  rax         "CSE - moderate"
+;  V73 cse3         [V73,T05] (  3,160   )     int  ->  r12         "CSE - aggressive"
+;  V74 cse4         [V74,T10] (  2, 64   )     int  ->  rax         "CSE - moderate"
+;  V75 cse5         [V75,T09] (  2,128   )     int  ->  rax         "CSE - aggressive"
+;  V76 cse6         [V76,T30] (  2, 32   )     int  ->  rax         "CSE - moderate"
 ;
 ; Lcl frame size = 104
 
@@ -134,7 +136,7 @@ G_M58893_IG03:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi},
        ; gcrRegs -[rdx]
        mov      dword ptr [rbp-0x40], edx
                        ;; size=21 bbWeight=8 PerfScore 36.00
-G_M58893_IG04:        ; bbWeight=8, gcVars=0000000200000000 {V03}, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, gcvars, byref, isz
+G_M58893_IG04:        ; bbWeight=8, gcVars=0000000800000000 {V03}, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi}, gcvars, byref, isz
        cmp      byte  ptr [rbp-0x40], 0
        jne      G_M58893_IG13
        lea      rdx, [rbp-0x40]
@@ -168,15 +170,16 @@ G_M58893_IG06:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0040 {rsi},
 G_M58893_IG07:        ; bbWeight=64, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0040 {rsi}, byref
        mov      eax, dword ptr [r15+0x14]
        cmp      r13d, eax
-       jne      G_M58893_IG17
+       jne      G_M58893_IG18
                         ;; size=13 bbWeight=64 PerfScore 208.00
 G_M58893_IG08:        ; bbWeight=32, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0040 {rsi}, byref, isz
-       cmp      r12d, dword ptr [r15+0x10]
-       jae      G_M58893_IG20
+       mov      eax, dword ptr [r15+0x10]
+       cmp      r12d, eax
+       jae      G_M58893_IG19
        mov      rax, gword ptr [r15+0x08]
        ; gcrRegs +[rax]
        cmp      r12d, dword ptr [rax+0x08]
-       jae      G_M58893_IG18
+       jae      G_M58893_IG17
        mov      ecx, r12d
        mov      rax, gword ptr [rax+8*rcx+0x10]
        mov      gword ptr [rbp-0x68], rax
@@ -201,7 +204,7 @@ G_M58893_IG08:        ; bbWeight=32, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=004
        and      rdx, rax
        cmp      rcx, rdx
        jge      SHORT G_M58893_IG10
-                      ;; size=107 bbWeight=32 PerfScore 928.00
+                      ;; size=110 bbWeight=32 PerfScore 904.00
 G_M58893_IG09:        ; bbWeight=16, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0040 {rsi}, byref, isz
        inc      dword ptr [rbx+0x14]
        mov      rcx, gword ptr [rbx+0x08]
@@ -254,7 +257,7 @@ G_M58893_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M58893_IG14:        ; bbWeight=16, gcVars=0000000200000080 {V03 V42}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0040 {rsi}, gcvars, byref, isz
+G_M58893_IG14:        ; bbWeight=16, gcVars=0000000800000040 {V03 V42}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0040 {rsi}, gcvars, byref, isz
        ; gcrRegs +[rbx r14-r15]
        ; byrRegs +[rsi]
        ; GC ptr vars +{V42}
@@ -267,7 +270,7 @@ G_M58893_IG14:        ; bbWeight=16, gcVars=0000000200000080 {V03 V42}, gcrefReg
        ; gcr arg pop 0
        jmp      SHORT G_M58893_IG10
                        ;; size=15 bbWeight=16 PerfScore 100.00
-G_M58893_IG15:        ; bbWeight=16, gcVars=0000000200000000 {V03}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0040 {rsi}, gcvars, byref, isz
+G_M58893_IG15:        ; bbWeight=16, gcVars=0000000800000000 {V03}, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0040 {rsi}, gcvars, byref, isz
        ; GC ptr vars -{V42}
        mov      ecx, 1
        jmp      SHORT G_M58893_IG11
@@ -276,30 +279,24 @@ G_M58893_IG16:        ; bbWeight=16, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=004
        mov      ecx, edi
        jmp      SHORT G_M58893_IG12
                        ;; size=4 bbWeight=16 PerfScore 36.00
-G_M58893_IG17:        ; bbWeight=32, gcrefRegs=4008 {rbx r14}, byrefRegs=0040 {rsi}, byref, isz
-       ; gcrRegs -[r15]
-       cmp      r13d, eax
-       jne      SHORT G_M58893_IG19
-       jmp      SHORT G_M58893_IG20
-                       ;; size=7 bbWeight=32 PerfScore 104.00
-G_M58893_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       ; gcrRegs -[rbx r14]
+G_M58893_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[rbx r14-r15]
        ; byrRegs -[rsi]
        call     [CORINFO_HELP_RNGCHKFAIL]
        ; gcr arg pop 0
                        ;; size=6 bbWeight=0 PerfScore 0.00
-G_M58893_IG19:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M58893_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()]
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M58893_IG20:        ; bbWeight=8, gcrefRegs=4008 {rbx r14}, byrefRegs=0040 {rsi}, byref, isz
+G_M58893_IG19:        ; bbWeight=8, gcrefRegs=4008 {rbx r14}, byrefRegs=0040 {rsi}, byref, isz
        ; gcrRegs +[rbx r14]
        ; byrRegs +[rsi]
        cmp      byte  ptr [rbp-0x40], 0
-       je       SHORT G_M58893_IG22
+       je       SHORT G_M58893_IG21
                       ;; size=6 bbWeight=8 PerfScore 24.00
-G_M58893_IG21:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=0040 {rsi}, byref
+G_M58893_IG20:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=0040 {rsi}, byref
        mov      rcx, gword ptr [rbp-0x60]
        ; gcrRegs +[rcx]
        ; GC ptr vars -{V03}
@@ -307,45 +304,47 @@ G_M58893_IG21:        ; bbWeight=4, gcrefRegs=4008 {rbx r14}, byrefRegs=0040 {rs
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
                        ;; size=10 bbWeight=4 PerfScore 16.00
-G_M58893_IG22:        ; bbWeight=8, gcrefRegs=4008 {rbx r14}, byrefRegs=0040 {rsi}, byref, isz
+G_M58893_IG21:        ; bbWeight=8, gcrefRegs=4008 {rbx r14}, byrefRegs=0040 {rsi}, byref, isz
        mov      rcx, rbx
        ; gcrRegs +[rcx]
        mov      r15d, dword ptr [rcx+0x14]
        xor      r13d, r13d
-       jmp      SHORT G_M58893_IG24
+       jmp      SHORT G_M58893_IG23
                        ;; size=12 bbWeight=8 PerfScore 36.00
-G_M58893_IG23:        ; bbWeight=16, gcrefRegs=400A {rcx rbx r14}, byrefRegs=0040 {rsi}, byref
+G_M58893_IG22:        ; bbWeight=16, gcrefRegs=400A {rcx rbx r14}, byrefRegs=0040 {rsi}, byref
        cmp      dword ptr [rcx], ecx
        call     [<unknown method>]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
                        ;; size=8 bbWeight=16 PerfScore 96.00
-G_M58893_IG24:        ; bbWeight=64, gcrefRegs=4008 {rbx r14}, byrefRegs=0040 {rsi}, byref, isz
-       cmp      r15d, dword ptr [rbx+0x14]
-       jne      SHORT G_M58893_IG32
-                       ;; size=6 bbWeight=64 PerfScore 256.00
-G_M58893_IG25:        ; bbWeight=32, gcrefRegs=4008 {rbx r14}, byrefRegs=0040 {rsi}, byref, isz
+G_M58893_IG23:        ; bbWeight=64, gcrefRegs=4008 {rbx r14}, byrefRegs=0040 {rsi}, byref, isz
+       mov      r12d, dword ptr [rbx+0x14]
+       cmp      r15d, r12d
+       jne      SHORT G_M58893_IG31
+                       ;; size=9 bbWeight=64 PerfScore 208.00
+G_M58893_IG24:        ; bbWeight=32, gcrefRegs=4008 {rbx r14}, byrefRegs=0040 {rsi}, byref, isz
        mov      r8d, dword ptr [rbx+0x10]
        cmp      r13d, r8d
...
  
+7 (+0.87%) : 32468.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
@@ -9,54 +9,55 @@
 ; 0 inlinees with PGO data; 12 single block inlinees; 13 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 loc0         [V00,T14] (  8, 260   )     ref  ->  rsi         class-hnd exact single-def <<unknown class>>
-;  V01 loc1         [V01,T00] ( 16,1249   )     ref  ->  rdi         class-hnd single-def <<unknown class>>
+;  V00 loc0         [V00,T15] (  8, 260   )     ref  ->  rsi         class-hnd exact single-def <<unknown class>>
+;  V01 loc1         [V01,T01] ( 15,1121   )     ref  ->  rdi         class-hnd single-def <<unknown class>>
 ;  V02 loc2         [V02,T05] (  9, 641   )     ref  ->  rbx         class-hnd single-def <<unknown class>>
 ;  V03 loc3         [V03,T08] (  8, 392   )     int  ->  registers  
-;  V04 loc4         [V04,T38] (  2,   0   )     ref  ->  [rbp-0x50]  class-hnd exact EH-live single-def <<unknown class>>
+;  V04 loc4         [V04,T39] (  2,   0   )     ref  ->  [rbp-0x50]  class-hnd exact EH-live single-def <<unknown class>>
 ;  V05 loc5         [V05    ] (  6,   5   )   ubyte  ->  [rbp-0x40]  do-not-enreg[X] addr-exposed ld-addr-op
-;  V06 loc6         [V06,T25] (  2, 192   )    long  ->  r14        
-;  V07 loc7         [V07,T28] (  3,  80   )     ref  ->  [rbp-0x58]  do-not-enreg[Z] class-hnd exact EH-live <<unknown class>>
+;  V06 loc6         [V06,T26] (  2, 192   )    long  ->  r14        
+;  V07 loc7         [V07,T29] (  3,  80   )     ref  ->  [rbp-0x58]  do-not-enreg[Z] class-hnd exact EH-live <<unknown class>>
 ;  V08 loc8         [V08    ] (  6, 320   )   ubyte  ->  [rbp-0x48]  do-not-enreg[X] addr-exposed ld-addr-op
-;  V09 loc9         [V09,T01] ( 12,1152   )     int  ->  r13        
+;  V09 loc9         [V09,T00] ( 12,1152   )     int  ->  r13        
 ;  V10 loc10        [V10,T07] (  5, 448   )     ref  ->  rdx         class-hnd exact <System.Threading.TimerQueue>
 ;  V11 loc11        [V11,T10] (  4, 384   )    long  ->  rax        
 ;  V12 loc12        [V12,T09] (  6, 384   )     int  ->  r12        
 ;* V13 loc13        [V13    ] (  0,   0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Threading.TimerQueue]>
 ;* V14 loc14        [V14    ] (  0,   0   )     ref  ->  zero-ref    class-hnd exact <System.Threading.TimerQueue>
 ;  V15 OutArgs      [V15    ] (  1,   1   )  struct (40) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V16 tmp1         [V16,T36] (  2,   4   )   ubyte  ->  rcx         "Inlining Arg"
+;  V16 tmp1         [V16,T37] (  2,   4   )   ubyte  ->  rcx         "Inlining Arg"
 ;* V17 tmp2         [V17    ] (  0,   0   )     int  ->  zero-ref    ld-addr-op "Inlining Arg"
-;* V18 tmp3         [V18,T30] (  0,   0   )     int  ->  zero-ref    "Inline return value spill temp"
-;  V19 tmp4         [V19,T20] (  2, 256   )   ubyte  ->  rcx         "Inlining Arg"
-;  V20 tmp5         [V20,T22] (  3, 192   )     ref  ->  rcx         class-hnd exact "Inline stloc first use temp" <<unknown class>>
-;  V21 tmp6         [V21,T15] (  4, 256   )     int  ->  rax         "Inline stloc first use temp"
-;  V22 tmp7         [V22,T17] (  2, 256   )     ref  ->  rax         class-hnd exact "Inlining Arg" <System.Threading.TimerQueue>
+;* V18 tmp3         [V18,T31] (  0,   0   )     int  ->  zero-ref    "Inline return value spill temp"
+;  V19 tmp4         [V19,T21] (  2, 256   )   ubyte  ->  rcx         "Inlining Arg"
+;  V20 tmp5         [V20,T23] (  3, 192   )     ref  ->  rcx         class-hnd exact "Inline stloc first use temp" <<unknown class>>
+;  V21 tmp6         [V21,T16] (  4, 256   )     int  ->  rax         "Inline stloc first use temp"
+;  V22 tmp7         [V22,T18] (  2, 256   )     ref  ->  rax         class-hnd exact "Inlining Arg" <System.Threading.TimerQueue>
 ;* V23 tmp8         [V23    ] (  0,   0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Threading.TimerQueue]>
-;* V24 tmp9         [V24,T21] (  0,   0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V24 tmp9         [V24,T22] (  0,   0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V25 tmp10        [V25    ] (  0,   0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V26 tmp11        [V26,T13] (  3, 272   )     int  ->   r8         "Inline stloc first use temp"
-;* V27 tmp12        [V27,T33] (  0,   0   )     ref  ->  zero-ref    "field V13._list (fldOffset=0x0)" P-INDEP
-;  V28 tmp13        [V28,T12] (  2, 192   )     ref  ->  r12         "field V13._current (fldOffset=0x8)" P-INDEP
+;  V26 tmp11        [V26,T14] (  3, 272   )     int  ->   r8         "Inline stloc first use temp"
+;* V27 tmp12        [V27,T34] (  0,   0   )     ref  ->  zero-ref    "field V13._list (fldOffset=0x0)" P-INDEP
+;  V28 tmp13        [V28,T13] (  2, 192   )     ref  ->  r12         "field V13._current (fldOffset=0x8)" P-INDEP
 ;  V29 tmp14        [V29,T02] (  6, 656   )     int  ->  r13         "field V13._index (fldOffset=0x10)" P-INDEP
-;  V30 tmp15        [V30,T26] (  2, 144   )     int  ->  r14         "field V13._version (fldOffset=0x14)" P-INDEP
-;  V31 tmp16        [V31,T31] (  2,  32   )     ref  ->  rax         "field V23._list (fldOffset=0x0)" P-INDEP
+;  V30 tmp15        [V30,T27] (  2, 144   )     int  ->  r14         "field V13._version (fldOffset=0x14)" P-INDEP
+;  V31 tmp16        [V31,T32] (  2,  32   )     ref  ->  rax         "field V23._list (fldOffset=0x0)" P-INDEP
 ;* V32 tmp17        [V32    ] (  0,   0   )     ref  ->  zero-ref    "field V23._current (fldOffset=0x8)" P-INDEP
-;* V33 tmp18        [V33,T34] (  0,   0   )     int  ->  zero-ref    "field V23._index (fldOffset=0x10)" P-INDEP
-;  V34 tmp19        [V34,T32] (  2,  32   )     int  ->  r14         "field V23._version (fldOffset=0x14)" P-INDEP
+;* V33 tmp18        [V33,T35] (  0,   0   )     int  ->  zero-ref    "field V23._index (fldOffset=0x10)" P-INDEP
+;  V34 tmp19        [V34,T33] (  2,  32   )     int  ->  r14         "field V23._version (fldOffset=0x14)" P-INDEP
 ;  V35 tmp20        [V35,T03] (  3, 768   )     ref  ->  rcx         "arr expr"
 ;  V36 tmp21        [V36,T11] (  3, 384   )     ref  ->  rax         "arr expr"
-;  V37 tmp22        [V37,T18] (  2, 256   )     ref  ->  rdx         "arr expr"
+;  V37 tmp22        [V37,T19] (  2, 256   )     ref  ->  rdx         "arr expr"
 ;  V38 tmp23        [V38,T04] (  3, 768   )     ref  ->  rax         "arr expr"
-;  V39 tmp24        [V39,T19] (  2, 256   )     ref  ->  rcx         "argument with side effect"
-;  V40 PSPSym       [V40,T37] (  1,   1   )    long  ->  [rbp-0x68]  do-not-enreg[V] "PSPSym"
-;  V41 cse0         [V41,T35] (  4,   4   )   byref  ->  rbx         "CSE - moderate"
-;  V42 cse1         [V42,T29] (  6,  51   )     ref  ->  rdx         multi-def "CSE - moderate"
-;  V43 cse2         [V43,T06] (  3, 384   )     int  ->   r8         "CSE - aggressive"
-;  V44 cse3         [V44,T16] (  4, 256   )     int  ->  rcx         "CSE - moderate"
-;  V45 cse4         [V45,T23] (  3, 192   )     ref  ->  rdx         "CSE - moderate"
-;  V46 cse5         [V46,T27] (  2, 128   )     int  ->   r8         "CSE - moderate"
-;  V47 cse6         [V47,T24] (  3, 192   )     int  ->   r8         "CSE - moderate"
+;  V39 tmp24        [V39,T20] (  2, 256   )     ref  ->  rcx         "argument with side effect"
+;  V40 PSPSym       [V40,T38] (  1,   1   )    long  ->  [rbp-0x68]  do-not-enreg[V] "PSPSym"
+;  V41 cse0         [V41,T36] (  4,   4   )   byref  ->  rbx         "CSE - moderate"
+;  V42 cse1         [V42,T30] (  6,  51   )     ref  ->  rdx         multi-def "CSE - moderate"
+;  V43 cse2         [V43,T12] (  3, 384   )     int  ->  r12         "CSE - aggressive"
+;  V44 cse3         [V44,T06] (  3, 384   )     int  ->   r8         "CSE - aggressive"
+;  V45 cse4         [V45,T17] (  4, 256   )     int  ->  rcx         "CSE - moderate"
+;  V46 cse5         [V46,T24] (  3, 192   )     ref  ->  rdx         "CSE - moderate"
+;  V47 cse6         [V47,T28] (  2, 128   )     int  ->   r8         "CSE - moderate"
+;  V48 cse7         [V48,T25] (  3, 192   )     int  ->   r8         "CSE - moderate"
 ;
 ; Lcl frame size = 88
 
@@ -88,7 +89,7 @@ G_M45973_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        xor      edx, edx
        mov      dword ptr [rbp-0x40], edx
                        ;; size=32 bbWeight=1 PerfScore 9.50
-G_M45973_IG03:        ; bbWeight=1, gcVars=0000004000000000 {V04}, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0008 {rbx}, gcvars, byref, isz
+G_M45973_IG03:        ; bbWeight=1, gcVars=0000008000000000 {V04}, gcrefRegs=00C0 {rsi rdi}, byrefRegs=0008 {rbx}, gcvars, byref, isz
        ; byrRegs -[rax]
        cmp      byte  ptr [rbp-0x40], 0
        je       SHORT G_M45973_IG05
@@ -163,7 +164,7 @@ G_M45973_IG09:        ; bbWeight=64, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=000
        xor      edx, edx
        mov      dword ptr [rbp-0x48], edx
                        ;; size=61 bbWeight=64 PerfScore 976.00
-G_M45973_IG10:        ; bbWeight=64, gcVars=0000000010000000 {V07}, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M45973_IG10:        ; bbWeight=64, gcVars=0000000020000000 {V07}, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, gcvars, byref, isz
        cmp      byte  ptr [rbp-0x48], 0
        jne      G_M45973_IG23
        lea      rdx, [rbp-0x48]
@@ -341,7 +342,8 @@ G_M45973_IG28:        ; bbWeight=64, gcrefRegs=10C8 {rbx rsi rdi r12}, byrefRegs
        ; gcr arg pop 0
                        ;; size=24 bbWeight=64 PerfScore 720.00
 G_M45973_IG29:        ; bbWeight=128, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
-       cmp      r14d, dword ptr [rdi+0x14]
+       mov      r12d, dword ptr [rdi+0x14]
+       cmp      r14d, r12d
        jne      SHORT G_M45973_IG36
        mov      r8d, dword ptr [rdi+0x10]
        cmp      r13d, r8d
@@ -355,15 +357,16 @@ G_M45973_IG29:        ; bbWeight=128, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=00
        ; gcrRegs +[r12]
        inc      r13d
        jmp      SHORT G_M45973_IG28
-                      ;; size=38 bbWeight=128 PerfScore 2272.00
+                     ;; size=41 bbWeight=128 PerfScore 2176.00
 G_M45973_IG30:        ; bbWeight=128, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax r12]
-       inc      dword ptr [rdi+0x14]
+       inc      r12d
+       mov      dword ptr [rdi+0x14], r12d
        xor      ecx, ecx
        mov      dword ptr [rdi+0x10], ecx
        test     r8d, r8d
        jle      SHORT G_M45973_IG32
-                      ;; size=13 bbWeight=128 PerfScore 704.00
+                      ;; size=17 bbWeight=128 PerfScore 480.00
 G_M45973_IG31:        ; bbWeight=16, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref
        mov      rcx, gword ptr [rdi+0x08]
        ; gcrRegs +[rcx]
@@ -401,8 +404,8 @@ G_M45973_IG36:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M45973_IG37:        ; bbWeight=0, gcVars=0000004000000000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-       ; GC ptr vars +{V04 V38}
+G_M45973_IG37:        ; bbWeight=0, gcVars=0000008000000000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+       ; GC ptr vars +{V04 V39}
        push     rbp
        push     r15
        push     r14
@@ -416,12 +419,12 @@ G_M45973_IG37:        ; bbWeight=0, gcVars=0000004000000000 {V04}, gcrefRegs=000
        mov      qword ptr [rsp+0x28], rbp
        lea      rbp, [rbp+0x90]
                        ;; size=32 bbWeight=0 PerfScore 0.00
-G_M45973_IG38:        ; bbWeight=0, gcVars=0000004000000000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M45973_IG38:        ; bbWeight=0, gcVars=0000008000000000 {V04}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        cmp      byte  ptr [rbp-0x40], 0
        je       SHORT G_M45973_IG39
        mov      rcx, gword ptr [rbp-0x50]
        ; gcrRegs +[rcx]
-       ; GC ptr vars -{V04 V38}
+       ; GC ptr vars -{V04 V39}
        call     [<unknown method>]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
@@ -441,8 +444,8 @@ G_M45973_IG40:        ; bbWeight=0, funclet epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=17 bbWeight=0 PerfScore 0.00
-G_M45973_IG41:        ; bbWeight=0, gcVars=0000000010000000 {V07}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-       ; GC ptr vars +{V07 V28}
+G_M45973_IG41:        ; bbWeight=0, gcVars=0000000020000000 {V07}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+       ; GC ptr vars +{V07 V29}
        push     rbp
        push     r15
        push     r14
@@ -456,12 +459,12 @@ G_M45973_IG41:        ; bbWeight=0, gcVars=0000000010000000 {V07}, gcrefRegs=000
        mov      qword ptr [rsp+0x28], rbp
        lea      rbp, [rbp+0x90]
                        ;; size=32 bbWeight=0 PerfScore 0.00
-G_M45973_IG42:        ; bbWeight=0, gcVars=0000000010000000 {V07}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M45973_IG42:        ; bbWeight=0, gcVars=0000000020000000 {V07}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        cmp      byte  ptr [rbp-0x48], 0
        je       SHORT G_M45973_IG43
        mov      rcx, gword ptr [rbp-0x58]
        ; gcrRegs +[rcx]
-       ; GC ptr vars -{V07 V28}
+       ; GC ptr vars -{V07 V29}
        call     [<unknown method>]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
@@ -482,7 +485,7 @@ G_M45973_IG44:        ; bbWeight=0, funclet epilog, nogc, extend
        ret      
                        ;; size=17 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 805, prolog size 28, PerfScore 12029.75, instruction count 234, allocated bytes for code 805 (MethodHash=b6f44c6a) for method System.Threading.TimerQueue:TimerThread() (FullOpts)
+; Total bytes of code 812, prolog size 28, PerfScore 11709.75, instruction count 236, allocated bytes for code 812 (MethodHash=b6f44c6a) for method System.Threading.TimerQueue:TimerThread() (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+2 (+1.96%) : 32109.dasm - System.Diagnostics.Tracing.TraceLoggingMetadataCollector+Impl:Encode(ubyte[]):int:this (FullOpts)
@@ -9,26 +9,27 @@
 ; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T08] (  3,  3   )     ref  ->  rcx         this class-hnd single-def <System.Diagnostics.Tracing.TraceLoggingMetadataCollector+Impl>
-;  V01 arg1         [V01,T07] (  3,  4   )     ref  ->  rbx         class-hnd single-def <ubyte[]>
+;  V00 this         [V00,T09] (  3,  3   )     ref  ->  rcx         this class-hnd single-def <System.Diagnostics.Tracing.TraceLoggingMetadataCollector+Impl>
+;  V01 arg1         [V01,T08] (  3,  4   )     ref  ->  rbx         class-hnd single-def <ubyte[]>
 ;  V02 loc0         [V02    ] (  3,  7   )     int  ->  [rsp+0x20]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V03 loc1         [V03    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Diagnostics.Tracing.FieldMetadata]>
 ;* V04 loc2         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Diagnostics.Tracing.FieldMetadata>
 ;  V05 OutArgs      [V05    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V06 tmp1         [V06,T09] (  2,  4   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V06 tmp1         [V06,T10] (  2,  4   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V07 tmp2         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Diagnostics.Tracing.FieldMetadata]>
-;* V08 tmp3         [V08,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V08 tmp3         [V08,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V09 tmp4         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V10 tmp5         [V10,T02] (  4, 17   )     ref  ->  rsi         single-def "field V03._list (fldOffset=0x0)" P-INDEP
-;  V11 tmp6         [V11,T04] (  2,  6   )     ref  ->  rcx         "field V03._current (fldOffset=0x8)" P-INDEP
+;  V11 tmp6         [V11,T05] (  2,  6   )     ref  ->  rcx         "field V03._current (fldOffset=0x8)" P-INDEP
 ;  V12 tmp7         [V12,T00] (  6, 21   )     int  ->  rbp         "field V03._index (fldOffset=0x10)" P-INDEP
-;  V13 tmp8         [V13,T05] (  2,  9   )     int  ->  rdi         "field V03._version (fldOffset=0x14)" P-INDEP
-;  V14 tmp9         [V14,T10] (  3,  3   )     ref  ->  rsi         single-def "field V07._list (fldOffset=0x0)" P-INDEP
+;  V13 tmp8         [V13,T06] (  2,  9   )     int  ->  rdi         "field V03._version (fldOffset=0x14)" P-INDEP
+;  V14 tmp9         [V14,T11] (  3,  3   )     ref  ->  rsi         single-def "field V07._list (fldOffset=0x0)" P-INDEP
 ;* V15 tmp10        [V15    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V07._current (fldOffset=0x8)" P-INDEP
-;* V16 tmp11        [V16,T12] (  0,  0   )     int  ->  zero-ref    "field V07._index (fldOffset=0x10)" P-INDEP
-;  V17 tmp12        [V17,T11] (  2,  2   )     int  ->  rdi         "field V07._version (fldOffset=0x14)" P-INDEP
+;* V16 tmp11        [V16,T13] (  0,  0   )     int  ->  zero-ref    "field V07._index (fldOffset=0x10)" P-INDEP
+;  V17 tmp12        [V17,T12] (  2,  2   )     int  ->  rdi         "field V07._version (fldOffset=0x14)" P-INDEP
 ;  V18 tmp13        [V18,T01] (  3, 24   )     ref  ->  rdx         "arr expr"
-;  V19 cse0         [V19,T03] (  2,  8   )     int  ->  rdx         "CSE - aggressive"
+;  V19 cse0         [V19,T04] (  2,  8   )     int  ->  rdx         "CSE - aggressive"
+;  V20 cse1         [V20,T03] (  2, 16   )     int  ->  rdx         "CSE - aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -65,9 +66,10 @@ G_M38703_IG04:        ; bbWeight=2, gcrefRegs=004A {rcx rbx rsi}, byrefRegs=0000
        ; gcr arg pop 0
                        ;; size=16 bbWeight=2 PerfScore 13.50
 G_M38703_IG05:        ; bbWeight=8, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
-       cmp      edi, dword ptr [rsi+0x14]
+       mov      edx, dword ptr [rsi+0x14]
+       cmp      edi, edx
        jne      SHORT G_M38703_IG10
-                      ;; size=5 bbWeight=8 PerfScore 32.00
+                      ;; size=7 bbWeight=8 PerfScore 26.00
 G_M38703_IG06:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        mov      edx, dword ptr [rsi+0x10]
        cmp      ebp, edx
@@ -104,7 +106,7 @@ G_M38703_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 102, prolog size 8, PerfScore 129.50, instruction count 38, allocated bytes for code 102 (MethodHash=726d68d0) for method System.Diagnostics.Tracing.TraceLoggingMetadataCollector+Impl:Encode(ubyte[]):int:this (FullOpts)
+; Total bytes of code 104, prolog size 8, PerfScore 123.50, instruction count 39, allocated bytes for code 104 (MethodHash=726d68d0) for method System.Diagnostics.Tracing.TraceLoggingMetadataCollector+Impl:Encode(ubyte[]):int:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
libraries.pmi.windows.x64.checked.mch
-27 (-6.22%) : 57547.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:MostSpecificProcedure(System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],byref,System.Object[],System.String[]):Microsoft.VisualBasic.CompilerServices.Symbols+Method (FullOpts)
@@ -8,10 +8,10 @@
 ; 4 inlinees with PGO data; 9 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T03] ( 10, 64.70)     ref  ->  rbx         class-hnd single-def <System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
+;  V00 arg0         [V00,T03] (  9, 63.70)     ref  ->  rbx         class-hnd single-def <System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
 ;  V01 arg1         [V01,T11] (  4, 18   )   byref  ->  rsi         single-def
-;  V02 arg2         [V02,T13] (  3, 10   )     ref  ->  rdi         class-hnd single-def <System.Object[]>
-;  V03 arg3         [V03,T14] (  3, 10   )     ref  ->  rbp         class-hnd single-def <System.String[]>
+;  V02 arg2         [V02,T14] (  3, 10   )     ref  ->  rdi         class-hnd single-def <System.Object[]>
+;  V03 arg3         [V03,T15] (  3, 10   )     ref  ->  rbp         class-hnd single-def <System.String[]>
 ;  V04 loc0         [V04,T22] (  3,  2   )     ref  ->  rax         class-hnd <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
 ;* V05 loc1         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
 ;  V06 loc2         [V06,T04] ( 10, 54.50)     ref  ->  r12         class-hnd exact <Microsoft.VisualBasic.CompilerServices.Symbols+Method>
@@ -25,28 +25,29 @@
 ;* V14 tmp2         [V14    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
 ;* V15 tmp3         [V15,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V16 tmp4         [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
-;* V17 tmp5         [V17,T18] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V17 tmp5         [V17,T19] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V18 tmp6         [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method]>
-;  V19 tmp7         [V19,T21] (  2,  3   )     ref  ->  r15         single-def "field V05._list (fldOffset=0x0)" P-INDEP
-;  V20 tmp8         [V20,T16] (  2,  5.34)     ref  ->  r12         "field V05._current (fldOffset=0x8)" P-INDEP
-;  V21 tmp9         [V21,T09] (  6, 18.36)     int  ->  r13         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V22 tmp10        [V22,T17] (  2,  9   )     int  ->  r14         single-def "field V05._version (fldOffset=0x14)" P-INDEP
+;* V19 tmp7         [V19,T21] (  0,  0   )     ref  ->  zero-ref    single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V20 tmp8         [V20,T17] (  2,  5.34)     ref  ->  r12         "field V05._current (fldOffset=0x8)" P-INDEP
+;  V21 tmp9         [V21,T09] (  6, 18.36)     int  ->  r15         "field V05._index (fldOffset=0x10)" P-INDEP
+;  V22 tmp10        [V22,T18] (  2,  9   )     int  ->  r14         single-def "field V05._version (fldOffset=0x14)" P-INDEP
 ;* V23 tmp11        [V23,T25] (  0,  0   )     ref  ->  zero-ref    "field V08._list (fldOffset=0x0)" P-INDEP
 ;  V24 tmp12        [V24,T00] (  9, 77.36)     ref  ->  [rsp+0x38]  "field V08._current (fldOffset=0x8)" P-INDEP
 ;  V25 tmp13        [V25,T01] (  6, 71.43)     int  ->  [rsp+0x44]  "field V08._index (fldOffset=0x10)" P-INDEP
-;  V26 tmp14        [V26,T12] (  2, 18   )     int  ->  [rsp+0x40]  spill-single-def "field V08._version (fldOffset=0x14)" P-INDEP
+;  V26 tmp14        [V26,T13] (  2, 18   )     int  ->  r13         "field V08._version (fldOffset=0x14)" P-INDEP
 ;  V27 tmp15        [V27,T23] (  2,  2   )     ref  ->  rcx         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V28 tmp16        [V28    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V29 tmp17        [V29,T27] (  0,  0   )     int  ->  zero-ref    single-def "field V13._index (fldOffset=0x10)" P-INDEP
+;* V29 tmp17        [V29,T28] (  0,  0   )     int  ->  zero-ref    single-def "field V13._index (fldOffset=0x10)" P-INDEP
 ;  V30 tmp18        [V30,T24] (  2,  2   )     int  ->  r14         single-def "field V13._version (fldOffset=0x14)" P-INDEP
-;  V31 tmp19        [V31,T19] (  2,  4   )     ref  ->  rcx         "field V14._list (fldOffset=0x0)" P-INDEP
+;* V31 tmp19        [V31,T26] (  0,  0   )     ref  ->  zero-ref    "field V14._list (fldOffset=0x0)" P-INDEP
 ;* V32 tmp20        [V32    ] (  0,  0   )     ref  ->  zero-ref    "field V14._current (fldOffset=0x8)" P-INDEP
-;* V33 tmp21        [V33,T26] (  0,  0   )     int  ->  zero-ref    "field V14._index (fldOffset=0x10)" P-INDEP
-;  V34 tmp22        [V34,T20] (  2,  4   )     int  ->  r10         "field V14._version (fldOffset=0x14)" P-INDEP
+;* V33 tmp21        [V33,T27] (  0,  0   )     int  ->  zero-ref    "field V14._index (fldOffset=0x10)" P-INDEP
+;  V34 tmp22        [V34,T20] (  2,  4   )     int  ->  r13         "field V14._version (fldOffset=0x14)" P-INDEP
 ;  V35 tmp23        [V35,T10] (  3, 20.04)     ref  ->  rcx         "arr expr"
 ;  V36 tmp24        [V36,T02] (  3, 80.15)     ref  ->  rdx         "arr expr"
 ;  V37 cse0         [V37,T05] (  2, 32.00)     int  ->  rdx         "CSE - aggressive"
-;  V38 cse1         [V38,T15] (  2,  8.00)     int  ->  rcx         "CSE - moderate"
+;  V38 cse1         [V38,T16] (  2,  8.00)     int  ->  rcx         "CSE - moderate"
+;  V39 cse2         [V39,T12] (  3, 18   )     int  ->  r13         "CSE - aggressive"
 ;
 ; Lcl frame size = 88
 
@@ -75,157 +76,148 @@ G_M47424_IG02:        ; bbWeight=1, gcrefRegs=00A8 {rbx rbp rdi}, byrefRegs=0040
        mov      rcx, rbx
        ; gcrRegs +[rcx]
        mov      r14d, dword ptr [rcx+0x14]
-       mov      r15, rbx
-       ; gcrRegs +[r15]
-       xor      r13d, r13d
+       xor      r15d, r15d
        jmp      G_M47424_IG15
-                      ;; size=18 bbWeight=1 PerfScore 4.75
-G_M47424_IG03:        ; bbWeight=2, gcrefRegs=90A8 {rbx rbp rdi r12 r15}, byrefRegs=0040 {rsi}, byref
+                        ;; size=15 bbWeight=1 PerfScore 4.50
+G_M47424_IG03:        ; bbWeight=2, gcrefRegs=10A8 {rbx rbp rdi r12}, byrefRegs=0040 {rsi}, byref
        ; gcrRegs -[rcx] +[r12]
        cmp      byte  ptr [r12+0x4D], 0
        jne      G_M47424_IG15
        cmp      byte  ptr [r12+0x4E], 0
        jne      G_M47424_IG15
        mov      dword ptr [rsp+0x54], 1
-       mov      rcx, r15
-       ; gcrRegs +[rcx]
-       mov      r10d, dword ptr [rcx+0x14]
        xor      ecx, ecx
-       ; gcrRegs -[rcx]
-       mov      dword ptr [rsp+0x40], r10d
        jmp      G_M47424_IG11
-                      ;; size=51 bbWeight=2 PerfScore 29.00
-G_M47424_IG04:        ; bbWeight=8, gcrefRegs=98A8 {rbx rbp rdi r11 r12 r15}, byrefRegs=0040 {rsi}, byref, isz
-       ; gcrRegs +[r11]
-       cmp      byte  ptr [r11+0x4D], 0
+                      ;; size=39 bbWeight=2 PerfScore 22.50
+G_M47424_IG04:        ; bbWeight=8, gcrefRegs=14A8 {rbx rbp rdi r10 r12}, byrefRegs=0040 {rsi}, byref, isz
+       ; gcrRegs +[r10]
+       cmp      byte  ptr [r10+0x4D], 0
        mov      ecx, dword ptr [rsp+0x44]
-       mov      r10d, dword ptr [rsp+0x40]
        jne      G_M47424_IG11
-       cmp      byte  ptr [r11+0x4E], 0
+       cmp      byte  ptr [r10+0x4E], 0
        jne      G_M47424_IG11
-       mov      rdx, gword ptr [r11+0x08]
+       mov      rdx, gword ptr [r10+0x08]
        ; gcrRegs +[rdx]
        cmp      rdx, gword ptr [r12+0x08]
        jne      SHORT G_M47424_IG08
-       movzx    rdx, byte  ptr [r11+0x4C]
+       movzx    rdx, byte  ptr [r10+0x4C]
        ; gcrRegs -[rdx]
        cmp      dl, byte  ptr [r12+0x4C]
        je       G_M47424_IG11
-                        ;; size=58 bbWeight=8 PerfScore 176.00
-G_M47424_IG05:        ; bbWeight=4, gcrefRegs=98A8 {rbx rbp rdi r11 r12 r15}, byrefRegs=0040 {rsi}, byref
+                        ;; size=53 bbWeight=8 PerfScore 168.00
+G_M47424_IG05:        ; bbWeight=4, gcrefRegs=14A8 {rbx rbp rdi r10 r12}, byrefRegs=0040 {rsi}, byref
        mov      dword ptr [rsp+0x44], ecx
                        ;; size=4 bbWeight=4 PerfScore 4.00
-G_M47424_IG06:        ; bbWeight=8, gcrefRegs=98A8 {rbx rbp rdi r11 r12 r15}, byrefRegs=0040 {rsi}, byref
+G_M47424_IG06:        ; bbWeight=8, gcrefRegs=14A8 {rbx rbp rdi r10 r12}, byrefRegs=0040 {rsi}, byref
        xor      edx, edx
        mov      dword ptr [rsp+0x48], edx
                        ;; size=6 bbWeight=8 PerfScore 10.00
-G_M47424_IG07:        ; bbWeight=8, gcrefRegs=98A8 {rbx rbp rdi r11 r12 r15}, byrefRegs=0040 {rsi}, byref, isz
+G_M47424_IG07:        ; bbWeight=8, gcrefRegs=14A8 {rbx rbp rdi r10 r12}, byrefRegs=0040 {rsi}, byref, isz
        mov      dword ptr [rsp+0x20], edx
        lea      rdx, [rsp+0x48]
        mov      qword ptr [rsp+0x28], rdx
        mov      dword ptr [rsp+0x30], 1
        mov      rcx, r12
        ; gcrRegs +[rcx]
-       mov      gword ptr [rsp+0x38], r11
+       mov      gword ptr [rsp+0x38], r10
        ; GC ptr vars +{V24}
-       mov      rdx, r11
+       mov      rdx, r10
        ; gcrRegs +[rdx]
        mov      r8, rdi
        ; gcrRegs +[r8]
        mov      r9, rbp
        ; gcrRegs +[r9]
        call     [<unknown method>]
-       ; gcrRegs -[rcx rdx r8-r9 r11] +[rax]
+       ; gcrRegs -[rcx rdx r8-r10] +[rax]
        ; gcr arg pop 0
        cmp      rax, r12
        jne      SHORT G_M47424_IG09
-       mov      r11, gword ptr [rsp+0x38]
-       ; gcrRegs +[r11]
-       cmp      byte  ptr [r11+0x50], 0
+       mov      r10, gword ptr [rsp+0x38]
+       ; gcrRegs +[r10]
+       cmp      byte  ptr [r10+0x50], 0
        mov      ecx, dword ptr [rsp+0x44]
-       mov      r10d, dword ptr [rsp+0x40]
        jne      SHORT G_M47424_IG11
-       mov      byte  ptr [r11+0x50], 1
+       mov      byte  ptr [r10+0x50], 1
        jmp      SHORT G_M47424_IG10
-                     ;; size=78 bbWeight=8 PerfScore 158.00
-G_M47424_IG08:        ; bbWeight=4, gcVars=0000000000000000 {}, gcrefRegs=98A8 {rbx rbp rdi r11 r12 r15}, byrefRegs=0040 {rsi}, gcvars, byref, isz
+                       ;; size=73 bbWeight=8 PerfScore 150.00
+G_M47424_IG08:        ; bbWeight=4, gcVars=0000000000000000 {}, gcrefRegs=14A8 {rbx rbp rdi r10 r12}, byrefRegs=0040 {rsi}, gcvars, byref, isz
        ; gcrRegs -[rax]
        ; GC ptr vars -{V24}
        mov      dword ptr [rsp+0x44], ecx
        jmp      SHORT G_M47424_IG06
                        ;; size=6 bbWeight=4 PerfScore 12.00
-G_M47424_IG09:        ; bbWeight=8, gcVars=0000000000000001 {V24}, gcrefRegs=90A9 {rax rbx rbp rdi r12 r15}, byrefRegs=0040 {rsi}, gcvars, byref, isz
-       ; gcrRegs -[r11] +[rax]
+G_M47424_IG09:        ; bbWeight=8, gcVars=0000000000000001 {V24}, gcrefRegs=10A9 {rax rbx rbp rdi r12}, byrefRegs=0040 {rsi}, gcvars, byref, isz
+       ; gcrRegs -[r10] +[rax]
        ; GC ptr vars +{V00 V24}
        xor      edx, edx
-       mov      r11, gword ptr [rsp+0x38]
-       ; gcrRegs +[r11]
-       cmp      rax, r11
+       mov      r10, gword ptr [rsp+0x38]
+       ; gcrRegs +[r10]
+       cmp      rax, r10
        mov      dword ptr [rsp+0x54], edx
        mov      ecx, dword ptr [rsp+0x44]
-       mov      r10d, dword ptr [rsp+0x40]
        jne      SHORT G_M47424_IG11
        cmp      byte  ptr [r12+0x50], 0
        jne      SHORT G_M47424_IG11
        mov      byte  ptr [r12+0x50], 1
-                      ;; size=39 bbWeight=8 PerfScore 84.00
-G_M47424_IG10:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=90A8 {rbx rbp rdi r12 r15}, byrefRegs=0040 {rsi}, gcvars, byref, isz
-       ; gcrRegs -[rax r11]
+                      ;; size=34 bbWeight=8 PerfScore 76.00
+G_M47424_IG10:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=10A8 {rbx rbp rdi r12}, byrefRegs=0040 {rsi}, gcvars, byref, isz
+       ; gcrRegs -[rax r10]
        ; GC ptr vars -{V00 V24}
        mov      edx, dword ptr [rsi]
        sub      edx, 1
        jo       SHORT G_M47424_IG21
        mov      dword ptr [rsi], edx
                        ;; size=9 bbWeight=8 PerfScore 34.00
-G_M47424_IG11:        ; bbWeight=16, gcrefRegs=90A8 {rbx rbp rdi r12 r15}, byrefRegs=0040 {rsi}, byref, isz
-       cmp      r10d, dword ptr [rbx+0x14]
+G_M47424_IG11:        ; bbWeight=16, gcrefRegs=10A8 {rbx rbp rdi r12}, byrefRegs=0040 {rsi}, byref, isz
+       cmp      r13d, dword ptr [rbx+0x14]
        jne      SHORT G_M47424_IG23
                        ;; size=6 bbWeight=16 PerfScore 64.00
-G_M47424_IG12:        ; bbWeight=16.00, gcrefRegs=90A8 {rbx rbp rdi r12 r15}, byrefRegs=0040 {rsi}, byref, isz
+G_M47424_IG12:        ; bbWeight=16.00, gcrefRegs=10A8 {rbx rbp rdi r12}, byrefRegs=0040 {rsi}, byref, isz
        mov      edx, dword ptr [rbx+0x10]
        cmp      ecx, edx
        jae      SHORT G_M47424_IG14
                        ;; size=7 bbWeight=16.00 PerfScore 52.00
-G_M47424_IG13:        ; bbWeight=13.36, gcrefRegs=90A8 {rbx rbp rdi r12 r15}, byrefRegs=0040 {rsi}, byref, isz
+G_M47424_IG13:        ; bbWeight=13.36, gcrefRegs=10A8 {rbx rbp rdi r12}, byrefRegs=0040 {rsi}, byref, isz
        mov      rdx, gword ptr [rbx+0x08]
        ; gcrRegs +[rdx]
        cmp      ecx, dword ptr [rdx+0x08]
        jae      SHORT G_M47424_IG22
        mov      r8d, ecx
-       mov      r11, gword ptr [rdx+8*r8+0x10]
-       ; gcrRegs +[r11]
+       mov      r10, gword ptr [rdx+8*r8+0x10]
+       ; gcrRegs +[r10]
        inc      ecx
        mov      dword ptr [rsp+0x44], ecx
        jmp      G_M47424_IG04
                        ;; size=28 bbWeight=13.36 PerfScore 153.62
-G_M47424_IG14:        ; bbWeight=16, gcrefRegs=90A8 {rbx rbp rdi r12 r15}, byrefRegs=0040 {rsi}, byref, isz
-       ; gcrRegs -[rdx r11]
+G_M47424_IG14:        ; bbWeight=16, gcrefRegs=10A8 {rbx rbp rdi r12}, byrefRegs=0040 {rsi}, byref, isz
+       ; gcrRegs -[rdx r10]
        cmp      dword ptr [rsp+0x54], 0
        jne      SHORT G_M47424_IG18
                        ;; size=7 bbWeight=16 PerfScore 48.00
-G_M47424_IG15:        ; bbWeight=8, gcrefRegs=80A8 {rbx rbp rdi r15}, byrefRegs=0040 {rsi}, byref, isz
+G_M47424_IG15:        ; bbWeight=8, gcrefRegs=00A8 {rbx rbp rdi}, byrefRegs=0040 {rsi}, byref, isz
        ; gcrRegs -[r12]
-       cmp      r14d, dword ptr [rbx+0x14]
+       mov      r13d, dword ptr [rbx+0x14]
+       cmp      r14d, r13d
        jne      SHORT G_M47424_IG23
-                        ;; size=6 bbWeight=8 PerfScore 32.00
-G_M47424_IG16:        ; bbWeight=4.00, gcrefRegs=80A8 {rbx rbp rdi r15}, byrefRegs=0040 {rsi}, byref, isz
+                        ;; size=9 bbWeight=8 PerfScore 26.00
+G_M47424_IG16:        ; bbWeight=4.00, gcrefRegs=00A8 {rbx rbp rdi}, byrefRegs=0040 {rsi}, byref, isz
        mov      ecx, dword ptr [rbx+0x10]
-       cmp      r13d, ecx
+       cmp      r15d, ecx
        jae      SHORT G_M47424_IG20
                        ;; size=8 bbWeight=4.00 PerfScore 13.00
-G_M47424_IG17:        ; bbWeight=3.34, gcrefRegs=80A8 {rbx rbp rdi r15}, byrefRegs=0040 {rsi}, byref, isz
+G_M47424_IG17:        ; bbWeight=3.34, gcrefRegs=00A8 {rbx rbp rdi}, byrefRegs=0040 {rsi}, byref, isz
        mov      rcx, gword ptr [rbx+0x08]
        ; gcrRegs +[rcx]
-       cmp      r13d, dword ptr [rcx+0x08]
+       cmp      r15d, dword ptr [rcx+0x08]
        jae      SHORT G_M47424_IG22
-       mov      edx, r13d
...
  
-20 (-3.85%) : 337924.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1[ubyte]:ReserveOneMessage():ubyte:this (FullOpts)
@@ -9,12 +9,12 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T03] (  8, 29   )     ref  ->  rbx         this class-hnd single-def <System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1[ubyte]>
-;  V01 loc0         [V01    ] (  8, 32   )  struct (16) [rbp-0x28]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
-;  V02 loc1         [V02,T10] (  4,  3   )     ref  ->  [rbp-0x48]  class-hnd EH-live spill-single-def <<unknown class>>
-;  V03 loc2         [V03    ] (  6,  6   )   ubyte  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed ld-addr-op
-;  V04 loc3         [V04,T11] (  3,  3   )   ubyte  ->  [rbp-0x34]  do-not-enreg[Z] EH-live
-;  V05 loc4         [V05,T04] (  4, 25   )     ref  ->  [rbp-0x50]  do-not-enreg[Z] class-hnd EH-live <<unknown class>>
-;  V06 loc5         [V06    ] (  6, 41   )   ubyte  ->  [rbp-0x40]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V01 loc0         [V01    ] (  8, 36   )  struct (16) [rbp-0x20]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
+;  V02 loc1         [V02,T10] (  4,  3   )     ref  ->  [rbp-0x40]  class-hnd EH-live spill-single-def <<unknown class>>
+;  V03 loc2         [V03    ] (  6,  6   )   ubyte  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V04 loc3         [V04,T11] (  3,  3   )   ubyte  ->  [rbp-0x2C]  do-not-enreg[Z] EH-live
+;  V05 loc4         [V05,T04] (  4, 25   )     ref  ->  [rbp-0x48]  do-not-enreg[Z] class-hnd EH-live <<unknown class>>
+;  V06 loc5         [V06    ] (  6, 41   )   ubyte  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed ld-addr-op
 ;  V07 OutArgs      [V07    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V08 tmp1         [V08,T01] (  2, 32   )     ref  ->  rcx         class-hnd "impAppendStmt" <System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte]>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Threading.Tasks.Dataflow.DataflowMessageHeader>
@@ -25,50 +25,49 @@
 ;* V14 tmp7         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <<unknown class>>
 ;* V15 tmp8         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources>
 ;  V16 tmp9         [V16,T02] (  2, 32   )   ubyte  ->  rcx         "Inlining Arg"
-;  V17 tmp10        [V17,T00] (  3, 40   )     ref  ->  rsi         class-hnd exact "Inlining Arg" <<unknown class>>
-;  V18 tmp11        [V18,T05] (  3, 24   )   ubyte  ->  rdi         "Inline stloc first use temp"
+;  V17 tmp10        [V17,T00] (  3, 48   )     ref  ->  rsi         class-hnd exact "Inlining Arg" <<unknown class>>
+;  V18 tmp11        [V18,T05] (  2, 16   )   ubyte  ->  rax         "Inline stloc first use temp"
 ;* V19 tmp12        [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <<unknown class>>
-;  V20 tmp13        [V20    ] (  6, 23   )     ref  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V01.key (fldOffset=0x0)" P-DEP
-;  V21 tmp14        [V21    ] (  4, 18   )    long  ->  [rbp-0x20]  do-not-enreg[X] addr-exposed "field V01.value (fldOffset=0x8)" P-DEP
+;  V20 tmp13        [V20    ] (  6, 27   )     ref  ->  [rbp-0x20]  do-not-enreg[X] addr-exposed "field V01.key (fldOffset=0x0)" P-DEP
+;  V21 tmp14        [V21    ] (  4, 18   )    long  ->  [rbp-0x18]  do-not-enreg[X] addr-exposed "field V01.value (fldOffset=0x8)" P-DEP
 ;* V22 tmp15        [V22    ] (  0,  0   )    long  ->  zero-ref    "field V09._id (fldOffset=0x0)" P-INDEP
 ;  V23 tmp16        [V23,T08] (  3,  6   )     ref  ->  rbx         single-def "BlockOp address local"
-;  V24 PSPSym       [V24,T13] (  1,  1   )    long  ->  [rbp-0x60]  do-not-enreg[V] "PSPSym"
+;  V24 PSPSym       [V24,T13] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
 ;  V25 cse0         [V25,T06] (  6, 15   )     ref  ->  rdx         multi-def "CSE - aggressive"
 ;
-; Lcl frame size = 104
+; Lcl frame size = 96
 
 G_M11515_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
-       push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 104
-       lea      rbp, [rsp+0x80]
+       sub      rsp, 96
+       lea      rbp, [rsp+0x70]
        xor      eax, eax
-       mov      qword ptr [rbp-0x28], rax
-       mov      qword ptr [rbp-0x60], rsp
+       mov      qword ptr [rbp-0x20], rax
+       mov      qword ptr [rbp-0x50], rsp
        mov      rbx, rcx
        ; gcrRegs +[rbx]
-                      ;; size=29 bbWeight=1 PerfScore 7.25
+                      ;; size=25 bbWeight=1 PerfScore 6.25
 G_M11515_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdx, gword ptr [rbx+0x08]
        ; gcrRegs +[rdx]
        mov      rcx, gword ptr [rdx+0x10]
        ; gcrRegs +[rcx]
-       mov      gword ptr [rbp-0x48], rcx
+       mov      gword ptr [rbp-0x40], rcx
        ; GC ptr vars +{V02}
        xor      edx, edx
        ; gcrRegs -[rdx]
-       mov      dword ptr [rbp-0x30], edx
+       mov      dword ptr [rbp-0x28], edx
                       ;; size=17 bbWeight=1 PerfScore 6.25
 G_M11515_IG03:        ; bbWeight=1, gcVars=0000000000000400 {V02}, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, gcvars, byref, isz
-       cmp      byte  ptr [rbp-0x30], 0
+       cmp      byte  ptr [rbp-0x28], 0
        jne      SHORT G_M11515_IG06
-       lea      rdx, [rbp-0x30]
+       lea      rdx, [rbp-0x28]
        call     <unknown method>
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       movzx    rcx, byte  ptr [rbp-0x30]
+       movzx    rcx, byte  ptr [rbp-0x28]
        test     ecx, ecx
        jne      SHORT G_M11515_IG04
        mov      rdx, 0xD1FFAB1E
@@ -85,7 +84,7 @@ G_M11515_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      rsi, gword ptr [rcx+0x08]
        ; gcrRegs +[rsi]
        mov      rcx, gword ptr [rsi+0x08]
-       lea      rdx, [rbp-0x28]
+       lea      rdx, [rbp-0x20]
        cmp      dword ptr [rcx], ecx
        call     [<unknown method>]
        ; gcrRegs -[rcx]
@@ -94,7 +93,7 @@ G_M11515_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        je       SHORT G_M11515_IG05
        mov      rcx, gword ptr [rsi+0x10]
        ; gcrRegs +[rcx]
-       mov      rdx, gword ptr [rbp-0x28]
+       mov      rdx, gword ptr [rbp-0x20]
        ; gcrRegs +[rdx]
        cmp      dword ptr [rcx], ecx
        call     [<unknown method>]
@@ -105,7 +104,7 @@ G_M11515_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
 G_M11515_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rbx]
        xor      ecx, ecx
-       mov      dword ptr [rbp-0x34], ecx
+       mov      dword ptr [rbp-0x2C], ecx
        jmp      SHORT G_M11515_IG08
                        ;; size=7 bbWeight=1 PerfScore 3.25
 G_M11515_IG06:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -115,9 +114,9 @@ G_M11515_IG06:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
                        ;; size=7 bbWeight=0 PerfScore 0.00
 G_M11515_IG07:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rbx]
-       cmp      byte  ptr [rbp-0x30], 0
+       cmp      byte  ptr [rbp-0x28], 0
        je       SHORT G_M11515_IG10
-       mov      rcx, gword ptr [rbp-0x48]
+       mov      rcx, gword ptr [rbp-0x40]
        ; gcrRegs +[rcx]
        ; GC ptr vars -{V02}
        call     <unknown method>
@@ -129,44 +128,44 @@ G_M11515_IG08:        ; bbWeight=1, gcVars=0000000000000400 {V02}, gcrefRegs=000
        ; gcrRegs -[rbx]
        ; GC ptr vars +{V02}
        mov      rcx, rsp
-       call     G_M11515_IG25
+       call     G_M11515_IG23
                      ;; size=8 bbWeight=1 PerfScore 1.25
 G_M11515_IG09:        ; bbWeight=1, nogc, extend
-       jmp      G_M11515_IG23
+       jmp      G_M11515_IG21
                      ;; size=5 bbWeight=1 PerfScore 2.00
 G_M11515_IG10:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs +[rbx]
        ; GC ptr vars -{V02}
-       mov      rcx, gword ptr [rbp-0x28]
+       mov      rcx, gword ptr [rbp-0x20]
        ; gcrRegs +[rcx]
        mov      r8, rbx
        ; gcrRegs +[r8]
-       mov      rdx, qword ptr [rbp-0x20]
+       mov      rdx, qword ptr [rbp-0x18]
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
        call     [r11]<unknown method>
        ; gcrRegs -[rcx r8]
        ; gcr arg pop 0
        test     eax, eax
-       jne      G_M11515_IG19
+       jne      G_M11515_IG17
        mov      rdx, gword ptr [rbx+0x08]
        ; gcrRegs +[rdx]
        mov      rdx, gword ptr [rdx+0x10]
-       mov      gword ptr [rbp-0x50], rdx
+       mov      gword ptr [rbp-0x48], rdx
        ; GC ptr vars +{V05}
        xor      edx, edx
        ; gcrRegs -[rdx]
-       mov      dword ptr [rbp-0x40], edx
+       mov      dword ptr [rbp-0x38], edx
                       ;; size=49 bbWeight=8 PerfScore 104.00
 G_M11515_IG11:        ; bbWeight=8, gcVars=0000000000000010 {V05}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
-       cmp      byte  ptr [rbp-0x40], 0
-       jne      SHORT G_M11515_IG17
-       lea      rdx, [rbp-0x40]
-       mov      rcx, gword ptr [rbp-0x50]
+       cmp      byte  ptr [rbp-0x38], 0
+       jne      SHORT G_M11515_IG15
+       lea      rdx, [rbp-0x38]
+       mov      rcx, gword ptr [rbp-0x48]
        ; gcrRegs +[rcx]
        call     <unknown method>
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       movzx    rcx, byte  ptr [rbp-0x40]
+       movzx    rcx, byte  ptr [rbp-0x38]
        test     ecx, ecx
        jne      SHORT G_M11515_IG13
                        ;; size=27 bbWeight=8 PerfScore 62.00
@@ -185,45 +184,39 @@ G_M11515_IG13:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      rsi, gword ptr [rcx+0x08]
        ; gcrRegs +[rsi]
        mov      rcx, gword ptr [rsi+0x08]
-       lea      rdx, [rbp-0x28]
+       lea      rdx, [rbp-0x20]
        cmp      dword ptr [rcx], ecx
        call     [<unknown method>]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      edi, eax
-       test     edi, edi
-       je       SHORT G_M11515_IG15
-                       ;; size=30 bbWeight=8 PerfScore 112.00
-G_M11515_IG14:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+       test     eax, eax
+       je       SHORT G_M11515_IG14
        mov      rcx, gword ptr [rsi+0x10]
        ; gcrRegs +[rcx]
-       mov      rdx, gword ptr [rbp-0x28]
+       mov      rdx, gword ptr [rbp-0x20]
        ; gcrRegs +[rdx]
        cmp      dword ptr [rcx], ecx
        call     [<unknown method>]
        ; gcrRegs -[rcx rdx rsi]
        ; gcr arg pop 0
-                       ;; size=16 bbWeight=4 PerfScore 36.00
-G_M11515_IG15:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       test     edi, edi
-       jne      SHORT G_M11515_IG18
-                       ;; size=4 bbWeight=8 PerfScore 10.00
-G_M11515_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M11515_IG16
+                       ;; size=46 bbWeight=8 PerfScore 198.00
+G_M11515_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rbx]
        xor      ecx, ecx
-       mov      dword ptr [rbp-0x34], ecx
-       jmp      SHORT G_M11515_IG21
+       mov      dword ptr [rbp-0x2C], ecx
+       jmp      SHORT G_M11515_IG19
                         ;; size=7 bbWeight=1 PerfScore 3.25
-G_M11515_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M11515_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     [System.Threading.Monitor:ThrowLockTakenException()]
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M11515_IG18:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M11515_IG16:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rbx]
-       cmp      byte  ptr [rbp-0x40], 0
+       cmp      byte  ptr [rbp-0x38], 0
        je       G_M11515_IG10
-       mov      rcx, gword ptr [rbp-0x50]
+       mov      rcx, gword ptr [rbp-0x48]
        ; gcrRegs +[rcx]
        ; GC ptr vars -{V05}
        call     <unknown method>
@@ -231,114 +224,108 @@ G_M11515_IG18:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcr arg pop 0
        jmp      G_M11515_IG10
                        ;; size=24 bbWeight=8 PerfScore 56.00
-G_M11515_IG19:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M11515_IG17:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rbx, gword ptr [rbx+0x20]
        lea      rcx, bword ptr [rbx+0x10]
        ; byrRegs +[rcx]
...
  
-8 (-3.62%) : 338033.dasm - System.Threading.Tasks.Dataflow.Internal.Common:ReleaseAllPostponedMessagesubyte (FullOpts)
@@ -9,37 +9,36 @@
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T04] (  4, 10   )     ref  ->  [rbp+0x10]  class-hnd EH-live single-def <System.Threading.Tasks.Dataflow.ITargetBlock`1[ubyte]>
-;  V01 arg1         [V01,T01] (  5, 15   )     ref  ->  [rbp+0x18]  class-hnd EH-live single-def <System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
+;  V01 arg1         [V01,T00] (  5, 19   )     ref  ->  [rbp+0x18]  class-hnd EH-live single-def <System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
 ;  V02 arg2         [V02,T07] (  3,  2   )   byref  ->  [rbp+0x20]  EH-live single-def
 ;* V03 loc0         [V03    ] (  0,  0   )     int  ->  zero-ref   
-;  V04 loc1         [V04,T05] (  3,  9   )     int  ->  [rbp-0x14]  do-not-enreg[Z] EH-live
-;  V05 loc2         [V05    ] (  6, 28   )  struct (16) [rbp-0x28]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
+;  V04 loc1         [V04,T05] (  3,  9   )     int  ->  [rbp-0x0C]  do-not-enreg[Z] EH-live
+;  V05 loc2         [V05    ] (  6, 32   )  struct (16) [rbp-0x20]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
 ;* V06 loc3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
 ;  V07 OutArgs      [V07    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V08 tmp1         [V08,T02] (  2, 16   )     ref  ->  rcx         class-hnd "impAppendStmt" <System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte]>
+;  V08 tmp1         [V08,T01] (  2, 16   )     ref  ->  rcx         class-hnd "impAppendStmt" <System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte]>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Threading.Tasks.Dataflow.DataflowMessageHeader>
-;  V10 tmp3         [V10,T03] (  2, 16   )     ref  ->  rcx         class-hnd "impAppendStmt" <System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte]>
+;  V10 tmp3         [V10,T02] (  2, 16   )     ref  ->  rcx         class-hnd "impAppendStmt" <System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte]>
 ;* V11 tmp4         [V11    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Threading.Tasks.Dataflow.DataflowMessageHeader>
 ;  V12 tmp5         [V12,T09] (  2,  0   )     ref  ->  rdx         class-hnd "impSpillSpecialSideEff" <<unknown class>>
 ;  V13 tmp6         [V13,T06] (  2,  4   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <System.Collections.Generic.Dictionary`2[System.__Canon,int]>
-;  V14 tmp7         [V14,T00] (  3, 24   )   ubyte  ->  rsi         "Inline stloc first use temp"
+;  V14 tmp7         [V14,T03] (  2, 16   )   ubyte  ->  rax         "Inline stloc first use temp"
 ;* V15 tmp8         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Collections.Generic.Dictionary`2[System.__Canon,int]>
-;  V16 tmp9         [V16    ] (  4, 20   )     ref  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V05.key (fldOffset=0x0)" P-DEP
-;  V17 tmp10        [V17    ] (  3, 16   )    long  ->  [rbp-0x20]  do-not-enreg[X] addr-exposed "field V05.value (fldOffset=0x8)" P-DEP
+;  V16 tmp9         [V16    ] (  4, 24   )     ref  ->  [rbp-0x20]  do-not-enreg[X] addr-exposed "field V05.key (fldOffset=0x0)" P-DEP
+;  V17 tmp10        [V17    ] (  3, 16   )    long  ->  [rbp-0x18]  do-not-enreg[X] addr-exposed "field V05.value (fldOffset=0x8)" P-DEP
 ;* V18 tmp11        [V18    ] (  0,  0   )    long  ->  zero-ref    "field V09._id (fldOffset=0x0)" P-INDEP
 ;* V19 tmp12        [V19    ] (  0,  0   )    long  ->  zero-ref    "field V11._id (fldOffset=0x0)" P-INDEP
 ;  V20 PSPSym       [V20,T08] (  1,  1   )    long  ->  [rbp-0x30]  do-not-enreg[V] "PSPSym"
 ;
-; Lcl frame size = 64
+; Lcl frame size = 72
 
 G_M8667_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
-       push     rsi
        push     rbx
-       sub      rsp, 64
+       sub      rsp, 72
        lea      rbp, [rsp+0x50]
        xor      eax, eax
-       mov      qword ptr [rbp-0x28], rax
+       mov      qword ptr [rbp-0x20], rax
        mov      qword ptr [rbp-0x30], rsp
        mov      gword ptr [rbp+0x10], rcx
        ; GC ptr vars +{V00}
@@ -49,35 +48,35 @@ G_M8667_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}
        ; GC ptr vars +{V02}
        mov      rbx, rcx
        ; gcrRegs +[rbx]
-                      ;; size=37 bbWeight=1 PerfScore 9.25
-G_M8667_IG02:        ; bbWeight=1, gcVars=0000000000000092 {V00 V01 V02}, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, gcvars, byref, isz
+                        ;; size=36 bbWeight=1 PerfScore 8.25
+G_M8667_IG02:        ; bbWeight=1, gcVars=0000000000000091 {V00 V01 V02}, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[rdx]
        mov      rax, gword ptr [rdx+0x10]
        ; gcrRegs +[rax]
        cmp      byte  ptr [rax], al
        xor      eax, eax
        ; gcrRegs -[rax]
-       mov      dword ptr [rbp-0x14], eax
+       mov      dword ptr [rbp-0x0C], eax
        jmp      SHORT G_M8667_IG05
                        ;; size=13 bbWeight=1 PerfScore 8.25
 G_M8667_IG03:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdx]
-       mov      rcx, gword ptr [rbp-0x28]
+       mov      rcx, gword ptr [rbp-0x20]
        ; gcrRegs +[rcx]
        mov      r8, rbx
        ; gcrRegs +[r8]
-       mov      rdx, qword ptr [rbp-0x20]
+       mov      rdx, qword ptr [rbp-0x18]
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
        call     [r11]<unknown method>
        ; gcrRegs -[rcx r8]
        ; gcr arg pop 0
        test     eax, eax
        je       SHORT G_M8667_IG04
-       mov      rcx, gword ptr [rbp-0x28]
+       mov      rcx, gword ptr [rbp-0x20]
        ; gcrRegs +[rcx]
        mov      r8, rbx
        ; gcrRegs +[r8]
-       mov      rdx, qword ptr [rbp-0x20]
+       mov      rdx, qword ptr [rbp-0x18]
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
        call     [r11]<unknown method>
        ; gcrRegs -[rcx r8]
@@ -86,9 +85,9 @@ G_M8667_IG03:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byre
                        ;; size=53 bbWeight=4 PerfScore 50.00
 G_M8667_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx]
-       mov      edx, dword ptr [rbp-0x14]
+       mov      edx, dword ptr [rbp-0x0C]
        inc      edx
-       mov      dword ptr [rbp-0x14], edx
+       mov      dword ptr [rbp-0x0C], edx
        mov      rdx, gword ptr [rbp+0x18]
        ; gcrRegs +[rdx]
        mov      rbx, gword ptr [rbp+0x10]
@@ -97,51 +96,43 @@ G_M8667_IG04:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
 G_M8667_IG05:        ; bbWeight=8, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref, isz
        mov      rcx, gword ptr [rdx+0x08]
        ; gcrRegs +[rcx]
-       lea      rdx, [rbp-0x28]
+       lea      rdx, [rbp-0x20]
        ; gcrRegs -[rdx]
        cmp      dword ptr [rcx], ecx
        call     [<unknown method>]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      esi, eax
-       test     esi, esi
-       je       SHORT G_M8667_IG07
-                       ;; size=22 bbWeight=8 PerfScore 80.00
-G_M8667_IG06:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       test     eax, eax
+       je       SHORT G_M8667_IG06
        mov      rdx, gword ptr [rbp+0x18]
        ; gcrRegs +[rdx]
        mov      rcx, gword ptr [rdx+0x10]
        ; gcrRegs +[rcx]
-       mov      rdx, gword ptr [rbp-0x28]
+       mov      rdx, gword ptr [rbp-0x20]
        cmp      dword ptr [rcx], ecx
        call     [<unknown method>]
        ; gcrRegs -[rcx rdx]
        ; gcr arg pop 0
-                       ;; size=20 bbWeight=4 PerfScore 40.00
-G_M8667_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       test     esi, esi
-       jne      SHORT G_M8667_IG03
-                       ;; size=4 bbWeight=8 PerfScore 10.00
-G_M8667_IG08:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, epilog, nogc
+       jmp      SHORT G_M8667_IG03
+                       ;; size=42 bbWeight=8 PerfScore 174.00
+G_M8667_IG06:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, epilog, nogc
        ; gcrRegs -[rbx]
        ; GC ptr vars -{V00 V01 V02}
-       add      rsp, 64
+       add      rsp, 72
        pop      rbx
-       pop      rsi
        pop      rbp
        ret      
-                     ;; size=8 bbWeight=1 PerfScore 2.75
-G_M8667_IG09:        ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                      ;; size=7 bbWeight=1 PerfScore 2.25
+G_M8667_IG07:        ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        ; gcrRegs +[rdx]
        push     rbp
-       push     rsi
        push     rbx
-       sub      rsp, 48
+       sub      rsp, 40
        mov      rbp, qword ptr [rcx+0x20]
        mov      qword ptr [rsp+0x20], rbp
        lea      rbp, [rbp+0x50]
-                      ;; size=20 bbWeight=0 PerfScore 0.00
-G_M8667_IG10:        ; bbWeight=0, gcVars=0000000000000092 {V00 V01 V02}, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, gcvars, byref
+                     ;; size=19 bbWeight=0 PerfScore 0.00
+G_M8667_IG08:        ; bbWeight=0, gcVars=0000000000000091 {V00 V01 V02}, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars +{V00 V01 V02 V04}
        mov      rcx, bword ptr [rbp+0x20]
        ; byrRegs +[rcx]
@@ -152,15 +143,14 @@ G_M8667_IG10:        ; bbWeight=0, gcVars=0000000000000092 {V00 V01 V02}, gcrefR
        ; gcr arg pop 0
        lea      rax, G_M8667_IG04
                        ;; size=20 bbWeight=0 PerfScore 0.00
-G_M8667_IG11:        ; bbWeight=0, funclet epilog, nogc, extend
-       add      rsp, 48
+G_M8667_IG09:        ; bbWeight=0, funclet epilog, nogc, extend
+       add      rsp, 40
        pop      rbx
-       pop      rsi
        pop      rbp
        ret      
-                     ;; size=8 bbWeight=0 PerfScore 0.00
+                       ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 221, prolog size 37, PerfScore 217.25, instruction count 70, allocated bytes for code 221 (MethodHash=12a5de24) for method System.Threading.Tasks.Dataflow.Internal.Common:ReleaseAllPostponedMessages[ubyte](System.Threading.Tasks.Dataflow.ITargetBlock`1[ubyte],System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte],System.Threading.Tasks.Dataflow.DataflowMessageHeader],byref) (FullOpts)
+; Total bytes of code 213, prolog size 36, PerfScore 259.75, instruction count 64, allocated bytes for code 213 (MethodHash=12a5de24) for method System.Threading.Tasks.Dataflow.Internal.Common:ReleaseAllPostponedMessages[ubyte](System.Threading.Tasks.Dataflow.ITargetBlock`1[ubyte],System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte],System.Threading.Tasks.Dataflow.DataflowMessageHeader],byref) (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -168,29 +158,27 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x07
-  CountOfUnwindCodes: 4
+  SizeOfProlog      : 0x06
+  CountOfUnwindCodes: 3
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 7 * 8 + 8 = 64 = 0x40
-    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
+    CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 8 * 8 + 8 = 72 = 0x48
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 Unwind Info:
   >> Start offset   : 0xd1ffab1e (not in unwind data)
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x07
-  CountOfUnwindCodes: 4
+  SizeOfProlog      : 0x06
+  CountOfUnwindCodes: 3
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x07 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 5 * 8 + 8 = 48 = 0x30
-    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
+    CodeOffset: 0x06 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
     CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
 *************** EH table for System.Threading.Tasks.Dataflow.Internal.Common:ReleaseAllPostponedMessages[ubyte](System.Threading.Tasks.Dataflow.ITargetBlock`1[ubyte],System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte],System.Threading.Tasks.Dataflow.DataflowMessageHeader],byref)
 1 EH table entries, 0 duplicate clauses, 0 cloned finallys, 1 total EH entries reported to VM
-EH#0: try [G_M8667_IG03..G_M8667_IG04) handled by [G_M8667_IG09..END) (class: 1000022)
+EH#0: try [G_M8667_IG03..G_M8667_IG04) handled by [G_M8667_IG07..END) (class: 1000022)
  
+10 (+1.46%) : 283391.dasm - Microsoft.Win32.RegistryKey:GetSubKeyNames():System.String[]:this (FullOpts)
@@ -151,23 +151,23 @@ G_M54793_IG06:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=000
        lea      rdi, [rsp+0x40]
        mov      dword ptr [rbp+0x20], 256
        xor      r14d, r14d
-       jmp      G_M54793_IG19
+       jmp      G_M54793_IG16
                        ;; size=51 bbWeight=0.50 PerfScore 4.38
 G_M54793_IG07:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rdi}, byref, isz
        ; gcrRegs -[rax]
        ; byrRegs +[rdi]
        test     eax, eax
-       jne      G_M54793_IG34
+       jne      G_M54793_IG33
        mov      r15d, dword ptr [rsi+0x08]
        cmp      r15d, r14d
        jg       SHORT G_M54793_IG14
        lea      r13d, [r15+r15]
        test     r13d, r13d
-       jl       G_M54793_IG32
+       jl       G_M54793_IG31
        cmp      r15d, r13d
        je       SHORT G_M54793_IG13
                        ;; size=35 bbWeight=2 PerfScore 15.00
-G_M54793_IG08:        ; bbWeight=1.67, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rdi}, byref, isz
+G_M54793_IG08:        ; bbWeight=1.67, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rdi}, byref
        movsxd   rdx, r13d
        mov      rcx, 0xD1FFAB1E      ; System.String[]
        call     CORINFO_HELP_NEWARR_1_OBJ
@@ -179,18 +179,18 @@ G_M54793_IG08:        ; bbWeight=1.67, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080
        lea      rdx, bword ptr [rsi+0x10]
        ; byrRegs +[rdx]
        cmp      r13d, r15d
-       jg       SHORT G_M54793_IG15
-                       ;; size=35 bbWeight=1.67 PerfScore 6.67
+       jg       G_M54793_IG27
+                       ;; size=39 bbWeight=1.67 PerfScore 6.67
 G_M54793_IG09:        ; bbWeight=1.19, gcrefRegs=1008 {rbx r12}, byrefRegs=0086 {rcx rdx rdi}, byref
        ; gcrRegs -[rax rsi]
        mov      r15d, r13d
                        ;; size=3 bbWeight=1.19 PerfScore 0.30
-G_M54793_IG10:        ; bbWeight=1.67, gcrefRegs=1008 {rbx r12}, byrefRegs=0086 {rcx rdx rdi}, byref, isz
+G_M54793_IG10:        ; bbWeight=1.67, gcrefRegs=1008 {rbx r12}, byrefRegs=0086 {rcx rdx rdi}, byref
        mov      r8d, r15d
        shl      r8, 3
        cmp      r8, 0x400
-       ja       SHORT G_M54793_IG17
-                       ;; size=16 bbWeight=1.67 PerfScore 3.33
+       ja       G_M54793_IG28
+                       ;; size=20 bbWeight=1.67 PerfScore 3.33
 G_M54793_IG11:        ; bbWeight=1.67, gcrefRegs=1008 {rbx r12}, byrefRegs=0086 {rcx rdx rdi}, byref
        call     <unknown method>
        ; byrRegs -[rcx rdx]
@@ -217,9 +217,9 @@ G_M54793_IG14:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rd
        mov      r15d, ecx
        mov      r13d, dword ptr [rbp+0x20]
        cmp      r13d, 256
-       ja       G_M54793_IG33
+       ja       G_M54793_IG32
        test     r13d, r13d
-       jge      SHORT G_M54793_IG18
+       jge      SHORT G_M54793_IG15
        mov      rcx, 0xD1FFAB1E
        ; gcrRegs +[rcx]
        mov      r12, rcx
@@ -229,40 +229,21 @@ G_M54793_IG14:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rd
        ; gcrRegs +[rdx]
        call     [<unknown method>]
        ; gcrRegs -[rcx rdx]
-       jmp      SHORT G_M54793_IG16
-                       ;; size=56 bbWeight=2 PerfScore 20.50
-G_M54793_IG15:        ; bbWeight=0.48, gcrefRegs=1008 {rbx r12}, byrefRegs=0086 {rcx rdx rdi}, byref, isz
-       ; gcrRegs -[rsi]
-       ; byrRegs +[rcx rdx]
-       jmp      SHORT G_M54793_IG10
-                       ;; size=2 bbWeight=0.48 PerfScore 0.96
-G_M54793_IG16:        ; bbWeight=2, gcrefRegs=1048 {rbx rsi r12}, byrefRegs=0080 {rdi}, byref, isz
-       ; gcrRegs +[rsi]
-       ; byrRegs -[rcx rdx]
        mov      rcx, r12
        ; gcrRegs +[rcx]
        mov      rdx, r12
        ; gcrRegs +[rdx]
        call     [<unknown method>]
        ; gcrRegs -[rcx rdx r12]
-       jmp      SHORT G_M54793_IG18
-                       ;; size=14 bbWeight=2 PerfScore 11.00
-G_M54793_IG17:        ; bbWeight=0.00, gcrefRegs=1008 {rbx r12}, byrefRegs=0086 {rcx rdx rdi}, byref, isz
-       ; gcrRegs -[rsi] +[r12]
-       ; byrRegs +[rcx rdx]
-       call     [<unknown method>]
-       ; byrRegs -[rcx rdx]
-       jmp      SHORT G_M54793_IG12
-                       ;; size=8 bbWeight=0.00 PerfScore 0.00
-G_M54793_IG18:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rdi}, byref
-       ; gcrRegs -[r12] +[rsi]
+                       ;; size=66 bbWeight=2 PerfScore 23.50
+G_M54793_IG15:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rdi}, byref
        mov      bword ptr [rbp+0x10], rdi
        mov      dword ptr [rbp+0x18], r13d
        lea      rcx, [rbp+0x10]
        call     <unknown method>
        ; gcrRegs +[rax]
        cmp      r14d, dword ptr [rsi+0x08]
-       jae      G_M54793_IG31
+       jae      G_M54793_IG30
        mov      ecx, r14d
        lea      rcx, bword ptr [rsi+8*rcx+0x10]
        ; byrRegs +[rcx]
@@ -274,21 +255,21 @@ G_M54793_IG18:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rd
        mov      dword ptr [rbp+0x20], 256
        mov      r14d, r15d
                        ;; size=53 bbWeight=2 PerfScore 22.50
-G_M54793_IG19:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rdi}, byref
+G_M54793_IG16:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rdi}, byref
        mov      rcx, gword ptr [rbx+0x08]
        ; gcrRegs +[rcx]
        xor      r9, r9
        ; gcrRegs +[r9]
        mov      gword ptr [rsp+0x20], r9
                        ;; size=12 bbWeight=4 PerfScore 13.00
-G_M54793_IG20:        ; bbWeight=4, gcrefRegs=004A {rcx rbx rsi}, byrefRegs=0080 {rdi}, byref
+G_M54793_IG17:        ; bbWeight=4, gcrefRegs=004A {rcx rbx rsi}, byrefRegs=0080 {rdi}, byref
        ; gcrRegs -[r9]
        mov      gword ptr [rsp+0x28], r9
                        ;; size=5 bbWeight=4 PerfScore 4.00
-G_M54793_IG21:        ; bbWeight=4, gcrefRegs=004A {rcx rbx rsi}, byrefRegs=0080 {rdi}, byref
+G_M54793_IG18:        ; bbWeight=4, gcrefRegs=004A {rcx rbx rsi}, byrefRegs=0080 {rdi}, byref
        mov      gword ptr [rsp+0x30], r9
                        ;; size=5 bbWeight=4 PerfScore 4.00
-G_M54793_IG22:        ; bbWeight=4, gcrefRegs=004A {rcx rbx rsi}, byrefRegs=0080 {rdi}, byref
+G_M54793_IG19:        ; bbWeight=4, gcrefRegs=004A {rcx rbx rsi}, byrefRegs=0080 {rdi}, byref
        mov      gword ptr [rsp+0x38], r9
        lea      r9, [rbp+0x20]
        mov      edx, r14d
@@ -300,16 +281,16 @@ G_M54793_IG22:        ; bbWeight=4, gcrefRegs=004A {rcx rbx rsi}, byrefRegs=0080
        cmp      eax, 259
        jne      G_M54793_IG07
                        ;; size=32 bbWeight=4 PerfScore 25.00
-G_M54793_IG23:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, isz
+G_M54793_IG20:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rbx]
        ; byrRegs -[rdi]
        mov      r15d, dword ptr [rsi+0x08]
        cmp      r15d, r14d
-       jle      SHORT G_M54793_IG27
+       jle      SHORT G_M54793_IG24
        test     r14d, r14d
-       jl       G_M54793_IG32
+       jl       G_M54793_IG31
                        ;; size=18 bbWeight=0.50 PerfScore 2.25
-G_M54793_IG24:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, isz
+G_M54793_IG21:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, isz
        movsxd   rdx, r14d
        mov      rcx, 0xD1FFAB1E      ; System.String[]
        call     CORINFO_HELP_NEWARR_1_OBJ
@@ -323,18 +304,18 @@ G_M54793_IG24:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0000 {},
        mov      r8d, r14d
        shl      r8, 3
        cmp      r8, 0x400
-       ja       SHORT G_M54793_IG30
+       ja       SHORT G_M54793_IG29
                         ;; size=45 bbWeight=0.50 PerfScore 2.37
-G_M54793_IG25:        ; bbWeight=0.42, gcrefRegs=0008 {rbx}, byrefRegs=0006 {rcx rdx}, byref
+G_M54793_IG22:        ; bbWeight=0.42, gcrefRegs=0008 {rbx}, byrefRegs=0006 {rcx rdx}, byref
        ; gcrRegs -[rax rsi]
        call     <unknown method>
        ; byrRegs -[rcx rdx]
                        ;; size=5 bbWeight=0.42 PerfScore 0.42
-G_M54793_IG26:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M54793_IG23:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      rsi, rbx
        ; gcrRegs +[rsi]
        test     rsi, rsi
-       jne      SHORT G_M54793_IG27
+       jne      SHORT G_M54793_IG24
        mov      r12, 0xD1FFAB1E
        ; gcrRegs +[r12]
        mov      rcx, r12
@@ -344,20 +325,20 @@ G_M54793_IG26:        ; bbWeight=0.50, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        call     [<unknown method>]
        ; gcrRegs -[rcx rdx rbx r12]
                        ;; size=30 bbWeight=0.50 PerfScore 2.62
-G_M54793_IG27:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, isz
+G_M54793_IG24:        ; bbWeight=0.50, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, isz
        mov      rax, rsi
        ; gcrRegs +[rax]
        mov      rcx, 0xD1FFAB1E
        cmp      qword ptr [rbp+0x08], rcx
-       je       SHORT G_M54793_IG28
+       je       SHORT G_M54793_IG25
        call     CORINFO_HELP_FAIL_FAST
        ; gcrRegs -[rax rsi]
                        ;; size=24 bbWeight=0.50 PerfScore 2.25
-G_M54793_IG28:        ; bbWeight=0.50, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref
+G_M54793_IG25:        ; bbWeight=0.50, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rax]
        nop      
                        ;; size=1 bbWeight=0.50 PerfScore 0.12
-G_M54793_IG29:        ; bbWeight=0.50, epilog, nogc, extend
+G_M54793_IG26:        ; bbWeight=0.50, epilog, nogc, extend
        lea      rsp, [rbp+0x28]
        pop      rbx
        pop      rsi
@@ -369,28 +350,38 @@ G_M54793_IG29:        ; bbWeight=0.50, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=17 bbWeight=0.50 PerfScore 2.75
-G_M54793_IG30:        ; bbWeight=0.00, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0006 {rcx rdx}, gcvars, byref, isz
-       ; gcrRegs -[rax] +[rbx]
-       ; byrRegs +[rcx rdx]
+G_M54793_IG27:        ; bbWeight=0.48, gcVars=0000000000000000 {}, gcrefRegs=1008 {rbx r12}, byrefRegs=0086 {rcx rdx rdi}, gcvars, byref
+       ; gcrRegs -[rax] +[rbx r12]
+       ; byrRegs +[rcx rdx rdi]
+       jmp      G_M54793_IG10
+                       ;; size=5 bbWeight=0.48 PerfScore 0.96
+G_M54793_IG28:        ; bbWeight=0.00, gcrefRegs=1008 {rbx r12}, byrefRegs=0086 {rcx rdx rdi}, byref
        call     [<unknown method>]
        ; byrRegs -[rcx rdx]
-       jmp      SHORT G_M54793_IG26
+       jmp      G_M54793_IG12
+                       ;; size=11 bbWeight=0.00 PerfScore 0.00
+G_M54793_IG29:        ; bbWeight=0.00, gcrefRegs=0008 {rbx}, byrefRegs=0006 {rcx rdx}, byref, isz
+       ; gcrRegs -[r12]
+       ; byrRegs -[rdi] +[rcx rdx]
+       call     [<unknown method>]
+       ; byrRegs -[rcx rdx]
+       jmp      SHORT G_M54793_IG23
                         ;; size=8 bbWeight=0.00 PerfScore 0.00
-G_M54793_IG31:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M54793_IG30:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx]
        call     CORINFO_HELP_RNGCHKFAIL
                        ;; size=5 bbWeight=0 PerfScore 0.00
-G_M54793_IG32:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M54793_IG31:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      ecx, 71
        mov      edx, 13
        call     [System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)]
        int3     
                        ;; size=17 bbWeight=0 PerfScore 0.00
-G_M54793_IG33:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M54793_IG32:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     [System.ThrowHelper:ThrowArgumentOutOfRangeException()]
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M54793_IG34:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M54793_IG33:        ; bbWeight=0, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rbx]
        mov      rcx, rbx
        ; gcrRegs +[rcx]
...
  
+2 (+1.60%) : 308427.dasm - System.IO.Compression.ZipGenericExtraField:WriteAllBlocks(System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField],System.IO.Stream) (FullOpts)
@@ -8,32 +8,33 @@
 ; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T10] (  4,  4   )     ref  ->  rcx         class-hnd single-def <System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField]>
-;  V01 arg1         [V01,T11] (  3,  4   )     ref  ->  rbx         class-hnd single-def <System.IO.Stream>
+;  V00 arg0         [V00,T11] (  4,  4   )     ref  ->  rcx         class-hnd single-def <System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField]>
+;  V01 arg1         [V01,T12] (  3,  4   )     ref  ->  rbx         class-hnd single-def <System.IO.Stream>
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.IO.Compression.ZipGenericExtraField]>
 ;  V03 loc1         [V03    ] (  4,  8   )  struct (16) [rsp+0x28]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.IO.Compression.ZipGenericExtraField>
 ;  V04 OutArgs      [V04    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V05 tmp1         [V05    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.IO.Compression.ZipGenericExtraField]>
-;* V06 tmp2         [V06,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V06 tmp2         [V06,T10] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V07 tmp3         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField]>
 ;  V08 tmp4         [V08    ] (  2,  4   )     ref  ->  [rsp+0x28]  do-not-enreg[X] addr-exposed "field V03._data (fldOffset=0x0)" P-DEP
 ;  V09 tmp5         [V09    ] (  2,  4   )  ushort  ->  [rsp+0x30]  do-not-enreg[X] addr-exposed "field V03._tag (fldOffset=0x8)" P-DEP
 ;  V10 tmp6         [V10    ] (  2,  4   )  ushort  ->  [rsp+0x32]  do-not-enreg[X] addr-exposed "field V03._size (fldOffset=0xa)" P-DEP
 ;  V11 tmp7         [V11,T03] (  4, 17   )     ref  ->  rdi         single-def "V02.[000..008)"
 ;  V12 tmp8         [V12,T01] (  6, 21   )     int  ->  rbp         "V02.[008..012)"
-;  V13 tmp9         [V13,T08] (  2,  9   )     int  ->  rsi         "V02.[012..016)"
-;  V14 tmp10        [V14,T05] (  2,  6   )     ref  ->  rdx         "V02.[016..024)"
-;  V15 tmp11        [V15,T06] (  2,  6   )  ushort  ->  rax         "V02.[024..026)"
-;  V16 tmp12        [V16,T07] (  2,  6   )  ushort  ->  rcx         "V02.[026..028)"
+;  V13 tmp9         [V13,T09] (  2,  9   )     int  ->  rsi         "V02.[012..016)"
+;  V14 tmp10        [V14,T06] (  2,  6   )     ref  ->  rdx         "V02.[016..024)"
+;  V15 tmp11        [V15,T07] (  2,  6   )  ushort  ->  rax         "V02.[024..026)"
+;  V16 tmp12        [V16,T08] (  2,  6   )  ushort  ->  rcx         "V02.[026..028)"
 ;* V17 tmp13        [V17    ] (  0,  0   )     ref  ->  zero-ref    single-def "V05.[000..008)"
 ;* V18 tmp14        [V18    ] (  0,  0   )     int  ->  zero-ref    "V05.[008..012)"
-;  V19 tmp15        [V19,T12] (  2,  2   )     int  ->  rsi         "V05.[012..016)"
+;  V19 tmp15        [V19,T13] (  2,  2   )     int  ->  rsi         "V05.[012..016)"
 ;* V20 tmp16        [V20    ] (  0,  0   )     ref  ->  zero-ref    single-def "V05.[016..024)"
 ;* V21 tmp17        [V21    ] (  0,  0   )  ushort  ->  zero-ref    "V05.[024..026)"
 ;* V22 tmp18        [V22    ] (  0,  0   )  ushort  ->  zero-ref    "V05.[026..028)"
 ;  V23 tmp19        [V23,T00] (  4, 32   )   byref  ->  rcx         "Spilling address for field-by-field copy"
 ;  V24 tmp20        [V24,T02] (  3, 24   )     ref  ->  rcx         "arr expr"
-;  V25 cse0         [V25,T04] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V25 cse0         [V25,T05] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V26 cse1         [V26,T04] (  2, 16   )     int  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 56
 
@@ -68,9 +69,10 @@ G_M41630_IG03:        ; bbWeight=2, gcrefRegs=008C {rdx rbx rdi}, byrefRegs=0000
        ; gcr arg pop 0
                        ;; size=29 bbWeight=2 PerfScore 13.50
 G_M41630_IG04:        ; bbWeight=8, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
-       cmp      esi, dword ptr [rdi+0x14]
+       mov      ecx, dword ptr [rdi+0x14]
+       cmp      esi, ecx
        jne      SHORT G_M41630_IG08
-                      ;; size=5 bbWeight=8 PerfScore 32.00
+                      ;; size=7 bbWeight=8 PerfScore 26.00
 G_M41630_IG05:        ; bbWeight=4, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
        mov      ecx, dword ptr [rdi+0x10]
        cmp      ebp, ecx
@@ -111,7 +113,7 @@ G_M41630_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 125, prolog size 15, PerfScore 145.75, instruction count 43, allocated bytes for code 125 (MethodHash=bf4e5d61) for method System.IO.Compression.ZipGenericExtraField:WriteAllBlocks(System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField],System.IO.Stream) (FullOpts)
+; Total bytes of code 127, prolog size 15, PerfScore 139.75, instruction count 44, allocated bytes for code 127 (MethodHash=bf4e5d61) for method System.IO.Compression.ZipGenericExtraField:WriteAllBlocks(System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField],System.IO.Stream) (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+24 (+3.52%) : 260685.dasm - System.Security.Cryptography.XmlKeyHelper:WriteCryptoBinary(System.String,System.ReadOnlySpan`1[ubyte],System.Text.StringBuilder) (FullOpts)
@@ -125,7 +125,7 @@ G_M40104_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0004 {rd
        ; gcrRegs +[rdx]
        ; byrRegs -[rdx]
        cmp      dword ptr [rdx+0x08], ecx
-       jbe      G_M40104_IG17
+       jbe      G_M40104_IG29
                         ;; size=23 bbWeight=1 PerfScore 12.00
 G_M40104_IG03:        ; bbWeight=0.46, gcrefRegs=004C {rdx rbx rsi}, byrefRegs=0080 {rdi}, byref
        mov      ecx, ecx
@@ -152,7 +152,7 @@ G_M40104_IG06:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rd
        mov      rdx, gword ptr [rbx+0x08]
        ; gcrRegs +[rdx]
        cmp      dword ptr [rdx+0x08], ecx
-       jbe      G_M40104_IG21
+       jbe      G_M40104_IG30
                         ;; size=16 bbWeight=1 PerfScore 8.00
 G_M40104_IG07:        ; bbWeight=0.46, gcrefRegs=004C {rdx rbx rsi}, byrefRegs=0080 {rdi}, byref
        mov      ecx, ecx
@@ -167,12 +167,12 @@ G_M40104_IG08:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rd
        sub      rsp, 512
        lea      r12, [rsp+0x20]
        test     r14d, r14d
-       jle      G_M40104_IG22
+       jle      G_M40104_IG16
                        ;; size=30 bbWeight=1 PerfScore 5.50
 G_M40104_IG09:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref
        ; byrRegs +[r12]
        cmp      r13d, 192
-       jl       G_M40104_IG16
+       jl       G_M40104_IG28
                         ;; size=13 bbWeight=4 PerfScore 5.00
 G_M40104_IG10:        ; bbWeight=1.42, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref
        mov      eax, 192
@@ -183,7 +183,7 @@ G_M40104_IG11:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rd
        add      rcx, r8
        mov      edx, r14d
        cmp      rcx, rdx
-       ja       G_M40104_IG37
+       ja       G_M40104_IG35
        add      r8, rdi
        ; byrRegs +[r8]
        mov      bword ptr [rbp+0x10], r8
@@ -203,7 +203,7 @@ G_M40104_IG12:        ; bbWeight=2, gcVars=0000000000000020 {V24}, gcrefRegs=004
        call     [<unknown method>]
        ; gcrRegs -[rcx rdx r10]
                        ;; size=22 bbWeight=2 PerfScore 7.50
-G_M40104_IG13:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref, isz
+G_M40104_IG13:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref
        mov      r8, bword ptr [rbp+0x10]
        ; byrRegs +[r8]
        mov      eax, dword ptr [rbp+0x3C]
@@ -220,15 +220,15 @@ G_M40104_IG13:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rd
        ; GC ptr vars -{V24}
        call     [<unknown method>]
        test     eax, eax
-       je       G_M40104_IG36
+       je       G_M40104_IG34
        mov      eax, dword ptr [rbp+0x40]
        mov      dword ptr [rbp+0x38], eax
        cmp      eax, 256
-       ja       G_M40104_IG37
+       ja       G_M40104_IG35
        test     eax, eax
-       jge      SHORT G_M40104_IG15
-                       ;; size=77 bbWeight=4 PerfScore 67.00
-G_M40104_IG14:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref, isz
+       jge      G_M40104_IG27
+                       ;; size=81 bbWeight=4 PerfScore 67.00
+G_M40104_IG14:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref
        mov      r10, 0xD1FFAB1E
        ; gcrRegs +[r10]
        mov      r8, r10
@@ -241,39 +241,16 @@ G_M40104_IG14:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rd
        ; gcrRegs +[rdx]
        call     [<unknown method>]
        ; gcrRegs -[rcx rdx r8 r10]
-       jmp      SHORT G_M40104_IG18
-                       ;; size=31 bbWeight=2 PerfScore 14.00
-G_M40104_IG15:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, gcvars, byref, isz
-       ; GC ptr vars -{V79}
-       mov      eax, dword ptr [rbp+0x38]
-       jmp      SHORT G_M40104_IG19
-                       ;; size=5 bbWeight=2 PerfScore 6.00
-G_M40104_IG16:        ; bbWeight=0.58, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref
-       mov      eax, r13d
-       jmp      G_M40104_IG11
-                       ;; size=8 bbWeight=0.58 PerfScore 1.30
-G_M40104_IG17:        ; bbWeight=0.04, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rdi}, byref
-       ; byrRegs -[r12]
-       mov      rcx, rbx
-       ; gcrRegs +[rcx]
-       mov      edx, 60
-       call     [<unknown method>]
-       ; gcrRegs -[rcx]
-       jmp      G_M40104_IG04
-                       ;; size=19 bbWeight=0.04 PerfScore 0.21
-G_M40104_IG18:        ; bbWeight=2, gcVars=0000000000000010 {V79}, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, gcvars, byref
-       ; byrRegs +[r12]
-       ; GC ptr vars +{V04 V79}
        mov      rcx, gword ptr [rbp+0x08]
        ; gcrRegs +[rcx]
        mov      rdx, rcx
        ; gcrRegs +[rdx]
-       ; GC ptr vars -{V04 V79}
+       ; GC ptr vars -{V79}
        call     [<unknown method>]
        ; gcrRegs -[rcx rdx]
        mov      eax, dword ptr [rbp+0x38]
-                        ;; size=16 bbWeight=2 PerfScore 10.50
-G_M40104_IG19:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref
+                        ;; size=45 bbWeight=2 PerfScore 20.50
+G_M40104_IG15:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref
        mov      rcx, rbx
        ; gcrRegs +[rcx]
        mov      rdx, r12
@@ -288,51 +265,38 @@ G_M40104_IG19:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rd
        test     r13d, r13d
        jg       G_M40104_IG09
                        ;; size=33 bbWeight=4 PerfScore 26.00
-G_M40104_IG20:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG16:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
        ; byrRegs -[rdi r12]
-       jmp      SHORT G_M40104_IG22
-                       ;; size=2 bbWeight=1 PerfScore 2.00
-G_M40104_IG21:        ; bbWeight=0.04, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rdi}, byref
-       ; byrRegs +[rdi]
-       mov      rcx, rbx
-       ; gcrRegs +[rcx]
-       mov      edx, 62
-       call     [<unknown method>]
-       ; gcrRegs -[rcx]
-       jmp      G_M40104_IG08
-                       ;; size=19 bbWeight=0.04 PerfScore 0.21
-G_M40104_IG22:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
-       ; byrRegs -[rdi]
        mov      ecx, dword ptr [rbx+0x18]
        mov      rdx, gword ptr [rbx+0x08]
        ; gcrRegs +[rdx]
        cmp      dword ptr [rdx+0x08], ecx
-       jbe      SHORT G_M40104_IG33
-                       ;; size=12 bbWeight=1 PerfScore 8.00
-G_M40104_IG23:        ; bbWeight=0.46, gcrefRegs=004C {rdx rbx rsi}, byrefRegs=0000 {}, byref
+       jbe      G_M40104_IG31
+                       ;; size=16 bbWeight=1 PerfScore 8.00
+G_M40104_IG17:        ; bbWeight=0.46, gcrefRegs=004C {rdx rbx rsi}, byrefRegs=0000 {}, byref
        mov      ecx, ecx
        mov      word  ptr [rdx+2*rcx+0x10], 60
        inc      dword ptr [rbx+0x18]
                        ;; size=12 bbWeight=0.46 PerfScore 1.96
-G_M40104_IG24:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG18:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdx]
        mov      ecx, dword ptr [rbx+0x18]
        mov      rdx, gword ptr [rbx+0x08]
        ; gcrRegs +[rdx]
        cmp      dword ptr [rdx+0x08], ecx
-       jbe      SHORT G_M40104_IG34
-                       ;; size=12 bbWeight=1 PerfScore 8.00
-G_M40104_IG25:        ; bbWeight=0.46, gcrefRegs=004C {rdx rbx rsi}, byrefRegs=0000 {}, byref
+       jbe      G_M40104_IG32
+                       ;; size=16 bbWeight=1 PerfScore 8.00
+G_M40104_IG19:        ; bbWeight=0.46, gcrefRegs=004C {rdx rbx rsi}, byrefRegs=0000 {}, byref
        mov      ecx, ecx
        mov      word  ptr [rdx+2*rcx+0x10], 47
        inc      dword ptr [rbx+0x18]
                        ;; size=12 bbWeight=0.46 PerfScore 1.96
-G_M40104_IG26:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG20:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdx]
        test     rsi, rsi
-       je       SHORT G_M40104_IG28
+       je       SHORT G_M40104_IG22
                      ;; size=5 bbWeight=1 PerfScore 1.25
-G_M40104_IG27:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+G_M40104_IG21:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
        mov      r8d, dword ptr [rsi+0x08]
        lea      rdx, bword ptr [rsi+0x0C]
        ; byrRegs +[rdx]
@@ -342,29 +306,29 @@ G_M40104_IG27:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000
        ; gcrRegs -[rcx rsi]
        ; byrRegs -[rdx]
                        ;; size=17 bbWeight=0.50 PerfScore 2.89
-G_M40104_IG28:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG22:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      ecx, dword ptr [rbx+0x18]
        mov      rdx, gword ptr [rbx+0x08]
        ; gcrRegs +[rdx]
        cmp      dword ptr [rdx+0x08], ecx
-       jbe      SHORT G_M40104_IG35
-                       ;; size=12 bbWeight=1 PerfScore 8.00
-G_M40104_IG29:        ; bbWeight=0.46, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref
+       jbe      G_M40104_IG33
+                       ;; size=16 bbWeight=1 PerfScore 8.00
+G_M40104_IG23:        ; bbWeight=0.46, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref
        mov      ecx, ecx
        mov      word  ptr [rdx+2*rcx+0x10], 62
        inc      dword ptr [rbx+0x18]
                        ;; size=12 bbWeight=0.46 PerfScore 1.96
-G_M40104_IG30:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG24:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdx rbx]
        mov      rcx, 0xD1FFAB1E
        cmp      qword ptr [rbp], rcx
-       je       SHORT G_M40104_IG31
+       je       SHORT G_M40104_IG25
        call     CORINFO_HELP_FAIL_FAST
                        ;; size=21 bbWeight=1 PerfScore 4.25
-G_M40104_IG31:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M40104_IG25:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
-G_M40104_IG32:        ; bbWeight=1, epilog, nogc, extend
+G_M40104_IG26:        ; bbWeight=1, epilog, nogc, extend
        lea      rsp, [rbp+0x48]
        pop      rbx
        pop      rsi
@@ -376,33 +340,60 @@ G_M40104_IG32:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=17 bbWeight=1 PerfScore 5.50
-G_M40104_IG33:        ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M40104_IG27:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, gcvars, byref
        ; gcrRegs +[rbx rsi]
+       ; byrRegs +[rdi r12]
+       mov      eax, dword ptr [rbp+0x38]
+       jmp      G_M40104_IG15
+                       ;; size=8 bbWeight=2 PerfScore 6.00
+G_M40104_IG28:        ; bbWeight=0.58, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref
+       mov      eax, r13d
+       jmp      G_M40104_IG11
+                       ;; size=8 bbWeight=0.58 PerfScore 1.30
+G_M40104_IG29:        ; bbWeight=0.04, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rdi}, byref
+       ; byrRegs -[r12]
        mov      rcx, rbx
        ; gcrRegs +[rcx]
        mov      edx, 60
        call     [<unknown method>]
        ; gcrRegs -[rcx]
-       jmp      SHORT G_M40104_IG24
-                       ;; size=16 bbWeight=0.04 PerfScore 0.21
-G_M40104_IG34:        ; bbWeight=0.04, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+       jmp      G_M40104_IG04
+                       ;; size=19 bbWeight=0.04 PerfScore 0.21
+G_M40104_IG30:        ; bbWeight=0.04, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rdi}, byref
+       mov      rcx, rbx
+       ; gcrRegs +[rcx]
+       mov      edx, 62
+       call     [<unknown method>]
+       ; gcrRegs -[rcx]
+       jmp      G_M40104_IG08
...
  
  
libraries_tests.run.windows.x64.Release.mch
-10 (-1.75%) : 25106.dasm - System.Linq.Enumerable:TryGetFirstSystem.__Canon:System.__Canon (Tier1)
@@ -30,13 +30,13 @@
 ;  V18 tmp10        [V18,T12] (  3,  5.79)     ref  ->  rdx         class-hnd "dup spill" <Internal.Microsoft.Extensions.DependencyModel.RuntimeAssetGroup>
 ;* V19 tmp11        [V19    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V20 tmp12        [V20,T13] (  2,  1.93)     ref  ->  rdx        
-;  V21 tmp13        [V21,T00] ( 10, 16.65)   byref  ->  r15         "Inlining Arg"
+;  V21 tmp13        [V21,T00] (  9, 16.16)   byref  ->  r15         "Inlining Arg"
 ;  V22 tmp14        [V22,T18] (  4,  3.67)     ref  ->  rcx         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V23 tmp15        [V23,T16] (  3,  4.40)     ref  ->  rcx         "arr expr"
 ;  V24 tmp16        [V24,T17] (  3,  4.40)     int  ->  rdx         "index expr"
 ;  V25 PSPSym       [V25,T22] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
 ;  V26 cse0         [V26,T20] (  3,  2.69)     int  ->  rdx         "CSE - moderate"
-;  V27 cse1         [V27,T19] (  4,  3.19)     ref  ->  r13         "CSE - moderate"
+;  V27 cse1         [V27,T19] (  3,  2.94)     ref  ->  r13         "CSE - moderate"
 ;  V28 rat0         [V28,T14] (  3,  5.60)    long  ->  r11         "fgMakeTemp is creating a new local variable"
 ;  V29 rat1         [V29,T05] (  3,  8.07)    long  ->  rcx         "spilling expr"
 ;  V30 rat2         [V30,T07] (  3,  6.45)    long  ->  r11         "fgMakeTemp is creating a new local variable"
@@ -68,13 +68,13 @@ G_M62024_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M62024_IG02:        ; bbWeight=1, gcVars=0000000000200000 {V06}, gcrefRegs=0088 {rbx rdi}, byrefRegs=4000 {r14}, gcvars, byref
        ; GC ptr vars +{V06 V21}
        test     rdi, rdi
-       je       G_M62024_IG30
+       je       G_M62024_IG29
        test     rbx, rbx
-       je       G_M62024_IG31
+       je       G_M62024_IG30
        mov      rcx, qword ptr [rsi+0x38]
        mov      r11, qword ptr [rcx+0x10]
        test     r11, r11
-       je       G_M62024_IG21
+       je       G_M62024_IG20
                      ;; size=35 bbWeight=1 PerfScore 7.75
 G_M62024_IG03:        ; bbWeight=1, gcrefRegs=0088 {rbx rdi}, byrefRegs=4000 {r14}, byref
        mov      rcx, rdi
@@ -123,7 +123,7 @@ G_M62024_IG08:        ; bbWeight=0.96, gcrefRegs=8088 {rbx rdi r15}, byrefRegs=4
        mov      rdx, gword ptr [rdx+0x10]
        test     rdx, rdx
        je       SHORT G_M62024_IG11
-       jmp      G_M62024_IG20
+       jmp      G_M62024_IG19
                       ;; size=23 bbWeight=0.96 PerfScore 8.20
 G_M62024_IG09:        ; bbWeight=0.52, gcrefRegs=0088 {rbx rdi}, byrefRegs=4000 {r14}, byref, isz
        ; gcrRegs -[rdx r15]
@@ -144,13 +144,13 @@ G_M62024_IG10:        ; bbWeight=1.44, gcrefRegs=8088 {rbx rdi r15}, byrefRegs=4
        ; gcrRegs -[rcx rdx]
        ; gcr arg pop 0
        test     eax, eax
-       jne      G_M62024_IG20
+       jne      G_M62024_IG19
                      ;; size=18 bbWeight=1.44 PerfScore 9.36
 G_M62024_IG11:        ; bbWeight=2.33, gcrefRegs=0088 {rbx rdi}, byrefRegs=4000 {r14}, byref, isz
        ; gcrRegs -[r15]
        mov      rcx, 0xD1FFAB1E      ; System.Collections.Generic.List`1+Enumerator[Internal.Microsoft.Extensions.DependencyModel.RuntimeAssetGroup]
        cmp      qword ptr [rdi], rcx
-       jne      SHORT G_M62024_IG18
+       jne      SHORT G_M62024_IG17
                      ;; size=15 bbWeight=2.33 PerfScore 9.92
 G_M62024_IG12:        ; bbWeight=0.98, gcrefRegs=0088 {rbx rdi}, byrefRegs=4000 {r14}, byref, isz
        lea      r15, bword ptr [rdi+0x08]
@@ -161,10 +161,10 @@ G_M62024_IG12:        ; bbWeight=0.98, gcrefRegs=0088 {rbx rdi}, byrefRegs=4000
        ; gcrRegs +[rcx]
        mov      edx, dword ptr [r15+0x14]
        cmp      edx, dword ptr [rcx+0x14]
-       jne      SHORT G_M62024_IG16
+       jne      SHORT G_M62024_IG15
        mov      edx, dword ptr [r15+0x10]
        cmp      edx, dword ptr [rcx+0x10]
-       jae      SHORT G_M62024_IG17
+       jae      SHORT G_M62024_IG16
                         ;; size=28 bbWeight=0.98 PerfScore 14.46
 G_M62024_IG13:        ; bbWeight=0.73, gcrefRegs=008A {rcx rbx rdi}, byrefRegs=C000 {r14 r15}, byref, isz
        ; gcrRegs -[r13]
@@ -195,23 +195,18 @@ G_M62024_IG15:        ; bbWeight=0, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byr
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M62024_IG16:        ; bbWeight=0.25, gcrefRegs=2080 {rdi r13}, byrefRegs=C000 {r14 r15}, byref, isz
+G_M62024_IG16:        ; bbWeight=0.98, gcrefRegs=2080 {rdi r13}, byrefRegs=C000 {r14 r15}, byref, isz
        ; gcrRegs +[r13]
        ; byrRegs +[r14-r15]
-       mov      ecx, dword ptr [r15+0x14]
-       cmp      ecx, dword ptr [r13+0x14]
-       jne      SHORT G_M62024_IG15
-                       ;; size=10 bbWeight=0.25 PerfScore 1.48
-G_M62024_IG17:        ; bbWeight=0.98, gcrefRegs=2080 {rdi r13}, byrefRegs=C000 {r14 r15}, byref, isz
        mov      ecx, dword ptr [r13+0x10]
        inc      ecx
        mov      dword ptr [r15+0x10], ecx
        xor      rcx, rcx
        ; gcrRegs +[rcx]
        mov      gword ptr [r15+0x08], rcx
-       jmp      SHORT G_M62024_IG22
+       jmp      SHORT G_M62024_IG21
                         ;; size=18 bbWeight=0.98 PerfScore 6.37
-G_M62024_IG18:        ; bbWeight=2.33, gcrefRegs=0088 {rbx rdi}, byrefRegs=4000 {r14}, byref
+G_M62024_IG17:        ; bbWeight=2.33, gcrefRegs=0088 {rbx rdi}, byrefRegs=4000 {r14}, byref
        ; gcrRegs -[rcx r13] +[rbx]
        ; byrRegs -[r15]
        mov      rcx, rdi
@@ -223,17 +218,17 @@ G_M62024_IG18:        ; bbWeight=2.33, gcrefRegs=0088 {rbx rdi}, byrefRegs=4000
        test     eax, eax
        jne      G_M62024_IG05
                        ;; size=24 bbWeight=2.33 PerfScore 11.08
-G_M62024_IG19:        ; bbWeight=0.89, gcrefRegs=0080 {rdi}, byrefRegs=4000 {r14}, byref, isz
+G_M62024_IG18:        ; bbWeight=0.89, gcrefRegs=0080 {rdi}, byrefRegs=4000 {r14}, byref, isz
        ; gcrRegs -[rbx]
-       jmp      SHORT G_M62024_IG22
+       jmp      SHORT G_M62024_IG21
                      ;; size=2 bbWeight=0.89 PerfScore 1.79
-G_M62024_IG20:        ; bbWeight=0.96, gcrefRegs=8080 {rdi r15}, byrefRegs=4000 {r14}, byref, isz
+G_M62024_IG19:        ; bbWeight=0.96, gcrefRegs=8080 {rdi r15}, byrefRegs=4000 {r14}, byref, isz
        ; gcrRegs +[r15]
        mov      byte  ptr [r14], 1
        mov      gword ptr [rbp-0x48], r15
-       jmp      SHORT G_M62024_IG26
+       jmp      SHORT G_M62024_IG25
                         ;; size=10 bbWeight=0.96 PerfScore 3.86
-G_M62024_IG21:        ; bbWeight=0.20, gcVars=0000000000200000 {V06}, gcrefRegs=0088 {rbx rdi}, byrefRegs=4000 {r14}, gcvars, byref
+G_M62024_IG20:        ; bbWeight=0.20, gcVars=0000000000200000 {V06}, gcrefRegs=0088 {rbx rdi}, byrefRegs=4000 {r14}, gcvars, byref
        ; gcrRegs -[r15] +[rbx]
        ; GC ptr vars -{V04}
        mov      rcx, rsi
@@ -243,14 +238,14 @@ G_M62024_IG21:        ; bbWeight=0.20, gcVars=0000000000200000 {V06}, gcrefRegs=
        mov      r11, rax
        jmp      G_M62024_IG03
                        ;; size=26 bbWeight=0.20 PerfScore 0.75
-G_M62024_IG22:        ; bbWeight=0.89, gcVars=0000000000000004 {V04}, gcrefRegs=0080 {rdi}, byrefRegs=4000 {r14}, gcvars, byref, isz
+G_M62024_IG21:        ; bbWeight=0.89, gcVars=0000000000000004 {V04}, gcrefRegs=0080 {rdi}, byrefRegs=4000 {r14}, gcvars, byref, isz
        ; gcrRegs -[rbx]
        ; GC ptr vars -{V06} +{V02 V04}
        mov      rcx, 0xD1FFAB1E      ; System.SZGenericArrayEnumerator`1[Internal.Microsoft.Extensions.DependencyModel.RuntimeAssetGroup]
        cmp      qword ptr [rdi], rcx
-       je       SHORT G_M62024_IG24
+       je       SHORT G_M62024_IG23
                      ;; size=15 bbWeight=0.89 PerfScore 3.80
-G_M62024_IG23:        ; bbWeight=0.46, gcrefRegs=0080 {rdi}, byrefRegs=4000 {r14}, byref
+G_M62024_IG22:        ; bbWeight=0.46, gcrefRegs=0080 {rdi}, byrefRegs=4000 {r14}, byref
        mov      rcx, rdi
        ; gcrRegs +[rcx]
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
@@ -259,12 +254,12 @@ G_M62024_IG23:        ; bbWeight=0.46, gcrefRegs=0080 {rdi}, byrefRegs=4000 {r14
        ; gcrRegs -[rcx rdi]
        ; gcr arg pop 0
                        ;; size=16 bbWeight=0.46 PerfScore 1.63
-G_M62024_IG24:        ; bbWeight=0.89, gcrefRegs=0000 {}, byrefRegs=4000 {r14}, byref
+G_M62024_IG23:        ; bbWeight=0.89, gcrefRegs=0000 {}, byrefRegs=4000 {r14}, byref
        mov      byte  ptr [r14], 0
        xor      rax, rax
        ; gcrRegs +[rax]
                        ;; size=6 bbWeight=0.89 PerfScore 1.12
-G_M62024_IG25:        ; bbWeight=0.89, epilog, nogc, extend
+G_M62024_IG24:        ; bbWeight=0.89, epilog, nogc, extend
        add      rsp, 64
        pop      rbx
        pop      rsi
@@ -275,23 +270,23 @@ G_M62024_IG25:        ; bbWeight=0.89, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=15 bbWeight=0.89 PerfScore 4.24
-G_M62024_IG26:        ; bbWeight=0.11, gcVars=0000000000200004 {V04 V06}, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, gcvars, byref
+G_M62024_IG25:        ; bbWeight=0.11, gcVars=0000000000200004 {V04 V06}, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax] +[rdi]
        ; byrRegs -[r14]
        ; GC ptr vars +{V02 V04 V06 V21}
        mov      rcx, rsp
-       call     G_M62024_IG32
+       call     G_M62024_IG31
        ; gcrRegs -[rdi]
                        ;; size=8 bbWeight=0.11 PerfScore 0.13
-G_M62024_IG27:        ; bbWeight=0.11, nogc, extend
+G_M62024_IG26:        ; bbWeight=0.11, nogc, extend
        nop      
                        ;; size=1 bbWeight=0.11 PerfScore 0.03
-G_M62024_IG28:        ; bbWeight=0.11, gcVars=0000000000200000 {V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M62024_IG27:        ; bbWeight=0.11, gcVars=0000000000200000 {V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V02 V04 V21}
        mov      rax, gword ptr [rbp-0x48]
        ; gcrRegs +[rax]
                        ;; size=4 bbWeight=0.11 PerfScore 0.11
-G_M62024_IG29:        ; bbWeight=0.11, epilog, nogc, extend
+G_M62024_IG28:        ; bbWeight=0.11, epilog, nogc, extend
        add      rsp, 64
        pop      rbx
        pop      rsi
@@ -302,7 +297,7 @@ G_M62024_IG29:        ; bbWeight=0.11, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=15 bbWeight=0.11 PerfScore 0.51
-G_M62024_IG30:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M62024_IG29:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax]
        ; GC ptr vars -{V06}
        mov      ecx, 17
@@ -310,13 +305,13 @@ G_M62024_IG30:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {
        ; gcr arg pop 0
        int3     
                        ;; size=12 bbWeight=0 PerfScore 0.00
-G_M62024_IG31:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M62024_IG30:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      ecx, 12
        call     [System.Linq.ThrowHelper:ThrowArgumentNullException(int)]
        ; gcr arg pop 0
        int3     
                        ;; size=12 bbWeight=0 PerfScore 0.00
-G_M62024_IG32:        ; bbWeight=0.11, gcVars=0000000000200004 {V04 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+G_M62024_IG31:        ; bbWeight=0.11, gcVars=0000000000200004 {V04 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
        ; GC ptr vars +{V02 V04 V06 V21}
        push     rbp
        push     r15
@@ -330,16 +325,16 @@ G_M62024_IG32:        ; bbWeight=0.11, gcVars=0000000000200004 {V04 V06}, gcrefR
        mov      qword ptr [rsp+0x20], rbp
        lea      rbp, [rbp+0x70]
                        ;; size=27 bbWeight=0.11 PerfScore 1.15
-G_M62024_IG33:        ; bbWeight=0.11, gcVars=0000000000200004 {V04 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M62024_IG32:        ; bbWeight=0.11, gcVars=0000000000200004 {V04 V06}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        mov      rdi, gword ptr [rbp-0x40]
        ; gcrRegs +[rdi]
        test     rdi, rdi
-       je       SHORT G_M62024_IG35
+       je       SHORT G_M62024_IG34
        mov      rcx, 0xD1FFAB1E      ; System.SZGenericArrayEnumerator`1[Internal.Microsoft.Extensions.DependencyModel.RuntimeAssetGroup]
        cmp      qword ptr [rdi], rcx
-       je       SHORT G_M62024_IG35
+       je       SHORT G_M62024_IG34
                      ;; size=24 bbWeight=0.11 PerfScore 0.69
-G_M62024_IG34:        ; bbWeight=0.06, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+G_M62024_IG33:        ; bbWeight=0.06, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        mov      rcx, rdi
        ; gcrRegs +[rcx]
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
@@ -348,10 +343,10 @@ G_M62024_IG34:        ; bbWeight=0.06, gcrefRegs=0080 {rdi}, byrefRegs=0000 {},
        ; gcrRegs -[rcx rdi]
        ; gcr arg pop 0
                        ;; size=16 bbWeight=0.06 PerfScore 0.19
-G_M62024_IG35:        ; bbWeight=0.11, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M62024_IG34:        ; bbWeight=0.11, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=0.11 PerfScore 0.03
-G_M62024_IG36:        ; bbWeight=0.11, funclet epilog, nogc, extend
+G_M62024_IG35:        ; bbWeight=0.11, funclet epilog, nogc, extend
        add      rsp, 48
        pop      rbx
        pop      rsi
@@ -363,7 +358,7 @@ G_M62024_IG36:        ; bbWeight=0.11, funclet epilog, nogc, extend
        ret      
                        ;; size=15 bbWeight=0.11 PerfScore 0.51
 
-; Total bytes of code 570, prolog size 45, PerfScore 143.95, instruction count 172, allocated bytes for code 570 (MethodHash=c4780db7) for method System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
+; Total bytes of code 560, prolog size 45, PerfScore 142.47, instruction count 169, allocated bytes for code 560 (MethodHash=c4780db7) for method System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
 ; ============================================================
 
...
  
-16 (-1.72%) : 22997.dasm - System.Collections.Generic.List1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable1[System.__Canon]):this (Tier1)
@@ -33,7 +33,7 @@
 ;  V21 tmp16        [V21,T28] (  3,  0.97)     ref  ->   r8         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V22 tmp17        [V22,T26] (  4,  1.20)     int  ->  rdx         "Inline stloc first use temp"
 ;  V23 tmp18        [V23,T24] (  3,  1.50)     ref  ->  rax         class-hnd "Inlining Arg" <System.__Canon>
-;  V24 tmp19        [V24,T00] ( 12,  9.10)   byref  ->  rbx         "Inlining Arg"
+;  V24 tmp19        [V24,T00] ( 10,  8.47)   byref  ->  rbx         "Inlining Arg"
 ;  V25 tmp20        [V25,T17] (  4,  2.26)     ref  ->  rcx         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;* V26 tmp21        [V26    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V27 tmp22        [V27,T07] (  2,  4   )    long  ->  rax         "argument with side effect"
@@ -72,14 +72,14 @@ G_M57116_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M57116_IG02:        ; bbWeight=1, gcVars=0000000000000002 {V00}, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs +[rcx]
        test     rbx, rbx
-       je       G_M57116_IG40
+       je       G_M57116_IG39
        mov      rsi, qword ptr [rcx]
        mov      rdx, rsi
        mov      rax, qword ptr [rdx+0x38]
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x68]
        test     rax, rax
-       je       G_M57116_IG26
+       je       G_M57116_IG25
                      ;; size=35 bbWeight=1 PerfScore 10.75
 G_M57116_IG03:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rcx]
@@ -100,7 +100,7 @@ G_M57116_IG04:        ; bbWeight=0.35, gcrefRegs=0080 {rdi}, byrefRegs=0000 {},
        mov      rcx, qword ptr [rcx]
        mov      r11, qword ptr [rcx+0x80]
        test     r11, r11
-       je       G_M57116_IG27
+       je       G_M57116_IG26
                      ;; size=23 bbWeight=0.35 PerfScore 2.54
 G_M57116_IG05:        ; bbWeight=0.35, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        mov      rcx, rdi
@@ -110,7 +110,7 @@ G_M57116_IG05:        ; bbWeight=0.35, gcrefRegs=0080 {rdi}, byrefRegs=0000 {},
        ; gcr arg pop 0
        mov      ebx, eax
        test     ebx, ebx
-       jne      G_M57116_IG29
+       jne      G_M57116_IG28
                      ;; size=16 bbWeight=0.35 PerfScore 1.66
 G_M57116_IG06:        ; bbWeight=0.31, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
@@ -118,7 +118,7 @@ G_M57116_IG06:        ; bbWeight=0.31, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        mov      rcx, qword ptr [rcx]
        mov      rcx, qword ptr [rcx+0x58]
        test     rcx, rcx
-       je       G_M57116_IG28
+       je       G_M57116_IG27
                      ;; size=20 bbWeight=0.31 PerfScore 2.22
 G_M57116_IG07:        ; bbWeight=0.31, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
@@ -150,7 +150,7 @@ G_M57116_IG09:        ; bbWeight=0.65, gcVars=0000000000000002 {V00}, gcrefRegs=
        mov      rdx, qword ptr [rdx]
        mov      rdx, qword ptr [rdx+0x58]
        test     rdx, rdx
-       je       G_M57116_IG36
+       je       G_M57116_IG35
                      ;; size=20 bbWeight=0.65 PerfScore 4.71
 G_M57116_IG10:        ; bbWeight=0.65, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rcx, rdx
@@ -171,7 +171,7 @@ G_M57116_IG10:        ; bbWeight=0.65, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      rcx, qword ptr [rcx]
        mov      r11, qword ptr [rcx+0x70]
        test     r11, r11
-       je       G_M57116_IG37
+       je       G_M57116_IG36
                      ;; size=44 bbWeight=0.65 PerfScore 8.45
 G_M57116_IG11:        ; bbWeight=0.65, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rcx, rbx
@@ -194,10 +194,10 @@ G_M57116_IG13:        ; bbWeight=0.60, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
        ; gcrRegs +[rcx]
        mov      edx, dword ptr [rbx+0x14]
        cmp      edx, dword ptr [rcx+0x14]
-       jne      G_M57116_IG24
+       jne      G_M57116_IG23
        mov      edx, dword ptr [rbx+0x10]
        cmp      edx, dword ptr [rcx+0x10]
-       jae      G_M57116_IG25
+       jae      G_M57116_IG24
                         ;; size=31 bbWeight=0.60 PerfScore 8.77
 G_M57116_IG14:        ; bbWeight=0.45, gcrefRegs=0002 {rcx}, byrefRegs=0008 {rbx}, byref
        ; gcrRegs -[rax]
@@ -264,7 +264,7 @@ G_M57116_IG18:        ; bbWeight=1.02, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
 G_M57116_IG19:        ; bbWeight=0.65, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rax, gword ptr [rbp-0x28]
        ; gcrRegs +[rax]
-       jmp      G_M57116_IG33
+       jmp      G_M57116_IG32
                       ;; size=9 bbWeight=0.65 PerfScore 1.95
 G_M57116_IG20:        ; bbWeight=0.07, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
@@ -296,20 +296,10 @@ G_M57116_IG23:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M57116_IG24:        ; bbWeight=0.16, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref, isz
+G_M57116_IG24:        ; bbWeight=0.16, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref
        ; byrRegs +[rbx]
        mov      rax, gword ptr [rbp-0x28]
        ; gcrRegs +[rax]
-       mov      ecx, dword ptr [rbx+0x14]
-       mov      r11, gword ptr [rbx]
-       ; gcrRegs +[r11]
-       cmp      ecx, dword ptr [r11+0x14]
-       jne      SHORT G_M57116_IG23
-                       ;; size=16 bbWeight=0.16 PerfScore 1.42
-G_M57116_IG25:        ; bbWeight=0.16, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref
-       ; gcrRegs -[rax r11]
-       mov      rax, gword ptr [rbp-0x28]
-       ; gcrRegs +[rax]
        mov      rcx, gword ptr [rbx]
        ; gcrRegs +[rcx]
        mov      ecx, dword ptr [rcx+0x10]
@@ -319,9 +309,9 @@ G_M57116_IG25:        ; bbWeight=0.16, gcrefRegs=0000 {}, byrefRegs=0008 {rbx},
        xor      rcx, rcx
        ; gcrRegs +[rcx]
        mov      gword ptr [rbx+0x08], rcx
-       jmp      G_M57116_IG33
+       jmp      G_M57116_IG32
                         ;; size=26 bbWeight=0.16 PerfScore 1.50
-G_M57116_IG26:        ; bbWeight=0.20, gcVars=0000000000000002 {V00}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
+G_M57116_IG25:        ; bbWeight=0.20, gcVars=0000000000000002 {V00}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax rcx] +[rbx]
        ; byrRegs -[rbx]
        ; GC ptr vars -{V04}
@@ -331,7 +321,7 @@ G_M57116_IG26:        ; bbWeight=0.20, gcVars=0000000000000002 {V00}, gcrefRegs=
        ; gcr arg pop 0
        jmp      G_M57116_IG03
                        ;; size=23 bbWeight=0.20 PerfScore 0.70
-G_M57116_IG27:        ; bbWeight=0.07, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+G_M57116_IG26:        ; bbWeight=0.07, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx] +[rdi]
        mov      rcx, rsi
        mov      rdx, 0xD1FFAB1E      ; global ptr
@@ -340,7 +330,7 @@ G_M57116_IG27:        ; bbWeight=0.07, gcrefRegs=0080 {rdi}, byrefRegs=0000 {},
        mov      r11, rax
        jmp      G_M57116_IG05
                        ;; size=26 bbWeight=0.07 PerfScore 0.26
-G_M57116_IG28:        ; bbWeight=0.06, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M57116_IG27:        ; bbWeight=0.06, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
        mov      rcx, rsi
        mov      rdx, 0xD1FFAB1E      ; global ptr
@@ -349,15 +339,15 @@ G_M57116_IG28:        ; bbWeight=0.06, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        mov      rcx, rax
        jmp      G_M57116_IG07
                        ;; size=26 bbWeight=0.06 PerfScore 0.23
-G_M57116_IG29:        ; bbWeight=0.04, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+G_M57116_IG28:        ; bbWeight=0.04, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rdi]
        mov      rcx, qword ptr [rsi+0x38]
        mov      rcx, qword ptr [rcx]
        mov      rcx, qword ptr [rcx+0x60]
        test     rcx, rcx
-       je       G_M57116_IG38
+       je       G_M57116_IG37
                      ;; size=20 bbWeight=0.04 PerfScore 0.32
-G_M57116_IG30:        ; bbWeight=0.04, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+G_M57116_IG29:        ; bbWeight=0.04, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        movsxd   rdx, ebx
        call     CORINFO_HELP_NEWARR_1_OBJ
        ; gcrRegs +[rax]
@@ -376,9 +366,9 @@ G_M57116_IG30:        ; bbWeight=0.04, gcrefRegs=0080 {rdi}, byrefRegs=0000 {},
        mov      rcx, qword ptr [rcx]
        mov      r11, qword ptr [rcx+0x88]
        test     r11, r11
-       je       G_M57116_IG39
+       je       G_M57116_IG38
                      ;; size=47 bbWeight=0.04 PerfScore 0.49
-G_M57116_IG31:        ; bbWeight=0.04, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+G_M57116_IG30:        ; bbWeight=0.04, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        mov      rcx, gword ptr [rbp+0x10]
        ; gcrRegs +[rcx]
        mov      rdx, gword ptr [rcx+0x08]
@@ -392,7 +382,7 @@ G_M57116_IG31:        ; bbWeight=0.04, gcrefRegs=0080 {rdi}, byrefRegs=0000 {},
        ; gcrRegs +[rcx]
        mov      dword ptr [rcx+0x10], ebx
                        ;; size=24 bbWeight=0.04 PerfScore 0.37
-G_M57116_IG32:        ; bbWeight=0.04, epilog, nogc, extend
+G_M57116_IG31:        ; bbWeight=0.04, epilog, nogc, extend
        add      rsp, 56
        pop      rbx
        pop      rsi
@@ -400,14 +390,14 @@ G_M57116_IG32:        ; bbWeight=0.04, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=9 bbWeight=0.04 PerfScore 0.14
-G_M57116_IG33:        ; bbWeight=0.65, gcVars=0000000000000202 {V00 V04}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M57116_IG32:        ; bbWeight=0.65, gcVars=0000000000000202 {V00 V04}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rcx] +[rax]
        ; GC ptr vars +{V04 V09}
        mov      rcx, 0xD1FFAB1E      ; System.Collections.Generic.List`1+Enumerator[Xunit.Sdk.ReflectionAttributeInfo]
        cmp      qword ptr [rax], rcx
-       jne      SHORT G_M57116_IG35
+       jne      SHORT G_M57116_IG34
                      ;; size=15 bbWeight=0.65 PerfScore 2.76
-G_M57116_IG34:        ; bbWeight=0.65, gcVars=0000000000000002 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, epilog, nogc
+G_M57116_IG33:        ; bbWeight=0.65, gcVars=0000000000000002 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, epilog, nogc
        ; gcrRegs -[rax]
        ; GC ptr vars -{V04 V09}
        add      rsp, 56
@@ -417,7 +407,7 @@ G_M57116_IG34:        ; bbWeight=0.65, gcVars=0000000000000002 {V00}, gcrefRegs=
        pop      rbp
        ret      
                        ;; size=9 bbWeight=0.65 PerfScore 2.11
-G_M57116_IG35:        ; bbWeight=0.20, gcVars=0000000000000202 {V00 V04}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M57116_IG34:        ; bbWeight=0.20, gcVars=0000000000000202 {V00 V04}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[rax]
        ; GC ptr vars +{V04 V09}
        mov      rcx, rax
@@ -427,9 +417,9 @@ G_M57116_IG35:        ; bbWeight=0.20, gcVars=0000000000000202 {V00 V04}, gcrefR
        call     [r11]<unknown method>
        ; gcrRegs -[rax rcx]
        ; gcr arg pop 0
-       jmp      SHORT G_M57116_IG34
+       jmp      SHORT G_M57116_IG33
                        ;; size=18 bbWeight=0.20 PerfScore 1.11
-G_M57116_IG36:        ; bbWeight=0.13, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M57116_IG35:        ; bbWeight=0.13, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rbx]
        mov      rcx, rsi
        mov      rdx, 0xD1FFAB1E      ; global ptr
@@ -438,7 +428,7 @@ G_M57116_IG36:        ; bbWeight=0.13, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      rdx, rax
        jmp      G_M57116_IG10
                        ;; size=26 bbWeight=0.13 PerfScore 0.49
-G_M57116_IG37:        ; bbWeight=0.13, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M57116_IG36:        ; bbWeight=0.13, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rcx, rsi
        mov      rdx, 0xD1FFAB1E      ; global ptr
        call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
@@ -446,31 +436,31 @@ G_M57116_IG37:        ; bbWeight=0.13, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      r11, rax
        jmp      G_M57116_IG11
                        ;; size=26 bbWeight=0.13 PerfScore 0.49
-G_M57116_IG38:        ; bbWeight=0.01, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+G_M57116_IG37:        ; bbWeight=0.01, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx] +[rdi]
        mov      rcx, rsi
        mov      rdx, 0xD1FFAB1E      ; global ptr
        call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
        ; gcr arg pop 0
        mov      rcx, rax
-       jmp      G_M57116_IG30
+       jmp      G_M57116_IG29
                      ;; size=26 bbWeight=0.01 PerfScore 0.03
-G_M57116_IG39:        ; bbWeight=0.01, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+G_M57116_IG38:        ; bbWeight=0.01, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
...
  
-16 (-1.70%) : 95823.dasm - System.Collections.Generic.List1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable1[System.__Canon]):this (Tier1)
@@ -33,7 +33,7 @@
 ;  V21 tmp16        [V21,T26] (  3,  1.60)     ref  ->   r8         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V22 tmp17        [V22,T23] (  4,  1.93)     int  ->  rdx         "Inline stloc first use temp"
 ;  V23 tmp18        [V23,T19] (  3,  2.53)     ref  ->  rax         class-hnd "Inlining Arg" <System.__Canon>
-;  V24 tmp19        [V24,T01] ( 12,  6.91)   byref  ->  rbx         "Inlining Arg"
+;  V24 tmp19        [V24,T01] ( 10,  6.48)   byref  ->  rbx         "Inlining Arg"
 ;  V25 tmp20        [V25,T25] (  4,  1.74)     ref  ->  rcx         class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V26 tmp21        [V26,T07] (  2,  4   )    long  ->  rax         "argument with side effect"
 ;  V27 tmp22        [V27,T20] (  3,  2.13)     ref  ->  rcx         "arr expr"
@@ -71,14 +71,14 @@ G_M57116_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
 G_M57116_IG02:        ; bbWeight=1, gcVars=0000000000000001 {V00}, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs +[rcx]
        test     rbx, rbx
-       je       G_M57116_IG40
+       je       G_M57116_IG39
        mov      rsi, qword ptr [rcx]
        mov      rdx, rsi
        mov      rax, qword ptr [rdx+0x38]
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x88]
        test     rax, rax
-       je       G_M57116_IG26
+       je       G_M57116_IG25
                      ;; size=38 bbWeight=1 PerfScore 10.75
 G_M57116_IG03:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rcx]
@@ -99,7 +99,7 @@ G_M57116_IG04:        ; bbWeight=0.53, gcrefRegs=0080 {rdi}, byrefRegs=0000 {},
        mov      rcx, qword ptr [rcx]
        mov      r11, qword ptr [rcx+0xA0]
        test     r11, r11
-       je       G_M57116_IG27
+       je       G_M57116_IG26
                      ;; size=23 bbWeight=0.53 PerfScore 3.86
 G_M57116_IG05:        ; bbWeight=0.53, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        mov      rcx, rdi
@@ -109,7 +109,7 @@ G_M57116_IG05:        ; bbWeight=0.53, gcrefRegs=0080 {rdi}, byrefRegs=0000 {},
        ; gcr arg pop 0
        mov      ebx, eax
        test     ebx, ebx
-       jne      G_M57116_IG29
+       jne      G_M57116_IG28
                      ;; size=16 bbWeight=0.53 PerfScore 2.53
 G_M57116_IG06:        ; bbWeight=0.49, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
@@ -117,7 +117,7 @@ G_M57116_IG06:        ; bbWeight=0.49, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        mov      rcx, qword ptr [rcx]
        mov      rcx, qword ptr [rcx+0x68]
        test     rcx, rcx
-       je       G_M57116_IG28
+       je       G_M57116_IG27
                      ;; size=20 bbWeight=0.49 PerfScore 3.53
 G_M57116_IG07:        ; bbWeight=0.49, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     CORINFO_HELP_GETGENERICS_GCSTATIC_BASE
@@ -149,7 +149,7 @@ G_M57116_IG09:        ; bbWeight=0.47, gcVars=0000000000000001 {V00}, gcrefRegs=
        mov      rdx, qword ptr [rdx]
        mov      rdx, qword ptr [rdx+0x68]
        test     rdx, rdx
-       je       G_M57116_IG36
+       je       G_M57116_IG35
                      ;; size=20 bbWeight=0.47 PerfScore 3.39
 G_M57116_IG10:        ; bbWeight=0.47, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rcx, rdx
@@ -170,7 +170,7 @@ G_M57116_IG10:        ; bbWeight=0.47, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      rcx, qword ptr [rcx]
        mov      r11, qword ptr [rcx+0x90]
        test     r11, r11
-       je       G_M57116_IG37
+       je       G_M57116_IG36
                      ;; size=47 bbWeight=0.47 PerfScore 6.08
 G_M57116_IG11:        ; bbWeight=0.47, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rcx, rbx
@@ -193,10 +193,10 @@ G_M57116_IG13:        ; bbWeight=0.46, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
        ; gcrRegs +[rcx]
        mov      edx, dword ptr [rbx+0x14]
        cmp      edx, dword ptr [rcx+0x14]
-       jne      G_M57116_IG24
+       jne      G_M57116_IG23
        mov      edx, dword ptr [rbx+0x10]
        cmp      edx, dword ptr [rcx+0x10]
-       jae      G_M57116_IG25
+       jae      G_M57116_IG24
                         ;; size=31 bbWeight=0.46 PerfScore 6.71
 G_M57116_IG14:        ; bbWeight=0.35, gcrefRegs=0002 {rcx}, byrefRegs=0008 {rbx}, byref
        ; gcrRegs -[rax]
@@ -263,7 +263,7 @@ G_M57116_IG18:        ; bbWeight=1.10, gcrefRegs=0001 {rax}, byrefRegs=0000 {},
 G_M57116_IG19:        ; bbWeight=0.47, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        mov      rax, gword ptr [rbp-0x28]
        ; gcrRegs +[rax]
-       jmp      G_M57116_IG33
+       jmp      G_M57116_IG32
                       ;; size=9 bbWeight=0.47 PerfScore 1.40
 G_M57116_IG20:        ; bbWeight=0.13, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
@@ -295,20 +295,10 @@ G_M57116_IG23:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M57116_IG24:        ; bbWeight=0.11, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref, isz
+G_M57116_IG24:        ; bbWeight=0.11, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref
        ; byrRegs +[rbx]
        mov      rax, gword ptr [rbp-0x28]
        ; gcrRegs +[rax]
-       mov      ecx, dword ptr [rbx+0x14]
-       mov      r11, gword ptr [rbx]
-       ; gcrRegs +[r11]
-       cmp      ecx, dword ptr [r11+0x14]
-       jne      SHORT G_M57116_IG23
-                       ;; size=16 bbWeight=0.11 PerfScore 0.97
-G_M57116_IG25:        ; bbWeight=0.11, gcrefRegs=0000 {}, byrefRegs=0008 {rbx}, byref
-       ; gcrRegs -[rax r11]
-       mov      rax, gword ptr [rbp-0x28]
-       ; gcrRegs +[rax]
        mov      rcx, gword ptr [rbx]
        ; gcrRegs +[rcx]
        mov      ecx, dword ptr [rcx+0x10]
@@ -318,9 +308,9 @@ G_M57116_IG25:        ; bbWeight=0.11, gcrefRegs=0000 {}, byrefRegs=0008 {rbx},
        xor      rcx, rcx
        ; gcrRegs +[rcx]
        mov      gword ptr [rbx+0x08], rcx
-       jmp      G_M57116_IG33
+       jmp      G_M57116_IG32
                         ;; size=26 bbWeight=0.11 PerfScore 1.02
-G_M57116_IG26:        ; bbWeight=0.20, gcVars=0000000000000001 {V00}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
+G_M57116_IG25:        ; bbWeight=0.20, gcVars=0000000000000001 {V00}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax rcx] +[rbx]
        ; byrRegs -[rbx]
        ; GC ptr vars -{V04}
@@ -330,7 +320,7 @@ G_M57116_IG26:        ; bbWeight=0.20, gcVars=0000000000000001 {V00}, gcrefRegs=
        ; gcr arg pop 0
        jmp      G_M57116_IG03
                        ;; size=23 bbWeight=0.20 PerfScore 0.70
-G_M57116_IG27:        ; bbWeight=0.11, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+G_M57116_IG26:        ; bbWeight=0.11, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx] +[rdi]
        mov      rcx, rsi
        mov      rdx, 0xD1FFAB1E      ; global ptr
@@ -339,7 +329,7 @@ G_M57116_IG27:        ; bbWeight=0.11, gcrefRegs=0080 {rdi}, byrefRegs=0000 {},
        mov      r11, rax
        jmp      G_M57116_IG05
                        ;; size=26 bbWeight=0.11 PerfScore 0.40
-G_M57116_IG28:        ; bbWeight=0.10, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M57116_IG27:        ; bbWeight=0.10, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdi]
        mov      rcx, rsi
        mov      rdx, 0xD1FFAB1E      ; global ptr
@@ -348,15 +338,15 @@ G_M57116_IG28:        ; bbWeight=0.10, gcrefRegs=0000 {}, byrefRegs=0000 {}, byr
        mov      rcx, rax
        jmp      G_M57116_IG07
                        ;; size=26 bbWeight=0.10 PerfScore 0.37
-G_M57116_IG29:        ; bbWeight=0.05, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+G_M57116_IG28:        ; bbWeight=0.05, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rdi]
        mov      rcx, qword ptr [rsi+0x38]
        mov      rcx, qword ptr [rcx]
        mov      rcx, qword ptr [rcx+0x70]
        test     rcx, rcx
-       je       G_M57116_IG38
+       je       G_M57116_IG37
                      ;; size=20 bbWeight=0.05 PerfScore 0.33
-G_M57116_IG30:        ; bbWeight=0.05, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+G_M57116_IG29:        ; bbWeight=0.05, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        movsxd   rdx, ebx
        call     CORINFO_HELP_NEWARR_1_OBJ
        ; gcrRegs +[rax]
@@ -375,9 +365,9 @@ G_M57116_IG30:        ; bbWeight=0.05, gcrefRegs=0080 {rdi}, byrefRegs=0000 {},
        mov      rcx, qword ptr [rcx]
        mov      r11, qword ptr [rcx+0xA8]
        test     r11, r11
-       je       G_M57116_IG39
+       je       G_M57116_IG38
                      ;; size=47 bbWeight=0.05 PerfScore 0.51
-G_M57116_IG31:        ; bbWeight=0.05, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+G_M57116_IG30:        ; bbWeight=0.05, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        mov      rcx, gword ptr [rbp+0x10]
        ; gcrRegs +[rcx]
        mov      rdx, gword ptr [rcx+0x08]
@@ -391,7 +381,7 @@ G_M57116_IG31:        ; bbWeight=0.05, gcrefRegs=0080 {rdi}, byrefRegs=0000 {},
        ; gcrRegs +[rcx]
        mov      dword ptr [rcx+0x10], ebx
                        ;; size=24 bbWeight=0.05 PerfScore 0.38
-G_M57116_IG32:        ; bbWeight=0.05, epilog, nogc, extend
+G_M57116_IG31:        ; bbWeight=0.05, epilog, nogc, extend
        add      rsp, 56
        pop      rbx
        pop      rsi
@@ -399,14 +389,14 @@ G_M57116_IG32:        ; bbWeight=0.05, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=9 bbWeight=0.05 PerfScore 0.15
-G_M57116_IG33:        ; bbWeight=0.47, gcVars=0000000000000101 {V00 V04}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M57116_IG32:        ; bbWeight=0.47, gcVars=0000000000000101 {V00 V04}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rcx] +[rax]
        ; GC ptr vars +{V04}
        mov      rcx, 0xD1FFAB1E      ; System.Linq.Grouping`2+<GetEnumerator>d__9[Xunit.Abstractions.ITestMethod,Xunit.Sdk.IXunitTestCase]
        cmp      qword ptr [rax], rcx
-       jne      SHORT G_M57116_IG35
+       jne      SHORT G_M57116_IG34
                      ;; size=15 bbWeight=0.47 PerfScore 1.99
-G_M57116_IG34:        ; bbWeight=0.47, gcVars=0000000000000001 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, epilog, nogc
+G_M57116_IG33:        ; bbWeight=0.47, gcVars=0000000000000001 {V00}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, epilog, nogc
        ; gcrRegs -[rax]
        ; GC ptr vars -{V04}
        add      rsp, 56
@@ -416,7 +406,7 @@ G_M57116_IG34:        ; bbWeight=0.47, gcVars=0000000000000001 {V00}, gcrefRegs=
        pop      rbp
        ret      
                        ;; size=9 bbWeight=0.47 PerfScore 1.52
-G_M57116_IG35:        ; bbWeight=0.13, gcVars=0000000000000101 {V00 V04}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M57116_IG34:        ; bbWeight=0.13, gcVars=0000000000000101 {V00 V04}, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[rax]
        ; GC ptr vars +{V04}
        mov      rcx, rax
@@ -426,9 +416,9 @@ G_M57116_IG35:        ; bbWeight=0.13, gcVars=0000000000000101 {V00 V04}, gcrefR
        call     [r11]<unknown method>
        ; gcrRegs -[rax rcx]
        ; gcr arg pop 0
-       jmp      SHORT G_M57116_IG34
+       jmp      SHORT G_M57116_IG33
                        ;; size=18 bbWeight=0.13 PerfScore 0.70
-G_M57116_IG36:        ; bbWeight=0.09, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M57116_IG35:        ; bbWeight=0.09, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rbx]
        mov      rcx, rsi
        mov      rdx, 0xD1FFAB1E      ; global ptr
@@ -437,7 +427,7 @@ G_M57116_IG36:        ; bbWeight=0.09, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      rdx, rax
        jmp      G_M57116_IG10
                        ;; size=26 bbWeight=0.09 PerfScore 0.35
-G_M57116_IG37:        ; bbWeight=0.09, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M57116_IG36:        ; bbWeight=0.09, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rcx, rsi
        mov      rdx, 0xD1FFAB1E      ; global ptr
        call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
@@ -445,31 +435,31 @@ G_M57116_IG37:        ; bbWeight=0.09, gcrefRegs=0008 {rbx}, byrefRegs=0000 {},
        mov      r11, rax
        jmp      G_M57116_IG11
                        ;; size=26 bbWeight=0.09 PerfScore 0.35
-G_M57116_IG38:        ; bbWeight=0.01, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+G_M57116_IG37:        ; bbWeight=0.01, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx] +[rdi]
        mov      rcx, rsi
        mov      rdx, 0xD1FFAB1E      ; global ptr
        call     CORINFO_HELP_RUNTIMEHANDLE_CLASS
        ; gcr arg pop 0
        mov      rcx, rax
-       jmp      G_M57116_IG30
+       jmp      G_M57116_IG29
                      ;; size=26 bbWeight=0.01 PerfScore 0.03
-G_M57116_IG39:        ; bbWeight=0.01, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
+G_M57116_IG38:        ; bbWeight=0.01, gcrefRegs=0080 {rdi}, byrefRegs=0000 {}, byref
...
  
+21 (+1.71%) : 114351.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
@@ -11,7 +11,7 @@
 ;
 ;  V00 this         [V00,T00] ( 27, 99.72)   byref  ->  rbx         this single-def
 ;  V01 arg1         [V01,T13] (  4,  3.50)   byref  ->  rsi         single-def
-;  V02 loc0         [V02,T03] ( 18, 52.27)  ushort  ->  r15        
+;  V02 loc0         [V02,T03] ( 18, 52.31)  ushort  ->  r15        
 ;  V03 loc1         [V03    ] ( 39, 28.72)  struct (32) [rbp+0x20]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Text.ValueStringBuilder>
 ;  V04 loc2         [V04,T10] (  6,  7.17)  ushort  ->  r13        
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[ushort]>
@@ -109,33 +109,33 @@ G_M25128_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi},
 G_M25128_IG03:        ; bbWeight=1.19, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
        mov      ecx, dword ptr [rbx+0x10]
        cmp      ecx, dword ptr [rbx+0x08]
-       jge      G_M25128_IG29
+       jge      G_M25128_IG26
                         ;; size=12 bbWeight=1.19 PerfScore 7.14
 G_M25128_IG04:        ; bbWeight=4.76, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
        lea      eax, [rcx+0x01]
        mov      dword ptr [rbx+0x10], eax
        cmp      ecx, dword ptr [rbx+0x08]
-       jae      G_M25128_IG50
+       jae      G_M25128_IG51
        mov      rax, bword ptr [rbx]
        ; byrRegs +[rax]
        mov      ecx, ecx
        movzx    r14, word  ptr [rax+2*rcx]
        test     r14d, r14d
-       je       G_M25128_IG65
+       je       G_M25128_IG67
                        ;; size=34 bbWeight=4.76 PerfScore 52.38
 G_M25128_IG05:        ; bbWeight=1.19, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
        ; byrRegs -[rax]
        mov      r15d, r14d
        test     r15d, r15d
-       je       G_M25128_IG44
+       je       G_M25128_IG46
                        ;; size=12 bbWeight=1.19 PerfScore 1.79
 G_M25128_IG06:        ; bbWeight=1.07, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
        cmp      r15d, 44
-       je       G_M25128_IG30
+       je       G_M25128_IG27
                      ;; size=10 bbWeight=1.07 PerfScore 1.34
 G_M25128_IG07:        ; bbWeight=0.88, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
        cmp      r15d, 61
-       je       G_M25128_IG34
+       je       G_M25128_IG31
                      ;; size=10 bbWeight=0.88 PerfScore 1.10
 G_M25128_IG08:        ; bbWeight=0.69, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref, isz
        mov      ecx, r15d
@@ -161,41 +161,179 @@ G_M25128_IG10:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx
 G_M25128_IG11:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
        xor      r13d, r13d
        cmp      r15d, 39
-       je       G_M25128_IG51
+       je       G_M25128_IG52
        cmp      r15d, 34
-       je       G_M25128_IG51
+       je       G_M25128_IG52
                        ;; size=23 bbWeight=0.50 PerfScore 1.38
 G_M25128_IG12:        ; bbWeight=6.17, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
        test     r15d, r15d
-       je       G_M25128_IG49
+       je       G_M25128_IG50
                        ;; size=9 bbWeight=6.17 PerfScore 7.71
-G_M25128_IG13:        ; bbWeight=6.05, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref, isz
+G_M25128_IG13:        ; bbWeight=6.05, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
        test     r13d, r13d
-       jne      G_M25128_IG54
+       jne      G_M25128_IG56
        cmp      r15d, 44
-       je       SHORT G_M25128_IG15
-                       ;; size=15 bbWeight=6.05 PerfScore 15.12
+       je       G_M25128_IG43
+                       ;; size=19 bbWeight=6.05 PerfScore 15.12
 G_M25128_IG14:        ; bbWeight=5.84, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
        cmp      r15d, 61
-       jne      G_M25128_IG37
+       je       G_M25128_IG43
                      ;; size=10 bbWeight=5.84 PerfScore 7.31
-G_M25128_IG15:        ; bbWeight=0.38, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
-       dec      dword ptr [rbx+0x10]
-                       ;; size=3 bbWeight=0.38 PerfScore 1.14
-G_M25128_IG16:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0040 {rsi}, byref, isz
-       ; byrRegs -[rbx]
-       test     r13d, r13d
-       jne      SHORT G_M25128_IG20
-                       ;; size=5 bbWeight=0.50 PerfScore 0.62
-G_M25128_IG17:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0040 {rsi}, byref, isz
+G_M25128_IG15:        ; bbWeight=5.67, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
+       cmp      r15d, 39
+       je       G_M25128_IG67
+                       ;; size=10 bbWeight=5.67 PerfScore 7.08
+G_M25128_IG16:        ; bbWeight=5.62, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
+       cmp      r15d, 34
+       je       G_M25128_IG67
+                       ;; size=10 bbWeight=5.62 PerfScore 7.03
+G_M25128_IG17:        ; bbWeight=5.67, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref, isz
+       cmp      r15d, 92
+       je       SHORT G_M25128_IG22
+                       ;; size=6 bbWeight=5.67 PerfScore 7.08
+G_M25128_IG18:        ; bbWeight=5.61, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
+       mov      ecx, dword ptr [rbp+0x28]
+       mov      rdx, bword ptr [rbp+0x30]
+       ; byrRegs +[rdx]
+       mov      eax, dword ptr [rbp+0x38]
+       cmp      ecx, eax
+       jae      G_M25128_IG66
+       mov      eax, ecx
+       mov      word  ptr [rdx+2*rax], r15w
+       inc      ecx
+       mov      dword ptr [rbp+0x28], ecx
+                       ;; size=30 bbWeight=5.61 PerfScore 37.88
+G_M25128_IG19:        ; bbWeight=5.67, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
+       ; byrRegs -[rdx]
+       mov      ecx, dword ptr [rbx+0x10]
+       cmp      ecx, dword ptr [rbx+0x08]
+       jge      G_M25128_IG30
+                       ;; size=12 bbWeight=5.67 PerfScore 33.99
+G_M25128_IG20:        ; bbWeight=22.66, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
+       lea      edx, [rcx+0x01]
+       mov      dword ptr [rbx+0x10], edx
+       cmp      ecx, dword ptr [rbx+0x08]
+       jae      G_M25128_IG51
+       mov      rdx, bword ptr [rbx]
+       ; byrRegs +[rdx]
+       mov      ecx, ecx
+       movzx    r15, word  ptr [rdx+2*rcx]
+       test     r15d, r15d
+       je       G_M25128_IG67
+                       ;; size=34 bbWeight=22.66 PerfScore 249.28
+G_M25128_IG21:        ; bbWeight=5.67, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
+       ; byrRegs -[rdx]
+       jmp      G_M25128_IG12
+                       ;; size=5 bbWeight=5.67 PerfScore 11.33
+G_M25128_IG22:        ; bbWeight=0.05, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
+       mov      ecx, dword ptr [rbx+0x10]
+       cmp      ecx, dword ptr [rbx+0x08]
+       jge      G_M25128_IG44
+                       ;; size=12 bbWeight=0.05 PerfScore 0.32
+G_M25128_IG23:        ; bbWeight=0.22, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
+       mov      ecx, dword ptr [rbx+0x10]
+       lea      edx, [rcx+0x01]
+       mov      dword ptr [rbx+0x10], edx
+       cmp      ecx, dword ptr [rbx+0x08]
+       jae      G_M25128_IG51
+       mov      rdx, bword ptr [rbx]
+       ; byrRegs +[rdx]
+       movzx    rdx, word  ptr [rdx+2*rcx]
+       ; byrRegs -[rdx]
+       test     edx, edx
+       je       G_M25128_IG67
+                       ;; size=33 bbWeight=0.22 PerfScore 2.76
+G_M25128_IG24:        ; bbWeight=0.05, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
+       cmp      edx, 61
+       ja       G_M25128_IG59
+       cmp      edx, 39
+       ja       G_M25128_IG58
+       cmp      edx, 34
+       jne      G_M25128_IG57
+                       ;; size=27 bbWeight=0.05 PerfScore 0.20
+G_M25128_IG25:        ; bbWeight=0.05, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
+       mov      ecx, dword ptr [rbp+0x28]
+       mov      rax, bword ptr [rbp+0x30]
+       ; byrRegs +[rax]
+       mov      r8d, dword ptr [rbp+0x38]
+       cmp      ecx, r8d
+       jae      G_M25128_IG49
+       mov      r8d, ecx
+       mov      word  ptr [rax+2*r8], dx
+       inc      ecx
+       mov      dword ptr [rbp+0x28], ecx
+       jmp      G_M25128_IG19
+                       ;; size=38 bbWeight=0.05 PerfScore 0.47
+G_M25128_IG26:        ; bbWeight=4.76, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
+       ; byrRegs -[rax]
+       xor      r14d, r14d
+       jmp      G_M25128_IG05
+                       ;; size=8 bbWeight=4.76 PerfScore 10.72
+G_M25128_IG27:        ; bbWeight=0.19, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rdi]
+       ; byrRegs -[rbx rsi]
+       mov      eax, 2
+       mov      rcx, 0xD1FFAB1E
+       cmp      qword ptr [rbp+0x08], rcx
+       je       SHORT G_M25128_IG28
+       call     CORINFO_HELP_FAIL_FAST
+       ; gcr arg pop 0
+                       ;; size=26 bbWeight=0.19 PerfScore 0.86
+G_M25128_IG28:        ; bbWeight=0.19, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       nop      
+                       ;; size=1 bbWeight=0.19 PerfScore 0.05
+G_M25128_IG29:        ; bbWeight=0.19, epilog, nogc, extend
+       lea      rsp, [rbp+0x40]
+       pop      rbx
+       pop      rsi
+       pop      rdi
+       pop      r13
+       pop      r14
+       pop      r15
+       pop      rbp
+       ret      
+                       ;; size=15 bbWeight=0.19 PerfScore 0.95
+G_M25128_IG30:        ; bbWeight=22.66, gcVars=0000000000000000 {}, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, gcvars, byref
+       ; gcrRegs +[rdi]
+       ; byrRegs +[rbx rsi]
+       xor      r15d, r15d
+       jmp      G_M25128_IG21
+                       ;; size=8 bbWeight=22.66 PerfScore 50.99
+G_M25128_IG31:        ; bbWeight=0.19, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rdi]
+       ; byrRegs -[rbx rsi]
+       mov      eax, 1
+       mov      rcx, 0xD1FFAB1E
+       cmp      qword ptr [rbp+0x08], rcx
+       je       SHORT G_M25128_IG32
+       call     CORINFO_HELP_FAIL_FAST
+       ; gcr arg pop 0
+                       ;; size=26 bbWeight=0.19 PerfScore 0.86
+G_M25128_IG32:        ; bbWeight=0.19, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       nop      
+                       ;; size=1 bbWeight=0.19 PerfScore 0.05
+G_M25128_IG33:        ; bbWeight=0.19, epilog, nogc, extend
+       lea      rsp, [rbp+0x40]
+       pop      rbx
+       pop      rsi
+       pop      rdi
+       pop      r13
+       pop      r14
+       pop      r15
+       pop      rbp
+       ret      
+                       ;; size=15 bbWeight=0.19 PerfScore 0.95
+G_M25128_IG34:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0080 {rdi}, byrefRegs=0040 {rsi}, gcvars, byref, isz
+       ; gcrRegs +[rdi]
+       ; byrRegs +[rsi]
        mov      ecx, dword ptr [rbp+0x28]
        test     ecx, ecx
-       jle      SHORT G_M25128_IG20
+       jle      SHORT G_M25128_IG37
        lea      r14d, [rcx-0x01]
        cmp      r14d, ecx
-       jl       SHORT G_M25128_IG19
+       jl       SHORT G_M25128_IG36
                         ;; size=16 bbWeight=0.50 PerfScore 2.00
-G_M25128_IG18:        ; bbWeight=2, gcrefRegs=0080 {rdi}, byrefRegs=0040 {rsi}, byref
+G_M25128_IG35:        ; bbWeight=2, gcrefRegs=0080 {rdi}, byrefRegs=0040 {rsi}, byref
        mov      rcx, rdi
        ; gcrRegs +[rcx]
        mov      rdx, rdi
@@ -204,9 +342,9 @@ G_M25128_IG18:        ; bbWeight=2, gcrefRegs=0080 {rdi}, byrefRegs=0040 {rsi},
...
  
+25 (+2.01%) : 35034.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
@@ -11,7 +11,7 @@
 ;
 ;  V00 this         [V00,T00] ( 26,129.22)   byref  ->  rbx         this single-def
 ;  V01 arg1         [V01,T13] (  4,  3.50)   byref  ->  rsi         single-def
-;  V02 loc0         [V02,T03] ( 18, 69.32)  ushort  ->  r15        
+;  V02 loc0         [V02,T03] ( 18, 69.33)  ushort  ->  r15        
 ;  V03 loc1         [V03    ] ( 39, 37.40)  struct (32) [rbp+0x20]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Text.ValueStringBuilder>
 ;  V04 loc2         [V04,T10] (  6,  9.39)  ushort  ->  r13        
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (16) zero-ref    <System.Span`1[ushort]>
@@ -110,7 +110,7 @@ G_M25128_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0048 {rbx rsi},
 G_M25128_IG03:        ; bbWeight=1.16, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
        mov      ecx, dword ptr [rbx+0x10]
        cmp      ecx, dword ptr [rbx+0x08]
-       jge      G_M25128_IG32
+       jge      G_M25128_IG29
                         ;; size=12 bbWeight=1.16 PerfScore 6.98
 G_M25128_IG04:        ; bbWeight=4.65, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
        lea      eax, [rcx+0x01]
@@ -128,15 +128,15 @@ G_M25128_IG05:        ; bbWeight=1.16, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx
        ; byrRegs -[rax]
        mov      r15d, r14d
        test     r15d, r15d
-       je       G_M25128_IG43
+       je       G_M25128_IG47
                        ;; size=12 bbWeight=1.16 PerfScore 1.74
 G_M25128_IG06:        ; bbWeight=1.01, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
        cmp      r15d, 44
-       je       G_M25128_IG33
+       je       G_M25128_IG30
                      ;; size=10 bbWeight=1.01 PerfScore 1.27
 G_M25128_IG07:        ; bbWeight=0.85, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
        cmp      r15d, 61
-       je       G_M25128_IG37
+       je       G_M25128_IG34
                      ;; size=10 bbWeight=0.85 PerfScore 1.06
 G_M25128_IG08:        ; bbWeight=0.69, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref, isz
        mov      ecx, r15d
@@ -162,43 +162,200 @@ G_M25128_IG10:        ; bbWeight=0.53, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx
 G_M25128_IG11:        ; bbWeight=0.53, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
        xor      r13d, r13d
        cmp      r15d, 39
-       je       G_M25128_IG30
+       je       G_M25128_IG27
                      ;; size=13 bbWeight=0.53 PerfScore 0.79
 G_M25128_IG12:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
        cmp      r15d, 34
-       je       G_M25128_IG30
+       je       G_M25128_IG27
                      ;; size=10 bbWeight=0.50 PerfScore 0.62
 G_M25128_IG13:        ; bbWeight=8.34, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
        test     r15d, r15d
-       je       G_M25128_IG46
+       je       G_M25128_IG50
                        ;; size=9 bbWeight=8.34 PerfScore 10.42
-G_M25128_IG14:        ; bbWeight=8.16, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref, isz
+G_M25128_IG14:        ; bbWeight=8.16, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
        test     r13d, r13d
-       jne      G_M25128_IG65
+       jne      G_M25128_IG66
        cmp      r15d, 44
-       je       SHORT G_M25128_IG16
-                       ;; size=15 bbWeight=8.16 PerfScore 20.41
+       je       G_M25128_IG46
+                       ;; size=19 bbWeight=8.16 PerfScore 20.41
 G_M25128_IG15:        ; bbWeight=7.83, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
        cmp      r15d, 61
-       jne      G_M25128_IG40
+       je       G_M25128_IG46
                      ;; size=10 bbWeight=7.83 PerfScore 9.78
-G_M25128_IG16:        ; bbWeight=0.33, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
-       dec      dword ptr [rbx+0x10]
-                       ;; size=3 bbWeight=0.33 PerfScore 0.98
-G_M25128_IG17:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0040 {rsi}, byref, isz
-       ; byrRegs -[rbx]
-       test     r13d, r13d
-       jne      SHORT G_M25128_IG21
-                       ;; size=5 bbWeight=0.50 PerfScore 0.62
-G_M25128_IG18:        ; bbWeight=0.50, gcrefRegs=0080 {rdi}, byrefRegs=0040 {rsi}, byref, isz
+G_M25128_IG16:        ; bbWeight=7.84, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
+       cmp      r15d, 39
+       je       G_M25128_IG64
+                       ;; size=10 bbWeight=7.84 PerfScore 9.80
+G_M25128_IG17:        ; bbWeight=7.83, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
+       cmp      r15d, 34
+       je       G_M25128_IG64
+                       ;; size=10 bbWeight=7.83 PerfScore 9.79
+G_M25128_IG18:        ; bbWeight=7.81, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref, isz
+       cmp      r15d, 92
+       je       SHORT G_M25128_IG23
+                       ;; size=6 bbWeight=7.81 PerfScore 9.77
+G_M25128_IG19:        ; bbWeight=7.77, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
+       mov      ecx, dword ptr [rbp+0x28]
+       mov      rdx, bword ptr [rbp+0x30]
+       ; byrRegs +[rdx]
+       mov      eax, dword ptr [rbp+0x38]
+       cmp      ecx, eax
+       jae      G_M25128_IG61
+       mov      eax, ecx
+       mov      word  ptr [rdx+2*rax], r15w
+       inc      ecx
+       mov      dword ptr [rbp+0x28], ecx
+                       ;; size=30 bbWeight=7.77 PerfScore 52.45
+G_M25128_IG20:        ; bbWeight=7.81, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
+       ; byrRegs -[rdx]
+       mov      ecx, dword ptr [rbx+0x10]
+       cmp      ecx, dword ptr [rbx+0x08]
+       jge      G_M25128_IG33
+                       ;; size=12 bbWeight=7.81 PerfScore 46.88
+G_M25128_IG21:        ; bbWeight=31.25, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
+       lea      edx, [rcx+0x01]
+       mov      dword ptr [rbx+0x10], edx
+       cmp      ecx, dword ptr [rbx+0x08]
+       jae      G_M25128_IG63
+       mov      rdx, bword ptr [rbx]
+       ; byrRegs +[rdx]
+       mov      ecx, ecx
+       movzx    r15, word  ptr [rdx+2*rcx]
+       test     r15d, r15d
+       je       G_M25128_IG64
+                       ;; size=34 bbWeight=31.25 PerfScore 343.80
+G_M25128_IG22:        ; bbWeight=7.81, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
+       ; byrRegs -[rdx]
+       jmp      G_M25128_IG13
+                       ;; size=5 bbWeight=7.81 PerfScore 15.63
+G_M25128_IG23:        ; bbWeight=0.04, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
+       mov      ecx, dword ptr [rbx+0x10]
+       cmp      ecx, dword ptr [rbx+0x08]
+       jge      G_M25128_IG52
+                       ;; size=12 bbWeight=0.04 PerfScore 0.26
+G_M25128_IG24:        ; bbWeight=0.17, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
+       mov      ecx, dword ptr [rbx+0x10]
+       lea      edx, [rcx+0x01]
+       mov      dword ptr [rbx+0x10], edx
+       cmp      ecx, dword ptr [rbx+0x08]
+       jae      G_M25128_IG63
+       mov      rdx, bword ptr [rbx]
+       ; byrRegs +[rdx]
+       movzx    rdx, word  ptr [rdx+2*rcx]
+       ; byrRegs -[rdx]
+       test     edx, edx
+       je       G_M25128_IG64
+                       ;; size=33 bbWeight=0.17 PerfScore 2.17
+G_M25128_IG25:        ; bbWeight=0.04, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
+       cmp      edx, 61
+       ja       G_M25128_IG69
+       cmp      edx, 39
+       ja       G_M25128_IG68
+       cmp      edx, 34
+       jne      G_M25128_IG67
+                       ;; size=27 bbWeight=0.04 PerfScore 0.16
+G_M25128_IG26:        ; bbWeight=0.04, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
+       mov      ecx, dword ptr [rbp+0x28]
+       mov      rax, bword ptr [rbp+0x30]
+       ; byrRegs +[rax]
+       mov      r8d, dword ptr [rbp+0x38]
+       cmp      ecx, r8d
+       jae      G_M25128_IG54
+       mov      r8d, ecx
+       mov      word  ptr [rax+2*r8], dx
+       inc      ecx
+       mov      dword ptr [rbp+0x28], ecx
+       jmp      G_M25128_IG20
+                       ;; size=38 bbWeight=0.04 PerfScore 0.37
+G_M25128_IG27:        ; bbWeight=0.03, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
+       ; byrRegs -[rax]
+       mov      r13d, r14d
+       mov      eax, dword ptr [rbx+0x10]
+       cmp      eax, dword ptr [rbx+0x08]
+       jge      G_M25128_IG53
+       lea      ecx, [rax+0x01]
+       mov      dword ptr [rbx+0x10], ecx
+       cmp      eax, dword ptr [rbx+0x08]
+       jae      G_M25128_IG63
+       mov      rcx, bword ptr [rbx]
+       ; byrRegs +[rcx]
+       movzx    r15, word  ptr [rcx+2*rax]
+       test     r15d, r15d
+       je       G_M25128_IG64
+                       ;; size=47 bbWeight=0.03 PerfScore 0.43
+G_M25128_IG28:        ; bbWeight=0.03, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
+       ; byrRegs -[rcx]
+       jmp      G_M25128_IG13
+                       ;; size=5 bbWeight=0.03 PerfScore 0.05
+G_M25128_IG29:        ; bbWeight=4.65, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, byref
+       xor      r14d, r14d
+       jmp      G_M25128_IG05
+                       ;; size=8 bbWeight=4.65 PerfScore 10.47
+G_M25128_IG30:        ; bbWeight=0.16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rdi]
+       ; byrRegs -[rbx rsi]
+       mov      eax, 2
+       mov      rcx, 0xD1FFAB1E
+       cmp      qword ptr [rbp+0x08], rcx
+       je       SHORT G_M25128_IG31
+       call     CORINFO_HELP_FAIL_FAST
+       ; gcr arg pop 0
+                       ;; size=26 bbWeight=0.16 PerfScore 0.73
+G_M25128_IG31:        ; bbWeight=0.16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       nop      
+                       ;; size=1 bbWeight=0.16 PerfScore 0.04
+G_M25128_IG32:        ; bbWeight=0.16, epilog, nogc, extend
+       lea      rsp, [rbp+0x40]
+       pop      rbx
+       pop      rsi
+       pop      rdi
+       pop      r13
+       pop      r14
+       pop      r15
+       pop      rbp
+       ret      
+                       ;; size=15 bbWeight=0.16 PerfScore 0.82
+G_M25128_IG33:        ; bbWeight=31.25, gcVars=0000000000000000 {}, gcrefRegs=0080 {rdi}, byrefRegs=0048 {rbx rsi}, gcvars, byref
+       ; gcrRegs +[rdi]
+       ; byrRegs +[rbx rsi]
+       xor      r15d, r15d
+       jmp      G_M25128_IG22
+                       ;; size=8 bbWeight=31.25 PerfScore 70.32
+G_M25128_IG34:        ; bbWeight=0.16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs -[rdi]
+       ; byrRegs -[rbx rsi]
+       mov      eax, 1
+       mov      rcx, 0xD1FFAB1E
+       cmp      qword ptr [rbp+0x08], rcx
+       je       SHORT G_M25128_IG35
+       call     CORINFO_HELP_FAIL_FAST
+       ; gcr arg pop 0
+                       ;; size=26 bbWeight=0.16 PerfScore 0.73
+G_M25128_IG35:        ; bbWeight=0.16, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       nop      
+                       ;; size=1 bbWeight=0.16 PerfScore 0.04
+G_M25128_IG36:        ; bbWeight=0.16, epilog, nogc, extend
+       lea      rsp, [rbp+0x40]
+       pop      rbx
+       pop      rsi
+       pop      rdi
+       pop      r13
+       pop      r14
+       pop      r15
+       pop      rbp
+       ret      
+                       ;; size=15 bbWeight=0.16 PerfScore 0.82
+G_M25128_IG37:        ; bbWeight=0.50, gcVars=0000000000000000 {}, gcrefRegs=0080 {rdi}, byrefRegs=0040 {rsi}, gcvars, byref, isz
+       ; gcrRegs +[rdi]
+       ; byrRegs +[rsi]
        mov      ecx, dword ptr [rbp+0x28]
        test     ecx, ecx
-       jle      SHORT G_M25128_IG21
+       jle      SHORT G_M25128_IG40
        lea      r15d, [rcx-0x01]
        cmp      r15d, ecx
...
  
+24 (+3.52%) : 99224.dasm - System.Security.Cryptography.XmlKeyHelper:WriteCryptoBinary(System.String,System.ReadOnlySpan`1[ubyte],System.Text.StringBuilder) (Tier0-FullOpts)
@@ -125,7 +125,7 @@ G_M40104_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0004 {rd
        ; gcrRegs +[rdx]
        ; byrRegs -[rdx]
        cmp      dword ptr [rdx+0x08], ecx
-       jbe      G_M40104_IG17
+       jbe      G_M40104_IG29
                         ;; size=23 bbWeight=1 PerfScore 12.00
 G_M40104_IG03:        ; bbWeight=0.46, gcrefRegs=004C {rdx rbx rsi}, byrefRegs=0080 {rdi}, byref
        mov      ecx, ecx
@@ -152,7 +152,7 @@ G_M40104_IG06:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rd
        mov      rdx, gword ptr [rbx+0x08]
        ; gcrRegs +[rdx]
        cmp      dword ptr [rdx+0x08], ecx
-       jbe      G_M40104_IG21
+       jbe      G_M40104_IG30
                         ;; size=16 bbWeight=1 PerfScore 8.00
 G_M40104_IG07:        ; bbWeight=0.46, gcrefRegs=004C {rdx rbx rsi}, byrefRegs=0080 {rdi}, byref
        mov      ecx, ecx
@@ -167,12 +167,12 @@ G_M40104_IG08:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rd
        sub      rsp, 512
        lea      r12, [rsp+0x20]
        test     r14d, r14d
-       jle      G_M40104_IG22
+       jle      G_M40104_IG16
                        ;; size=30 bbWeight=1 PerfScore 5.50
 G_M40104_IG09:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref
        ; byrRegs +[r12]
        cmp      r13d, 192
-       jl       G_M40104_IG16
+       jl       G_M40104_IG28
                         ;; size=13 bbWeight=4 PerfScore 5.00
 G_M40104_IG10:        ; bbWeight=1.42, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref
        mov      eax, 192
@@ -183,7 +183,7 @@ G_M40104_IG11:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rd
        add      rcx, r8
        mov      edx, r14d
        cmp      rcx, rdx
-       ja       G_M40104_IG37
+       ja       G_M40104_IG35
        add      r8, rdi
        ; byrRegs +[r8]
        mov      bword ptr [rbp+0x10], r8
@@ -203,7 +203,7 @@ G_M40104_IG12:        ; bbWeight=2, gcVars=0000000000000020 {V24}, gcrefRegs=004
        call     [<unknown method>]
        ; gcrRegs -[rcx rdx r10]
                        ;; size=22 bbWeight=2 PerfScore 7.50
-G_M40104_IG13:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref, isz
+G_M40104_IG13:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref
        mov      r8, bword ptr [rbp+0x10]
        ; byrRegs +[r8]
        mov      eax, dword ptr [rbp+0x3C]
@@ -220,15 +220,15 @@ G_M40104_IG13:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rd
        ; GC ptr vars -{V24}
        call     [<unknown method>]
        test     eax, eax
-       je       G_M40104_IG36
+       je       G_M40104_IG34
        mov      eax, dword ptr [rbp+0x40]
        mov      dword ptr [rbp+0x38], eax
        cmp      eax, 256
-       ja       G_M40104_IG37
+       ja       G_M40104_IG35
        test     eax, eax
-       jge      SHORT G_M40104_IG15
-                       ;; size=77 bbWeight=4 PerfScore 67.00
-G_M40104_IG14:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref, isz
+       jge      G_M40104_IG27
+                       ;; size=81 bbWeight=4 PerfScore 67.00
+G_M40104_IG14:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref
        mov      r10, 0xD1FFAB1E
        ; gcrRegs +[r10]
        mov      r8, r10
@@ -241,39 +241,16 @@ G_M40104_IG14:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rd
        ; gcrRegs +[rdx]
        call     [<unknown method>]
        ; gcrRegs -[rcx rdx r8 r10]
-       jmp      SHORT G_M40104_IG18
-                       ;; size=31 bbWeight=2 PerfScore 14.00
-G_M40104_IG15:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, gcvars, byref, isz
-       ; GC ptr vars -{V79}
-       mov      eax, dword ptr [rbp+0x38]
-       jmp      SHORT G_M40104_IG19
-                       ;; size=5 bbWeight=2 PerfScore 6.00
-G_M40104_IG16:        ; bbWeight=0.58, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref
-       mov      eax, r13d
-       jmp      G_M40104_IG11
-                       ;; size=8 bbWeight=0.58 PerfScore 1.30
-G_M40104_IG17:        ; bbWeight=0.04, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rdi}, byref
-       ; byrRegs -[r12]
-       mov      rcx, rbx
-       ; gcrRegs +[rcx]
-       mov      edx, 60
-       call     [<unknown method>]
-       ; gcrRegs -[rcx]
-       jmp      G_M40104_IG04
-                       ;; size=19 bbWeight=0.04 PerfScore 0.21
-G_M40104_IG18:        ; bbWeight=2, gcVars=0000000000000010 {V79}, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, gcvars, byref
-       ; byrRegs +[r12]
-       ; GC ptr vars +{V04 V79}
        mov      rcx, gword ptr [rbp+0x08]
        ; gcrRegs +[rcx]
        mov      rdx, rcx
        ; gcrRegs +[rdx]
-       ; GC ptr vars -{V04 V79}
+       ; GC ptr vars -{V79}
        call     [<unknown method>]
        ; gcrRegs -[rcx rdx]
        mov      eax, dword ptr [rbp+0x38]
-                        ;; size=16 bbWeight=2 PerfScore 10.50
-G_M40104_IG19:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref
+                        ;; size=45 bbWeight=2 PerfScore 20.50
+G_M40104_IG15:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref
        mov      rcx, rbx
        ; gcrRegs +[rcx]
        mov      rdx, r12
@@ -288,51 +265,38 @@ G_M40104_IG19:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rd
        test     r13d, r13d
        jg       G_M40104_IG09
                        ;; size=33 bbWeight=4 PerfScore 26.00
-G_M40104_IG20:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG16:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
        ; byrRegs -[rdi r12]
-       jmp      SHORT G_M40104_IG22
-                       ;; size=2 bbWeight=1 PerfScore 2.00
-G_M40104_IG21:        ; bbWeight=0.04, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rdi}, byref
-       ; byrRegs +[rdi]
-       mov      rcx, rbx
-       ; gcrRegs +[rcx]
-       mov      edx, 62
-       call     [<unknown method>]
-       ; gcrRegs -[rcx]
-       jmp      G_M40104_IG08
-                       ;; size=19 bbWeight=0.04 PerfScore 0.21
-G_M40104_IG22:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
-       ; byrRegs -[rdi]
        mov      ecx, dword ptr [rbx+0x18]
        mov      rdx, gword ptr [rbx+0x08]
        ; gcrRegs +[rdx]
        cmp      dword ptr [rdx+0x08], ecx
-       jbe      SHORT G_M40104_IG33
-                       ;; size=12 bbWeight=1 PerfScore 8.00
-G_M40104_IG23:        ; bbWeight=0.46, gcrefRegs=004C {rdx rbx rsi}, byrefRegs=0000 {}, byref
+       jbe      G_M40104_IG31
+                       ;; size=16 bbWeight=1 PerfScore 8.00
+G_M40104_IG17:        ; bbWeight=0.46, gcrefRegs=004C {rdx rbx rsi}, byrefRegs=0000 {}, byref
        mov      ecx, ecx
        mov      word  ptr [rdx+2*rcx+0x10], 60
        inc      dword ptr [rbx+0x18]
                        ;; size=12 bbWeight=0.46 PerfScore 1.96
-G_M40104_IG24:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG18:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdx]
        mov      ecx, dword ptr [rbx+0x18]
        mov      rdx, gword ptr [rbx+0x08]
        ; gcrRegs +[rdx]
        cmp      dword ptr [rdx+0x08], ecx
-       jbe      SHORT G_M40104_IG34
-                       ;; size=12 bbWeight=1 PerfScore 8.00
-G_M40104_IG25:        ; bbWeight=0.46, gcrefRegs=004C {rdx rbx rsi}, byrefRegs=0000 {}, byref
+       jbe      G_M40104_IG32
+                       ;; size=16 bbWeight=1 PerfScore 8.00
+G_M40104_IG19:        ; bbWeight=0.46, gcrefRegs=004C {rdx rbx rsi}, byrefRegs=0000 {}, byref
        mov      ecx, ecx
        mov      word  ptr [rdx+2*rcx+0x10], 47
        inc      dword ptr [rbx+0x18]
                        ;; size=12 bbWeight=0.46 PerfScore 1.96
-G_M40104_IG26:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG20:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdx]
        test     rsi, rsi
-       je       SHORT G_M40104_IG28
+       je       SHORT G_M40104_IG22
                      ;; size=5 bbWeight=1 PerfScore 1.25
-G_M40104_IG27:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+G_M40104_IG21:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
        mov      r8d, dword ptr [rsi+0x08]
        lea      rdx, bword ptr [rsi+0x0C]
        ; byrRegs +[rdx]
@@ -342,29 +306,29 @@ G_M40104_IG27:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000
        ; gcrRegs -[rcx rsi]
        ; byrRegs -[rdx]
                        ;; size=17 bbWeight=0.50 PerfScore 2.89
-G_M40104_IG28:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG22:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      ecx, dword ptr [rbx+0x18]
        mov      rdx, gword ptr [rbx+0x08]
        ; gcrRegs +[rdx]
        cmp      dword ptr [rdx+0x08], ecx
-       jbe      SHORT G_M40104_IG35
-                       ;; size=12 bbWeight=1 PerfScore 8.00
-G_M40104_IG29:        ; bbWeight=0.46, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref
+       jbe      G_M40104_IG33
+                       ;; size=16 bbWeight=1 PerfScore 8.00
+G_M40104_IG23:        ; bbWeight=0.46, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref
        mov      ecx, ecx
        mov      word  ptr [rdx+2*rcx+0x10], 62
        inc      dword ptr [rbx+0x18]
                        ;; size=12 bbWeight=0.46 PerfScore 1.96
-G_M40104_IG30:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG24:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdx rbx]
        mov      rcx, 0xD1FFAB1E
        cmp      qword ptr [rbp], rcx
-       je       SHORT G_M40104_IG31
+       je       SHORT G_M40104_IG25
        call     CORINFO_HELP_FAIL_FAST
                        ;; size=21 bbWeight=1 PerfScore 4.25
-G_M40104_IG31:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M40104_IG25:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
-G_M40104_IG32:        ; bbWeight=1, epilog, nogc, extend
+G_M40104_IG26:        ; bbWeight=1, epilog, nogc, extend
        lea      rsp, [rbp+0x48]
        pop      rbx
        pop      rsi
@@ -376,33 +340,60 @@ G_M40104_IG32:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=17 bbWeight=1 PerfScore 5.50
-G_M40104_IG33:        ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M40104_IG27:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, gcvars, byref
        ; gcrRegs +[rbx rsi]
+       ; byrRegs +[rdi r12]
+       mov      eax, dword ptr [rbp+0x38]
+       jmp      G_M40104_IG15
+                       ;; size=8 bbWeight=2 PerfScore 6.00
+G_M40104_IG28:        ; bbWeight=0.58, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref
+       mov      eax, r13d
+       jmp      G_M40104_IG11
+                       ;; size=8 bbWeight=0.58 PerfScore 1.30
+G_M40104_IG29:        ; bbWeight=0.04, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rdi}, byref
+       ; byrRegs -[r12]
        mov      rcx, rbx
        ; gcrRegs +[rcx]
        mov      edx, 60
        call     [<unknown method>]
        ; gcrRegs -[rcx]
-       jmp      SHORT G_M40104_IG24
-                       ;; size=16 bbWeight=0.04 PerfScore 0.21
-G_M40104_IG34:        ; bbWeight=0.04, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+       jmp      G_M40104_IG04
+                       ;; size=19 bbWeight=0.04 PerfScore 0.21
+G_M40104_IG30:        ; bbWeight=0.04, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rdi}, byref
+       mov      rcx, rbx
+       ; gcrRegs +[rcx]
+       mov      edx, 62
+       call     [<unknown method>]
+       ; gcrRegs -[rcx]
+       jmp      G_M40104_IG08
...
  
  
librariestestsnotieredcompilation.run.windows.x64.Release.mch
-23 (-4.00%) : 299625.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+d__8`1[ubyte]:MoveNext():this (FullOpts)
@@ -9,38 +9,38 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T03] ( 23, 31   )   byref  ->  [rbp+0x10]  this EH-live single-def
-;  V01 loc0         [V01,T18] (  5,  5   )     int  ->  [rbp-0x24]  do-not-enreg[Z] EH-live
+;  V01 loc0         [V01,T18] (  5,  5   )     int  ->  [rbp-0x1C]  do-not-enreg[Z] EH-live
 ;  V02 loc1         [V02,T20] (  2,  5   )     ref  ->  rbx         class-hnd single-def <System.Text.Json.Serialization.Tests.NumberHandlingTests>
 ;  V03 loc2         [V03,T16] (  3, 12   )   ubyte  ->  rdi        
 ;  V04 loc3         [V04,T14] (  3, 12   )     ref  ->  rax         class-hnd exact <System.String>
 ;* V05 loc4         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.String>
 ;* V06 loc5         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
-;  V07 loc6         [V07    ] (  6, 15   )  struct ( 8) [rbp-0x30]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.TaskAwaiter>
+;  V07 loc6         [V07    ] (  6, 15   )  struct ( 8) [rbp-0x28]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.TaskAwaiter>
 ;* V08 loc7         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <<unknown class>>
 ;  V09 OutArgs      [V09    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V10 tmp1         [V10    ] (  0,  0   )     int  ->  zero-ref    "dup spill"
-;  V11 tmp2         [V11,T10] (  4, 16   )     ref  ->  r14        
+;  V11 tmp2         [V11,T09] (  4, 16   )     ref  ->  rsi        
 ;  V12 tmp3         [V12,T30] (  2,  0   )     ref  ->  rdx         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
 ;  V13 tmp4         [V13,T21] (  2,  4   )     ref  ->  rdx         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[ubyte]>
 ;* V14 tmp5         [V14    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[ubyte]>
 ;* V15 tmp6         [V15    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V16 tmp7         [V16,T06] (  3, 24   )     ref  ->  rax         class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
+;  V16 tmp7         [V16,T05] (  3, 24   )     ref  ->  rax         class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
 ;* V17 tmp8         [V17    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TaskAwaiter>
 ;* V18 tmp9         [V18    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V19 tmp10        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V20 tmp11        [V20,T11] (  2, 16   )     ref  ->  rcx         class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
+;  V20 tmp11        [V20,T10] (  2, 16   )     ref  ->  rcx         class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
 ;* V21 tmp12        [V21    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V22 tmp13        [V22    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V23 tmp14        [V23    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V24 tmp15        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V25 tmp16        [V25,T09] (  3, 16.01)     ref  ->  rdx         class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
-;* V26 tmp17        [V26,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V25 tmp16        [V25,T08] (  3, 16.01)     ref  ->  rdx         class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
+;* V26 tmp17        [V26,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V27 tmp18        [V27,T00] (  9,144   )   byref  ->  rsi         "Inlining Arg"
 ;  V28 tmp19        [V28,T04] (  4, 32   )     ref  ->  rax         class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[ubyte]>
 ;  V29 tmp20        [V29,T19] (  4,  6   )   byref  ->  rcx         single-def "Inlining Arg"
 ;* V30 tmp21        [V30,T29] (  0,  0   )  struct ( 8) zero-ref    do-not-enreg[S] ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.Tasks.VoidTaskResult>
 ;  V31 tmp22        [V31,T28] (  2,  0.01)     ref  ->  rcx         class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
-;  V32 tmp23        [V32    ] (  6, 15   )     ref  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V07.m_task (fldOffset=0x0)" P-DEP
+;  V32 tmp23        [V32    ] (  6, 15   )     ref  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V07.m_task (fldOffset=0x0)" P-DEP
 ;  V33 tmp24        [V33,T23] (  3,  3   )     ref  ->  rdx         single-def "field V14._list (fldOffset=0x0)" P-INDEP
 ;* V34 tmp25        [V34,T25] (  0,  0   )     int  ->  zero-ref    single-def "field V14._index (fldOffset=0x8)" P-INDEP
 ;  V35 tmp26        [V35,T24] (  2,  2   )     int  ->  rsi         single-def "field V14._version (fldOffset=0xc)" P-INDEP
@@ -48,39 +48,38 @@
 ;  V37 tmp28        [V37,T17] (  2,  8   )     ref  ->  rax         "field V17.m_task (fldOffset=0x0)" P-INDEP
 ;  V38 tmp29        [V38,T01] (  3, 48   )     ref  ->  rax         "arr expr"
 ;  V39 tmp30        [V39,T02] (  3, 48   )     int  ->  rdx         "index expr"
-;  V40 tmp31        [V40,T12] (  2, 16   )     ref  ->   r9         "argument with side effect"
+;  V40 tmp31        [V40,T11] (  2, 16   )     ref  ->   r9         "argument with side effect"
 ;  V41 tmp32        [V41,T22] (  2,  4   )     ref  ->  rdx         "argument with side effect"
-;  V42 PSPSym       [V42,T27] (  1,  1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
+;  V42 PSPSym       [V42,T27] (  1,  1   )    long  ->  [rbp-0x30]  do-not-enreg[V] "PSPSym"
 ;  V43 cse0         [V43,T07] (  3, 24   )     int  ->  rdx         "CSE - aggressive"
-;  V44 cse1         [V44,T08] (  3, 24   )     int  ->  r14         "CSE - aggressive"
-;  V45 cse2         [V45,T05] (  4, 32   )     ref  ->  rdi         "CSE - aggressive"
+;  V44 cse1         [V44,T13] (  2, 16   )     int  ->  rdx         "CSE - aggressive"
+;  V45 cse2         [V45,T06] (  3, 24   )     ref  ->  rdi         "CSE - aggressive"
 ;  V46 cse3         [V46,T15] (  3, 12   )     ref  ->   r8         "CSE - moderate"
 ;
-; Lcl frame size = 64
+; Lcl frame size = 56
 
 G_M52297_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
-       push     r14
        push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 64
-       lea      rbp, [rsp+0x60]
+       sub      rsp, 56
+       lea      rbp, [rsp+0x50]
        xor      eax, eax
-       mov      qword ptr [rbp-0x30], rax
-       mov      qword ptr [rbp-0x40], rsp
+       mov      qword ptr [rbp-0x28], rax
+       mov      qword ptr [rbp-0x30], rsp
        mov      bword ptr [rbp+0x10], rcx
        ; GC ptr vars +{V00}
-                      ;; size=29 bbWeight=1 PerfScore 9.00
+                      ;; size=27 bbWeight=1 PerfScore 8.00
 G_M52297_IG02:        ; bbWeight=1, gcVars=0000000000000008 {V00}, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, gcvars, byref
        ; byrRegs +[rcx]
        mov      edx, dword ptr [rcx+0x10]
-       mov      dword ptr [rbp-0x24], edx
+       mov      dword ptr [rbp-0x1C], edx
        mov      rbx, gword ptr [rcx+0x08]
        ; gcrRegs +[rbx]
                        ;; size=10 bbWeight=1 PerfScore 5.00
 G_M52297_IG03:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0002 {rcx}, byref, isz
-       cmp      dword ptr [rbp-0x24], 0
+       cmp      dword ptr [rbp-0x1C], 0
        je       SHORT G_M52297_IG04
        mov      rdx, gword ptr [rcx]
        ; gcrRegs +[rdx]
@@ -100,15 +99,15 @@ G_M52297_IG03:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0002 {rcx},
                        ;; size=40 bbWeight=1 PerfScore 13.00
 G_M52297_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0002 {rcx}, byref
        ; byrRegs -[rdi]
-       cmp      dword ptr [rbp-0x24], 0
+       cmp      dword ptr [rbp-0x1C], 0
        jne      G_M52297_IG09
        mov      rdx, gword ptr [rcx+0x38]
        ; gcrRegs +[rdx]
-       mov      gword ptr [rbp-0x30], rdx
+       mov      gword ptr [rbp-0x28], rdx
        xor      edx, edx
        ; gcrRegs -[rdx]
        mov      qword ptr [rcx+0x38], rdx
-       mov      dword ptr [rbp-0x24], -1
+       mov      dword ptr [rbp-0x1C], -1
        mov      dword ptr [rcx+0x10], -1
        jmp      G_M52297_IG08
                        ;; size=43 bbWeight=1 PerfScore 11.25
@@ -119,13 +118,13 @@ G_M52297_IG05:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0002 {rcx},
        call     [<unknown method>]
        ; gcrRegs +[rax]
        ; gcr arg pop 0
-       mov      r14, rax
-       ; gcrRegs +[r14]
-       test     r14, r14
+       mov      rsi, rax
+       ; gcrRegs +[rsi]
+       test     rsi, rsi
        jne      SHORT G_M52297_IG06
-       mov      r14, 0xD1FFAB1E
+       mov      rsi, 0xD1FFAB1E
                       ;; size=31 bbWeight=4 PerfScore 28.00
-G_M52297_IG06:        ; bbWeight=4, gcrefRegs=4009 {rax rbx r14}, byrefRegs=0000 {}, byref, isz
+G_M52297_IG06:        ; bbWeight=4, gcrefRegs=0049 {rax rbx rsi}, byrefRegs=0000 {}, byref, isz
        mov      rdx, rax
        ; gcrRegs +[rdx]
        mov      r8, 0xD1FFAB1E
@@ -138,28 +137,28 @@ G_M52297_IG06:        ; bbWeight=4, gcrefRegs=4009 {rax rbx r14}, byrefRegs=0000
        mov      r9, rax
        ; gcrRegs +[r9]
        mov      edx, edi
-       mov      r8, r14
+       mov      r8, rsi
        ; gcrRegs +[r8]
        mov      rcx, rbx
        ; gcrRegs +[rcx]
        call     [System.Text.Json.Serialization.Tests.NumberHandlingTests:PerformAsRootTypeSerialization[ubyte](ubyte,System.String,System.String):System.Threading.Tasks.Task:this]
-       ; gcrRegs -[rcx r8-r9 r14]
+       ; gcrRegs -[rcx rsi r8-r9]
        ; gcr arg pop 0
        cmp      byte  ptr [rax], al
-       mov      gword ptr [rbp-0x30], rax
-       mov      rcx, gword ptr [rbp-0x30]
+       mov      gword ptr [rbp-0x28], rax
+       mov      rcx, gword ptr [rbp-0x28]
        ; gcrRegs +[rcx]
        test     dword ptr [rcx+0x34], 0xD1FFAB1E
        jne      SHORT G_M52297_IG08
                        ;; size=58 bbWeight=4 PerfScore 67.00
-G_M52297_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52297_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax rcx rbx]
        xor      edx, edx
        mov      rcx, bword ptr [rbp+0x10]
        ; byrRegs +[rcx]
        mov      dword ptr [rcx+0x10], edx
        lea      rcx, bword ptr [rcx+0x38]
-       mov      rdx, gword ptr [rbp-0x30]
+       mov      rdx, gword ptr [rbp-0x28]
        ; gcrRegs +[rdx]
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
        ; gcrRegs -[rdx]
@@ -176,16 +175,16 @@ G_M52297_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcr arg pop 0
        mov      rdx, rax
        ; gcrRegs +[rdx]
-       lea      rcx, [rbp-0x30]
+       lea      rcx, [rbp-0x28]
        call     [<unknown method>]
        ; gcrRegs -[rax rdx]
        ; gcr arg pop 0
-       jmp      G_M52297_IG16
-                       ;; size=57 bbWeight=1 PerfScore 15.25
+       jmp      SHORT G_M52297_IG15
+                       ;; size=54 bbWeight=1 PerfScore 15.25
 G_M52297_IG08:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rbx]
        ; byrRegs -[rdi]
-       mov      rdx, gword ptr [rbp-0x30]
+       mov      rdx, gword ptr [rbp-0x28]
        ; gcrRegs +[rdx]
        mov      eax, dword ptr [rdx+0x34]
        and      eax, 0xD1FFAB1E
@@ -202,12 +201,12 @@ G_M52297_IG09:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcrRegs +[rdi]
        mov      rax, rdi
        ; gcrRegs +[rax]
-       mov      r14d, dword ptr [rsi+0x0C]
-       cmp      r14d, dword ptr [rax+0x14]
-       jne      SHORT G_M52297_IG13
+       mov      edx, dword ptr [rsi+0x0C]
+       cmp      edx, dword ptr [rax+0x14]
+       jne      SHORT G_M52297_IG12
        mov      edx, dword ptr [rsi+0x08]
        cmp      edx, dword ptr [rax+0x10]
-       jae      SHORT G_M52297_IG14
+       jae      SHORT G_M52297_IG13
        mov      rax, gword ptr [rax+0x08]
        cmp      edx, dword ptr [rax+0x08]
        jae      SHORT G_M52297_IG11
@@ -216,7 +215,7 @@ G_M52297_IG09:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      byte  ptr [rsi+0x10], al
        inc      dword ptr [rsi+0x08]
        jmp      G_M52297_IG05
-                        ;; size=57 bbWeight=8 PerfScore 238.00
+                        ;; size=55 bbWeight=8 PerfScore 238.00
 G_M52297_IG10:        ; bbWeight=0.00, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdi] +[rdx]
        ; byrRegs -[rcx rsi]
@@ -239,48 +238,44 @@ G_M52297_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M52297_IG13:        ; bbWeight=8, gcrefRegs=0080 {rdi}, byrefRegs=0042 {rcx rsi}, byref, isz
+G_M52297_IG13:        ; bbWeight=8, gcrefRegs=0080 {rdi}, byrefRegs=0042 {rcx rsi}, byref
        ; gcrRegs +[rdi]
        ; byrRegs +[rcx rsi]
-       cmp      r14d, dword ptr [rdi+0x14]
-       jne      SHORT G_M52297_IG12
-                       ;; size=6 bbWeight=8 PerfScore 32.00
-G_M52297_IG14:        ; bbWeight=8, gcrefRegs=0080 {rdi}, byrefRegs=0042 {rcx rsi}, byref
        mov      edx, dword ptr [rdi+0x10]
        inc      edx
        mov      dword ptr [rsi+0x08], edx
        mov      byte  ptr [rsi+0x10], 0
                        ;; size=12 bbWeight=8 PerfScore 34.00
-G_M52297_IG15:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+G_M52297_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
        ; gcrRegs -[rdi]
        ; byrRegs -[rsi]
-       cmp      dword ptr [rbp-0x24], 0
-       jge      SHORT G_M52297_IG18
-       jmp      SHORT G_M52297_IG18
+       cmp      dword ptr [rbp-0x1C], 0
+       jge      SHORT G_M52297_IG17
+       jmp      SHORT G_M52297_IG17
                         ;; size=8 bbWeight=1 PerfScore 5.00
-G_M52297_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref
+G_M52297_IG15:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref
        ; byrRegs -[rcx] +[rdi]
...
  
-23 (-4.00%) : 277132.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+d__8`1[ubyte]:MoveNext():this (FullOpts)
@@ -9,38 +9,38 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T03] ( 23, 31   )   byref  ->  [rbp+0x10]  this EH-live single-def
-;  V01 loc0         [V01,T18] (  5,  5   )     int  ->  [rbp-0x24]  do-not-enreg[Z] EH-live
+;  V01 loc0         [V01,T18] (  5,  5   )     int  ->  [rbp-0x1C]  do-not-enreg[Z] EH-live
 ;  V02 loc1         [V02,T20] (  2,  5   )     ref  ->  rbx         class-hnd single-def <System.Text.Json.Serialization.Tests.NumberHandlingTests>
 ;  V03 loc2         [V03,T16] (  3, 12   )   ubyte  ->  rdi        
 ;  V04 loc3         [V04,T14] (  3, 12   )     ref  ->  rax         class-hnd exact <System.String>
 ;* V05 loc4         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.String>
 ;* V06 loc5         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
-;  V07 loc6         [V07    ] (  6, 15   )  struct ( 8) [rbp-0x30]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.TaskAwaiter>
+;  V07 loc6         [V07    ] (  6, 15   )  struct ( 8) [rbp-0x28]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.TaskAwaiter>
 ;* V08 loc7         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <<unknown class>>
 ;  V09 OutArgs      [V09    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V10 tmp1         [V10    ] (  0,  0   )     int  ->  zero-ref    "dup spill"
-;  V11 tmp2         [V11,T10] (  4, 16   )     ref  ->  r14        
+;  V11 tmp2         [V11,T09] (  4, 16   )     ref  ->  rsi        
 ;  V12 tmp3         [V12,T30] (  2,  0   )     ref  ->  rdx         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
 ;  V13 tmp4         [V13,T21] (  2,  4   )     ref  ->  rdx         class-hnd single-def "Inlining Arg" <System.Collections.Generic.List`1[ubyte]>
 ;* V14 tmp5         [V14    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[ubyte]>
 ;* V15 tmp6         [V15    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V16 tmp7         [V16,T06] (  3, 24   )     ref  ->  rax         class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
+;  V16 tmp7         [V16,T05] (  3, 24   )     ref  ->  rax         class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
 ;* V17 tmp8         [V17    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.TaskAwaiter>
 ;* V18 tmp9         [V18    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V19 tmp10        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
-;  V20 tmp11        [V20,T11] (  2, 16   )     ref  ->  rcx         class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
+;  V20 tmp11        [V20,T10] (  2, 16   )     ref  ->  rcx         class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
 ;* V21 tmp12        [V21    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V22 tmp13        [V22    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V23 tmp14        [V23    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V24 tmp15        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V25 tmp16        [V25,T09] (  3, 16.01)     ref  ->  rdx         class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
-;* V26 tmp17        [V26,T13] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V25 tmp16        [V25,T08] (  3, 16.01)     ref  ->  rdx         class-hnd "Inlining Arg" <System.Threading.Tasks.Task>
+;* V26 tmp17        [V26,T12] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V27 tmp18        [V27,T00] (  9,144   )   byref  ->  rsi         "Inlining Arg"
 ;  V28 tmp19        [V28,T04] (  4, 32   )     ref  ->  rax         class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[ubyte]>
 ;  V29 tmp20        [V29,T19] (  4,  6   )   byref  ->  rcx         single-def "Inlining Arg"
 ;* V30 tmp21        [V30,T29] (  0,  0   )  struct ( 8) zero-ref    do-not-enreg[S] ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.Tasks.VoidTaskResult>
 ;  V31 tmp22        [V31,T28] (  2,  0.01)     ref  ->  rcx         class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
-;  V32 tmp23        [V32    ] (  6, 15   )     ref  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V07.m_task (fldOffset=0x0)" P-DEP
+;  V32 tmp23        [V32    ] (  6, 15   )     ref  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V07.m_task (fldOffset=0x0)" P-DEP
 ;  V33 tmp24        [V33,T23] (  3,  3   )     ref  ->  rdx         single-def "field V14._list (fldOffset=0x0)" P-INDEP
 ;* V34 tmp25        [V34,T25] (  0,  0   )     int  ->  zero-ref    single-def "field V14._index (fldOffset=0x8)" P-INDEP
 ;  V35 tmp26        [V35,T24] (  2,  2   )     int  ->  rsi         single-def "field V14._version (fldOffset=0xc)" P-INDEP
@@ -48,39 +48,38 @@
 ;  V37 tmp28        [V37,T17] (  2,  8   )     ref  ->  rax         "field V17.m_task (fldOffset=0x0)" P-INDEP
 ;  V38 tmp29        [V38,T01] (  3, 48   )     ref  ->  rax         "arr expr"
 ;  V39 tmp30        [V39,T02] (  3, 48   )     int  ->  rdx         "index expr"
-;  V40 tmp31        [V40,T12] (  2, 16   )     ref  ->   r9         "argument with side effect"
+;  V40 tmp31        [V40,T11] (  2, 16   )     ref  ->   r9         "argument with side effect"
 ;  V41 tmp32        [V41,T22] (  2,  4   )     ref  ->  rdx         "argument with side effect"
-;  V42 PSPSym       [V42,T27] (  1,  1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
+;  V42 PSPSym       [V42,T27] (  1,  1   )    long  ->  [rbp-0x30]  do-not-enreg[V] "PSPSym"
 ;  V43 cse0         [V43,T07] (  3, 24   )     int  ->  rdx         "CSE - aggressive"
-;  V44 cse1         [V44,T08] (  3, 24   )     int  ->  r14         "CSE - aggressive"
-;  V45 cse2         [V45,T05] (  4, 32   )     ref  ->  rdi         "CSE - aggressive"
+;  V44 cse1         [V44,T13] (  2, 16   )     int  ->  rdx         "CSE - aggressive"
+;  V45 cse2         [V45,T06] (  3, 24   )     ref  ->  rdi         "CSE - aggressive"
 ;  V46 cse3         [V46,T15] (  3, 12   )     ref  ->   r8         "CSE - moderate"
 ;
-; Lcl frame size = 64
+; Lcl frame size = 56
 
 G_M52297_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
-       push     r14
        push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 64
-       lea      rbp, [rsp+0x60]
+       sub      rsp, 56
+       lea      rbp, [rsp+0x50]
        xor      eax, eax
-       mov      qword ptr [rbp-0x30], rax
-       mov      qword ptr [rbp-0x40], rsp
+       mov      qword ptr [rbp-0x28], rax
+       mov      qword ptr [rbp-0x30], rsp
        mov      bword ptr [rbp+0x10], rcx
        ; GC ptr vars +{V00}
-                      ;; size=29 bbWeight=1 PerfScore 9.00
+                      ;; size=27 bbWeight=1 PerfScore 8.00
 G_M52297_IG02:        ; bbWeight=1, gcVars=0000000000000008 {V00}, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, gcvars, byref
        ; byrRegs +[rcx]
        mov      edx, dword ptr [rcx+0x10]
-       mov      dword ptr [rbp-0x24], edx
+       mov      dword ptr [rbp-0x1C], edx
        mov      rbx, gword ptr [rcx+0x08]
        ; gcrRegs +[rbx]
                        ;; size=10 bbWeight=1 PerfScore 5.00
 G_M52297_IG03:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0002 {rcx}, byref, isz
-       cmp      dword ptr [rbp-0x24], 0
+       cmp      dword ptr [rbp-0x1C], 0
        je       SHORT G_M52297_IG04
        mov      rdx, gword ptr [rcx]
        ; gcrRegs +[rdx]
@@ -100,15 +99,15 @@ G_M52297_IG03:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0002 {rcx},
                        ;; size=40 bbWeight=1 PerfScore 13.00
 G_M52297_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0002 {rcx}, byref
        ; byrRegs -[rdi]
-       cmp      dword ptr [rbp-0x24], 0
+       cmp      dword ptr [rbp-0x1C], 0
        jne      G_M52297_IG09
        mov      rdx, gword ptr [rcx+0x38]
        ; gcrRegs +[rdx]
-       mov      gword ptr [rbp-0x30], rdx
+       mov      gword ptr [rbp-0x28], rdx
        xor      edx, edx
        ; gcrRegs -[rdx]
        mov      qword ptr [rcx+0x38], rdx
-       mov      dword ptr [rbp-0x24], -1
+       mov      dword ptr [rbp-0x1C], -1
        mov      dword ptr [rcx+0x10], -1
        jmp      G_M52297_IG08
                        ;; size=43 bbWeight=1 PerfScore 11.25
@@ -119,13 +118,13 @@ G_M52297_IG05:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0002 {rcx},
        call     [<unknown method>]
        ; gcrRegs +[rax]
        ; gcr arg pop 0
-       mov      r14, rax
-       ; gcrRegs +[r14]
-       test     r14, r14
+       mov      rsi, rax
+       ; gcrRegs +[rsi]
+       test     rsi, rsi
        jne      SHORT G_M52297_IG06
-       mov      r14, 0xD1FFAB1E
+       mov      rsi, 0xD1FFAB1E
                       ;; size=31 bbWeight=4 PerfScore 28.00
-G_M52297_IG06:        ; bbWeight=4, gcrefRegs=4009 {rax rbx r14}, byrefRegs=0000 {}, byref, isz
+G_M52297_IG06:        ; bbWeight=4, gcrefRegs=0049 {rax rbx rsi}, byrefRegs=0000 {}, byref, isz
        mov      rdx, rax
        ; gcrRegs +[rdx]
        mov      r8, 0xD1FFAB1E
@@ -138,28 +137,28 @@ G_M52297_IG06:        ; bbWeight=4, gcrefRegs=4009 {rax rbx r14}, byrefRegs=0000
        mov      r9, rax
        ; gcrRegs +[r9]
        mov      edx, edi
-       mov      r8, r14
+       mov      r8, rsi
        ; gcrRegs +[r8]
        mov      rcx, rbx
        ; gcrRegs +[rcx]
        call     [System.Text.Json.Serialization.Tests.NumberHandlingTests:PerformAsRootTypeSerialization[ubyte](ubyte,System.String,System.String):System.Threading.Tasks.Task:this]
-       ; gcrRegs -[rcx r8-r9 r14]
+       ; gcrRegs -[rcx rsi r8-r9]
        ; gcr arg pop 0
        cmp      byte  ptr [rax], al
-       mov      gword ptr [rbp-0x30], rax
-       mov      rcx, gword ptr [rbp-0x30]
+       mov      gword ptr [rbp-0x28], rax
+       mov      rcx, gword ptr [rbp-0x28]
        ; gcrRegs +[rcx]
        test     dword ptr [rcx+0x34], 0xD1FFAB1E
        jne      SHORT G_M52297_IG08
                        ;; size=58 bbWeight=4 PerfScore 67.00
-G_M52297_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M52297_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax rcx rbx]
        xor      edx, edx
        mov      rcx, bword ptr [rbp+0x10]
        ; byrRegs +[rcx]
        mov      dword ptr [rcx+0x10], edx
        lea      rcx, bword ptr [rcx+0x38]
-       mov      rdx, gword ptr [rbp-0x30]
+       mov      rdx, gword ptr [rbp-0x28]
        ; gcrRegs +[rdx]
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
        ; gcrRegs -[rdx]
@@ -176,16 +175,16 @@ G_M52297_IG07:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcr arg pop 0
        mov      rdx, rax
        ; gcrRegs +[rdx]
-       lea      rcx, [rbp-0x30]
+       lea      rcx, [rbp-0x28]
        call     [<unknown method>]
        ; gcrRegs -[rax rdx]
        ; gcr arg pop 0
-       jmp      G_M52297_IG16
-                       ;; size=57 bbWeight=1 PerfScore 15.25
+       jmp      SHORT G_M52297_IG15
+                       ;; size=54 bbWeight=1 PerfScore 15.25
 G_M52297_IG08:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rbx]
        ; byrRegs -[rdi]
-       mov      rdx, gword ptr [rbp-0x30]
+       mov      rdx, gword ptr [rbp-0x28]
        ; gcrRegs +[rdx]
        mov      eax, dword ptr [rdx+0x34]
        and      eax, 0xD1FFAB1E
@@ -202,12 +201,12 @@ G_M52297_IG09:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcrRegs +[rdi]
        mov      rax, rdi
        ; gcrRegs +[rax]
-       mov      r14d, dword ptr [rsi+0x0C]
-       cmp      r14d, dword ptr [rax+0x14]
-       jne      SHORT G_M52297_IG13
+       mov      edx, dword ptr [rsi+0x0C]
+       cmp      edx, dword ptr [rax+0x14]
+       jne      SHORT G_M52297_IG12
        mov      edx, dword ptr [rsi+0x08]
        cmp      edx, dword ptr [rax+0x10]
-       jae      SHORT G_M52297_IG14
+       jae      SHORT G_M52297_IG13
        mov      rax, gword ptr [rax+0x08]
        cmp      edx, dword ptr [rax+0x08]
        jae      SHORT G_M52297_IG11
@@ -216,7 +215,7 @@ G_M52297_IG09:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      byte  ptr [rsi+0x10], al
        inc      dword ptr [rsi+0x08]
        jmp      G_M52297_IG05
-                        ;; size=57 bbWeight=8 PerfScore 238.00
+                        ;; size=55 bbWeight=8 PerfScore 238.00
 G_M52297_IG10:        ; bbWeight=0.00, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdi] +[rdx]
        ; byrRegs -[rcx rsi]
@@ -239,48 +238,44 @@ G_M52297_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M52297_IG13:        ; bbWeight=8, gcrefRegs=0080 {rdi}, byrefRegs=0042 {rcx rsi}, byref, isz
+G_M52297_IG13:        ; bbWeight=8, gcrefRegs=0080 {rdi}, byrefRegs=0042 {rcx rsi}, byref
        ; gcrRegs +[rdi]
        ; byrRegs +[rcx rsi]
-       cmp      r14d, dword ptr [rdi+0x14]
-       jne      SHORT G_M52297_IG12
-                       ;; size=6 bbWeight=8 PerfScore 32.00
-G_M52297_IG14:        ; bbWeight=8, gcrefRegs=0080 {rdi}, byrefRegs=0042 {rcx rsi}, byref
        mov      edx, dword ptr [rdi+0x10]
        inc      edx
        mov      dword ptr [rsi+0x08], edx
        mov      byte  ptr [rsi+0x10], 0
                        ;; size=12 bbWeight=8 PerfScore 34.00
-G_M52297_IG15:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
+G_M52297_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0002 {rcx}, byref, isz
        ; gcrRegs -[rdi]
        ; byrRegs -[rsi]
-       cmp      dword ptr [rbp-0x24], 0
-       jge      SHORT G_M52297_IG18
-       jmp      SHORT G_M52297_IG18
+       cmp      dword ptr [rbp-0x1C], 0
+       jge      SHORT G_M52297_IG17
+       jmp      SHORT G_M52297_IG17
                         ;; size=8 bbWeight=1 PerfScore 5.00
-G_M52297_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref
+G_M52297_IG15:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0080 {rdi}, byref
        ; byrRegs -[rcx] +[rdi]
...
  
-20 (-3.85%) : 333824.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1[int]:ReserveOneMessage():ubyte:this (FullOpts)
@@ -9,12 +9,12 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T03] (  8, 29   )     ref  ->  rbx         this class-hnd single-def <System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1[int]>
-;  V01 loc0         [V01    ] (  8, 32   )  struct (16) [rbp-0x28]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[int],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
-;  V02 loc1         [V02,T10] (  4,  3   )     ref  ->  [rbp-0x48]  class-hnd EH-live spill-single-def <<unknown class>>
-;  V03 loc2         [V03    ] (  6,  6   )   ubyte  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed ld-addr-op
-;  V04 loc3         [V04,T11] (  3,  3   )   ubyte  ->  [rbp-0x34]  do-not-enreg[Z] EH-live
-;  V05 loc4         [V05,T04] (  4, 25   )     ref  ->  [rbp-0x50]  do-not-enreg[Z] class-hnd EH-live <<unknown class>>
-;  V06 loc5         [V06    ] (  6, 41   )   ubyte  ->  [rbp-0x40]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V01 loc0         [V01    ] (  8, 36   )  struct (16) [rbp-0x20]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.Collections.Generic.KeyValuePair`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[int],System.Threading.Tasks.Dataflow.DataflowMessageHeader]>
+;  V02 loc1         [V02,T10] (  4,  3   )     ref  ->  [rbp-0x40]  class-hnd EH-live spill-single-def <<unknown class>>
+;  V03 loc2         [V03    ] (  6,  6   )   ubyte  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V04 loc3         [V04,T11] (  3,  3   )   ubyte  ->  [rbp-0x2C]  do-not-enreg[Z] EH-live
+;  V05 loc4         [V05,T04] (  4, 25   )     ref  ->  [rbp-0x48]  do-not-enreg[Z] class-hnd EH-live <<unknown class>>
+;  V06 loc5         [V06    ] (  6, 41   )   ubyte  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed ld-addr-op
 ;  V07 OutArgs      [V07    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V08 tmp1         [V08,T01] (  2, 32   )     ref  ->  rcx         class-hnd "impAppendStmt" <System.Threading.Tasks.Dataflow.ISourceBlock`1[int]>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct ( 8) zero-ref    "spilled call-like call argument" <System.Threading.Tasks.Dataflow.DataflowMessageHeader>
@@ -25,50 +25,49 @@
 ;* V14 tmp7         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <<unknown class>>
 ;* V15 tmp8         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.Dataflow.Internal.JoinBlockTargetSharedResources>
 ;  V16 tmp9         [V16,T02] (  2, 32   )   ubyte  ->  rcx         "Inlining Arg"
-;  V17 tmp10        [V17,T00] (  3, 40   )     ref  ->  rsi         class-hnd exact "Inlining Arg" <<unknown class>>
-;  V18 tmp11        [V18,T05] (  3, 24   )   ubyte  ->  rdi         "Inline stloc first use temp"
+;  V17 tmp10        [V17,T00] (  3, 48   )     ref  ->  rsi         class-hnd exact "Inlining Arg" <<unknown class>>
+;  V18 tmp11        [V18,T05] (  2, 16   )   ubyte  ->  rax         "Inline stloc first use temp"
 ;* V19 tmp12        [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <<unknown class>>
-;  V20 tmp13        [V20    ] (  6, 23   )     ref  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V01.key (fldOffset=0x0)" P-DEP
-;  V21 tmp14        [V21    ] (  4, 18   )    long  ->  [rbp-0x20]  do-not-enreg[X] addr-exposed "field V01.value (fldOffset=0x8)" P-DEP
+;  V20 tmp13        [V20    ] (  6, 27   )     ref  ->  [rbp-0x20]  do-not-enreg[X] addr-exposed "field V01.key (fldOffset=0x0)" P-DEP
+;  V21 tmp14        [V21    ] (  4, 18   )    long  ->  [rbp-0x18]  do-not-enreg[X] addr-exposed "field V01.value (fldOffset=0x8)" P-DEP
 ;* V22 tmp15        [V22    ] (  0,  0   )    long  ->  zero-ref    "field V09._id (fldOffset=0x0)" P-INDEP
 ;  V23 tmp16        [V23,T08] (  3,  6   )     ref  ->  rbx         single-def "BlockOp address local"
-;  V24 PSPSym       [V24,T13] (  1,  1   )    long  ->  [rbp-0x60]  do-not-enreg[V] "PSPSym"
+;  V24 PSPSym       [V24,T13] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
 ;  V25 cse0         [V25,T06] (  6, 15   )     ref  ->  rdx         multi-def "CSE - aggressive"
 ;
-; Lcl frame size = 104
+; Lcl frame size = 96
 
 G_M15095_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
-       push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 104
-       lea      rbp, [rsp+0x80]
+       sub      rsp, 96
+       lea      rbp, [rsp+0x70]
        xor      eax, eax
-       mov      qword ptr [rbp-0x28], rax
-       mov      qword ptr [rbp-0x60], rsp
+       mov      qword ptr [rbp-0x20], rax
+       mov      qword ptr [rbp-0x50], rsp
        mov      rbx, rcx
        ; gcrRegs +[rbx]
-                      ;; size=29 bbWeight=1 PerfScore 7.25
+                      ;; size=25 bbWeight=1 PerfScore 6.25
 G_M15095_IG02:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rdx, gword ptr [rbx+0x08]
        ; gcrRegs +[rdx]
        mov      rcx, gword ptr [rdx+0x10]
        ; gcrRegs +[rcx]
-       mov      gword ptr [rbp-0x48], rcx
+       mov      gword ptr [rbp-0x40], rcx
        ; GC ptr vars +{V02}
        xor      edx, edx
        ; gcrRegs -[rdx]
-       mov      dword ptr [rbp-0x30], edx
+       mov      dword ptr [rbp-0x28], edx
                       ;; size=17 bbWeight=1 PerfScore 6.25
 G_M15095_IG03:        ; bbWeight=1, gcVars=0000000000000400 {V02}, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, gcvars, byref, isz
-       cmp      byte  ptr [rbp-0x30], 0
+       cmp      byte  ptr [rbp-0x28], 0
        jne      SHORT G_M15095_IG06
-       lea      rdx, [rbp-0x30]
+       lea      rdx, [rbp-0x28]
        call     <unknown method>
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       movzx    rcx, byte  ptr [rbp-0x30]
+       movzx    rcx, byte  ptr [rbp-0x28]
        test     ecx, ecx
        jne      SHORT G_M15095_IG04
        mov      rdx, 0xD1FFAB1E
@@ -85,7 +84,7 @@ G_M15095_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      rsi, gword ptr [rcx+0x08]
        ; gcrRegs +[rsi]
        mov      rcx, gword ptr [rsi+0x08]
-       lea      rdx, [rbp-0x28]
+       lea      rdx, [rbp-0x20]
        cmp      dword ptr [rcx], ecx
        call     [<unknown method>]
        ; gcrRegs -[rcx]
@@ -94,7 +93,7 @@ G_M15095_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        je       SHORT G_M15095_IG05
        mov      rcx, gword ptr [rsi+0x10]
        ; gcrRegs +[rcx]
-       mov      rdx, gword ptr [rbp-0x28]
+       mov      rdx, gword ptr [rbp-0x20]
        ; gcrRegs +[rdx]
        cmp      dword ptr [rcx], ecx
        call     [<unknown method>]
@@ -105,7 +104,7 @@ G_M15095_IG04:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
 G_M15095_IG05:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rbx]
        xor      ecx, ecx
-       mov      dword ptr [rbp-0x34], ecx
+       mov      dword ptr [rbp-0x2C], ecx
        jmp      SHORT G_M15095_IG08
                        ;; size=7 bbWeight=1 PerfScore 3.25
 G_M15095_IG06:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
@@ -115,9 +114,9 @@ G_M15095_IG06:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
                        ;; size=7 bbWeight=0 PerfScore 0.00
 G_M15095_IG07:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rbx]
-       cmp      byte  ptr [rbp-0x30], 0
+       cmp      byte  ptr [rbp-0x28], 0
        je       SHORT G_M15095_IG10
-       mov      rcx, gword ptr [rbp-0x48]
+       mov      rcx, gword ptr [rbp-0x40]
        ; gcrRegs +[rcx]
        ; GC ptr vars -{V02}
        call     <unknown method>
@@ -129,44 +128,44 @@ G_M15095_IG08:        ; bbWeight=1, gcVars=0000000000000400 {V02}, gcrefRegs=000
        ; gcrRegs -[rbx]
        ; GC ptr vars +{V02}
        mov      rcx, rsp
-       call     G_M15095_IG25
+       call     G_M15095_IG23
                      ;; size=8 bbWeight=1 PerfScore 1.25
 G_M15095_IG09:        ; bbWeight=1, nogc, extend
-       jmp      G_M15095_IG23
+       jmp      G_M15095_IG21
                      ;; size=5 bbWeight=1 PerfScore 2.00
 G_M15095_IG10:        ; bbWeight=8, gcVars=0000000000000000 {}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs +[rbx]
        ; GC ptr vars -{V02}
-       mov      rcx, gword ptr [rbp-0x28]
+       mov      rcx, gword ptr [rbp-0x20]
        ; gcrRegs +[rcx]
        mov      r8, rbx
        ; gcrRegs +[r8]
-       mov      rdx, qword ptr [rbp-0x20]
+       mov      rdx, qword ptr [rbp-0x18]
        mov      r11, 0xD1FFAB1E      ; code for <unknown method>
        call     [r11]<unknown method>
        ; gcrRegs -[rcx r8]
        ; gcr arg pop 0
        test     eax, eax
-       jne      G_M15095_IG19
+       jne      G_M15095_IG17
        mov      rdx, gword ptr [rbx+0x08]
        ; gcrRegs +[rdx]
        mov      rdx, gword ptr [rdx+0x10]
-       mov      gword ptr [rbp-0x50], rdx
+       mov      gword ptr [rbp-0x48], rdx
        ; GC ptr vars +{V05}
        xor      edx, edx
        ; gcrRegs -[rdx]
-       mov      dword ptr [rbp-0x40], edx
+       mov      dword ptr [rbp-0x38], edx
                       ;; size=49 bbWeight=8 PerfScore 104.00
 G_M15095_IG11:        ; bbWeight=8, gcVars=0000000000000010 {V05}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref, isz
-       cmp      byte  ptr [rbp-0x40], 0
-       jne      SHORT G_M15095_IG17
-       lea      rdx, [rbp-0x40]
-       mov      rcx, gword ptr [rbp-0x50]
+       cmp      byte  ptr [rbp-0x38], 0
+       jne      SHORT G_M15095_IG15
+       lea      rdx, [rbp-0x38]
+       mov      rcx, gword ptr [rbp-0x48]
        ; gcrRegs +[rcx]
        call     <unknown method>
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       movzx    rcx, byte  ptr [rbp-0x40]
+       movzx    rcx, byte  ptr [rbp-0x38]
        test     ecx, ecx
        jne      SHORT G_M15095_IG13
                        ;; size=27 bbWeight=8 PerfScore 62.00
@@ -185,45 +184,39 @@ G_M15095_IG13:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      rsi, gword ptr [rcx+0x08]
        ; gcrRegs +[rsi]
        mov      rcx, gword ptr [rsi+0x08]
-       lea      rdx, [rbp-0x28]
+       lea      rdx, [rbp-0x20]
        cmp      dword ptr [rcx], ecx
        call     [<unknown method>]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       mov      edi, eax
-       test     edi, edi
-       je       SHORT G_M15095_IG15
-                       ;; size=30 bbWeight=8 PerfScore 112.00
-G_M15095_IG14:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+       test     eax, eax
+       je       SHORT G_M15095_IG14
        mov      rcx, gword ptr [rsi+0x10]
        ; gcrRegs +[rcx]
-       mov      rdx, gword ptr [rbp-0x28]
+       mov      rdx, gword ptr [rbp-0x20]
        ; gcrRegs +[rdx]
        cmp      dword ptr [rcx], ecx
        call     [<unknown method>]
        ; gcrRegs -[rcx rdx rsi]
        ; gcr arg pop 0
-                       ;; size=16 bbWeight=4 PerfScore 36.00
-G_M15095_IG15:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       test     edi, edi
-       jne      SHORT G_M15095_IG18
-                       ;; size=4 bbWeight=8 PerfScore 10.00
-G_M15095_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       jmp      SHORT G_M15095_IG16
+                       ;; size=46 bbWeight=8 PerfScore 198.00
+G_M15095_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rbx]
        xor      ecx, ecx
-       mov      dword ptr [rbp-0x34], ecx
-       jmp      SHORT G_M15095_IG21
+       mov      dword ptr [rbp-0x2C], ecx
+       jmp      SHORT G_M15095_IG19
                         ;; size=7 bbWeight=1 PerfScore 3.25
-G_M15095_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M15095_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     [System.Threading.Monitor:ThrowLockTakenException()]
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M15095_IG18:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M15095_IG16:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rbx]
-       cmp      byte  ptr [rbp-0x40], 0
+       cmp      byte  ptr [rbp-0x38], 0
        je       G_M15095_IG10
-       mov      rcx, gword ptr [rbp-0x50]
+       mov      rcx, gword ptr [rbp-0x48]
        ; gcrRegs +[rcx]
        ; GC ptr vars -{V05}
        call     <unknown method>
@@ -231,114 +224,108 @@ G_M15095_IG18:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcr arg pop 0
        jmp      G_M15095_IG10
                        ;; size=24 bbWeight=8 PerfScore 56.00
-G_M15095_IG19:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+G_M15095_IG17:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      rbx, gword ptr [rbx+0x20]
        lea      rcx, bword ptr [rbx+0x10]
        ; byrRegs +[rcx]
...
  
+2 (+1.60%) : 150417.dasm - System.IO.Compression.ZipGenericExtraField:WriteAllBlocks(System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField],System.IO.Stream) (FullOpts)
@@ -8,32 +8,33 @@
 ; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T10] (  4,  4   )     ref  ->  rcx         class-hnd single-def <System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField]>
-;  V01 arg1         [V01,T11] (  3,  4   )     ref  ->  rbx         class-hnd single-def <System.IO.Stream>
+;  V00 arg0         [V00,T11] (  4,  4   )     ref  ->  rcx         class-hnd single-def <System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField]>
+;  V01 arg1         [V01,T12] (  3,  4   )     ref  ->  rbx         class-hnd single-def <System.IO.Stream>
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.IO.Compression.ZipGenericExtraField]>
 ;  V03 loc1         [V03    ] (  4,  8   )  struct (16) [rsp+0x28]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.IO.Compression.ZipGenericExtraField>
 ;  V04 OutArgs      [V04    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V05 tmp1         [V05    ] (  0,  0   )  struct (32) zero-ref    do-not-enreg[SF] ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.IO.Compression.ZipGenericExtraField]>
-;* V06 tmp2         [V06,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V06 tmp2         [V06,T10] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V07 tmp3         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField]>
 ;  V08 tmp4         [V08    ] (  2,  4   )     ref  ->  [rsp+0x28]  do-not-enreg[X] addr-exposed "field V03._data (fldOffset=0x0)" P-DEP
 ;  V09 tmp5         [V09    ] (  2,  4   )  ushort  ->  [rsp+0x30]  do-not-enreg[X] addr-exposed "field V03._tag (fldOffset=0x8)" P-DEP
 ;  V10 tmp6         [V10    ] (  2,  4   )  ushort  ->  [rsp+0x32]  do-not-enreg[X] addr-exposed "field V03._size (fldOffset=0xa)" P-DEP
 ;  V11 tmp7         [V11,T03] (  4, 17   )     ref  ->  rdi         single-def "V02.[000..008)"
 ;  V12 tmp8         [V12,T01] (  6, 21   )     int  ->  rbp         "V02.[008..012)"
-;  V13 tmp9         [V13,T08] (  2,  9   )     int  ->  rsi         "V02.[012..016)"
-;  V14 tmp10        [V14,T05] (  2,  6   )     ref  ->  rdx         "V02.[016..024)"
-;  V15 tmp11        [V15,T06] (  2,  6   )  ushort  ->  rax         "V02.[024..026)"
-;  V16 tmp12        [V16,T07] (  2,  6   )  ushort  ->  rcx         "V02.[026..028)"
+;  V13 tmp9         [V13,T09] (  2,  9   )     int  ->  rsi         "V02.[012..016)"
+;  V14 tmp10        [V14,T06] (  2,  6   )     ref  ->  rdx         "V02.[016..024)"
+;  V15 tmp11        [V15,T07] (  2,  6   )  ushort  ->  rax         "V02.[024..026)"
+;  V16 tmp12        [V16,T08] (  2,  6   )  ushort  ->  rcx         "V02.[026..028)"
 ;* V17 tmp13        [V17    ] (  0,  0   )     ref  ->  zero-ref    single-def "V05.[000..008)"
 ;* V18 tmp14        [V18    ] (  0,  0   )     int  ->  zero-ref    "V05.[008..012)"
-;  V19 tmp15        [V19,T12] (  2,  2   )     int  ->  rsi         "V05.[012..016)"
+;  V19 tmp15        [V19,T13] (  2,  2   )     int  ->  rsi         "V05.[012..016)"
 ;* V20 tmp16        [V20    ] (  0,  0   )     ref  ->  zero-ref    single-def "V05.[016..024)"
 ;* V21 tmp17        [V21    ] (  0,  0   )  ushort  ->  zero-ref    "V05.[024..026)"
 ;* V22 tmp18        [V22    ] (  0,  0   )  ushort  ->  zero-ref    "V05.[026..028)"
 ;  V23 tmp19        [V23,T00] (  4, 32   )   byref  ->  rcx         "Spilling address for field-by-field copy"
 ;  V24 tmp20        [V24,T02] (  3, 24   )     ref  ->  rcx         "arr expr"
-;  V25 cse0         [V25,T04] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V25 cse0         [V25,T05] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V26 cse1         [V26,T04] (  2, 16   )     int  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 56
 
@@ -68,9 +69,10 @@ G_M41630_IG03:        ; bbWeight=2, gcrefRegs=008C {rdx rbx rdi}, byrefRegs=0000
        ; gcr arg pop 0
                        ;; size=29 bbWeight=2 PerfScore 13.50
 G_M41630_IG04:        ; bbWeight=8, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
-       cmp      esi, dword ptr [rdi+0x14]
+       mov      ecx, dword ptr [rdi+0x14]
+       cmp      esi, ecx
        jne      SHORT G_M41630_IG08
-                      ;; size=5 bbWeight=8 PerfScore 32.00
+                      ;; size=7 bbWeight=8 PerfScore 26.00
 G_M41630_IG05:        ; bbWeight=4, gcrefRegs=0088 {rbx rdi}, byrefRegs=0000 {}, byref, isz
        mov      ecx, dword ptr [rdi+0x10]
        cmp      ebp, ecx
@@ -111,7 +113,7 @@ G_M41630_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 125, prolog size 15, PerfScore 145.75, instruction count 43, allocated bytes for code 125 (MethodHash=bf4e5d61) for method System.IO.Compression.ZipGenericExtraField:WriteAllBlocks(System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField],System.IO.Stream) (FullOpts)
+; Total bytes of code 127, prolog size 15, PerfScore 139.75, instruction count 44, allocated bytes for code 127 (MethodHash=bf4e5d61) for method System.IO.Compression.ZipGenericExtraField:WriteAllBlocks(System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField],System.IO.Stream) (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+40 (+3.38%) : 236139.dasm - System.Tests.DecimalTests+BigIntegerCompare:Test() (FullOpts)
@@ -53,7 +53,7 @@
 ;* V42 tmp33        [V42    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[uint]>
 ;* V43 tmp34        [V43    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <uint[]>
 ;  V44 tmp35        [V44    ] (  6,128.00)  struct (16) [rsp+0x58]  do-not-enreg[XS] addr-exposed ld-addr-op "Inlining Arg" <System.Decimal>
-;  V45 tmp36        [V45,T17] (  8, 24   )     int  ->  r15         "Inline return value spill temp"
+;  V45 tmp36        [V45,T17] (  8, 24   )     int  ->  r13         "Inline return value spill temp"
 ;  V46 tmp37        [V46,T03] (  2, 64   )    long  ->  rcx         "impAppendStmt"
 ;  V47 tmp38        [V47,T13] (  2, 32.00)    long  ->  rcx         "impAppendStmt"
 ;  V48 tmp39        [V48,T32] (  3, 16.00)     int  ->  r15         "Inline stloc first use temp"
@@ -80,10 +80,10 @@
 ;* V69 tmp60        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
 ;  V70 tmp61        [V70    ] (  3, 48   )     ref  ->  [rsp+0x88]  do-not-enreg[X] addr-exposed "field V24._bits (fldOffset=0x0)" P-DEP
 ;  V71 tmp62        [V71    ] (  3, 48   )     int  ->  [rsp+0x90]  do-not-enreg[X] addr-exposed "field V24._sign (fldOffset=0x8)" P-DEP
-;  V72 tmp63        [V72,T24] (  3, 16   )   byref  ->  rdx         "field V26._reference (fldOffset=0x0)" P-INDEP
-;  V73 tmp64        [V73,T28] (  3, 16   )     int  ->   r9         "field V26._length (fldOffset=0x8)" P-INDEP
-;  V74 tmp65        [V74,T25] (  3, 16   )   byref  ->  rcx         "field V29._reference (fldOffset=0x0)" P-INDEP
-;  V75 tmp66        [V75,T29] (  3, 16   )     int  ->  rax         "field V29._length (fldOffset=0x8)" P-INDEP
+;  V72 tmp63        [V72,T24] (  3, 20.33)   byref  ->  rdx         "field V26._reference (fldOffset=0x0)" P-INDEP
+;  V73 tmp64        [V73,T26] (  3, 20.33)     int  ->   r9         "field V26._length (fldOffset=0x8)" P-INDEP
+;  V74 tmp65        [V74,T28] (  3, 16   )   byref  ->  rcx         "field V29._reference (fldOffset=0x0)" P-INDEP
+;  V75 tmp66        [V75,T30] (  3, 16   )     int  ->  rax         "field V29._length (fldOffset=0x8)" P-INDEP
 ;  V76 tmp67        [V76    ] (  3, 24   )     ref  ->  [rsp+0x78]  do-not-enreg[X] addr-exposed "field V31._bits (fldOffset=0x0)" P-DEP
 ;  V77 tmp68        [V77    ] (  3, 24   )     int  ->  [rsp+0x80]  do-not-enreg[X] addr-exposed "field V31._sign (fldOffset=0x8)" P-DEP
 ;  V78 tmp69        [V78,T16] (  4, 24.67)     ref  ->  r14         "field V32._bits (fldOffset=0x0)" P-INDEP
@@ -96,9 +96,9 @@
 ;* V85 tmp76        [V85    ] (  0,  0   )     int  ->  zero-ref    "field V35._length (fldOffset=0x8)" P-INDEP
 ;  V86 tmp77        [V86    ] (  3, 48   )     ref  ->  [rsp+0x68]  do-not-enreg[X] addr-exposed "field V37._bits (fldOffset=0x0)" P-DEP
 ;  V87 tmp78        [V87    ] (  3, 48   )     int  ->  [rsp+0x70]  do-not-enreg[X] addr-exposed "field V37._sign (fldOffset=0x8)" P-DEP
-;  V88 tmp79        [V88,T26] (  3, 16   )   byref  ->  rdx         "field V39._reference (fldOffset=0x0)" P-INDEP
-;  V89 tmp80        [V89,T30] (  3, 16   )     int  ->   r9         "field V39._length (fldOffset=0x8)" P-INDEP
-;  V90 tmp81        [V90,T27] (  3, 16   )   byref  ->  rcx         "field V42._reference (fldOffset=0x0)" P-INDEP
+;  V88 tmp79        [V88,T25] (  3, 20.33)   byref  ->  rdx         "field V39._reference (fldOffset=0x0)" P-INDEP
+;  V89 tmp80        [V89,T27] (  3, 20.33)     int  ->   r9         "field V39._length (fldOffset=0x8)" P-INDEP
+;  V90 tmp81        [V90,T29] (  3, 16   )   byref  ->  rcx         "field V42._reference (fldOffset=0x0)" P-INDEP
 ;  V91 tmp82        [V91,T31] (  3, 16   )     int  ->  rax         "field V42._length (fldOffset=0x8)" P-INDEP
 ;  V92 tmp83        [V92    ] (  4, 56.00)     int  ->  [rsp+0x58]  do-not-enreg[X] addr-exposed "field V44._flags (fldOffset=0x0)" P-DEP
 ;  V93 tmp84        [V93    ] (  3, 64.00)     int  ->  [rsp+0x5C]  do-not-enreg[X] addr-exposed "field V44._hi32 (fldOffset=0x4)" P-DEP
@@ -151,7 +151,7 @@ G_M48799_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        xor      esi, esi
        mov      edi, dword ptr [rbx+0x08]
        test     edi, edi
-       jle      G_M48799_IG37
+       jle      G_M48799_IG43
                      ;; size=32 bbWeight=1 PerfScore 7.50
 G_M48799_IG03:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rax]
@@ -162,7 +162,7 @@ G_M48799_IG03:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      rdx, gword ptr [rsp+0x108]
        ; gcrRegs +[rdx]
        cmp      esi, dword ptr [rdx+0x08]
-       jae      G_M48799_IG41
+       jae      G_M48799_IG44
        mov      rdx, gword ptr [rsp+0x108]
        mov      ecx, esi
        lea      rcx, [rcx+2*rcx]
@@ -186,7 +186,7 @@ G_M48799_IG06:        ; bbWeight=16, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, by
        mov      rcx, gword ptr [rsp+0x108]
        ; gcrRegs +[rcx]
        cmp      ebp, dword ptr [rcx+0x08]
-       jae      G_M48799_IG41
+       jae      G_M48799_IG44
        mov      rcx, gword ptr [rsp+0x108]
        lea      rdx, [rdx+2*rdx]
        lea      rdx, bword ptr [rcx+8*rdx+0x10]
@@ -206,7 +206,7 @@ G_M48799_IG08:        ; bbWeight=16, extend
        movzx    rax, byte  ptr [rsp+0xE0]
        sub      eax, ecx
        test     eax, eax
-       jle      G_M48799_IG20
+       jle      G_M48799_IG23
                      ;; size=31 bbWeight=16 PerfScore 61.33
 G_M48799_IG09:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; byrRegs -[rdx]
@@ -217,7 +217,7 @@ G_M48799_IG09:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      rdx, gword ptr [rdx]
        ; gcrRegs +[rdx]
        cmp      eax, 60
-       jae      G_M48799_IG41
+       jae      G_M48799_IG44
        mov      ecx, eax
        shl      rcx, 4
        lea      rdx, bword ptr [rdx+rcx+0x10]
@@ -227,7 +227,7 @@ G_M48799_IG09:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcrRegs +[r15]
        mov      r13d, dword ptr [rdx+0x08]
        test     r14, r14
-       jne      SHORT G_M48799_IG13
+       jne      SHORT G_M48799_IG15
        test     r15, r15
        jne      SHORT G_M48799_IG12
        vxorps   xmm0, xmm0, xmm0
@@ -245,43 +245,62 @@ G_M48799_IG10:        ; bbWeight=8, nogc, extend
        vmovdqu  xmm0, xmmword ptr [rsp+0x88]
        vmovdqu  xmmword ptr [rsp+0x98], xmm0
                        ;; size=18 bbWeight=8 PerfScore 32.00
-G_M48799_IG11:        ; bbWeight=8, isz, extend
-       jmp      SHORT G_M48799_IG18
-                       ;; size=2 bbWeight=8 PerfScore 16.00
-G_M48799_IG12:        ; bbWeight=3.67, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
+G_M48799_IG11:        ; bbWeight=8, extend
+       jmp      G_M48799_IG21
+                       ;; size=5 bbWeight=8 PerfScore 16.00
+G_M48799_IG12:        ; bbWeight=8.00, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
        ; gcrRegs +[r15]
        xor      rdx, rdx
        ; byrRegs +[rdx]
        xor      r9d, r9d
-       jmp      SHORT G_M48799_IG14
-                       ;; size=7 bbWeight=3.67 PerfScore 9.17
-G_M48799_IG13:        ; bbWeight=4.33, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
-       ; gcrRegs +[r14]
-       ; byrRegs -[rdx]
-       lea      rdx, bword ptr [r14+0x10]
-       ; byrRegs +[rdx]
-       mov      r9d, dword ptr [r14+0x08]
-                       ;; size=8 bbWeight=4.33 PerfScore 10.83
-G_M48799_IG14:        ; bbWeight=8.00, gcrefRegs=8008 {rbx r15}, byrefRegs=0004 {rdx}, byref, isz
-       ; gcrRegs -[r14]
+                      ;; size=5 bbWeight=8.00 PerfScore 4.00
+G_M48799_IG13:        ; bbWeight=8.00, gcrefRegs=8008 {rbx r15}, byrefRegs=0004 {rdx}, byref, isz
        test     r15, r15
-       jne      SHORT G_M48799_IG16
+       jne      SHORT G_M48799_IG19
                         ;; size=5 bbWeight=8.00 PerfScore 10.00
-G_M48799_IG15:        ; bbWeight=3.67, gcrefRegs=0008 {rbx}, byrefRegs=0004 {rdx}, byref, isz
+G_M48799_IG14:        ; bbWeight=3.67, gcrefRegs=0008 {rbx}, byrefRegs=0004 {rdx}, byref, isz
        ; gcrRegs -[r15]
        xor      rcx, rcx
        ; byrRegs +[rcx]
        xor      eax, eax
-       jmp      SHORT G_M48799_IG17
+       jmp      SHORT G_M48799_IG20
                      ;; size=6 bbWeight=3.67 PerfScore 9.17
-G_M48799_IG16:        ; bbWeight=4.33, gcrefRegs=8008 {rbx r15}, byrefRegs=0004 {rdx}, byref
+G_M48799_IG15:        ; bbWeight=4.33, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref, isz
+       ; gcrRegs +[r14-r15]
+       ; byrRegs -[rcx rdx]
+       lea      rdx, bword ptr [r14+0x10]
+       ; byrRegs +[rdx]
+       mov      r9d, dword ptr [r14+0x08]
+       jmp      SHORT G_M48799_IG13
+                       ;; size=10 bbWeight=4.33 PerfScore 19.50
+G_M48799_IG16:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       ; gcrRegs -[r14-r15]
+       ; byrRegs -[rdx]
+       lea      rcx, [rsp+0xE8]
+       lea      rdx, [rsp+0xC0]
+       call     [<unknown method>]
+       ; gcr arg pop 0
+       mov      r14d, eax
+                       ;; size=25 bbWeight=8 PerfScore 34.00
+G_M48799_IG17:        ; bbWeight=16, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       vmovups  xmm0, xmmword ptr [rsp+0xD0]
+       vmovups  xmmword ptr [rsp+0x58], xmm0
+       mov      rcx, qword ptr [rsp+0x60]
+       mov      edx, dword ptr [rsp+0x5C]
+       or       rcx, rdx
+       jne      G_M48799_IG41
+                       ;; size=33 bbWeight=16 PerfScore 116.00
+G_M48799_IG18:        ; bbWeight=0.00, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
+       jmp      G_M48799_IG38
+                       ;; size=5 bbWeight=0.00 PerfScore 0.00
+G_M48799_IG19:        ; bbWeight=4.33, gcrefRegs=8008 {rbx r15}, byrefRegs=0004 {rdx}, byref
        ; gcrRegs +[r15]
-       ; byrRegs -[rcx]
+       ; byrRegs +[rdx]
        lea      rcx, bword ptr [r15+0x10]
        ; byrRegs +[rcx]
        mov      eax, dword ptr [r15+0x08]
                        ;; size=8 bbWeight=4.33 PerfScore 10.83
-G_M48799_IG17:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0006 {rcx rdx}, byref
+G_M48799_IG20:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0006 {rcx rdx}, byref
        ; gcrRegs -[r15]
        mov      bword ptr [rsp+0x48], rdx
        mov      dword ptr [rsp+0x50], r9d
@@ -296,21 +315,21 @@ G_M48799_IG17:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0006 {rcx rd
        call     [<unknown method>]
        ; gcr arg pop 0
                        ;; size=48 bbWeight=8 PerfScore 76.00
-G_M48799_IG18:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, nogc
+G_M48799_IG21:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, nogc
        vmovdqu  xmm0, xmmword ptr [rsp+0x98]
        vmovdqu  xmmword ptr [rsp+0x28], xmm0
                        ;; size=15 bbWeight=8 PerfScore 32.00
-G_M48799_IG19:        ; bbWeight=8, extend
+G_M48799_IG22:        ; bbWeight=8, extend
        lea      rdx, [rsp+0x28]
        lea      rcx, [rsp+0xE8]
        call     [<unknown method>]
        ; gcr arg pop 0
        mov      r14d, eax
-       jmp      G_M48799_IG32
+       jmp      G_M48799_IG17
                         ;; size=27 bbWeight=8 PerfScore 50.00
-G_M48799_IG20:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M48799_IG23:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        test     eax, eax
-       jge      G_M48799_IG31
+       jge      G_M48799_IG16
        mov      r14, gword ptr [rsp+0xE8]
        ; gcrRegs +[r14]
        mov      r8d, dword ptr [rsp+0xF0]
@@ -320,7 +339,7 @@ G_M48799_IG20:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      ecx, eax
        neg      ecx
        cmp      ecx, 60
-       jae      G_M48799_IG41
+       jae      G_M48799_IG44
        mov      ecx, eax
        neg      ecx
        shl      rcx, 4
@@ -331,9 +350,9 @@ G_M48799_IG20:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcrRegs +[r15]
        mov      r13d, dword ptr [rdx+0x08]
        test     r14, r14
-       jne      SHORT G_M48799_IG24
+       jne      SHORT G_M48799_IG29
        test     r15, r15
-       jne      SHORT G_M48799_IG23
+       jne      SHORT G_M48799_IG26
        vxorps   xmm0, xmm0, xmm0
        vmovdqu  xmmword ptr [rsp+0x68], xmm0
        movsxd   rdx, r8d
@@ -345,47 +364,67 @@ G_M48799_IG20:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcrRegs -[r14-r15]
        ; gcr arg pop 0
                        ;; size=111 bbWeight=8 PerfScore 184.67
-G_M48799_IG21:        ; bbWeight=8, nogc, extend
+G_M48799_IG24:        ; bbWeight=8, nogc, extend
        vmovdqu  xmm0, xmmword ptr [rsp+0x68]
        vmovdqu  xmmword ptr [rsp+0x78], xmm0
                        ;; size=12 bbWeight=8 PerfScore 32.00
-G_M48799_IG22:        ; bbWeight=8, isz, extend
-       jmp      SHORT G_M48799_IG29
-                       ;; size=2 bbWeight=8 PerfScore 16.00
-G_M48799_IG23:        ; bbWeight=3.67, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref, isz
+G_M48799_IG25:        ; bbWeight=8, extend
+       jmp      G_M48799_IG36
+                       ;; size=5 bbWeight=8 PerfScore 16.00
+G_M48799_IG26:        ; bbWeight=8.00, gcrefRegs=8008 {rbx r15}, byrefRegs=0000 {}, byref
        ; gcrRegs +[r15]
        xor      rdx, rdx
        ; byrRegs +[rdx]
        xor      r9d, r9d
-       jmp      SHORT G_M48799_IG25
-                       ;; size=7 bbWeight=3.67 PerfScore 9.17
-G_M48799_IG24:        ; bbWeight=4.33, gcrefRegs=C008 {rbx r14 r15}, byrefRegs=0000 {}, byref
-       ; gcrRegs +[r14]
-       ; byrRegs -[rdx]
-       lea      rdx, bword ptr [r14+0x10]
...
  
+24 (+3.52%) : 249268.dasm - System.Security.Cryptography.XmlKeyHelper:WriteCryptoBinary(System.String,System.ReadOnlySpan`1[ubyte],System.Text.StringBuilder) (FullOpts)
@@ -125,7 +125,7 @@ G_M40104_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0004 {rd
        ; gcrRegs +[rdx]
        ; byrRegs -[rdx]
        cmp      dword ptr [rdx+0x08], ecx
-       jbe      G_M40104_IG17
+       jbe      G_M40104_IG29
                         ;; size=23 bbWeight=1 PerfScore 12.00
 G_M40104_IG03:        ; bbWeight=0.46, gcrefRegs=004C {rdx rbx rsi}, byrefRegs=0080 {rdi}, byref
        mov      ecx, ecx
@@ -152,7 +152,7 @@ G_M40104_IG06:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rd
        mov      rdx, gword ptr [rbx+0x08]
        ; gcrRegs +[rdx]
        cmp      dword ptr [rdx+0x08], ecx
-       jbe      G_M40104_IG21
+       jbe      G_M40104_IG30
                         ;; size=16 bbWeight=1 PerfScore 8.00
 G_M40104_IG07:        ; bbWeight=0.46, gcrefRegs=004C {rdx rbx rsi}, byrefRegs=0080 {rdi}, byref
        mov      ecx, ecx
@@ -167,12 +167,12 @@ G_M40104_IG08:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rd
        sub      rsp, 512
        lea      r12, [rsp+0x20]
        test     r14d, r14d
-       jle      G_M40104_IG22
+       jle      G_M40104_IG16
                        ;; size=30 bbWeight=1 PerfScore 5.50
 G_M40104_IG09:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref
        ; byrRegs +[r12]
        cmp      r13d, 192
-       jl       G_M40104_IG16
+       jl       G_M40104_IG28
                         ;; size=13 bbWeight=4 PerfScore 5.00
 G_M40104_IG10:        ; bbWeight=1.42, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref
        mov      eax, 192
@@ -183,7 +183,7 @@ G_M40104_IG11:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rd
        add      rcx, r8
        mov      edx, r14d
        cmp      rcx, rdx
-       ja       G_M40104_IG37
+       ja       G_M40104_IG35
        add      r8, rdi
        ; byrRegs +[r8]
        mov      bword ptr [rbp+0x10], r8
@@ -203,7 +203,7 @@ G_M40104_IG12:        ; bbWeight=2, gcVars=0000000000000020 {V24}, gcrefRegs=004
        call     [<unknown method>]
        ; gcrRegs -[rcx rdx r10]
                        ;; size=22 bbWeight=2 PerfScore 7.50
-G_M40104_IG13:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref, isz
+G_M40104_IG13:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref
        mov      r8, bword ptr [rbp+0x10]
        ; byrRegs +[r8]
        mov      eax, dword ptr [rbp+0x3C]
@@ -220,15 +220,15 @@ G_M40104_IG13:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rd
        ; GC ptr vars -{V24}
        call     [<unknown method>]
        test     eax, eax
-       je       G_M40104_IG36
+       je       G_M40104_IG34
        mov      eax, dword ptr [rbp+0x40]
        mov      dword ptr [rbp+0x38], eax
        cmp      eax, 256
-       ja       G_M40104_IG37
+       ja       G_M40104_IG35
        test     eax, eax
-       jge      SHORT G_M40104_IG15
-                       ;; size=77 bbWeight=4 PerfScore 67.00
-G_M40104_IG14:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref, isz
+       jge      G_M40104_IG27
+                       ;; size=81 bbWeight=4 PerfScore 67.00
+G_M40104_IG14:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref
        mov      r10, 0xD1FFAB1E
        ; gcrRegs +[r10]
        mov      r8, r10
@@ -241,39 +241,16 @@ G_M40104_IG14:        ; bbWeight=2, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rd
        ; gcrRegs +[rdx]
        call     [<unknown method>]
        ; gcrRegs -[rcx rdx r8 r10]
-       jmp      SHORT G_M40104_IG18
-                       ;; size=31 bbWeight=2 PerfScore 14.00
-G_M40104_IG15:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, gcvars, byref, isz
-       ; GC ptr vars -{V79}
-       mov      eax, dword ptr [rbp+0x38]
-       jmp      SHORT G_M40104_IG19
-                       ;; size=5 bbWeight=2 PerfScore 6.00
-G_M40104_IG16:        ; bbWeight=0.58, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref
-       mov      eax, r13d
-       jmp      G_M40104_IG11
-                       ;; size=8 bbWeight=0.58 PerfScore 1.30
-G_M40104_IG17:        ; bbWeight=0.04, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rdi}, byref
-       ; byrRegs -[r12]
-       mov      rcx, rbx
-       ; gcrRegs +[rcx]
-       mov      edx, 60
-       call     [<unknown method>]
-       ; gcrRegs -[rcx]
-       jmp      G_M40104_IG04
-                       ;; size=19 bbWeight=0.04 PerfScore 0.21
-G_M40104_IG18:        ; bbWeight=2, gcVars=0000000000000010 {V79}, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, gcvars, byref
-       ; byrRegs +[r12]
-       ; GC ptr vars +{V04 V79}
        mov      rcx, gword ptr [rbp+0x08]
        ; gcrRegs +[rcx]
        mov      rdx, rcx
        ; gcrRegs +[rdx]
-       ; GC ptr vars -{V04 V79}
+       ; GC ptr vars -{V79}
        call     [<unknown method>]
        ; gcrRegs -[rcx rdx]
        mov      eax, dword ptr [rbp+0x38]
-                        ;; size=16 bbWeight=2 PerfScore 10.50
-G_M40104_IG19:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref
+                        ;; size=45 bbWeight=2 PerfScore 20.50
+G_M40104_IG15:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref
        mov      rcx, rbx
        ; gcrRegs +[rcx]
        mov      rdx, r12
@@ -288,51 +265,38 @@ G_M40104_IG19:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rd
        test     r13d, r13d
        jg       G_M40104_IG09
                        ;; size=33 bbWeight=4 PerfScore 26.00
-G_M40104_IG20:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG16:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
        ; byrRegs -[rdi r12]
-       jmp      SHORT G_M40104_IG22
-                       ;; size=2 bbWeight=1 PerfScore 2.00
-G_M40104_IG21:        ; bbWeight=0.04, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rdi}, byref
-       ; byrRegs +[rdi]
-       mov      rcx, rbx
-       ; gcrRegs +[rcx]
-       mov      edx, 62
-       call     [<unknown method>]
-       ; gcrRegs -[rcx]
-       jmp      G_M40104_IG08
-                       ;; size=19 bbWeight=0.04 PerfScore 0.21
-G_M40104_IG22:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
-       ; byrRegs -[rdi]
        mov      ecx, dword ptr [rbx+0x18]
        mov      rdx, gword ptr [rbx+0x08]
        ; gcrRegs +[rdx]
        cmp      dword ptr [rdx+0x08], ecx
-       jbe      SHORT G_M40104_IG33
-                       ;; size=12 bbWeight=1 PerfScore 8.00
-G_M40104_IG23:        ; bbWeight=0.46, gcrefRegs=004C {rdx rbx rsi}, byrefRegs=0000 {}, byref
+       jbe      G_M40104_IG31
+                       ;; size=16 bbWeight=1 PerfScore 8.00
+G_M40104_IG17:        ; bbWeight=0.46, gcrefRegs=004C {rdx rbx rsi}, byrefRegs=0000 {}, byref
        mov      ecx, ecx
        mov      word  ptr [rdx+2*rcx+0x10], 60
        inc      dword ptr [rbx+0x18]
                        ;; size=12 bbWeight=0.46 PerfScore 1.96
-G_M40104_IG24:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG18:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rdx]
        mov      ecx, dword ptr [rbx+0x18]
        mov      rdx, gword ptr [rbx+0x08]
        ; gcrRegs +[rdx]
        cmp      dword ptr [rdx+0x08], ecx
-       jbe      SHORT G_M40104_IG34
-                       ;; size=12 bbWeight=1 PerfScore 8.00
-G_M40104_IG25:        ; bbWeight=0.46, gcrefRegs=004C {rdx rbx rsi}, byrefRegs=0000 {}, byref
+       jbe      G_M40104_IG32
+                       ;; size=16 bbWeight=1 PerfScore 8.00
+G_M40104_IG19:        ; bbWeight=0.46, gcrefRegs=004C {rdx rbx rsi}, byrefRegs=0000 {}, byref
        mov      ecx, ecx
        mov      word  ptr [rdx+2*rcx+0x10], 47
        inc      dword ptr [rbx+0x18]
                        ;; size=12 bbWeight=0.46 PerfScore 1.96
-G_M40104_IG26:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG20:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdx]
        test     rsi, rsi
-       je       SHORT G_M40104_IG28
+       je       SHORT G_M40104_IG22
                      ;; size=5 bbWeight=1 PerfScore 1.25
-G_M40104_IG27:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
+G_M40104_IG21:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
        mov      r8d, dword ptr [rsi+0x08]
        lea      rdx, bword ptr [rsi+0x0C]
        ; byrRegs +[rdx]
@@ -342,29 +306,29 @@ G_M40104_IG27:        ; bbWeight=0.50, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000
        ; gcrRegs -[rcx rsi]
        ; byrRegs -[rdx]
                        ;; size=17 bbWeight=0.50 PerfScore 2.89
-G_M40104_IG28:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG22:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        mov      ecx, dword ptr [rbx+0x18]
        mov      rdx, gword ptr [rbx+0x08]
        ; gcrRegs +[rdx]
        cmp      dword ptr [rdx+0x08], ecx
-       jbe      SHORT G_M40104_IG35
-                       ;; size=12 bbWeight=1 PerfScore 8.00
-G_M40104_IG29:        ; bbWeight=0.46, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref
+       jbe      G_M40104_IG33
+                       ;; size=16 bbWeight=1 PerfScore 8.00
+G_M40104_IG23:        ; bbWeight=0.46, gcrefRegs=000C {rdx rbx}, byrefRegs=0000 {}, byref
        mov      ecx, ecx
        mov      word  ptr [rdx+2*rcx+0x10], 62
        inc      dword ptr [rbx+0x18]
                        ;; size=12 bbWeight=0.46 PerfScore 1.96
-G_M40104_IG30:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M40104_IG24:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rdx rbx]
        mov      rcx, 0xD1FFAB1E
        cmp      qword ptr [rbp], rcx
-       je       SHORT G_M40104_IG31
+       je       SHORT G_M40104_IG25
        call     CORINFO_HELP_FAIL_FAST
                        ;; size=21 bbWeight=1 PerfScore 4.25
-G_M40104_IG31:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M40104_IG25:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
-G_M40104_IG32:        ; bbWeight=1, epilog, nogc, extend
+G_M40104_IG26:        ; bbWeight=1, epilog, nogc, extend
        lea      rsp, [rbp+0x48]
        pop      rbx
        pop      rsi
@@ -376,33 +340,60 @@ G_M40104_IG32:        ; bbWeight=1, epilog, nogc, extend
        pop      rbp
        ret      
                        ;; size=17 bbWeight=1 PerfScore 5.50
-G_M40104_IG33:        ; bbWeight=0.04, gcVars=0000000000000000 {}, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M40104_IG27:        ; bbWeight=2, gcVars=0000000000000000 {}, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, gcvars, byref
        ; gcrRegs +[rbx rsi]
+       ; byrRegs +[rdi r12]
+       mov      eax, dword ptr [rbp+0x38]
+       jmp      G_M40104_IG15
+                       ;; size=8 bbWeight=2 PerfScore 6.00
+G_M40104_IG28:        ; bbWeight=0.58, gcrefRegs=0048 {rbx rsi}, byrefRegs=1080 {rdi r12}, byref
+       mov      eax, r13d
+       jmp      G_M40104_IG11
+                       ;; size=8 bbWeight=0.58 PerfScore 1.30
+G_M40104_IG29:        ; bbWeight=0.04, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rdi}, byref
+       ; byrRegs -[r12]
        mov      rcx, rbx
        ; gcrRegs +[rcx]
        mov      edx, 60
        call     [<unknown method>]
        ; gcrRegs -[rcx]
-       jmp      SHORT G_M40104_IG24
-                       ;; size=16 bbWeight=0.04 PerfScore 0.21
-G_M40104_IG34:        ; bbWeight=0.04, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
+       jmp      G_M40104_IG04
+                       ;; size=19 bbWeight=0.04 PerfScore 0.21
+G_M40104_IG30:        ; bbWeight=0.04, gcrefRegs=0048 {rbx rsi}, byrefRegs=0080 {rdi}, byref
+       mov      rcx, rbx
+       ; gcrRegs +[rcx]
+       mov      edx, 62
+       call     [<unknown method>]
+       ; gcrRegs -[rcx]
+       jmp      G_M40104_IG08
...
  
  
realworld.run.windows.x64.checked.mch
-12 (-3.76%) : 19374.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
@@ -10,72 +10,72 @@
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Net.Http.Headers.HeaderDescriptor>
 ;  V01 arg1         [V01,T03] (  8, 13.50)     ref  ->  rbx         class-hnd single-def <System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo>
-;  V02 loc0         [V02,T16] (  3,  0.50)     ref  ->  [rbp-0x40]  class-hnd exact EH-live spill-single-def <System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo>
-;  V03 loc1         [V03    ] (  6,  5   )   ubyte  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed ld-addr-op
-;  V04 loc2         [V04,T12] (  3,  1.50)     ref  ->  rax         class-hnd single-def <<unknown class>>
+;  V02 loc0         [V02,T17] (  3,  0.50)     ref  ->  [rbp-0x38]  class-hnd exact EH-live spill-single-def <System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo>
+;  V03 loc1         [V03    ] (  6,  5   )   ubyte  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed ld-addr-op
+;  V04 loc2         [V04,T13] (  3,  1.50)     ref  ->  rax         class-hnd single-def <<unknown class>>
 ;* V05 loc3         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
-;  V07 loc5         [V07,T10] (  5,  2.50)     ref  ->   r8         class-hnd exact <System.String>
+;  V07 loc5         [V07,T11] (  5,  2.50)     ref  ->   r8         class-hnd exact <System.String>
 ;  V08 OutArgs      [V08    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V09 tmp1         [V09,T11] (  2,  2   )     ref  ->   r8         single-def "CASTCLASS eval op1"
+;  V09 tmp1         [V09,T12] (  2,  2   )     ref  ->   r8         single-def "CASTCLASS eval op1"
 ;* V10 tmp2         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling QMark2" <System.String>
 ;* V11 tmp3         [V11    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
-;* V12 tmp4         [V12,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V12 tmp4         [V12,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V13 tmp5         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V14 tmp6         [V14,T08] (  3,  5.50)     ref  ->  rsi         single-def "field V00._descriptor (fldOffset=0x0)" P-INDEP
 ;  V15 tmp7         [V15,T02] (  4, 12.50)     ref  ->  rdi         single-def "field V05._list (fldOffset=0x0)" P-INDEP
 ;  V16 tmp8         [V16,T04] (  2,  8   )     ref  ->   r8         "field V05._current (fldOffset=0x8)" P-INDEP
 ;  V17 tmp9         [V17,T00] (  6, 20.50)     int  ->  r15         "field V05._index (fldOffset=0x10)" P-INDEP
-;  V18 tmp10        [V18,T06] (  3,  8.50)     int  ->  r14         "field V05._version (fldOffset=0x14)" P-INDEP
-;  V19 tmp11        [V19,T13] (  3,  1.50)     ref  ->  rdi         single-def "field V11._list (fldOffset=0x0)" P-INDEP
+;  V18 tmp10        [V18,T09] (  2,  4.50)     int  ->  r14         "field V05._version (fldOffset=0x14)" P-INDEP
+;  V19 tmp11        [V19,T14] (  3,  1.50)     ref  ->  rdi         single-def "field V11._list (fldOffset=0x0)" P-INDEP
 ;* V20 tmp12        [V20    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V11._current (fldOffset=0x8)" P-INDEP
-;* V21 tmp13        [V21,T17] (  0,  0   )     int  ->  zero-ref    "field V11._index (fldOffset=0x10)" P-INDEP
-;  V22 tmp14        [V22,T14] (  2,  1   )     int  ->  r14         "field V11._version (fldOffset=0x14)" P-INDEP
+;* V21 tmp13        [V21,T18] (  0,  0   )     int  ->  zero-ref    "field V11._index (fldOffset=0x10)" P-INDEP
+;  V22 tmp14        [V22,T15] (  2,  1   )     int  ->  r14         "field V11._version (fldOffset=0x14)" P-INDEP
 ;  V23 tmp15        [V23,T01] (  3, 24   )     ref  ->  rcx         "arr expr"
-;  V24 PSPSym       [V24,T15] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
-;  V25 cse0         [V25,T05] (  3, 12   )     int  ->  r13         "CSE - aggressive"
-;  V26 cse1         [V26,T09] (  4,  3   )     ref  ->  rdi         "CSE - aggressive"
+;  V24 PSPSym       [V24,T16] (  1,  1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
+;  V25 cse0         [V25,T07] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V26 cse1         [V26,T05] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V27 cse2         [V27,T10] (  4,  3   )     ref  ->  rdi         "CSE - aggressive"
 ;
-; Lcl frame size = 64
+; Lcl frame size = 56
 
 G_M53769_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 64
-       lea      rbp, [rsp+0x70]
-       mov      qword ptr [rbp-0x50], rsp
+       sub      rsp, 56
+       lea      rbp, [rsp+0x60]
+       mov      qword ptr [rbp-0x40], rsp
        mov      rsi, rcx
        ; gcrRegs +[rsi]
        mov      rbx, rdx
        ; gcrRegs +[rbx]
-                      ;; size=29 bbWeight=1 PerfScore 9.25
+                      ;; size=27 bbWeight=1 PerfScore 8.25
 G_M53769_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref
-       mov      gword ptr [rbp-0x40], rbx
+       mov      gword ptr [rbp-0x38], rbx
        ; GC ptr vars +{V02}
        xor      edx, edx
-       mov      dword ptr [rbp-0x38], edx
+       mov      dword ptr [rbp-0x30], edx
                      ;; size=9 bbWeight=1 PerfScore 2.25
-G_M53769_IG03:        ; bbWeight=1, gcVars=0000000000010000 {V02}, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, gcvars, byref, isz
-       cmp      byte  ptr [rbp-0x38], 0
+G_M53769_IG03:        ; bbWeight=1, gcVars=0000000000020000 {V02}, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, gcvars, byref, isz
+       cmp      byte  ptr [rbp-0x30], 0
        jne      SHORT G_M53769_IG06
-       lea      rdx, [rbp-0x38]
+       lea      rdx, [rbp-0x30]
        mov      rcx, rbx
        ; gcrRegs +[rcx]
        call     <unknown method>
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       movzx    rcx, byte  ptr [rbp-0x38]
+       movzx    rcx, byte  ptr [rbp-0x30]
        call     [<unknown method>]
        ; gcr arg pop 0
        mov      rdi, gword ptr [rbx+0x08]
        ; gcrRegs +[rdi]
        test     rdi, rdi
-       je       G_M53769_IG12
+       je       G_M53769_IG11
                      ;; size=41 bbWeight=1 PerfScore 12.00
 G_M53769_IG04:        ; bbWeight=0.50, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
        mov      rdx, rdi
@@ -85,22 +85,23 @@ G_M53769_IG04:        ; bbWeight=0.50, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0
        ; gcrRegs -[rdx] +[rax]
        ; gcr arg pop 0
        test     rax, rax
-       je       SHORT G_M53769_IG11
+       je       SHORT G_M53769_IG10
        mov      rdi, rax
        mov      r14d, dword ptr [rdi+0x14]
        xor      r15d, r15d
                        ;; size=33 bbWeight=0.50 PerfScore 2.62
 G_M53769_IG05:        ; bbWeight=4, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rax]
-       mov      r13d, dword ptr [rdi+0x14]
-       cmp      r14d, r13d
-       jne      SHORT G_M53769_IG07
-       cmp      r15d, dword ptr [rdi+0x10]
-       jae      SHORT G_M53769_IG08
+       mov      ecx, dword ptr [rdi+0x14]
+       cmp      r14d, ecx
+       jne      SHORT G_M53769_IG09
+       mov      ecx, dword ptr [rdi+0x10]
+       cmp      r15d, ecx
+       jae      SHORT G_M53769_IG07
        mov      rcx, gword ptr [rdi+0x08]
        ; gcrRegs +[rcx]
        cmp      r15d, dword ptr [rcx+0x08]
-       jae      SHORT G_M53769_IG09
+       jae      SHORT G_M53769_IG08
        mov      edx, r15d
        mov      r8, gword ptr [rcx+8*rdx+0x10]
        ; gcrRegs +[r8]
@@ -112,7 +113,7 @@ G_M53769_IG05:        ; bbWeight=4, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000
        ; gcrRegs -[rcx rdx r8]
        ; gcr arg pop 0
        jmp      SHORT G_M53769_IG05
-                      ;; size=50 bbWeight=4 PerfScore 85.00
+                     ;; size=51 bbWeight=4 PerfScore 82.00
 G_M53769_IG06:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx rsi rdi]
        call     [System.Threading.Monitor:ThrowLockTakenException()]
@@ -121,26 +122,22 @@ G_M53769_IG06:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
                        ;; size=7 bbWeight=0 PerfScore 0.00
 G_M53769_IG07:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rbx]
-       cmp      r14d, r13d
-       jne      SHORT G_M53769_IG10
-                       ;; size=5 bbWeight=4 PerfScore 5.00
-G_M53769_IG08:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        xor      rcx, rcx
        ; gcrRegs +[rcx]
        mov      gword ptr [rbx+0x08], rcx
-       jmp      SHORT G_M53769_IG12
+       jmp      SHORT G_M53769_IG11
                         ;; size=8 bbWeight=4 PerfScore 13.00
-G_M53769_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M53769_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx rbx]
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
                        ;; size=5 bbWeight=0 PerfScore 0.00
-G_M53769_IG10:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M53769_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        call     [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()]
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M53769_IG11:        ; bbWeight=0.50, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
+G_M53769_IG10:        ; bbWeight=0.50, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[rbx rsi rdi]
        mov      r8, rdi
        ; gcrRegs +[r8]
@@ -155,75 +152,72 @@ G_M53769_IG11:        ; bbWeight=0.50, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0
        call     [System.Net.Http.Headers.HttpHeaders:ParseSingleRawHeaderValue(System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo,System.Net.Http.Headers.HeaderDescriptor,System.String)]
        ; gcrRegs -[rcx rdx rsi rdi r8]
        ; gcr arg pop 0
-       jmp      SHORT G_M53769_IG08
+       jmp      SHORT G_M53769_IG07
                        ;; size=36 bbWeight=0.50 PerfScore 4.75
-G_M53769_IG12:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+G_M53769_IG11:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rbx]
-       cmp      byte  ptr [rbp-0x38], 0
-       je       SHORT G_M53769_IG14
+       cmp      byte  ptr [rbp-0x30], 0
+       je       SHORT G_M53769_IG13
                         ;; size=6 bbWeight=1 PerfScore 3.00
-G_M53769_IG13:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       mov      rcx, gword ptr [rbp-0x40]
+G_M53769_IG12:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       mov      rcx, gword ptr [rbp-0x38]
        ; gcrRegs +[rcx]
        ; GC ptr vars -{V02}
        call     <unknown method>
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
                        ;; size=9 bbWeight=0.50 PerfScore 1.00
-G_M53769_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M53769_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
-G_M53769_IG15:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 64
+G_M53769_IG14:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 56
        pop      rbx
        pop      rsi
        pop      rdi
-       pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-                     ;; size=15 bbWeight=1 PerfScore 4.75
-G_M53769_IG16:        ; bbWeight=0, gcVars=0000000000010000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
-       ; GC ptr vars +{V02 V16}
+                      ;; size=13 bbWeight=1 PerfScore 4.25
+G_M53769_IG15:        ; bbWeight=0, gcVars=0000000000020000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, funclet prolog, nogc
+       ; GC ptr vars +{V02 V17}
        push     rbp
        push     r15
        push     r14
-       push     r13
        push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 48
+       sub      rsp, 40
        mov      rbp, qword ptr [rcx+0x20]
        mov      qword ptr [rsp+0x20], rbp
-       lea      rbp, [rbp+0x70]
-                       ;; size=27 bbWeight=0 PerfScore 0.00
-G_M53769_IG17:        ; bbWeight=0, gcVars=0000000000010000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-       cmp      byte  ptr [rbp-0x38], 0
-       je       SHORT G_M53769_IG18
-       mov      rcx, gword ptr [rbp-0x40]
+       lea      rbp, [rbp+0x60]
+                       ;; size=25 bbWeight=0 PerfScore 0.00
+G_M53769_IG16:        ; bbWeight=0, gcVars=0000000000020000 {V02}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+       cmp      byte  ptr [rbp-0x30], 0
+       je       SHORT G_M53769_IG17
+       mov      rcx, gword ptr [rbp-0x38]
        ; gcrRegs +[rcx]
-       ; GC ptr vars -{V02 V16}
+       ; GC ptr vars -{V02 V17}
        call     <unknown method>
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
                        ;; size=15 bbWeight=0 PerfScore 0.00
-G_M53769_IG18:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M53769_IG17:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
...
  
-18 (-3.75%) : 19547.dasm - Microsoft.ML.Data.SimpleFileHandle:Dispose():this (FullOpts)
@@ -8,74 +8,74 @@
 ; 0 inlinees with PGO data; 7 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T04] ( 11, 25   )     ref  ->  [rbp+0x10]  this class-hnd EH-live single-def <Microsoft.ML.Data.SimpleFileHandle>
-;  V01 loc0         [V01,T13] (  4,  2   )     ref  ->  [rbp-0x30]  class-hnd EH-live spill-single-def <System.Object>
-;  V02 loc1         [V02    ] (  5,  4   )   ubyte  ->  [rbp-0x20]  do-not-enreg[X] must-init addr-exposed ld-addr-op
+;  V00 this         [V00,T03] ( 11, 25   )     ref  ->  [rbp+0x10]  this class-hnd EH-live single-def <Microsoft.ML.Data.SimpleFileHandle>
+;  V01 loc0         [V01,T14] (  4,  2   )     ref  ->  [rbp-0x28]  class-hnd EH-live spill-single-def <System.Object>
+;  V02 loc1         [V02    ] (  5,  4   )   ubyte  ->  [rbp-0x18]  do-not-enreg[X] must-init addr-exposed ld-addr-op
 ;* V03 loc2         [V03    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.IO.Stream]>
 ;* V04 loc3         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.IO.Stream>
 ;  V05 OutArgs      [V05    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.Object>
 ;* V07 tmp2         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.Object>
 ;* V08 tmp3         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.Object>
-;  V09 tmp4         [V09,T08] (  3,  6   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <System.IO.Stream>
+;  V09 tmp4         [V09,T09] (  3,  6   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <System.IO.Stream>
 ;* V10 tmp5         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.IO.Stream>
-;  V11 tmp6         [V11,T10] (  2,  4   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp6         [V11,T11] (  2,  4   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V12 tmp7         [V12    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.IO.Stream]>
-;* V13 tmp8         [V13,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V13 tmp8         [V13,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V14 tmp9         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
-;  V15 tmp10        [V15,T03] (  4, 24   )     ref  ->  [rbp-0x38]  EH-live single-def "field V03._list (fldOffset=0x0)" P-INDEP
+;  V15 tmp10        [V15,T04] (  4, 24   )     ref  ->  [rbp-0x30]  EH-live single-def "field V03._list (fldOffset=0x0)" P-INDEP
 ;  V16 tmp11        [V16,T02] (  6, 28   )     ref  ->  rsi         "field V03._current (fldOffset=0x8)" P-INDEP
-;  V17 tmp12        [V17,T00] (  6, 41   )     int  ->  [rbp-0x24]  do-not-enreg[Z] EH-live "field V03._index (fldOffset=0x10)" P-INDEP
-;  V18 tmp13        [V18,T06] (  3, 16   )     int  ->  [rbp-0x28]  EH-live single-def "field V03._version (fldOffset=0x14)" P-INDEP
-;  V19 tmp14        [V19,T11] (  3,  3   )     ref  ->  rbx         single-def "field V12._list (fldOffset=0x0)" P-INDEP
+;  V17 tmp12        [V17,T00] (  6, 41   )     int  ->  [rbp-0x1C]  do-not-enreg[Z] EH-live "field V03._index (fldOffset=0x10)" P-INDEP
+;  V18 tmp13        [V18,T08] (  2,  8   )     int  ->  [rbp-0x20]  EH-live single-def "field V03._version (fldOffset=0x14)" P-INDEP
+;  V19 tmp14        [V19,T12] (  3,  3   )     ref  ->  rbx         single-def "field V12._list (fldOffset=0x0)" P-INDEP
 ;* V20 tmp15        [V20    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V12._current (fldOffset=0x8)" P-INDEP
-;* V21 tmp16        [V21,T15] (  0,  0   )     int  ->  zero-ref    single-def "field V12._index (fldOffset=0x10)" P-INDEP
-;  V22 tmp17        [V22,T14] (  2,  2   )     int  ->  rsi         single-def "field V12._version (fldOffset=0x14)" P-INDEP
-;  V23 tmp18        [V23,T09] (  3,  6   )     ref  ->  rax         single-def "argument with side effect"
+;* V21 tmp16        [V21,T16] (  0,  0   )     int  ->  zero-ref    single-def "field V12._index (fldOffset=0x10)" P-INDEP
+;  V22 tmp17        [V22,T15] (  2,  2   )     int  ->  rax         single-def "field V12._version (fldOffset=0x14)" P-INDEP
+;  V23 tmp18        [V23,T10] (  3,  6   )     ref  ->  rax         single-def "argument with side effect"
 ;  V24 tmp19        [V24,T01] (  3, 48   )     ref  ->  rcx         "arr expr"
-;  V25 PSPSym       [V25,T16] (  1,  1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
-;  V26 cse0         [V26,T05] (  3, 24   )     int  ->  rsi         "CSE - aggressive"
-;  V27 cse1         [V27,T12] (  3,  3   )     ref  ->  rax         "CSE - aggressive"
+;  V25 PSPSym       [V25,T17] (  1,  1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
+;  V26 cse0         [V26,T07] (  2, 16   )     int  ->  rcx         "CSE - aggressive"
+;  V27 cse1         [V27,T05] (  2, 16   )     int  ->  rcx         "CSE - aggressive"
+;  V28 cse2         [V28,T13] (  3,  3   )     ref  ->  rax         "CSE - aggressive"
 ;
-; Lcl frame size = 72
+; Lcl frame size = 80
 
 G_M27267_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
        push     rbp
-       push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 72
+       sub      rsp, 80
        lea      rbp, [rsp+0x60]
        xor      eax, eax
-       mov      qword ptr [rbp-0x20], rax
+       mov      qword ptr [rbp-0x18], rax
        mov      qword ptr [rbp-0x40], rsp
        mov      gword ptr [rbp+0x10], rcx
        ; GC ptr vars +{V00}
-                      ;; size=27 bbWeight=1 PerfScore 8.00
-G_M27267_IG02:        ; bbWeight=1, gcVars=0000000000000010 {V00}, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, gcvars, byref
+                        ;; size=26 bbWeight=1 PerfScore 7.00
+G_M27267_IG02:        ; bbWeight=1, gcVars=0000000000000008 {V00}, gcrefRegs=0002 {rcx}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs +[rcx]
        mov      rdx, gword ptr [rcx+0x18]
        ; gcrRegs +[rdx]
-       mov      gword ptr [rbp-0x30], rdx
+       mov      gword ptr [rbp-0x28], rdx
        ; GC ptr vars +{V01}
                        ;; size=8 bbWeight=1 PerfScore 3.00
-G_M27267_IG03:        ; bbWeight=1, gcVars=0000000000002010 {V00 V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M27267_IG03:        ; bbWeight=1, gcVars=0000000000004008 {V00 V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rcx rdx]
-       cmp      byte  ptr [rbp-0x20], 0
+       cmp      byte  ptr [rbp-0x18], 0
        jne      G_M27267_IG10
-       lea      rdx, [rbp-0x20]
-       mov      rcx, gword ptr [rbp-0x30]
+       lea      rdx, [rbp-0x18]
+       mov      rcx, gword ptr [rbp-0x28]
        ; gcrRegs +[rcx]
        call     <unknown method>
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       movzx    rcx, byte  ptr [rbp-0x20]
+       movzx    rcx, byte  ptr [rbp-0x18]
        call     [<unknown method>]
        ; gcr arg pop 0
        mov      rcx, gword ptr [rbp+0x10]
        ; gcrRegs +[rcx]
        cmp      gword ptr [rcx+0x28], 0
-       je       G_M27267_IG18
+       je       G_M27267_IG16
        mov      rax, gword ptr [rcx+0x20]
        ; gcrRegs +[rax]
        test     rax, rax
@@ -117,37 +117,36 @@ G_M27267_IG06:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rcx]
        mov      rbx, gword ptr [rcx+0x28]
        ; gcrRegs +[rbx]
-       mov      esi, dword ptr [rbx+0x14]
-       mov      gword ptr [rbp-0x38], rbx
+       mov      eax, dword ptr [rbx+0x14]
+       mov      gword ptr [rbp-0x30], rbx
        ; GC ptr vars +{V15}
-       xor      eax, eax
-       mov      dword ptr [rbp-0x24], eax
-       mov      dword ptr [rbp-0x28], esi
+       xor      edx, edx
+       mov      dword ptr [rbp-0x1C], edx
+       mov      dword ptr [rbp-0x20], eax
                       ;; size=23 bbWeight=1 PerfScore 8.25
-G_M27267_IG07:        ; bbWeight=8, gcVars=0000000000002018 {V00 V01 V15}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M27267_IG07:        ; bbWeight=8, gcVars=0000000000004018 {V00 V01 V15}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rcx rbx]
-       mov      rbx, gword ptr [rbp-0x38]
+       mov      rbx, gword ptr [rbp-0x30]
        ; gcrRegs +[rbx]
-       mov      esi, dword ptr [rbx+0x14]
-       mov      edi, dword ptr [rbp-0x28]
-       cmp      edi, esi
+       mov      ecx, dword ptr [rbx+0x14]
+       cmp      dword ptr [rbp-0x20], ecx
        jne      SHORT G_M27267_IG11
-       mov      ecx, dword ptr [rbp-0x24]
-       cmp      ecx, dword ptr [rbx+0x10]
-       jae      SHORT G_M27267_IG12
+       mov      ecx, dword ptr [rbx+0x10]
+       cmp      dword ptr [rbp-0x1C], ecx
+       jae      SHORT G_M27267_IG14
        mov      rcx, gword ptr [rbx+0x08]
        ; gcrRegs +[rcx]
        mov      eax, dword ptr [rcx+0x08]
-       cmp      dword ptr [rbp-0x24], eax
-       jae      SHORT G_M27267_IG14
-       mov      eax, dword ptr [rbp-0x24]
+       cmp      dword ptr [rbp-0x1C], eax
+       jae      SHORT G_M27267_IG12
+       mov      eax, dword ptr [rbp-0x1C]
        mov      rsi, gword ptr [rcx+8*rax+0x10]
        ; gcrRegs +[rsi]
-       mov      ecx, dword ptr [rbp-0x24]
+       mov      ecx, dword ptr [rbp-0x1C]
        ; gcrRegs -[rcx]
        inc      ecx
-       mov      dword ptr [rbp-0x24], ecx
-                       ;; size=50 bbWeight=8 PerfScore 180.00
+       mov      dword ptr [rbp-0x1C], ecx
+                       ;; size=48 bbWeight=8 PerfScore 186.00
 G_M27267_IG08:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        test     rsi, rsi
        je       SHORT G_M27267_IG09
@@ -169,49 +168,38 @@ G_M27267_IG09:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {},
        ; gcr arg pop 0
        jmp      SHORT G_M27267_IG07
                        ;; size=15 bbWeight=4 PerfScore 37.00
-G_M27267_IG10:        ; bbWeight=0, gcVars=0000000000002000 {V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M27267_IG10:        ; bbWeight=0, gcVars=0000000000004000 {V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rbx]
        ; GC ptr vars -{V00 V15}
        call     [System.Threading.Monitor:ThrowLockTakenException()]
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M27267_IG11:        ; bbWeight=8, gcVars=0000000000002010 {V00 V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M27267_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       call     [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()]
+       ; gcr arg pop 0
+       int3     
+                       ;; size=7 bbWeight=0 PerfScore 0.00
+G_M27267_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       call     CORINFO_HELP_RNGCHKFAIL
+       ; gcr arg pop 0
+                       ;; size=5 bbWeight=0 PerfScore 0.00
+G_M27267_IG13:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       nop      
+       jmp      SHORT G_M27267_IG16
+                       ;; size=3 bbWeight=0 PerfScore 0.00
+G_M27267_IG14:        ; bbWeight=8, gcVars=0000000000004008 {V00 V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
        ; GC ptr vars +{V00}
-       cmp      edi, esi
-       jne      SHORT G_M27267_IG15
-                       ;; size=4 bbWeight=8 PerfScore 10.00
-G_M27267_IG12:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        xor      rcx, rcx
        ; gcrRegs +[rcx]
        mov      rbx, gword ptr [rbp+0x10]
        ; gcrRegs +[rbx]
        mov      gword ptr [rbx+0x28], rcx
        cmp      byte  ptr [rbx+0x30], 0
-       je       SHORT G_M27267_IG18
+       je       SHORT G_M27267_IG16
                       ;; size=16 bbWeight=8 PerfScore 50.00
-G_M27267_IG13:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
+G_M27267_IG15:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx]
-       jmp      SHORT G_M27267_IG17
-                       ;; size=2 bbWeight=1 PerfScore 2.00
-G_M27267_IG14:        ; bbWeight=0, gcVars=0000000000002000 {V01}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs -[rbx]
-       ; GC ptr vars -{V00}
-       call     CORINFO_HELP_RNGCHKFAIL
-       ; gcr arg pop 0
-                       ;; size=5 bbWeight=0 PerfScore 0.00
-G_M27267_IG15:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       call     [System.ThrowHelper:ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion()]
-       ; gcr arg pop 0
-       int3     
-                       ;; size=7 bbWeight=0 PerfScore 0.00
-G_M27267_IG16:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       nop      
-       jmp      SHORT G_M27267_IG18
-                       ;; size=3 bbWeight=0 PerfScore 0.00
-G_M27267_IG17:        ; bbWeight=1, gcVars=0000000000002010 {V00 V01}, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, gcvars, byref
-       ; gcrRegs +[rbx]
-       ; GC ptr vars +{V00}
        mov      rcx, gword ptr [rbx+0x08]
        ; gcrRegs +[rcx]
        ; GC ptr vars -{V00}
@@ -220,126 +208,117 @@ G_M27267_IG17:        ; bbWeight=1, gcVars=0000000000002010 {V00 V01}, gcrefRegs
        ; gcr arg pop 0
        nop      
                        ;; size=11 bbWeight=1 PerfScore 5.25
-G_M27267_IG18:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       cmp      byte  ptr [rbp-0x20], 0
-       je       SHORT G_M27267_IG19
-       mov      rcx, gword ptr [rbp-0x30]
+G_M27267_IG16:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
+       cmp      byte  ptr [rbp-0x18], 0
+       je       SHORT G_M27267_IG17
+       mov      rcx, gword ptr [rbp-0x28]
        ; gcrRegs +[rcx]
        ; GC ptr vars -{V01}
        call     <unknown method>
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
                        ;; size=15 bbWeight=1 PerfScore 5.00
-G_M27267_IG19:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+G_M27267_IG17:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
-G_M27267_IG20:        ; bbWeight=1, epilog, nogc, extend
...
  
-25 (-3.69%) : 37920.dasm - System.Management.Automation.Internal.PipelineProcessor:SynchronousExecuteEnumerate(System.Object):System.Array:this (FullOpts)
@@ -9,67 +9,67 @@
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T07] ( 18, 20   )     ref  ->  [rbp+0x10]  this class-hnd EH-live single-def <System.Management.Automation.Internal.PipelineProcessor>
-;  V01 arg1         [V01,T08] (  4,  4   )     ref  ->  rbx         class-hnd single-def <System.Object>
+;  V01 arg1         [V01,T09] (  4,  4   )     ref  ->  rbx         class-hnd single-def <System.Object>
 ;* V02 loc0         [V02    ] (  0,  0   )   ubyte  ->  zero-ref    single-def
-;  V03 loc1         [V03,T26] (  2,  0   )     ref  ->  [rbp-0x30]  do-not-enreg[M] class-hnd EH-live <System.Runtime.ExceptionServices.ExceptionDispatchInfo>
-;  V04 loc2         [V04,T16] (  3,  2   )     ref  ->  [rbp-0x38]  do-not-enreg[M] class-hnd EH-live <System.Management.Automation.CommandProcessorBase>
-;  V05 loc3         [V05,T17] (  2,  2   )     ref  ->  rax         class-hnd single-def <System.Management.Automation.CommandProcessorBase>
-;  V06 loc4         [V06,T22] (  3,  0   )     ref  ->  rax         class-hnd single-def <<unknown class>>
+;  V03 loc1         [V03,T27] (  2,  0   )     ref  ->  [rbp-0x28]  do-not-enreg[M] class-hnd EH-live <System.Runtime.ExceptionServices.ExceptionDispatchInfo>
+;  V04 loc2         [V04,T17] (  3,  2   )     ref  ->  [rbp-0x30]  do-not-enreg[M] class-hnd EH-live <System.Management.Automation.CommandProcessorBase>
+;  V05 loc3         [V05,T18] (  2,  2   )     ref  ->  rax         class-hnd single-def <System.Management.Automation.CommandProcessorBase>
+;  V06 loc4         [V06,T23] (  3,  0   )     ref  ->  rax         class-hnd single-def <<unknown class>>
 ;* V07 loc5         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Management.Automation.Internal.PipelineProcessor]>
-;  V08 loc6         [V08,T19] (  2,  1   )     ref  ->  [rbp-0x40]  must-init class-hnd EH-live single-def <System.Array>
+;  V08 loc6         [V08,T20] (  2,  1   )     ref  ->  [rbp-0x38]  must-init class-hnd EH-live single-def <System.Array>
 ;* V09 loc7         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
 ;  V10 OutArgs      [V10    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V11 tmp1         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Management.Automation.Internal.Pipe>
-;  V12 tmp2         [V12,T27] (  2,  0   )     ref  ->  rdx         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp2         [V12,T28] (  2,  0   )     ref  ->  rdx         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
 ;* V13 tmp3         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <<unknown class>>
-;  V14 tmp4         [V14,T23] (  3,  0   )     ref  ->  rcx         class-hnd exact single-def "dup spill" <System.Runtime.ExceptionServices.ExceptionDispatchInfo>
+;  V14 tmp4         [V14,T24] (  3,  0   )     ref  ->  rcx         class-hnd exact single-def "dup spill" <System.Runtime.ExceptionServices.ExceptionDispatchInfo>
 ;* V15 tmp5         [V15    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V16 tmp6         [V16,T24] (  3,  0   )     ref  ->  rdx        
-;  V17 tmp7         [V17,T25] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
-;  V18 tmp8         [V18,T15] (  2,  2   )   ubyte  ->  rdx         "Inline return value spill temp"
+;  V16 tmp6         [V16,T25] (  3,  0   )     ref  ->  rdx        
+;  V17 tmp7         [V17,T26] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <<unknown class>>
+;  V18 tmp8         [V18,T16] (  2,  2   )   ubyte  ->  rdx         "Inline return value spill temp"
 ;* V19 tmp9         [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Management.Automation.Runspaces.LocalPipeline>
 ;* V20 tmp10        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Management.Automation.Runspaces.PipelineStopper>
-;  V21 tmp11        [V21,T09] (  3,  6   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V21 tmp11        [V21,T10] (  3,  6   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V22 tmp12        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Management.Automation.Runspaces.PipelineReader`1[System.Object]>
-;  V23 tmp13        [V23,T11] (  2,  4   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <<unknown class>>
+;  V23 tmp13        [V23,T12] (  2,  4   )     ref  ->  rbx         class-hnd single-def "Inlining Arg" <<unknown class>>
 ;* V24 tmp14        [V24    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Management.Automation.Internal.PipelineProcessor]>
-;* V25 tmp15        [V25,T06] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V25 tmp15        [V25,T05] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V26 tmp16        [V26    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <<unknown class>>
 ;  V27 tmp17        [V27,T02] (  4, 25   )     ref  ->  rbx         single-def "field V07._list (fldOffset=0x0)" P-INDEP
 ;  V28 tmp18        [V28,T04] (  2, 12   )     ref  ->  rcx         "field V07._current (fldOffset=0x8)" P-INDEP
 ;  V29 tmp19        [V29,T00] (  6, 41   )     int  ->  r14         "field V07._index (fldOffset=0x10)" P-INDEP
-;  V30 tmp20        [V30,T05] (  3, 17   )     int  ->  rdi         single-def "field V07._version (fldOffset=0x14)" P-INDEP
-;  V31 tmp21        [V31,T12] (  3,  3   )     ref  ->  rbx         single-def "field V24._list (fldOffset=0x0)" P-INDEP
+;  V30 tmp20        [V30,T08] (  2,  9   )     int  ->  rdi         single-def "field V07._version (fldOffset=0x14)" P-INDEP
+;  V31 tmp21        [V31,T13] (  3,  3   )     ref  ->  rbx         single-def "field V24._list (fldOffset=0x0)" P-INDEP
 ;* V32 tmp22        [V32    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V24._current (fldOffset=0x8)" P-INDEP
-;* V33 tmp23        [V33,T20] (  0,  0   )     int  ->  zero-ref    single-def "field V24._index (fldOffset=0x10)" P-INDEP
-;  V34 tmp24        [V34,T18] (  2,  2   )     int  ->  rdi         single-def "field V24._version (fldOffset=0x14)" P-INDEP
-;  V35 tmp25        [V35,T10] (  3,  6   )     ref  ->  rax         single-def "arr expr"
+;* V33 tmp23        [V33,T21] (  0,  0   )     int  ->  zero-ref    single-def "field V24._index (fldOffset=0x10)" P-INDEP
+;  V34 tmp24        [V34,T19] (  2,  2   )     int  ->  rdi         single-def "field V24._version (fldOffset=0x14)" P-INDEP
+;  V35 tmp25        [V35,T11] (  3,  6   )     ref  ->  rax         single-def "arr expr"
 ;  V36 tmp26        [V36,T01] (  3, 48   )     ref  ->  rcx         "arr expr"
-;  V37 PSPSym       [V37,T21] (  1,  1   )    long  ->  [rbp-0x50]  do-not-enreg[V] "PSPSym"
-;  V38 cse0         [V38,T03] (  3, 24   )     int  ->  r15         "CSE - aggressive"
-;  V39 cse1         [V39,T13] (  3,  3   )     ref  ->  rdx         "CSE - moderate"
-;  V40 cse2         [V40,T14] (  3,  3   )     ref  ->  rbx         "CSE - moderate"
+;  V37 PSPSym       [V37,T22] (  1,  1   )    long  ->  [rbp-0x40]  do-not-enreg[V] "PSPSym"
+;  V38 cse0         [V38,T06] (  2, 16   )     int  ->  rcx         "CSE - aggressive"
+;  V39 cse1         [V39,T03] (  2, 16   )     int  ->  rcx         "CSE - aggressive"
+;  V40 cse2         [V40,T14] (  3,  3   )     ref  ->  rdx         "CSE - moderate"
+;  V41 cse3         [V41,T15] (  3,  3   )     ref  ->  rbx         "CSE - moderate"
 ;
-; Lcl frame size = 72
+; Lcl frame size = 64
 
 G_M17519_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
-       push     r15
        push     r14
        push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 72
-       lea      rbp, [rsp+0x70]
+       sub      rsp, 64
+       lea      rbp, [rsp+0x60]
        xor      eax, eax
-       mov      qword ptr [rbp-0x40], rax
-       mov      qword ptr [rbp-0x50], rsp
+       mov      qword ptr [rbp-0x38], rax
+       mov      qword ptr [rbp-0x40], rsp
        mov      gword ptr [rbp+0x10], rcx
        ; GC ptr vars +{V00}
        mov      rbx, rdx
        ; gcrRegs +[rbx]
-                      ;; size=34 bbWeight=1 PerfScore 10.25
-G_M17519_IG02:        ; bbWeight=1, gcVars=0000000000080080 {V00 V08}, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, gcvars, byref, isz
+                       ;; size=32 bbWeight=1 PerfScore 9.25
+G_M17519_IG02:        ; bbWeight=1, gcVars=0000000000100080 {V00 V08}, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs +[rcx]
        ; GC ptr vars +{V08}
        mov      rdx, gword ptr [rcx+0x60]
@@ -80,15 +80,15 @@ G_M17519_IG02:        ; bbWeight=1, gcVars=0000000000080080 {V00 V08}, gcrefRegs
        movzx    rdx, byte  ptr [rdx+0x20]
        ; gcrRegs -[rdx]
        test     edx, edx
-       jne      G_M17519_IG22
+       jne      G_M17519_IG21
                      ;; size=28 bbWeight=1 PerfScore 8.50
 G_M17519_IG03:        ; bbWeight=1, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, byref
        xor      rdx, rdx
        ; gcrRegs +[rdx]
-       mov      gword ptr [rbp-0x38], rdx
+       mov      gword ptr [rbp-0x30], rdx
        ; GC ptr vars +{V04}
                        ;; size=6 bbWeight=1 PerfScore 1.25
-G_M17519_IG04:        ; bbWeight=1, gcVars=0000000000090080 {V00 V04 V08}, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, gcvars, byref, isz
+G_M17519_IG04:        ; bbWeight=1, gcVars=0000000000120080 {V00 V04 V08}, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {}, gcvars, byref, isz
        ; gcrRegs -[rdx]
        mov      rdx, 0xD1FFAB1E      ; const ptr
        cmp      rbx, gword ptr [rdx]
@@ -136,7 +136,7 @@ G_M17519_IG05:        ; bbWeight=1, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcr arg pop 0
        jmp      SHORT G_M17519_IG08
                        ;; size=21 bbWeight=1 PerfScore 6.50
-G_M17519_IG06:        ; bbWeight=0, gcVars=0000000000080080 {V00 V08}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M17519_IG06:        ; bbWeight=0, gcVars=0000000000100080 {V00 V08}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V04}
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
@@ -146,13 +146,13 @@ G_M17519_IG07:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcr arg pop 0
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
-G_M17519_IG08:        ; bbWeight=1, gcVars=0000000000090080 {V00 V04 V08}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
-       ; GC ptr vars +{V04 V16}
+G_M17519_IG08:        ; bbWeight=1, gcVars=0000000000120080 {V00 V04 V08}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+       ; GC ptr vars +{V04 V17}
        mov      rcx, gword ptr [rbp+0x10]
        ; gcrRegs +[rcx]
-       mov      rdx, gword ptr [rbp-0x38]
+       mov      rdx, gword ptr [rbp-0x30]
        ; gcrRegs +[rdx]
-       ; GC ptr vars -{V04 V16}
+       ; GC ptr vars -{V04 V17}
        call     [<unknown method>]
        ; gcrRegs -[rcx rdx]
        ; gcr arg pop 0
@@ -169,7 +169,7 @@ G_M17519_IG09:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      rbx, gword ptr [rsi+0x10]
        ; gcrRegs +[rbx]
        test     rbx, rbx
-       je       SHORT G_M17519_IG15
+       je       SHORT G_M17519_IG14
        mov      edi, dword ptr [rbx+0x14]
        xor      r14d, r14d
        jmp      SHORT G_M17519_IG11
@@ -184,11 +184,12 @@ G_M17519_IG10:        ; bbWeight=4, gcrefRegs=004A {rcx rbx rsi}, byrefRegs=0000
        ; gcr arg pop 0
                        ;; size=10 bbWeight=4 PerfScore 25.00
 G_M17519_IG11:        ; bbWeight=8, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
-       mov      r15d, dword ptr [rbx+0x14]
-       cmp      edi, r15d
-       jne      SHORT G_M17519_IG14
-       cmp      r14d, dword ptr [rbx+0x10]
-       jae      SHORT G_M17519_IG15
+       mov      ecx, dword ptr [rbx+0x14]
+       cmp      edi, ecx
+       jne      SHORT G_M17519_IG13
+       mov      ecx, dword ptr [rbx+0x10]
+       cmp      r14d, ecx
+       jae      SHORT G_M17519_IG14
        mov      rcx, gword ptr [rbx+0x08]
        ; gcrRegs +[rcx]
        cmp      r14d, dword ptr [rcx+0x08]
@@ -197,7 +198,7 @@ G_M17519_IG11:        ; bbWeight=8, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {},
        mov      rcx, gword ptr [rcx+8*rdx+0x10]
        inc      r14d
        jmp      SHORT G_M17519_IG10
-                      ;; size=38 bbWeight=8 PerfScore 142.00
+                        ;; size=38 bbWeight=8 PerfScore 136.00
 G_M17519_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx rbx rsi]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -210,59 +211,54 @@ G_M17519_IG13:        ; bbWeight=0, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byr
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 G_M17519_IG14:        ; bbWeight=8, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, isz
-       cmp      edi, r15d
-       jne      SHORT G_M17519_IG13
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M17519_IG15:        ; bbWeight=8, gcrefRegs=0040 {rsi}, byrefRegs=0000 {}, byref, isz
        mov      rcx, rsi
        ; gcrRegs +[rcx]
        call     [<unknown method>]
        ; gcrRegs -[rcx] +[rax]
        ; gcr arg pop 0
-       mov      gword ptr [rbp-0x40], rax
-       jmp      SHORT G_M17519_IG18
+       mov      gword ptr [rbp-0x38], rax
+       jmp      SHORT G_M17519_IG17
                         ;; size=15 bbWeight=8 PerfScore 50.00
-G_M17519_IG16:        ; bbWeight=0, gcVars=0000000004080080 {V00 V03 V08}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M17519_IG15:        ; bbWeight=0, gcVars=0000000008100080 {V00 V03 V08}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs -[rax rsi]
-       ; GC ptr vars +{V03}
+       ; GC ptr vars +{V03 V27}
        nop      
                        ;; size=1 bbWeight=0 PerfScore 0.00
-G_M17519_IG17:        ; bbWeight=0, gcVars=0000000004000080 {V00 V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
-       ; GC ptr vars -{V08}
+G_M17519_IG16:        ; bbWeight=0, gcVars=0000000008000080 {V00 V03}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, isz
+       ; GC ptr vars -{V08 V27}
        mov      rcx, gword ptr [rbp+0x10]
        ; gcrRegs +[rcx]
        ; GC ptr vars -{V00}
        call     [<unknown method>]
        ; gcrRegs -[rcx]
        ; gcr arg pop 0
-       jmp      SHORT G_M17519_IG23
+       jmp      SHORT G_M17519_IG22
                        ;; size=12 bbWeight=0 PerfScore 0.00
-G_M17519_IG18:        ; bbWeight=1, gcVars=0000000000080080 {V00 V08}, gcrefRegs=0041 {rax rsi}, byrefRegs=0000 {}, gcvars, byref
+G_M17519_IG17:        ; bbWeight=1, gcVars=0000000000100080 {V00 V08}, gcrefRegs=0041 {rax rsi}, byrefRegs=0000 {}, gcvars, byref
        ; gcrRegs +[rax rsi]
        ; GC ptr vars -{V03} +{V00 V08}
        mov      rcx, rsp
-       call     G_M17519_IG37
+       call     G_M17519_IG36
        ; gcrRegs -[rax rsi]
                        ;; size=8 bbWeight=1 PerfScore 1.25
-G_M17519_IG19:        ; bbWeight=1, nogc, extend
+G_M17519_IG18:        ; bbWeight=1, nogc, extend
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
-G_M17519_IG20:        ; bbWeight=1, gcVars=0000000000080000 {V08}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
+G_M17519_IG19:        ; bbWeight=1, gcVars=0000000000100000 {V08}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        ; GC ptr vars -{V00}
-       mov      rax, gword ptr [rbp-0x40]
+       mov      rax, gword ptr [rbp-0x38]
        ; gcrRegs +[rax]
                        ;; size=4 bbWeight=1 PerfScore 1.00
-G_M17519_IG21:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 72
+G_M17519_IG20:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 64
        pop      rbx
        pop      rsi
        pop      rdi
        pop      r14
-       pop      r15
        pop      rbp
        ret      
...
  
+2 (+1.94%) : 38226.dasm - System.Management.Automation.ModuleIntrinsics:PatternContainsWildcard(System.Collections.Generic.List`1[System.Management.Automation.WildcardPattern]):ubyte (FullOpts)
@@ -8,9 +8,9 @@
 ; 0 inlinees with PGO data; 5 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T06] (  4,  3.50)     ref  ->  rcx         class-hnd single-def <System.Collections.Generic.List`1[System.Management.Automation.WildcardPattern]>
+;  V00 arg0         [V00,T07] (  4,  3.50)     ref  ->  rcx         class-hnd single-def <System.Collections.Generic.List`1[System.Management.Automation.WildcardPattern]>
 ;* V01 loc0         [V01    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Management.Automation.WildcardPattern]>
-;* V02 loc1         [V02,T10] (  0,  0   )   ubyte  ->  zero-ref   
+;* V02 loc1         [V02,T11] (  0,  0   )   ubyte  ->  zero-ref   
 ;  V03 OutArgs      [V03    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Management.Automation.WildcardPattern]>
 ;* V05 tmp2         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon>
@@ -19,13 +19,14 @@
 ;  V08 tmp5         [V08,T02] (  4, 12.50)     ref  ->  rbx         single-def "field V01._list (fldOffset=0x0)" P-INDEP
 ;  V09 tmp6         [V09,T04] (  2,  6   )     ref  ->  rcx         "field V01._current (fldOffset=0x8)" P-INDEP
 ;  V10 tmp7         [V10,T00] (  6, 20.50)     int  ->  rdi         "field V01._index (fldOffset=0x10)" P-INDEP
-;  V11 tmp8         [V11,T07] (  2,  4.50)     int  ->  rsi         single-def "field V01._version (fldOffset=0x14)" P-INDEP
-;  V12 tmp9         [V12,T08] (  3,  1.50)     ref  ->  rbx         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V11 tmp8         [V11,T08] (  2,  4.50)     int  ->  rsi         single-def "field V01._version (fldOffset=0x14)" P-INDEP
+;  V12 tmp9         [V12,T09] (  3,  1.50)     ref  ->  rbx         single-def "field V04._list (fldOffset=0x0)" P-INDEP
 ;* V13 tmp10        [V13    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V04._current (fldOffset=0x8)" P-INDEP
-;* V14 tmp11        [V14,T11] (  0,  0   )     int  ->  zero-ref    single-def "field V04._index (fldOffset=0x10)" P-INDEP
-;  V15 tmp12        [V15,T09] (  2,  1   )     int  ->  rsi         single-def "field V04._version (fldOffset=0x14)" P-INDEP
+;* V14 tmp11        [V14,T12] (  0,  0   )     int  ->  zero-ref    single-def "field V04._index (fldOffset=0x10)" P-INDEP
+;  V15 tmp12        [V15,T10] (  2,  1   )     int  ->  rsi         single-def "field V04._version (fldOffset=0x14)" P-INDEP
 ;  V16 tmp13        [V16,T01] (  3, 24   )     ref  ->  rcx         "arr expr"
-;  V17 cse0         [V17,T03] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V17 cse0         [V17,T06] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V18 cse1         [V18,T03] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 32
 
@@ -56,7 +57,8 @@ G_M6619_IG04:        ; bbWeight=2, gcrefRegs=000A {rcx rbx}, byrefRegs=0000 {},
        jne      SHORT G_M6619_IG06
                        ;; size=14 bbWeight=2 PerfScore 12.50
 G_M6619_IG05:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       cmp      esi, dword ptr [rbx+0x14]
+       mov      ecx, dword ptr [rbx+0x14]
+       cmp      esi, ecx
        jne      SHORT G_M6619_IG11
        mov      ecx, dword ptr [rbx+0x10]
        cmp      edi, ecx
@@ -69,7 +71,7 @@ G_M6619_IG05:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byre
        mov      rcx, gword ptr [rcx+8*rax+0x10]
        inc      edi
        jmp      SHORT G_M6619_IG04
-                       ;; size=32 bbWeight=4 PerfScore 71.00
+                     ;; size=34 bbWeight=4 PerfScore 68.00
 G_M6619_IG06:        ; bbWeight=0.50, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rcx rbx]
        mov      eax, 1
@@ -101,7 +103,7 @@ G_M6619_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 103, prolog size 7, PerfScore 93.25, instruction count 41, allocated bytes for code 103 (MethodHash=a116e624) for method System.Management.Automation.ModuleIntrinsics:PatternContainsWildcard(System.Collections.Generic.List`1[System.Management.Automation.WildcardPattern]):ubyte (FullOpts)
+; Total bytes of code 105, prolog size 7, PerfScore 90.25, instruction count 42, allocated bytes for code 105 (MethodHash=a116e624) for method System.Management.Automation.ModuleIntrinsics:PatternContainsWildcard(System.Collections.Generic.List`1[System.Management.Automation.WildcardPattern]):ubyte (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+2 (+2.25%) : 35005.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:EmitWriteBack(System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack]):this (FullOpts)
@@ -8,8 +8,8 @@
 ; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T06] (  3,  4   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Expressions.Compiler.LambdaCompiler>
-;  V01 arg1         [V01,T07] (  4,  3.50)     ref  ->  rdx         class-hnd single-def <System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack]>
+;  V00 this         [V00,T07] (  3,  4   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Expressions.Compiler.LambdaCompiler>
+;  V01 arg1         [V01,T08] (  4,  3.50)     ref  ->  rdx         class-hnd single-def <System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack]>
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack]>
 ;* V03 loc1         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack>
 ;  V04 OutArgs      [V04    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
@@ -19,13 +19,14 @@
 ;  V08 tmp4         [V08,T02] (  4, 12.50)     ref  ->  rsi         single-def "field V02._list (fldOffset=0x0)" P-INDEP
 ;  V09 tmp5         [V09,T03] (  3,  8   )     ref  ->  rax         "field V02._current (fldOffset=0x8)" P-INDEP
 ;  V10 tmp6         [V10,T00] (  6, 20.50)     int  ->  rbp         "field V02._index (fldOffset=0x10)" P-INDEP
-;  V11 tmp7         [V11,T08] (  2,  4.50)     int  ->  rdi         "field V02._version (fldOffset=0x14)" P-INDEP
-;  V12 tmp8         [V12,T09] (  3,  1.50)     ref  ->  rsi         single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V11 tmp7         [V11,T09] (  2,  4.50)     int  ->  rdi         "field V02._version (fldOffset=0x14)" P-INDEP
+;  V12 tmp8         [V12,T10] (  3,  1.50)     ref  ->  rsi         single-def "field V05._list (fldOffset=0x0)" P-INDEP
 ;* V13 tmp9         [V13    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V05._current (fldOffset=0x8)" P-INDEP
-;* V14 tmp10        [V14,T11] (  0,  0   )     int  ->  zero-ref    "field V05._index (fldOffset=0x10)" P-INDEP
-;  V15 tmp11        [V15,T10] (  2,  1   )     int  ->  rdi         "field V05._version (fldOffset=0x14)" P-INDEP
+;* V14 tmp10        [V14,T12] (  0,  0   )     int  ->  zero-ref    "field V05._index (fldOffset=0x10)" P-INDEP
+;  V15 tmp11        [V15,T11] (  2,  1   )     int  ->  rdi         "field V05._version (fldOffset=0x14)" P-INDEP
 ;  V16 tmp12        [V16,T01] (  3, 24   )     ref  ->  rdx         "arr expr"
-;  V17 cse0         [V17,T04] (  2,  8   )     int  ->  rdx         "CSE - aggressive"
+;  V17 cse0         [V17,T06] (  2,  8   )     int  ->  rdx         "CSE - aggressive"
+;  V18 cse1         [V18,T04] (  2,  8   )     int  ->  rdx         "CSE - aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -61,7 +62,8 @@ G_M37225_IG04:        ; bbWeight=2, gcrefRegs=0049 {rax rbx rsi}, byrefRegs=0000
        ; gcr arg pop 0
                        ;; size=10 bbWeight=2 PerfScore 10.50
 G_M37225_IG05:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
-       cmp      edi, dword ptr [rsi+0x14]
+       mov      edx, dword ptr [rsi+0x14]
+       cmp      edi, edx
        jne      SHORT G_M37225_IG08
        mov      edx, dword ptr [rsi+0x10]
        cmp      ebp, edx
@@ -75,7 +77,7 @@ G_M37225_IG05:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {},
        ; gcrRegs +[rax]
        inc      ebp
        jmp      SHORT G_M37225_IG04
-                      ;; size=32 bbWeight=4 PerfScore 71.00
+                     ;; size=34 bbWeight=4 PerfScore 68.00
 G_M37225_IG06:        ; bbWeight=4, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, epilog, nogc
        ; gcrRegs -[rax rdx rbx rsi]
        add      rsp, 40
@@ -95,7 +97,7 @@ G_M37225_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 89, prolog size 8, PerfScore 102.50, instruction count 36, allocated bytes for code 89 (MethodHash=abe96e96) for method System.Linq.Expressions.Compiler.LambdaCompiler:EmitWriteBack(System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack]):this (FullOpts)
+; Total bytes of code 91, prolog size 8, PerfScore 99.50, instruction count 37, allocated bytes for code 91 (MethodHash=abe96e96) for method System.Linq.Expressions.Compiler.LambdaCompiler:EmitWriteBack(System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack]):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+12 (+7.50%) : 38272.dasm - System.Management.Automation.PSModuleInfo:AddModuleToList(System.Management.Automation.PSModuleInfo,System.Collections.Generic.List`1[System.Management.Automation.PSModuleInfo]) (FullOpts)
@@ -8,42 +8,44 @@
 ; 0 inlinees with PGO data; 6 single block inlinees; 3 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T09] (  5,  5   )     ref  ->  rsi         class-hnd single-def <System.Management.Automation.PSModuleInfo>
-;  V01 arg1         [V01,T00] ( 11, 32   )     ref  ->  rbx         class-hnd single-def <System.Collections.Generic.List`1[System.Management.Automation.PSModuleInfo]>
+;  V00 arg0         [V00,T10] (  5,  5   )     ref  ->  rsi         class-hnd single-def <System.Management.Automation.PSModuleInfo>
+;  V01 arg1         [V01,T00] ( 10, 28   )     ref  ->  rbx         class-hnd single-def <System.Collections.Generic.List`1[System.Management.Automation.PSModuleInfo]>
 ;* V02 loc0         [V02    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Management.Automation.PSModuleInfo]>
 ;  V03 OutArgs      [V03    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.String>
 ;* V05 tmp2         [V05    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Management.Automation.PSModuleInfo]>
 ;* V06 tmp3         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon>
-;* V07 tmp4         [V07,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V07 tmp4         [V07,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V08 tmp5         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Management.Automation.PSModuleInfo]>
-;  V09 tmp6         [V09,T07] (  3,  8.50)     ref  ->  rcx         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
-;  V10 tmp7         [V10,T05] (  4,  9   )     int  ->  r14         single-def "Inline stloc first use temp"
-;* V11 tmp8         [V11,T12] (  0,  0   )     ref  ->  zero-ref    single-def "field V02._list (fldOffset=0x0)" P-INDEP
-;  V12 tmp9         [V12,T04] (  2,  6   )     ref  ->  rcx         "field V02._current (fldOffset=0x8)" P-INDEP
+;  V09 tmp6         [V09,T08] (  3,  8.50)     ref  ->  rcx         class-hnd single-def "Inline stloc first use temp" <<unknown class>>
+;  V10 tmp7         [V10,T06] (  4,  9   )     int  ->  r15         single-def "Inline stloc first use temp"
+;* V11 tmp8         [V11,T13] (  0,  0   )     ref  ->  zero-ref    single-def "field V02._list (fldOffset=0x0)" P-INDEP
+;  V12 tmp9         [V12,T05] (  2,  6   )     ref  ->  rcx         "field V02._current (fldOffset=0x8)" P-INDEP
 ;  V13 tmp10        [V13,T01] (  6, 21   )     int  ->  rbp         "field V02._index (fldOffset=0x10)" P-INDEP
-;  V14 tmp11        [V14,T06] (  2,  9   )     int  ->  rdi         single-def "field V02._version (fldOffset=0x14)" P-INDEP
-;  V15 tmp12        [V15,T10] (  2,  2   )     ref  ->  rcx         single-def "field V05._list (fldOffset=0x0)" P-INDEP
+;  V14 tmp11        [V14,T07] (  2,  9   )     int  ->  rdi         single-def "field V02._version (fldOffset=0x14)" P-INDEP
+;  V15 tmp12        [V15,T11] (  2,  2   )     ref  ->  rcx         single-def "field V05._list (fldOffset=0x0)" P-INDEP
 ;* V16 tmp13        [V16    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V05._current (fldOffset=0x8)" P-INDEP
-;* V17 tmp14        [V17,T13] (  0,  0   )     int  ->  zero-ref    single-def "field V05._index (fldOffset=0x10)" P-INDEP
-;  V18 tmp15        [V18,T11] (  2,  2   )     int  ->  rdi         single-def "field V05._version (fldOffset=0x14)" P-INDEP
+;* V17 tmp14        [V17,T14] (  0,  0   )     int  ->  zero-ref    single-def "field V05._index (fldOffset=0x10)" P-INDEP
+;  V18 tmp15        [V18,T12] (  2,  2   )     int  ->  rdi         single-def "field V05._version (fldOffset=0x14)" P-INDEP
 ;  V19 tmp16        [V19,T02] (  3, 24   )     ref  ->  rcx         "arr expr"
-;  V20 cse0         [V20,T03] (  3, 12   )     int  ->  r14         "CSE - aggressive"
+;  V20 cse0         [V20,T04] (  3, 12   )     int  ->  r15         "CSE - aggressive"
+;  V21 cse1         [V21,T03] (  3, 20   )     int  ->  r14         "CSE - aggressive"
 ;
-; Lcl frame size = 32
+; Lcl frame size = 40
 
 G_M24725_IG01:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, nogc <-- Prolog IG
+       push     r15
        push     r14
        push     rdi
        push     rsi
        push     rbp
        push     rbx
-       sub      rsp, 32
+       sub      rsp, 40
        mov      rsi, rcx
        ; gcrRegs +[rsi]
        mov      rbx, rdx
        ; gcrRegs +[rbx]
-                      ;; size=16 bbWeight=1 PerfScore 5.75
+                      ;; size=18 bbWeight=1 PerfScore 6.75
 G_M24725_IG02:        ; bbWeight=1, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        mov      rcx, rbx
        ; gcrRegs +[rcx]
@@ -64,12 +66,13 @@ G_M24725_IG03:        ; bbWeight=2, gcrefRegs=004A {rcx rbx rsi}, byrefRegs=0000
        jne      SHORT G_M24725_IG09
                        ;; size=26 bbWeight=2 PerfScore 23.00
 G_M24725_IG04:        ; bbWeight=8, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
-       cmp      edi, dword ptr [rbx+0x14]
+       mov      r14d, dword ptr [rbx+0x14]
+       cmp      edi, r14d
        jne      SHORT G_M24725_IG12
-                     ;; size=5 bbWeight=8 PerfScore 32.00
+                      ;; size=9 bbWeight=8 PerfScore 26.00
 G_M24725_IG05:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
-       mov      r14d, dword ptr [rbx+0x10]
-       cmp      ebp, r14d
+       mov      r15d, dword ptr [rbx+0x10]
+       cmp      ebp, r15d
        jae      SHORT G_M24725_IG06
        mov      rcx, gword ptr [rbx+0x08]
        ; gcrRegs +[rcx]
@@ -82,16 +85,17 @@ G_M24725_IG05:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {},
                        ;; size=29 bbWeight=4 PerfScore 55.00
 G_M24725_IG06:        ; bbWeight=4, gcrefRegs=0048 {rbx rsi}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rcx]
-       inc      dword ptr [rbx+0x14]
+       inc      r14d
+       mov      dword ptr [rbx+0x14], r14d
        mov      rcx, gword ptr [rbx+0x08]
        ; gcrRegs +[rcx]
-       cmp      dword ptr [rcx+0x08], r14d
+       cmp      dword ptr [rcx+0x08], r15d
        jbe      SHORT G_M24725_IG08
-                       ;; size=13 bbWeight=4 PerfScore 36.00
+                     ;; size=17 bbWeight=4 PerfScore 29.00
 G_M24725_IG07:        ; bbWeight=0.50, gcrefRegs=004A {rcx rbx rsi}, byrefRegs=0000 {}, byref, isz
-       lea      edx, [r14+0x01]
+       lea      edx, [r15+0x01]
        mov      dword ptr [rbx+0x10], edx
-       mov      edx, r14d
+       mov      edx, r15d
        lea      rcx, bword ptr [rcx+8*rdx+0x10]
        ; gcrRegs -[rcx]
        ; byrRegs +[rcx]
@@ -116,14 +120,15 @@ G_M24725_IG09:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        nop      
                        ;; size=1 bbWeight=1 PerfScore 0.25
 G_M24725_IG10:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 32
+       add      rsp, 40
        pop      rbx
        pop      rbp
        pop      rsi
        pop      rdi
        pop      r14
+       pop      r15
        ret      
-                     ;; size=11 bbWeight=1 PerfScore 3.75
+                      ;; size=13 bbWeight=1 PerfScore 4.25
 G_M24725_IG11:        ; bbWeight=0, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref
        call     CORINFO_HELP_RNGCHKFAIL
        ; gcr arg pop 0
@@ -134,7 +139,7 @@ G_M24725_IG12:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=7 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 160, prolog size 10, PerfScore 165.00, instruction count 56, allocated bytes for code 160 (MethodHash=b52a9f6a) for method System.Management.Automation.PSModuleInfo:AddModuleToList(System.Management.Automation.PSModuleInfo,System.Collections.Generic.List`1[System.Management.Automation.PSModuleInfo]) (FullOpts)
+; Total bytes of code 172, prolog size 12, PerfScore 153.50, instruction count 60, allocated bytes for code 172 (MethodHash=b52a9f6a) for method System.Management.Automation.PSModuleInfo:AddModuleToList(System.Management.Automation.PSModuleInfo,System.Collections.Generic.List`1[System.Management.Automation.PSModuleInfo]) (FullOpts)
 ; ============================================================
 
 Unwind Info:
@@ -142,14 +147,15 @@ Unwind Info:
   >>   End offset   : 0xd1ffab1e (not in unwind data)
   Version           : 1
   Flags             : 0x00
-  SizeOfProlog      : 0x0A
-  CountOfUnwindCodes: 6
+  SizeOfProlog      : 0x0C
+  CountOfUnwindCodes: 7
   FrameRegister     : none (0)
   FrameOffset       : N/A (no FrameRegister) (Value=0)
   UnwindCodes       :
-    CodeOffset: 0x0A UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 3 * 8 + 8 = 32 = 0x20
-    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
-    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
-    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
-    CodeOffset: 0x03 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
-    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
+    CodeOffset: 0x0C UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 4 * 8 + 8 = 40 = 0x28
+    CodeOffset: 0x08 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbx (3)
+    CodeOffset: 0x07 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
+    CodeOffset: 0x06 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rsi (6)
+    CodeOffset: 0x05 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rdi (7)
+    CodeOffset: 0x04 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r14 (14)
+    CodeOffset: 0x02 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: r15 (15)
  
  
smoke_tests.nativeaot.windows.x64.checked.mch
-10 (-3.21%) : 2594.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
@@ -7,10 +7,10 @@
 ; fully interruptible
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] (  3,  3   )    long  ->  rbx         single-def
-;  V01 arg1         [V01,T19] (  3,  3   )    long  ->  rsi         single-def
-;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [rbp-0x38]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T20] (  4, 11   )    long  ->  rsi        
+;  V00 arg0         [V00,T19] (  3,  3   )    long  ->  rbx         single-def
+;  V01 arg1         [V01,T20] (  3,  3   )    long  ->  rsi         single-def
+;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [rbp-0x30]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
+;  V03 loc1         [V03,T21] (  4, 11   )    long  ->  rsi        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
@@ -18,14 +18,14 @@
 ;  V08 tmp1         [V08,T10] (  7, 84   )     ref  ->  rbx         class-hnd exact single-def "non-inline candidate call" <<unknown class>>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V11 tmp4         [V11,T28] (  3,  0   )     ref  ->  rdx         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V12 tmp5         [V12,T22] (  2,  4   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp4         [V11,T29] (  3,  0   )     ref  ->  rdx         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp5         [V12,T23] (  2,  4   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <<unknown class>>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp10        [V17,T08] (  2, 16   )     int  ->  r10         "Inlining Arg"
-;  V18 tmp11        [V18,T07] (  2, 16   )   byref  ->  rax         "Inlining Arg"
+;  V17 tmp10        [V17,T07] (  2, 16   )     int  ->  r10         "Inlining Arg"
+;  V18 tmp11        [V18,T06] (  2, 16   )   byref  ->  rax         "Inlining Arg"
 ;* V19 tmp12        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V21 tmp14        [V21,T12] (  2,  8   )   ubyte  ->  rax         "Inline return value spill temp"
@@ -39,30 +39,30 @@
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V30 tmp23        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V32 tmp25        [V32,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V32 tmp25        [V32,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V33 tmp26        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <<unknown class>>
-;  V34 tmp27        [V34,T23] (  3, 17   )     ref  ->  rcx         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V35 tmp28        [V35,T21] (  4, 18   )     int  ->  rdx         "Inline stloc first use temp"
-;  V36 tmp29        [V36,T17] (  3, 20   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [rbp-0x48]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
-;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
-;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
-;  V40 tmp33        [V40,T02] (  4, 25   )     ref  ->  rbx         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V41 tmp34        [V41,T03] (  4, 20   )     ref  ->   r8         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V34 tmp27        [V34,T24] (  3, 17   )     ref  ->  rcx         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V35 tmp28        [V35,T22] (  4, 18   )     int  ->  rdx         "Inline stloc first use temp"
+;  V36 tmp29        [V36,T18] (  3, 20   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [rbp-0x40]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
+;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
+;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
+;  V40 tmp33        [V40,T03] (  4, 25   )     ref  ->  rbx         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V41 tmp34        [V41,T02] (  4, 20   )     ref  ->   r8         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V42 tmp35        [V42,T00] (  6, 41   )     int  ->  r14         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V43 tmp36        [V43,T05] (  3, 17   )     int  ->  rdi         "field V04._version (fldOffset=0x14)" P-INDEP
-;  V44 tmp37        [V44,T13] (  2,  8   )   byref  ->  rcx         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp38        [V45,T15] (  2,  8   )     int  ->  rdx         "field V09._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp36        [V43,T13] (  2,  9   )     int  ->  rdi         "field V04._version (fldOffset=0x14)" P-INDEP
+;  V44 tmp37        [V44,T14] (  2,  8   )   byref  ->  rcx         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp38        [V45,T16] (  2,  8   )     int  ->  rdx         "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V46 tmp39        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V47 tmp40        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V48 tmp41        [V48,T24] (  3,  3   )     ref  ->  rbx         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;  V48 tmp41        [V48,T25] (  3,  3   )     ref  ->  rbx         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V49 tmp42        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V50 tmp43        [V50,T27] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
-;  V51 tmp44        [V51,T25] (  2,  2   )     int  ->  rdi         "field V13._version (fldOffset=0x14)" P-INDEP
+;* V50 tmp43        [V50,T28] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
+;  V51 tmp44        [V51,T26] (  2,  2   )     int  ->  rdi         "field V13._version (fldOffset=0x14)" P-INDEP
 ;  V52 tmp45        [V52,T11] (  3, 12   )   byref  ->  rax         "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V53 tmp46        [V53,T06] (  4, 16   )     int  ->  r10         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V54 tmp47        [V54,T14] (  2,  8   )   byref  ->  rax         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V55 tmp48        [V55,T16] (  2,  8   )     int  ->  r10         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V53 tmp46        [V53,T05] (  4, 16   )     int  ->  r10         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V54 tmp47        [V54,T15] (  2,  8   )   byref  ->  rax         "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V55 tmp48        [V55,T17] (  2,  8   )     int  ->  r10         "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp50        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V58 tmp51        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
@@ -78,38 +78,38 @@
 ;* V68 tmp61        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V69 tmp62        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;  V70 tmp63        [V70,T01] (  3, 48   )     ref  ->   r8         "arr expr"
-;  V71 cse0         [V71,T04] (  3, 24   )     int  ->  r15         "CSE - aggressive"
-;  V72 cse1         [V72,T26] (  2, 16   )     int  ->   r8         "CSE - moderate"
+;  V71 cse0         [V71,T09] (  2, 16   )     int  ->   r8         "CSE - aggressive"
+;  V72 cse1         [V72,T04] (  2, 16   )     int  ->   r8         "CSE - aggressive"
+;  V73 cse2         [V73,T27] (  2, 16   )     int  ->   r8         "CSE - moderate"
 ;
-; Lcl frame size = 72
+; Lcl frame size = 64
 
 G_M19804_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
-       push     r15
        push     r14
        push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 72
-       lea      rbp, [rsp+0x70]
+       sub      rsp, 64
+       lea      rbp, [rsp+0x60]
        xor      eax, eax
-       mov      qword ptr [rbp-0x38], rax
+       mov      qword ptr [rbp-0x30], rax
        mov      rbx, rcx
        mov      rsi, rdx
-                     ;; size=29 bbWeight=1 PerfScore 8.50
+                      ;; size=27 bbWeight=1 PerfScore 7.50
 G_M19804_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       lea      rcx, [rbp-0x48]
+       lea      rcx, [rbp-0x40]
        call     CORINFO_HELP_JIT_REVERSE_PINVOKE_ENTER
        ; gcr arg pop 0
        nop      
                        ;; size=10 bbWeight=1 PerfScore 1.75
 G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       lea      rcx, [rbp-0x38]
+       lea      rcx, [rbp-0x30]
        mov      rdx, rbx
        call     System.Runtime.InteropServices.MemoryMarshal:CreateReadOnlySpanFromNullTerminated(ulong):System.ReadOnlySpan`1[ushort]
        ; gcr arg pop 0
        cmp      byte  ptr [rsi+0x08], 0
-       je       SHORT G_M19804_IG11
+       je       SHORT G_M19804_IG10
        mov      rbx, gword ptr [rsi]
        ; gcrRegs +[rbx]
        mov      edi, dword ptr [rbx+0x14]
@@ -118,9 +118,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=29 bbWeight=1 PerfScore 12.00
 G_M19804_IG04:        ; bbWeight=4, gcrefRegs=0108 {rbx r8}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[r8]
-       mov      rcx, bword ptr [rbp-0x38]
+       mov      rcx, bword ptr [rbp-0x30]
        ; byrRegs +[rcx]
-       mov      edx, dword ptr [rbp-0x30]
+       mov      edx, dword ptr [rbp-0x28]
        test     r8, r8
        jne      SHORT G_M19804_IG05
        xor      rax, rax
@@ -146,14 +146,15 @@ G_M19804_IG06:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0003 {rax rc
        ; byrRegs -[rax rcx rdx]
        ; gcr arg pop 0
        test     eax, eax
-       jne      SHORT G_M19804_IG14
+       jne      SHORT G_M19804_IG13
                      ;; size=23 bbWeight=4 PerfScore 17.00
 G_M19804_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       mov      r15d, dword ptr [rbx+0x14]
-       cmp      edi, r15d
-       jne      SHORT G_M19804_IG10
-       cmp      r14d, dword ptr [rbx+0x10]
-       jae      SHORT G_M19804_IG11
+       mov      r8d, dword ptr [rbx+0x14]
+       cmp      edi, r8d
+       jne      SHORT G_M19804_IG09
+       mov      r8d, dword ptr [rbx+0x10]
+       cmp      r14d, r8d
+       jae      SHORT G_M19804_IG10
        mov      r8, gword ptr [rbx+0x08]
        ; gcrRegs +[r8]
        cmp      r14d, dword ptr [r8+0x08]
@@ -162,7 +163,7 @@ G_M19804_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      r8, gword ptr [r8+8*rcx+0x10]
        inc      r14d
        jmp      SHORT G_M19804_IG04
-                      ;; size=38 bbWeight=8 PerfScore 142.00
+                        ;; size=41 bbWeight=8 PerfScore 136.00
 G_M19804_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx r8]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -174,13 +175,9 @@ G_M19804_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 G_M19804_IG10:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       cmp      edi, r15d
-       jne      SHORT G_M19804_IG09
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        mov      rbx, gword ptr [rsi]
        ; gcrRegs +[rbx]
-       lea      rcx, [rbp-0x38]
+       lea      rcx, [rbp-0x30]
        call     <unknown method>
        ; gcrRegs +[rax]
        ; gcr arg pop 0
@@ -190,9 +187,9 @@ G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      edx, dword ptr [rbx+0x10]
        mov      r8d, dword ptr [rcx+0x08]
        cmp      r8d, edx
-       jbe      SHORT G_M19804_IG13
+       jbe      SHORT G_M19804_IG12
                      ;; size=31 bbWeight=8 PerfScore 110.00
-G_M19804_IG12:        ; bbWeight=1, gcrefRegs=000B {rax rcx rbx}, byrefRegs=0000 {}, byref, isz
+G_M19804_IG11:        ; bbWeight=1, gcrefRegs=000B {rax rcx rbx}, byrefRegs=0000 {}, byref, isz
        lea      r8d, [rdx+0x01]
        mov      dword ptr [rbx+0x10], r8d
        mov      edx, edx
@@ -204,9 +201,9 @@ G_M19804_IG12:        ; bbWeight=1, gcrefRegs=000B {rax rcx rbx}, byrefRegs=0000
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rax rdx rbx]
        ; byrRegs -[rcx]
-       jmp      SHORT G_M19804_IG14
+       jmp      SHORT G_M19804_IG13
                       ;; size=25 bbWeight=1 PerfScore 6.00
-G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
+G_M19804_IG12:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rax rbx]
        mov      rcx, rbx
        ; gcrRegs +[rcx]
@@ -217,33 +214,31 @@ G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {},
        ; gcr arg pop 0
        nop      
                        ;; size=12 bbWeight=1 PerfScore 1.75
-G_M19804_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       lea      rcx, [rbp-0x48]
+G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       lea      rcx, [rbp-0x40]
        call     CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT
        ; gcr arg pop 0
        nop      
                        ;; size=10 bbWeight=1 PerfScore 1.75
-G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 72
+G_M19804_IG14:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 64
        pop      rbx
        pop      rsi
        pop      rdi
        pop      r14
-       pop      r15
        pop      rbp
        ret      
-                     ;; size=13 bbWeight=1 PerfScore 4.25
-G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                     ;; size=11 bbWeight=1 PerfScore 3.75
+G_M19804_IG15:        ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        ; gcrRegs +[rdx]
        push     rbp
-       push     r15
        push     r14
        push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 40
...
  
-10 (-3.21%) : 22966.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
@@ -7,10 +7,10 @@
 ; fully interruptible
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] (  3,  3   )    long  ->  rbx         single-def
-;  V01 arg1         [V01,T19] (  3,  3   )    long  ->  rsi         single-def
-;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [rbp-0x38]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T20] (  4, 11   )    long  ->  rsi        
+;  V00 arg0         [V00,T19] (  3,  3   )    long  ->  rbx         single-def
+;  V01 arg1         [V01,T20] (  3,  3   )    long  ->  rsi         single-def
+;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [rbp-0x30]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
+;  V03 loc1         [V03,T21] (  4, 11   )    long  ->  rsi        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
@@ -18,14 +18,14 @@
 ;  V08 tmp1         [V08,T10] (  7, 84   )     ref  ->  rbx         class-hnd exact single-def "non-inline candidate call" <<unknown class>>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V11 tmp4         [V11,T28] (  3,  0   )     ref  ->  rdx         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V12 tmp5         [V12,T22] (  2,  4   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp4         [V11,T29] (  3,  0   )     ref  ->  rdx         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp5         [V12,T23] (  2,  4   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <<unknown class>>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp10        [V17,T08] (  2, 16   )     int  ->  r10         "Inlining Arg"
-;  V18 tmp11        [V18,T07] (  2, 16   )   byref  ->  rax         "Inlining Arg"
+;  V17 tmp10        [V17,T07] (  2, 16   )     int  ->  r10         "Inlining Arg"
+;  V18 tmp11        [V18,T06] (  2, 16   )   byref  ->  rax         "Inlining Arg"
 ;* V19 tmp12        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V21 tmp14        [V21,T12] (  2,  8   )   ubyte  ->  rax         "Inline return value spill temp"
@@ -39,30 +39,30 @@
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V30 tmp23        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V32 tmp25        [V32,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V32 tmp25        [V32,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V33 tmp26        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <<unknown class>>
-;  V34 tmp27        [V34,T23] (  3, 17   )     ref  ->  rcx         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V35 tmp28        [V35,T21] (  4, 18   )     int  ->  rdx         "Inline stloc first use temp"
-;  V36 tmp29        [V36,T17] (  3, 20   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [rbp-0x48]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
-;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
-;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
-;  V40 tmp33        [V40,T02] (  4, 25   )     ref  ->  rbx         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V41 tmp34        [V41,T03] (  4, 20   )     ref  ->   r8         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V34 tmp27        [V34,T24] (  3, 17   )     ref  ->  rcx         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V35 tmp28        [V35,T22] (  4, 18   )     int  ->  rdx         "Inline stloc first use temp"
+;  V36 tmp29        [V36,T18] (  3, 20   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [rbp-0x40]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
+;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
+;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
+;  V40 tmp33        [V40,T03] (  4, 25   )     ref  ->  rbx         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V41 tmp34        [V41,T02] (  4, 20   )     ref  ->   r8         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V42 tmp35        [V42,T00] (  6, 41   )     int  ->  r14         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V43 tmp36        [V43,T05] (  3, 17   )     int  ->  rdi         "field V04._version (fldOffset=0x14)" P-INDEP
-;  V44 tmp37        [V44,T13] (  2,  8   )   byref  ->  rcx         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp38        [V45,T15] (  2,  8   )     int  ->  rdx         "field V09._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp36        [V43,T13] (  2,  9   )     int  ->  rdi         "field V04._version (fldOffset=0x14)" P-INDEP
+;  V44 tmp37        [V44,T14] (  2,  8   )   byref  ->  rcx         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp38        [V45,T16] (  2,  8   )     int  ->  rdx         "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V46 tmp39        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V47 tmp40        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V48 tmp41        [V48,T24] (  3,  3   )     ref  ->  rbx         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;  V48 tmp41        [V48,T25] (  3,  3   )     ref  ->  rbx         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V49 tmp42        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V50 tmp43        [V50,T27] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
-;  V51 tmp44        [V51,T25] (  2,  2   )     int  ->  rdi         "field V13._version (fldOffset=0x14)" P-INDEP
+;* V50 tmp43        [V50,T28] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
+;  V51 tmp44        [V51,T26] (  2,  2   )     int  ->  rdi         "field V13._version (fldOffset=0x14)" P-INDEP
 ;  V52 tmp45        [V52,T11] (  3, 12   )   byref  ->  rax         "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V53 tmp46        [V53,T06] (  4, 16   )     int  ->  r10         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V54 tmp47        [V54,T14] (  2,  8   )   byref  ->  rax         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V55 tmp48        [V55,T16] (  2,  8   )     int  ->  r10         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V53 tmp46        [V53,T05] (  4, 16   )     int  ->  r10         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V54 tmp47        [V54,T15] (  2,  8   )   byref  ->  rax         "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V55 tmp48        [V55,T17] (  2,  8   )     int  ->  r10         "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp50        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V58 tmp51        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
@@ -78,38 +78,38 @@
 ;* V68 tmp61        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V69 tmp62        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;  V70 tmp63        [V70,T01] (  3, 48   )     ref  ->   r8         "arr expr"
-;  V71 cse0         [V71,T04] (  3, 24   )     int  ->  r15         "CSE - aggressive"
-;  V72 cse1         [V72,T26] (  2, 16   )     int  ->   r8         "CSE - moderate"
+;  V71 cse0         [V71,T09] (  2, 16   )     int  ->   r8         "CSE - aggressive"
+;  V72 cse1         [V72,T04] (  2, 16   )     int  ->   r8         "CSE - aggressive"
+;  V73 cse2         [V73,T27] (  2, 16   )     int  ->   r8         "CSE - moderate"
 ;
-; Lcl frame size = 72
+; Lcl frame size = 64
 
 G_M19804_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
-       push     r15
        push     r14
        push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 72
-       lea      rbp, [rsp+0x70]
+       sub      rsp, 64
+       lea      rbp, [rsp+0x60]
        xor      eax, eax
-       mov      qword ptr [rbp-0x38], rax
+       mov      qword ptr [rbp-0x30], rax
        mov      rbx, rcx
        mov      rsi, rdx
-                     ;; size=29 bbWeight=1 PerfScore 8.50
+                      ;; size=27 bbWeight=1 PerfScore 7.50
 G_M19804_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       lea      rcx, [rbp-0x48]
+       lea      rcx, [rbp-0x40]
        call     CORINFO_HELP_JIT_REVERSE_PINVOKE_ENTER
        ; gcr arg pop 0
        nop      
                        ;; size=10 bbWeight=1 PerfScore 1.75
 G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       lea      rcx, [rbp-0x38]
+       lea      rcx, [rbp-0x30]
        mov      rdx, rbx
        call     System.Runtime.InteropServices.MemoryMarshal:CreateReadOnlySpanFromNullTerminated(ulong):System.ReadOnlySpan`1[ushort]
        ; gcr arg pop 0
        cmp      byte  ptr [rsi+0x08], 0
-       je       SHORT G_M19804_IG11
+       je       SHORT G_M19804_IG10
        mov      rbx, gword ptr [rsi]
        ; gcrRegs +[rbx]
        mov      edi, dword ptr [rbx+0x14]
@@ -118,9 +118,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=29 bbWeight=1 PerfScore 12.00
 G_M19804_IG04:        ; bbWeight=4, gcrefRegs=0108 {rbx r8}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[r8]
-       mov      rcx, bword ptr [rbp-0x38]
+       mov      rcx, bword ptr [rbp-0x30]
        ; byrRegs +[rcx]
-       mov      edx, dword ptr [rbp-0x30]
+       mov      edx, dword ptr [rbp-0x28]
        test     r8, r8
        jne      SHORT G_M19804_IG05
        xor      rax, rax
@@ -146,14 +146,15 @@ G_M19804_IG06:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0003 {rax rc
        ; byrRegs -[rax rcx rdx]
        ; gcr arg pop 0
        test     eax, eax
-       jne      SHORT G_M19804_IG14
+       jne      SHORT G_M19804_IG13
                      ;; size=23 bbWeight=4 PerfScore 17.00
 G_M19804_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       mov      r15d, dword ptr [rbx+0x14]
-       cmp      edi, r15d
-       jne      SHORT G_M19804_IG10
-       cmp      r14d, dword ptr [rbx+0x10]
-       jae      SHORT G_M19804_IG11
+       mov      r8d, dword ptr [rbx+0x14]
+       cmp      edi, r8d
+       jne      SHORT G_M19804_IG09
+       mov      r8d, dword ptr [rbx+0x10]
+       cmp      r14d, r8d
+       jae      SHORT G_M19804_IG10
        mov      r8, gword ptr [rbx+0x08]
        ; gcrRegs +[r8]
        cmp      r14d, dword ptr [r8+0x08]
@@ -162,7 +163,7 @@ G_M19804_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      r8, gword ptr [r8+8*rcx+0x10]
        inc      r14d
        jmp      SHORT G_M19804_IG04
-                      ;; size=38 bbWeight=8 PerfScore 142.00
+                        ;; size=41 bbWeight=8 PerfScore 136.00
 G_M19804_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx r8]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -174,13 +175,9 @@ G_M19804_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 G_M19804_IG10:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       cmp      edi, r15d
-       jne      SHORT G_M19804_IG09
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        mov      rbx, gword ptr [rsi]
        ; gcrRegs +[rbx]
-       lea      rcx, [rbp-0x38]
+       lea      rcx, [rbp-0x30]
        call     <unknown method>
        ; gcrRegs +[rax]
        ; gcr arg pop 0
@@ -190,9 +187,9 @@ G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      edx, dword ptr [rbx+0x10]
        mov      r8d, dword ptr [rcx+0x08]
        cmp      r8d, edx
-       jbe      SHORT G_M19804_IG13
+       jbe      SHORT G_M19804_IG12
                      ;; size=31 bbWeight=8 PerfScore 110.00
-G_M19804_IG12:        ; bbWeight=1, gcrefRegs=000B {rax rcx rbx}, byrefRegs=0000 {}, byref, isz
+G_M19804_IG11:        ; bbWeight=1, gcrefRegs=000B {rax rcx rbx}, byrefRegs=0000 {}, byref, isz
        lea      r8d, [rdx+0x01]
        mov      dword ptr [rbx+0x10], r8d
        mov      edx, edx
@@ -204,9 +201,9 @@ G_M19804_IG12:        ; bbWeight=1, gcrefRegs=000B {rax rcx rbx}, byrefRegs=0000
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rax rdx rbx]
        ; byrRegs -[rcx]
-       jmp      SHORT G_M19804_IG14
+       jmp      SHORT G_M19804_IG13
                       ;; size=25 bbWeight=1 PerfScore 6.00
-G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
+G_M19804_IG12:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rax rbx]
        mov      rcx, rbx
        ; gcrRegs +[rcx]
@@ -217,33 +214,31 @@ G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {},
        ; gcr arg pop 0
        nop      
                        ;; size=12 bbWeight=1 PerfScore 1.75
-G_M19804_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       lea      rcx, [rbp-0x48]
+G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       lea      rcx, [rbp-0x40]
        call     CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT
        ; gcr arg pop 0
        nop      
                        ;; size=10 bbWeight=1 PerfScore 1.75
-G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 72
+G_M19804_IG14:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 64
        pop      rbx
        pop      rsi
        pop      rdi
        pop      r14
-       pop      r15
        pop      rbp
        ret      
-                     ;; size=13 bbWeight=1 PerfScore 4.25
-G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                     ;; size=11 bbWeight=1 PerfScore 3.75
+G_M19804_IG15:        ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        ; gcrRegs +[rdx]
        push     rbp
-       push     r15
        push     r14
        push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 40
...
  
-10 (-3.21%) : 17683.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
@@ -7,10 +7,10 @@
 ; fully interruptible
 ; Final local variable assignments
 ;
-;  V00 arg0         [V00,T18] (  3,  3   )    long  ->  rbx         single-def
-;  V01 arg1         [V01,T19] (  3,  3   )    long  ->  rsi         single-def
-;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [rbp-0x38]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
-;  V03 loc1         [V03,T20] (  4, 11   )    long  ->  rsi        
+;  V00 arg0         [V00,T19] (  3,  3   )    long  ->  rbx         single-def
+;  V01 arg1         [V01,T20] (  3,  3   )    long  ->  rsi         single-def
+;  V02 loc0         [V02    ] (  4, 17   )  struct (16) [rbp-0x30]  do-not-enreg[XS] must-init addr-exposed ld-addr-op <System.ReadOnlySpan`1[ushort]>
+;  V03 loc1         [V03,T21] (  4, 11   )    long  ->  rsi        
 ;* V04 loc2         [V04    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V05 loc3         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.String>
 ;* V06 loc4         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <<unknown class>>
@@ -18,14 +18,14 @@
 ;  V08 tmp1         [V08,T10] (  7, 84   )     ref  ->  rbx         class-hnd exact single-def "non-inline candidate call" <<unknown class>>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;  V11 tmp4         [V11,T28] (  3,  0   )     ref  ->  rdx         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
-;  V12 tmp5         [V12,T22] (  2,  4   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V11 tmp4         [V11,T29] (  3,  0   )     ref  ->  rdx         class-hnd single-def "impSpillSpecialSideEff" <<unknown class>>
+;  V12 tmp5         [V12,T23] (  2,  4   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <<unknown class>>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.String]>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V17 tmp10        [V17,T08] (  2, 16   )     int  ->  r10         "Inlining Arg"
-;  V18 tmp11        [V18,T07] (  2, 16   )   byref  ->  rax         "Inlining Arg"
+;  V17 tmp10        [V17,T07] (  2, 16   )     int  ->  r10         "Inlining Arg"
+;  V18 tmp11        [V18,T06] (  2, 16   )   byref  ->  rax         "Inlining Arg"
 ;* V19 tmp12        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;* V20 tmp13        [V20    ] (  0,  0   )   ubyte  ->  zero-ref    "Inlining Arg"
 ;  V21 tmp14        [V21,T12] (  2,  8   )   ubyte  ->  rax         "Inline return value spill temp"
@@ -39,30 +39,30 @@
 ;* V29 tmp22        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V30 tmp23        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
-;* V32 tmp25        [V32,T09] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V32 tmp25        [V32,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V33 tmp26        [V33    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <<unknown class>>
-;  V34 tmp27        [V34,T23] (  3, 17   )     ref  ->  rcx         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
-;  V35 tmp28        [V35,T21] (  4, 18   )     int  ->  rdx         "Inline stloc first use temp"
-;  V36 tmp29        [V36,T17] (  3, 20   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [rbp-0x48]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
-;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
-;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
-;  V40 tmp33        [V40,T02] (  4, 25   )     ref  ->  rbx         single-def "field V04._list (fldOffset=0x0)" P-INDEP
-;  V41 tmp34        [V41,T03] (  4, 20   )     ref  ->   r8         "field V04._current (fldOffset=0x8)" P-INDEP
+;  V34 tmp27        [V34,T24] (  3, 17   )     ref  ->  rcx         class-hnd exact single-def "Inline stloc first use temp" <<unknown class>>
+;  V35 tmp28        [V35,T22] (  4, 18   )     int  ->  rdx         "Inline stloc first use temp"
+;  V36 tmp29        [V36,T18] (  3, 20   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V37 tmp30        [V37    ] (  3,  3   )  struct (16) [rbp-0x40]  do-not-enreg[XS] addr-exposed "Reverse Pinvoke FrameVar"
+;  V38 tmp31        [V38    ] (  3, 13   )   byref  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V02._reference (fldOffset=0x0)" P-DEP
+;  V39 tmp32        [V39    ] (  3, 13   )     int  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed "field V02._length (fldOffset=0x8)" P-DEP
+;  V40 tmp33        [V40,T03] (  4, 25   )     ref  ->  rbx         single-def "field V04._list (fldOffset=0x0)" P-INDEP
+;  V41 tmp34        [V41,T02] (  4, 20   )     ref  ->   r8         "field V04._current (fldOffset=0x8)" P-INDEP
 ;  V42 tmp35        [V42,T00] (  6, 41   )     int  ->  r14         "field V04._index (fldOffset=0x10)" P-INDEP
-;  V43 tmp36        [V43,T05] (  3, 17   )     int  ->  rdi         "field V04._version (fldOffset=0x14)" P-INDEP
-;  V44 tmp37        [V44,T13] (  2,  8   )   byref  ->  rcx         "field V09._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp38        [V45,T15] (  2,  8   )     int  ->  rdx         "field V09._length (fldOffset=0x8)" P-INDEP
+;  V43 tmp36        [V43,T13] (  2,  9   )     int  ->  rdi         "field V04._version (fldOffset=0x14)" P-INDEP
+;  V44 tmp37        [V44,T14] (  2,  8   )   byref  ->  rcx         "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp38        [V45,T16] (  2,  8   )     int  ->  rdx         "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V46 tmp39        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V47 tmp40        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
-;  V48 tmp41        [V48,T24] (  3,  3   )     ref  ->  rbx         single-def "field V13._list (fldOffset=0x0)" P-INDEP
+;  V48 tmp41        [V48,T25] (  3,  3   )     ref  ->  rbx         single-def "field V13._list (fldOffset=0x0)" P-INDEP
 ;* V49 tmp42        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V13._current (fldOffset=0x8)" P-INDEP
-;* V50 tmp43        [V50,T27] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
-;  V51 tmp44        [V51,T25] (  2,  2   )     int  ->  rdi         "field V13._version (fldOffset=0x14)" P-INDEP
+;* V50 tmp43        [V50,T28] (  0,  0   )     int  ->  zero-ref    "field V13._index (fldOffset=0x10)" P-INDEP
+;  V51 tmp44        [V51,T26] (  2,  2   )     int  ->  rdi         "field V13._version (fldOffset=0x14)" P-INDEP
 ;  V52 tmp45        [V52,T11] (  3, 12   )   byref  ->  rax         "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V53 tmp46        [V53,T06] (  4, 16   )     int  ->  r10         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V54 tmp47        [V54,T14] (  2,  8   )   byref  ->  rax         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V55 tmp48        [V55,T16] (  2,  8   )     int  ->  r10         "field V15._length (fldOffset=0x8)" P-INDEP
+;  V53 tmp46        [V53,T05] (  4, 16   )     int  ->  r10         "field V14._length (fldOffset=0x8)" P-INDEP
+;  V54 tmp47        [V54,T15] (  2,  8   )   byref  ->  rax         "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V55 tmp48        [V55,T17] (  2,  8   )     int  ->  r10         "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp49        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp50        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V58 tmp51        [V58    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
@@ -78,38 +78,38 @@
 ;* V68 tmp61        [V68    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V69 tmp62        [V69    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;  V70 tmp63        [V70,T01] (  3, 48   )     ref  ->   r8         "arr expr"
-;  V71 cse0         [V71,T04] (  3, 24   )     int  ->  r15         "CSE - aggressive"
-;  V72 cse1         [V72,T26] (  2, 16   )     int  ->   r8         "CSE - moderate"
+;  V71 cse0         [V71,T09] (  2, 16   )     int  ->   r8         "CSE - aggressive"
+;  V72 cse1         [V72,T04] (  2, 16   )     int  ->   r8         "CSE - aggressive"
+;  V73 cse2         [V73,T27] (  2, 16   )     int  ->   r8         "CSE - moderate"
 ;
-; Lcl frame size = 72
+; Lcl frame size = 64
 
 G_M19804_IG01:        ; bbWeight=1, gcVars=0000000000000000 {}, gcrefRegs=0000 {}, byrefRegs=0000 {}, gcvars, byref, nogc <-- Prolog IG
        push     rbp
-       push     r15
        push     r14
        push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 72
-       lea      rbp, [rsp+0x70]
+       sub      rsp, 64
+       lea      rbp, [rsp+0x60]
        xor      eax, eax
-       mov      qword ptr [rbp-0x38], rax
+       mov      qword ptr [rbp-0x30], rax
        mov      rbx, rcx
        mov      rsi, rdx
-                     ;; size=29 bbWeight=1 PerfScore 8.50
+                      ;; size=27 bbWeight=1 PerfScore 7.50
 G_M19804_IG02:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       lea      rcx, [rbp-0x48]
+       lea      rcx, [rbp-0x40]
        call     CORINFO_HELP_JIT_REVERSE_PINVOKE_ENTER
        ; gcr arg pop 0
        nop      
                        ;; size=10 bbWeight=1 PerfScore 1.75
 G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       lea      rcx, [rbp-0x38]
+       lea      rcx, [rbp-0x30]
        mov      rdx, rbx
        call     System.Runtime.InteropServices.MemoryMarshal:CreateReadOnlySpanFromNullTerminated(ulong):System.ReadOnlySpan`1[ushort]
        ; gcr arg pop 0
        cmp      byte  ptr [rsi+0x08], 0
-       je       SHORT G_M19804_IG11
+       je       SHORT G_M19804_IG10
        mov      rbx, gword ptr [rsi]
        ; gcrRegs +[rbx]
        mov      edi, dword ptr [rbx+0x14]
@@ -118,9 +118,9 @@ G_M19804_IG03:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
                        ;; size=29 bbWeight=1 PerfScore 12.00
 G_M19804_IG04:        ; bbWeight=4, gcrefRegs=0108 {rbx r8}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs +[r8]
-       mov      rcx, bword ptr [rbp-0x38]
+       mov      rcx, bword ptr [rbp-0x30]
        ; byrRegs +[rcx]
-       mov      edx, dword ptr [rbp-0x30]
+       mov      edx, dword ptr [rbp-0x28]
        test     r8, r8
        jne      SHORT G_M19804_IG05
        xor      rax, rax
@@ -146,14 +146,15 @@ G_M19804_IG06:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0003 {rax rc
        ; byrRegs -[rax rcx rdx]
        ; gcr arg pop 0
        test     eax, eax
-       jne      SHORT G_M19804_IG14
+       jne      SHORT G_M19804_IG13
                      ;; size=23 bbWeight=4 PerfScore 17.00
 G_M19804_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       mov      r15d, dword ptr [rbx+0x14]
-       cmp      edi, r15d
-       jne      SHORT G_M19804_IG10
-       cmp      r14d, dword ptr [rbx+0x10]
-       jae      SHORT G_M19804_IG11
+       mov      r8d, dword ptr [rbx+0x14]
+       cmp      edi, r8d
+       jne      SHORT G_M19804_IG09
+       mov      r8d, dword ptr [rbx+0x10]
+       cmp      r14d, r8d
+       jae      SHORT G_M19804_IG10
        mov      r8, gword ptr [rbx+0x08]
        ; gcrRegs +[r8]
        cmp      r14d, dword ptr [r8+0x08]
@@ -162,7 +163,7 @@ G_M19804_IG07:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        mov      r8, gword ptr [r8+8*rcx+0x10]
        inc      r14d
        jmp      SHORT G_M19804_IG04
-                      ;; size=38 bbWeight=8 PerfScore 142.00
+                        ;; size=41 bbWeight=8 PerfScore 136.00
 G_M19804_IG08:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rbx r8]
        call     CORINFO_HELP_RNGCHKFAIL
@@ -174,13 +175,9 @@ G_M19804_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 G_M19804_IG10:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
-       cmp      edi, r15d
-       jne      SHORT G_M19804_IG09
-                       ;; size=5 bbWeight=8 PerfScore 10.00
-G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref, isz
        mov      rbx, gword ptr [rsi]
        ; gcrRegs +[rbx]
-       lea      rcx, [rbp-0x38]
+       lea      rcx, [rbp-0x30]
        call     <unknown method>
        ; gcrRegs +[rax]
        ; gcr arg pop 0
@@ -190,9 +187,9 @@ G_M19804_IG11:        ; bbWeight=8, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref,
        mov      edx, dword ptr [rbx+0x10]
        mov      r8d, dword ptr [rcx+0x08]
        cmp      r8d, edx
-       jbe      SHORT G_M19804_IG13
+       jbe      SHORT G_M19804_IG12
                      ;; size=31 bbWeight=8 PerfScore 110.00
-G_M19804_IG12:        ; bbWeight=1, gcrefRegs=000B {rax rcx rbx}, byrefRegs=0000 {}, byref, isz
+G_M19804_IG11:        ; bbWeight=1, gcrefRegs=000B {rax rcx rbx}, byrefRegs=0000 {}, byref, isz
        lea      r8d, [rdx+0x01]
        mov      dword ptr [rbx+0x10], r8d
        mov      edx, edx
@@ -204,9 +201,9 @@ G_M19804_IG12:        ; bbWeight=1, gcrefRegs=000B {rax rcx rbx}, byrefRegs=0000
        call     CORINFO_HELP_ASSIGN_REF
        ; gcrRegs -[rax rdx rbx]
        ; byrRegs -[rcx]
-       jmp      SHORT G_M19804_IG14
+       jmp      SHORT G_M19804_IG13
                       ;; size=25 bbWeight=1 PerfScore 6.00
-G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
+G_M19804_IG12:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs +[rax rbx]
        mov      rcx, rbx
        ; gcrRegs +[rcx]
@@ -217,33 +214,31 @@ G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0009 {rax rbx}, byrefRegs=0000 {},
        ; gcr arg pop 0
        nop      
                        ;; size=12 bbWeight=1 PerfScore 1.75
-G_M19804_IG14:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
-       lea      rcx, [rbp-0x48]
+G_M19804_IG13:        ; bbWeight=1, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
+       lea      rcx, [rbp-0x40]
        call     CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT
        ; gcr arg pop 0
        nop      
                        ;; size=10 bbWeight=1 PerfScore 1.75
-G_M19804_IG15:        ; bbWeight=1, epilog, nogc, extend
-       add      rsp, 72
+G_M19804_IG14:        ; bbWeight=1, epilog, nogc, extend
+       add      rsp, 64
        pop      rbx
        pop      rsi
        pop      rdi
        pop      r14
-       pop      r15
        pop      rbp
        ret      
-                     ;; size=13 bbWeight=1 PerfScore 4.25
-G_M19804_IG16:        ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, funclet prolog, nogc
+                     ;; size=11 bbWeight=1 PerfScore 3.75
+G_M19804_IG15:        ; bbWeight=0, gcrefRegs=0004 {rdx}, byrefRegs=0000 {}, byref, funclet prolog, nogc
        ; gcrRegs +[rdx]
        push     rbp
-       push     r15
        push     r14
        push     rdi
        push     rsi
        push     rbx
-       sub      rsp, 40
...
  
+2 (+1.02%) : 2575.dasm - System.Runtime.InteropServices.ComWrappers:DetachNonPromotedObjects() (FullOpts)
@@ -9,33 +9,34 @@
 ;
 ;* V00 loc0         [V00    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Runtime.InteropServices.GCHandle]>
 ;* V01 loc1         [V01    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.Runtime.InteropServices.GCHandle>
-;  V02 loc2         [V02,T05] (  5, 10   )     ref  ->  rbp         class-hnd exact <System.Runtime.InteropServices.ComWrappers+ReferenceTrackerNativeObjectWrapper>
+;  V02 loc2         [V02,T06] (  5, 10   )     ref  ->  rbp         class-hnd exact <System.Runtime.InteropServices.ComWrappers+ReferenceTrackerNativeObjectWrapper>
 ;  V03 OutArgs      [V03    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "updating class info" <System.Runtime.InteropServices.ComWrappers+ReferenceTrackerNativeObjectWrapper>
-;  V05 tmp2         [V05,T09] (  2,  4   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Runtime.InteropServices.GCHandle]>
+;  V05 tmp2         [V05,T10] (  2,  4   )     ref  ->  rbx         class-hnd exact single-def "Inlining Arg" <System.Collections.Generic.List`1[System.Runtime.InteropServices.GCHandle]>
 ;* V06 tmp3         [V06    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Runtime.InteropServices.GCHandle]>
 ;* V07 tmp4         [V07    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V08 tmp5         [V08    ] (  0,  0   )    long  ->  zero-ref    ld-addr-op "NewObj constructor temp"
 ;* V09 tmp6         [V09    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V10 tmp7         [V10    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V11 tmp8         [V11    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
-;  V12 tmp9         [V12,T08] (  3,  6   )    long  ->  rcx         "Inline stloc first use temp"
+;  V12 tmp9         [V12,T09] (  3,  6   )    long  ->  rcx         "Inline stloc first use temp"
 ;* V13 tmp10        [V13    ] (  0,  0   )    long  ->  zero-ref    ld-addr-op "NewObj constructor temp"
 ;* V14 tmp11        [V14    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V15 tmp12        [V15    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
-;* V16 tmp13        [V16,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V16 tmp13        [V16,T08] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V17 tmp14        [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Collections.Generic.List`1[System.Runtime.InteropServices.GCHandle]>
 ;  V18 tmp15        [V18,T02] (  4, 17   )     ref  ->  rbx         single-def "field V00._list (fldOffset=0x0)" P-INDEP
 ;  V19 tmp16        [V19,T00] (  6, 21   )     int  ->  rdi         "field V00._index (fldOffset=0x8)" P-INDEP
-;  V20 tmp17        [V20,T06] (  2,  9   )     int  ->  rsi         "field V00._version (fldOffset=0xc)" P-INDEP
-;  V21 tmp18        [V21,T03] (  3,  8   )    long  ->  rcx         "field V00._current (fldOffset=0x10)" P-INDEP
+;  V20 tmp17        [V20,T07] (  2,  9   )     int  ->  rsi         "field V00._version (fldOffset=0xc)" P-INDEP
+;  V21 tmp18        [V21,T04] (  3,  8   )    long  ->  rcx         "field V00._current (fldOffset=0x10)" P-INDEP
 ;* V22 tmp19        [V22    ] (  0,  0   )    long  ->  zero-ref    "field V01._handle (fldOffset=0x0)" P-INDEP
-;  V23 tmp20        [V23,T10] (  3,  3   )     ref  ->  rbx         single-def "field V06._list (fldOffset=0x0)" P-INDEP
-;* V24 tmp21        [V24,T12] (  0,  0   )     int  ->  zero-ref    "field V06._index (fldOffset=0x8)" P-INDEP
-;  V25 tmp22        [V25,T11] (  2,  2   )     int  ->  rsi         "field V06._version (fldOffset=0xc)" P-INDEP
+;  V23 tmp20        [V23,T11] (  3,  3   )     ref  ->  rbx         single-def "field V06._list (fldOffset=0x0)" P-INDEP
+;* V24 tmp21        [V24,T13] (  0,  0   )     int  ->  zero-ref    "field V06._index (fldOffset=0x8)" P-INDEP
+;  V25 tmp22        [V25,T12] (  2,  2   )     int  ->  rsi         "field V06._version (fldOffset=0xc)" P-INDEP
 ;* V26 tmp23        [V26    ] (  0,  0   )    long  ->  zero-ref    "field V06._current (fldOffset=0x10)" P-INDEP
 ;  V27 tmp24        [V27,T01] (  3, 24   )     ref  ->  rcx         "arr expr"
-;  V28 cse0         [V28,T04] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V28 cse0         [V28,T05] (  2,  8   )     int  ->  rcx         "CSE - aggressive"
+;  V29 cse1         [V29,T03] (  2, 16   )     int  ->  rcx         "CSE - aggressive"
 ;
 ; Lcl frame size = 40
 
@@ -101,9 +102,10 @@ G_M56142_IG04:        ; bbWeight=2, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byr
        ; gcr arg pop 0
                        ;; size=85 bbWeight=2 PerfScore 32.00
 G_M56142_IG05:        ; bbWeight=8, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
-       cmp      esi, dword ptr [rbx+0x14]
+       mov      ecx, dword ptr [rbx+0x14]
+       cmp      esi, ecx
        jne      SHORT G_M56142_IG11
-                      ;; size=5 bbWeight=8 PerfScore 32.00
+                      ;; size=7 bbWeight=8 PerfScore 26.00
 G_M56142_IG06:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref, isz
        mov      ecx, dword ptr [rbx+0x10]
        cmp      edi, ecx
@@ -149,7 +151,7 @@ G_M56142_IG11:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 197, prolog size 8, PerfScore 149.00, instruction count 62, allocated bytes for code 197 (MethodHash=9ce224b1) for method System.Runtime.InteropServices.ComWrappers:DetachNonPromotedObjects() (FullOpts)
+; Total bytes of code 199, prolog size 8, PerfScore 143.00, instruction count 63, allocated bytes for code 199 (MethodHash=9ce224b1) for method System.Runtime.InteropServices.ComWrappers:DetachNonPromotedObjects() (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+4 (+1.72%) : 11355.dasm - System.Linq.Expressions.Interpreter.InstructionList:BuildRuntimeLabels():System.Linq.Expressions.Interpreter.RuntimeLabel[]:this (FullOpts)
@@ -7,7 +7,7 @@
 ; fully interruptible
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T14] (  5,  4   )     ref  ->  rbx         this class-hnd exact single-def <System.Linq.Expressions.Interpreter.InstructionList>
+;  V00 this         [V00,T15] (  5,  4   )     ref  ->  rbx         this class-hnd exact single-def <System.Linq.Expressions.Interpreter.InstructionList>
 ;  V01 loc0         [V01,T04] (  7, 20.50)     ref  ->  rax         class-hnd exact single-def <System.Linq.Expressions.Interpreter.RuntimeLabel[]>
 ;* V02 loc1         [V02    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op <System.Collections.Generic.List`1+Enumerator[System.Linq.Expressions.Interpreter.BranchLabel]>
 ;* V03 loc2         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Linq.Expressions.Interpreter.BranchLabel>
@@ -16,7 +16,7 @@
 ;* V06 tmp2         [V06    ] (  0,  0   )  struct (16) zero-ref    "Strict ordering of exceptions for Array store" <System.Linq.Expressions.Interpreter.RuntimeLabel>
 ;* V07 tmp3         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Linq.Expressions.Interpreter.RuntimeLabel>
 ;  V08 tmp4         [V08,T03] (  3, 24   )     int  ->  rcx         "impAppendStmt"
-;  V09 tmp5         [V09,T23] (  2,  2   )     ref  ->  rcx         class-hnd exact single-def "Inlining Arg" <<unknown class>>
+;  V09 tmp5         [V09,T24] (  2,  2   )     ref  ->  rcx         class-hnd exact single-def "Inlining Arg" <<unknown class>>
 ;* V10 tmp6         [V10    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[System.Linq.Expressions.Interpreter.BranchLabel]>
 ;* V11 tmp7         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Linq.Expressions.Interpreter.RuntimeLabel>
 ;  V12 tmp8         [V12,T10] (  2,  8   )     int  ->  r11         "Inlining Arg"
@@ -27,25 +27,26 @@
 ;  V17 tmp13        [V17,T07] (  4, 12.50)     ref  ->  rcx         single-def "field V02._list (fldOffset=0x0)" P-INDEP
 ;  V18 tmp14        [V18,T05] (  5, 12   )     ref  ->  r10         "field V02._current (fldOffset=0x8)" P-INDEP
 ;  V19 tmp15        [V19,T01] (  6, 20.50)     int  ->   r8         "field V02._index (fldOffset=0x10)" P-INDEP
-;  V20 tmp16        [V20,T16] (  2,  4.50)     int  ->  rdx         "field V02._version (fldOffset=0x14)" P-INDEP
+;  V20 tmp16        [V20,T17] (  2,  4.50)     int  ->  rdx         "field V02._version (fldOffset=0x14)" P-INDEP
 ;* V21 tmp17        [V21    ] (  0,  0   )     int  ->  zero-ref    "field V06.Index (fldOffset=0x0)" P-INDEP
 ;* V22 tmp18        [V22    ] (  0,  0   )     int  ->  zero-ref    "field V06.StackDepth (fldOffset=0x4)" P-INDEP
 ;* V23 tmp19        [V23    ] (  0,  0   )     int  ->  zero-ref    "field V06.ContinuationStackDepth (fldOffset=0x8)" P-INDEP
-;* V24 tmp20        [V24,T20] (  0,  0   )     int  ->  zero-ref    "field V07.Index (fldOffset=0x0)" P-INDEP
-;* V25 tmp21        [V25,T21] (  0,  0   )     int  ->  zero-ref    "field V07.StackDepth (fldOffset=0x4)" P-INDEP
-;* V26 tmp22        [V26,T22] (  0,  0   )     int  ->  zero-ref    "field V07.ContinuationStackDepth (fldOffset=0x8)" P-INDEP
-;  V27 tmp23        [V27,T24] (  3,  1.50)     ref  ->  rcx         single-def "field V10._list (fldOffset=0x0)" P-INDEP
+;* V24 tmp20        [V24,T21] (  0,  0   )     int  ->  zero-ref    "field V07.Index (fldOffset=0x0)" P-INDEP
+;* V25 tmp21        [V25,T22] (  0,  0   )     int  ->  zero-ref    "field V07.StackDepth (fldOffset=0x4)" P-INDEP
+;* V26 tmp22        [V26,T23] (  0,  0   )     int  ->  zero-ref    "field V07.ContinuationStackDepth (fldOffset=0x8)" P-INDEP
+;  V27 tmp23        [V27,T25] (  3,  1.50)     ref  ->  rcx         single-def "field V10._list (fldOffset=0x0)" P-INDEP
 ;* V28 tmp24        [V28    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V10._current (fldOffset=0x8)" P-INDEP
-;* V29 tmp25        [V29,T26] (  0,  0   )     int  ->  zero-ref    "field V10._index (fldOffset=0x10)" P-INDEP
-;  V30 tmp26        [V30,T25] (  2,  1   )     int  ->  rdx         "field V10._version (fldOffset=0x14)" P-INDEP
-;  V31 tmp27        [V31,T17] (  2,  4   )     int  ->  r11         "field V11.Index (fldOffset=0x0)" P-INDEP
-;  V32 tmp28        [V32,T18] (  2,  4   )     int  ->  r10         "field V11.StackDepth (fldOffset=0x4)" P-INDEP
-;  V33 tmp29        [V33,T19] (  2,  4   )     int  ->  rbx         "field V11.ContinuationStackDepth (fldOffset=0x8)" P-INDEP
+;* V29 tmp25        [V29,T27] (  0,  0   )     int  ->  zero-ref    "field V10._index (fldOffset=0x10)" P-INDEP
+;  V30 tmp26        [V30,T26] (  2,  1   )     int  ->  rdx         "field V10._version (fldOffset=0x14)" P-INDEP
+;  V31 tmp27        [V31,T18] (  2,  4   )     int  ->  r11         "field V11.Index (fldOffset=0x0)" P-INDEP
+;  V32 tmp28        [V32,T19] (  2,  4   )     int  ->  r10         "field V11.StackDepth (fldOffset=0x4)" P-INDEP
+;  V33 tmp29        [V33,T20] (  2,  4   )     int  ->  rbx         "field V11.ContinuationStackDepth (fldOffset=0x8)" P-INDEP
 ;  V34 tmp30        [V34,T02] (  3, 24   )     ref  ->  r10         "arr expr"
 ;  V35 tmp31        [V35,T06] (  4, 16   )   byref  ->   r9         "BlockOp address local"
 ;  V36 tmp32        [V36,T00] (  4, 32   )   byref  ->  rcx         single-def "BlockOp address local"
-;  V37 cse0         [V37,T09] (  2,  8   )     int  ->  r10         "CSE - aggressive"
-;  V38 cse1         [V38,T15] (  3,  6   )     int  ->   r9         "CSE - aggressive"
+;  V37 cse0         [V37,T14] (  2,  8   )     int  ->  r10         "CSE - aggressive"
+;  V38 cse1         [V38,T09] (  2,  8   )     int  ->  r10         "CSE - aggressive"
+;  V39 cse2         [V39,T16] (  3,  6   )     int  ->   r9         "CSE - aggressive"
 ;
 ; Lcl frame size = 32
 
@@ -110,7 +111,8 @@ G_M53470_IG07:        ; bbWeight=2, gcrefRegs=0403 {rax rcx r10}, byrefRegs=0000
                        ;; size=51 bbWeight=2 PerfScore 35.50
 G_M53470_IG08:        ; bbWeight=4, gcrefRegs=0003 {rax rcx}, byrefRegs=0000 {}, byref, isz
        ; byrRegs -[r9]
-       cmp      edx, dword ptr [rcx+0x14]
+       mov      r10d, dword ptr [rcx+0x14]
+       cmp      edx, r10d
        jne      SHORT G_M53470_IG14
        mov      r10d, dword ptr [rcx+0x10]
        cmp      r8d, r10d
@@ -123,7 +125,7 @@ G_M53470_IG08:        ; bbWeight=4, gcrefRegs=0003 {rax rcx}, byrefRegs=0000 {},
        mov      r10, gword ptr [r10+8*r9+0x10]
        inc      r8d
        jmp      SHORT G_M53470_IG07
-                      ;; size=37 bbWeight=4 PerfScore 71.00
+                     ;; size=41 bbWeight=4 PerfScore 68.00
 G_M53470_IG09:        ; bbWeight=4, gcrefRegs=0001 {rax}, byrefRegs=0000 {}, byref, isz
        ; gcrRegs -[rcx r10]
        mov      ecx, dword ptr [rax+0x08]
@@ -164,7 +166,7 @@ G_M53470_IG14:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 232, prolog size 8, PerfScore 173.25, instruction count 65, allocated bytes for code 232 (MethodHash=c4742f21) for method System.Linq.Expressions.Interpreter.InstructionList:BuildRuntimeLabels():System.Linq.Expressions.Interpreter.RuntimeLabel[]:this (FullOpts)
+; Total bytes of code 236, prolog size 8, PerfScore 170.25, instruction count 66, allocated bytes for code 236 (MethodHash=c4742f21) for method System.Linq.Expressions.Interpreter.InstructionList:BuildRuntimeLabels():System.Linq.Expressions.Interpreter.RuntimeLabel[]:this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
+4 (+2.84%) : 12747.dasm - System.Linq.Expressions.Interpreter.BranchLabel:Mark(System.Linq.Expressions.Interpreter.InstructionList):this (FullOpts)
@@ -13,21 +13,22 @@
 ;* V03 loc1         [V03    ] (  0,  0   )     int  ->  zero-ref   
 ;  V04 OutArgs      [V04    ] (  1,  1   )  struct (32) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V05 tmp1         [V05    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <<unknown class>>
-;  V06 tmp2         [V06,T10] (  2,  2   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Collections.Generic.List`1[int]>
+;  V06 tmp2         [V06,T11] (  2,  2   )     ref  ->  rdi         class-hnd exact single-def "Inlining Arg" <System.Collections.Generic.List`1[int]>
 ;* V07 tmp3         [V07    ] (  0,  0   )  struct (24) zero-ref    ld-addr-op "NewObj constructor temp" <System.Collections.Generic.List`1+Enumerator[int]>
 ;* V08 tmp4         [V08,T07] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V09 tmp5         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.Collections.Generic.List`1[int]>
 ;  V10 tmp6         [V10,T03] (  4, 12.50)     ref  ->  rdi         single-def "field V02._list (fldOffset=0x0)" P-INDEP
 ;  V11 tmp7         [V11,T00] (  6, 20.50)     int  ->  r14         "field V02._index (fldOffset=0x8)" P-INDEP
-;  V12 tmp8         [V12,T08] (  2,  4.50)     int  ->  rbp         "field V02._version (fldOffset=0xc)" P-INDEP
+;  V12 tmp8         [V12,T09] (  2,  4.50)     int  ->  rbp         "field V02._version (fldOffset=0xc)" P-INDEP
 ;  V13 tmp9         [V13,T04] (  3,  8   )     int  ->  rdx         "field V02._current (fldOffset=0x10)" P-INDEP
-;  V14 tmp10        [V14,T11] (  3,  1.50)     ref  ->  rdi         single-def "field V07._list (fldOffset=0x0)" P-INDEP
-;* V15 tmp11        [V15,T13] (  0,  0   )     int  ->  zero-ref    "field V07._index (fldOffset=0x8)" P-INDEP
-;  V16 tmp12        [V16,T12] (  2,  1   )     int  ->  rbp         "field V07._version (fldOffset=0xc)" P-INDEP
+;  V14 tmp10        [V14,T12] (  3,  1.50)     ref  ->  rdi         single-def "field V07._list (fldOffset=0x0)" P-INDEP
+;* V15 tmp11        [V15,T14] (  0,  0   )     int  ->  zero-ref    "field V07._index (fldOffset=0x8)" P-INDEP
+;  V16 tmp12        [V16,T13] (  2,  1   )     int  ->  rbp         "field V07._version (fldOffset=0xc)" P-INDEP
 ;* V17 tmp13        [V17    ] (  0,  0   )     int  ->  zero-ref    "field V07._current (fldOffset=0x10)" P-INDEP
 ;  V18 tmp14        [V18,T01] (  3, 24   )     ref  ->   r8         "arr expr"
-;  V19 cse0         [V19,T05] (  2,  8   )     int  ->   r8         "CSE - aggressive"
-;  V20 cse1         [V20,T09] (  3,  2.50)     ref  ->  rdi         "CSE - aggressive"
+;  V19 cse0         [V19,T08] (  2,  8   )     int  ->   r8         "CSE - aggressive"
+;  V20 cse1         [V20,T05] (  2,  8   )     int  ->   r8         "CSE - aggressive"
+;  V21 cse2         [V21,T10] (  3,  2.50)     ref  ->  rdi         "CSE - aggressive"
 ;
 ; Lcl frame size = 32
 
@@ -73,7 +74,8 @@ G_M44928_IG04:        ; bbWeight=2, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000
        ; gcr arg pop 0
                        ;; size=15 bbWeight=2 PerfScore 7.00
 G_M44928_IG05:        ; bbWeight=4, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000 {}, byref, isz
-       cmp      ebp, dword ptr [rdi+0x14]
+       mov      r8d, dword ptr [rdi+0x14]
+       cmp      ebp, r8d
        jne      SHORT G_M44928_IG09
        mov      r8d, dword ptr [rdi+0x10]
        cmp      r14d, r8d
@@ -86,7 +88,7 @@ G_M44928_IG05:        ; bbWeight=4, gcrefRegs=00C8 {rbx rsi rdi}, byrefRegs=0000
        mov      edx, dword ptr [r8+4*rcx+0x10]
        inc      r14d
        jmp      SHORT G_M44928_IG04
-                      ;; size=37 bbWeight=4 PerfScore 71.00
+                     ;; size=41 bbWeight=4 PerfScore 68.00
 G_M44928_IG06:        ; bbWeight=4, gcrefRegs=0008 {rbx}, byrefRegs=0000 {}, byref
        ; gcrRegs -[rsi rdi r8]
        xor      rax, rax
@@ -113,7 +115,7 @@ G_M44928_IG09:        ; bbWeight=0, gcrefRegs=0000 {}, byrefRegs=0000 {}, byref
        int3     
                        ;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 141, prolog size 10, PerfScore 108.88, instruction count 49, allocated bytes for code 141 (MethodHash=bf92507f) for method System.Linq.Expressions.Interpreter.BranchLabel:Mark(System.Linq.Expressions.Interpreter.InstructionList):this (FullOpts)
+; Total bytes of code 145, prolog size 10, PerfScore 105.88, instruction count 50, allocated bytes for code 145 (MethodHash=bf92507f) for method System.Linq.Expressions.Interpreter.BranchLabel:Mark(System.Linq.Expressions.Interpreter.InstructionList):this (FullOpts)
 ; ============================================================
 
 Unwind Info:
  
  
  
Details
Improvements/regressions per collection
| Collection | Contexts with diffs | Improvements | Regressions | Same size | Improvements (bytes) | Regressions (bytes) | 
| aspnet.run.windows.x64.checked.mch | 380 | 249 | 120 | 11 | -3,574 | +943 | 
| benchmarks.run.windows.x64.checked.mch | 121 | 24 | 95 | 2 | -247 | +282 | 
| benchmarks.run_pgo.windows.x64.checked.mch | 75 | 22 | 52 | 1 | -418 | +1,166 | 
| benchmarks.run_tiered.windows.x64.checked.mch | 29 | 14 | 13 | 2 | -166 | +31 | 
| coreclr_tests.run.windows.x64.checked.mch | 122 | 60 | 59 | 3 | -542 | +225 | 
| libraries.crossgen2.windows.x64.checked.mch | 38 | 22 | 16 | 0 | -194 | +79 | 
| libraries.pmi.windows.x64.checked.mch | 319 | 160 | 152 | 7 | -1,306 | +456 | 
| libraries_tests.run.windows.x64.Release.mch | 57 | 18 | 38 | 1 | -179 | +154 | 
| librariestestsnotieredcompilation.run.windows.x64.Release.mch | 360 | 192 | 156 | 12 | -1,504 | +633 | 
| realworld.run.windows.x64.checked.mch | 146 | 41 | 104 | 1 | -520 | +287 | 
| smoke_tests.nativeaot.windows.x64.checked.mch | 34 | 18 | 13 | 3 | -122 | +32 | 
|  | 1,681 | 820 | 818 | 43 | -8,772 | +4,288 | 
Context information
| Collection | Diffed contexts | MinOpts | FullOpts | Missed, base | Missed, diff | 
| aspnet.run.windows.x64.checked.mch | 129,157 | 61,702 | 67,455 | 133 (0.10%) | 133 (0.10%) | 
| benchmarks.run.windows.x64.checked.mch | 36,886 | 6 | 36,880 | 55 (0.15%) | 55 (0.15%) | 
| benchmarks.run_pgo.windows.x64.checked.mch | 107,598 | 68,114 | 39,484 | 379 (0.35%) | 379 (0.35%) | 
| benchmarks.run_tiered.windows.x64.checked.mch | 82,880 | 62,052 | 20,828 | 63 (0.08%) | 63 (0.08%) | 
| coreclr_tests.run.windows.x64.checked.mch | 492,183 | 273,478 | 218,705 | 118 (0.02%) | 118 (0.02%) | 
| libraries.crossgen2.windows.x64.checked.mch | 274,111 | 15 | 274,096 | 0 (0.00%) | 0 (0.00%) | 
| libraries.pmi.windows.x64.checked.mch | 343,885 | 6 | 343,879 | 90 (0.03%) | 92 (0.03%) | 
| libraries_tests.run.windows.x64.Release.mch | 120,206 | 100,260 | 19,946 | 40 (0.03%) | 40 (0.03%) | 
| librariestestsnotieredcompilation.run.windows.x64.Release.mch | 341,591 | 21,947 | 319,644 | 2,320 (0.67%) | 2,321 (0.67%) | 
| realworld.run.windows.x64.checked.mch | 38,742 | 3 | 38,739 | 14 (0.04%) | 14 (0.04%) | 
| smoke_tests.nativeaot.windows.x64.checked.mch | 32,421 | 11 | 32,410 | 13 (0.04%) | 13 (0.04%) | 
|  | 1,999,660 | 587,594 | 1,412,066 | 3,225 (0.16%) | 3,228 (0.16%) | 
jit-analyze output
aspnet.run.windows.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 46770084 (overridden on cmd)
Total bytes of diff: 46767453 (overridden on cmd)
Total bytes of delta: -2631 (-0.01 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          32 : 123682.dasm (1.41 % of base)
          27 : 82204.dasm (0.92 % of base)
          26 : 25579.dasm (0.34 % of base)
          25 : 49373.dasm (0.87 % of base)
          24 : 51590.dasm (2.05 % of base)
          23 : 52097.dasm (0.78 % of base)
          23 : 52099.dasm (0.80 % of base)
          19 : 46316.dasm (0.56 % of base)
          18 : 46310.dasm (0.38 % of base)
          18 : 49018.dasm (1.54 % of base)
          17 : 49173.dasm (0.63 % of base)
          17 : 49355.dasm (0.53 % of base)
          17 : 24839.dasm (0.21 % of base)
          17 : 82125.dasm (0.78 % of base)
          15 : 66421.dasm (0.31 % of base)
          15 : 64381.dasm (0.58 % of base)
          15 : 59785.dasm (0.31 % of base)
          15 : 59704.dasm (0.59 % of base)
          14 : 82192.dasm (0.49 % of base)
          13 : 59579.dasm (0.81 % of base)
Top file improvements (bytes):
         -91 : 35482.dasm (-3.70 % of base)
         -68 : 54998.dasm (-0.86 % of base)
         -68 : 28834.dasm (-0.86 % of base)
         -56 : 64687.dasm (-0.71 % of base)
         -51 : 46090.dasm (-3.51 % of base)
         -49 : 119123.dasm (-1.43 % of base)
         -49 : 126289.dasm (-2.30 % of base)
         -49 : 114455.dasm (-2.32 % of base)
         -46 : 25319.dasm (-0.60 % of base)
         -40 : 35146.dasm (-2.04 % of base)
         -40 : 58862.dasm (-2.04 % of base)
         -39 : 116340.dasm (-5.08 % of base)
         -39 : 117300.dasm (-5.08 % of base)
         -39 : 113580.dasm (-1.55 % of base)
         -36 : 30499.dasm (-2.49 % of base)
         -35 : 100330.dasm (-1.95 % of base)
         -34 : 49610.dasm (-0.74 % of base)
         -29 : 66434.dasm (-0.62 % of base)
         -29 : 59936.dasm (-0.61 % of base)
         -29 : 46376.dasm (-0.61 % of base)
79 total files with Code Size differences (45 improved, 34 regressed), 11 unchanged.
Top method regressions (bytes):
          32 (1.41 % of base) : 123682.dasm - YesSql.Services.DefaultQuery+<CountAsync>d__31:MoveNext():this (FullOpts)
          27 (0.92 % of base) : 82204.dasm - Microsoft.AspNetCore.Mvc.ViewResult+<ExecuteResultAsync>d__26:MoveNext():this (Tier1)
          26 (0.34 % of base) : 25579.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (Tier1)
          25 (0.87 % of base) : 49373.dasm - Microsoft.AspNetCore.Mvc.Controller:get_TempData():Microsoft.AspNetCore.Mvc.ViewFeatures.ITempDataDictionary:this (Tier1)
          24 (2.05 % of base) : 51590.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
          23 (0.80 % of base) : 52099.dasm - Microsoft.AspNetCore.Mvc.Controller:get_TempData():Microsoft.AspNetCore.Mvc.ViewFeatures.ITempDataDictionary:this (Tier1)
          23 (0.78 % of base) : 52097.dasm - Microsoft.AspNetCore.Mvc.ViewResult+<ExecuteResultAsync>d__26:MoveNext():this (Tier1)
          19 (0.56 % of base) : 46316.dasm - Microsoft.AspNetCore.Mvc.Razor.RazorPagePropertyActivator:Activate(System.Object,Microsoft.AspNetCore.Mvc.Rendering.ViewContext):this (Tier1)
          18 (0.38 % of base) : 46310.dasm - Microsoft.AspNetCore.Mvc.Razor.RazorView+<RenderPageCoreAsync>d__20:MoveNext():this (Tier1)
          18 (1.54 % of base) : 49018.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
          17 (0.63 % of base) : 49173.dasm - Benchmarks.Controllers.FortunesController+<Ef>d__3:MoveNext():this (Tier1)
          17 (0.78 % of base) : 82125.dasm - Microsoft.AspNetCore.Mvc.Razor.RazorPageBase:StartTagHelperWritingScope(System.Text.Encodings.Web.HtmlEncoder):this (Tier1)
          17 (0.53 % of base) : 49355.dasm - Microsoft.AspNetCore.Mvc.Razor.RazorView+<RenderAsync>d__18:MoveNext():this (Tier1)
          17 (0.21 % of base) : 24839.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (Tier1)
          15 (0.59 % of base) : 59704.dasm - Benchmarks.Controllers.FortunesController+<Ef>d__3:MoveNext():this (Tier1)
          15 (0.58 % of base) : 64381.dasm - Benchmarks.Middleware.FortunesDapperMiddleware+<Invoke>d__4:MoveNext():this (Tier1)
          15 (0.31 % of base) : 66421.dasm - Microsoft.AspNetCore.Mvc.Routing.UrlHelperFactory:GetUrlHelper(Microsoft.AspNetCore.Mvc.ActionContext):Microsoft.AspNetCore.Mvc.IUrlHelper:this (Tier1)
          15 (0.31 % of base) : 59785.dasm - Microsoft.AspNetCore.Mvc.Routing.UrlHelperFactory:GetUrlHelper(Microsoft.AspNetCore.Mvc.ActionContext):Microsoft.AspNetCore.Mvc.IUrlHelper:this (Tier1)
          14 (0.49 % of base) : 82192.dasm - Microsoft.AspNetCore.Mvc.Controller:get_TempData():Microsoft.AspNetCore.Mvc.ViewFeatures.ITempDataDictionary:this (Tier1)
          13 (0.81 % of base) : 59589.dasm - Microsoft.AspNetCore.Mvc.Razor.RazorPageBase:get_BufferScope():Microsoft.AspNetCore.Mvc.ViewFeatures.Buffers.IViewBufferScope:this (Tier1)
Top method improvements (bytes):
         -91 (-3.70 % of base) : 35482.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
         -68 (-0.86 % of base) : 54998.dasm - Benchmarks.Middleware.MiddlewareHelpers:RenderFortunesHtml(System.Collections.Generic.IEnumerable`1[Benchmarks.Data.Fortune],Microsoft.AspNetCore.Http.HttpContext,System.Text.Encodings.Web.HtmlEncoder):System.Threading.Tasks.Task (Tier1)
         -68 (-0.86 % of base) : 28834.dasm - Benchmarks.Middleware.MiddlewareHelpers:RenderFortunesHtml(System.Collections.Generic.IEnumerable`1[Benchmarks.Data.Fortune],Microsoft.AspNetCore.Http.HttpContext,System.Text.Encodings.Web.HtmlEncoder):System.Threading.Tasks.Task (Tier1)
         -56 (-0.71 % of base) : 64687.dasm - Benchmarks.Middleware.MiddlewareHelpers:RenderFortunesHtml(System.Collections.Generic.IEnumerable`1[Benchmarks.Data.Fortune],Microsoft.AspNetCore.Http.HttpContext,System.Text.Encodings.Web.HtmlEncoder):System.Threading.Tasks.Task (Tier1)
         -51 (-3.51 % of base) : 46090.dasm - Microsoft.EntityFrameworkCore.DbContext+<Microsoft-EntityFrameworkCore-Infrastructure-IResettableService-ResetStateAsync>d__79:MoveNext():this (Tier1)
         -49 (-2.30 % of base) : 126289.dasm - Fluid.Ast.FilterExpression+<EvaluateAsync>d__12:MoveNext():this (FullOpts)
         -49 (-2.32 % of base) : 114455.dasm - Fluid.Ast.FilterExpression+<EvaluateAsync>d__12:MoveNext():this (Tier1)
         -49 (-1.43 % of base) : 119123.dasm - OrchardCore.ContentManagement.Handlers.ContentPartHandlerResolver:GetHandlers(System.String):System.Collections.Generic.IList`1[OrchardCore.ContentManagement.Handlers.IContentPartHandler]:this (Tier1)
         -46 (-0.60 % of base) : 25319.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (Tier1)
         -40 (-2.04 % of base) : 35146.dasm - Microsoft.AspNetCore.Mvc.ApplicationModels.AntiforgeryApplicationModelProvider:OnProvidersExecuting(Microsoft.AspNetCore.Mvc.ApplicationModels.ApplicationModelProviderContext):this (Tier1-OSR)
         -40 (-2.04 % of base) : 58862.dasm - Microsoft.AspNetCore.Mvc.ApplicationModels.AntiforgeryApplicationModelProvider:OnProvidersExecuting(Microsoft.AspNetCore.Mvc.ApplicationModels.ApplicationModelProviderContext):this (Tier1-OSR)
         -39 (-1.55 % of base) : 113580.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier1)
         -39 (-5.08 % of base) : 116340.dasm - System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte (Tier1-OSR)
         -39 (-5.08 % of base) : 117300.dasm - System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte (Tier1-OSR)
         -36 (-2.49 % of base) : 30499.dasm - Npgsql.Internal.NpgsqlConnector+<WriteParse>d__304:MoveNext():this (Tier1-OSR)
         -35 (-1.95 % of base) : 100330.dasm - System.Linq.Enumerable:Aggregate[System.__Canon,System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.__Canon,System.Func`3[System.__Canon,System.__Canon,System.__Canon]):System.__Canon (Tier1)
         -34 (-0.74 % of base) : 49610.dasm - AspNetCoreGeneratedDocument.Views_Fortunes_Fortunes+<<ExecuteAsync>b__8_1>d:MoveNext():this (Tier1)
         -29 (-0.62 % of base) : 66434.dasm - AspNetCoreGeneratedDocument.Views_Fortunes_Fortunes+<<ExecuteAsync>b__8_1>d:MoveNext():this (Tier1)
         -29 (-0.61 % of base) : 59936.dasm - AspNetCoreGeneratedDocument.Views_Fortunes_Fortunes+<<ExecuteAsync>b__8_1>d:MoveNext():this (Tier1)
         -29 (-0.61 % of base) : 46376.dasm - AspNetCoreGeneratedDocument.Views_Fortunes_Fortunes+<<ExecuteAsync>b__8_1>d:MoveNext():this (Tier1)
Top method regressions (percentages):
           2 (2.13 % of base) : 126912.dasm - Fluid.Ast.NamedExpressionList:.ctor(System.Collections.Generic.List`1[Fluid.Ast.FilterArgument]):this (FullOpts)
           2 (2.13 % of base) : 114732.dasm - Fluid.Ast.NamedExpressionList:.ctor(System.Collections.Generic.List`1[Fluid.Ast.FilterArgument]):this (Tier1)
          24 (2.05 % of base) : 51590.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
           2 (1.61 % of base) : 126681.dasm - AngleSharp.Dom.EventTarget:HasEventListener(System.String):ubyte:this (FullOpts)
          18 (1.54 % of base) : 49018.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
           5 (1.52 % of base) : 36472.dasm - System.Diagnostics.Metrics.Meter:GetPublishedInstruments():System.Collections.Generic.List`1[System.Diagnostics.Metrics.Instrument] (Tier1-OSR)
          32 (1.41 % of base) : 123682.dasm - YesSql.Services.DefaultQuery+<CountAsync>d__31:MoveNext():this (FullOpts)
           5 (1.25 % of base) : 116338.dasm - Microsoft.AspNetCore.Hosting.BootstrapHostBuilder:RunDefaultCallbacks():Microsoft.Extensions.DependencyInjection.ServiceDescriptor:this (Tier1-OSR)
           5 (1.25 % of base) : 20192.dasm - Microsoft.AspNetCore.Hosting.BootstrapHostBuilder:RunDefaultCallbacks():Microsoft.Extensions.DependencyInjection.ServiceDescriptor:this (Tier1-OSR)
           5 (1.25 % of base) : 117298.dasm - Microsoft.AspNetCore.Hosting.BootstrapHostBuilder:RunDefaultCallbacks():Microsoft.Extensions.DependencyInjection.ServiceDescriptor:this (Tier1-OSR)
           5 (1.25 % of base) : 12834.dasm - Microsoft.AspNetCore.Hosting.BootstrapHostBuilder:RunDefaultCallbacks():Microsoft.Extensions.DependencyInjection.ServiceDescriptor:this (Tier1-OSR)
           2 (1.05 % of base) : 9756.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (Tier1-OSR)
          11 (0.93 % of base) : 100505.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
          27 (0.92 % of base) : 82204.dasm - Microsoft.AspNetCore.Mvc.ViewResult+<ExecuteResultAsync>d__26:MoveNext():this (Tier1)
          25 (0.87 % of base) : 49373.dasm - Microsoft.AspNetCore.Mvc.Controller:get_TempData():Microsoft.AspNetCore.Mvc.ViewFeatures.ITempDataDictionary:this (Tier1)
           6 (0.83 % of base) : 121905.dasm - Newtonsoft.Json.JsonPosition:BuildPath(System.Collections.Generic.List`1[Newtonsoft.Json.JsonPosition],System.Nullable`1[Newtonsoft.Json.JsonPosition]):System.String (FullOpts)
          13 (0.81 % of base) : 59589.dasm - Microsoft.AspNetCore.Mvc.Razor.RazorPageBase:get_BufferScope():Microsoft.AspNetCore.Mvc.ViewFeatures.Buffers.IViewBufferScope:this (Tier1)
          13 (0.81 % of base) : 59579.dasm - Microsoft.AspNetCore.Mvc.Razor.RazorPageBase:get_TagHelperFactory():Microsoft.AspNetCore.Mvc.Razor.ITagHelperFactory:this (Tier1)
          23 (0.80 % of base) : 52099.dasm - Microsoft.AspNetCore.Mvc.Controller:get_TempData():Microsoft.AspNetCore.Mvc.ViewFeatures.ITempDataDictionary:this (Tier1)
           2 (0.80 % of base) : 121452.dasm - Microsoft.Data.Sqlite.SqliteCommand:DisposePreparedStatements(ubyte):this (FullOpts)
Top method improvements (percentages):
         -39 (-5.08 % of base) : 116340.dasm - System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte (Tier1-OSR)
         -39 (-5.08 % of base) : 117300.dasm - System.Linq.Enumerable:Any[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):ubyte (Tier1-OSR)
         -18 (-5.06 % of base) : 20474.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (Tier1)
         -12 (-4.01 % of base) : 98253.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:EmitWriteBack(System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack]):this (Instrumented Tier1)
         -18 (-3.73 % of base) : 71072.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
         -18 (-3.73 % of base) : 56158.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
         -18 (-3.73 % of base) : 57424.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
         -91 (-3.70 % of base) : 35482.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
         -26 (-3.59 % of base) : 78255.dasm - Microsoft.AspNetCore.Mvc.ApplicationModels.ControllerActionDescriptorProvider:OnProvidersExecuting(Microsoft.AspNetCore.Mvc.Abstractions.ActionDescriptorProviderContext):this (Tier1-OSR)
         -26 (-3.59 % of base) : 35292.dasm - Microsoft.AspNetCore.Mvc.ApplicationModels.ControllerActionDescriptorProvider:OnProvidersExecuting(Microsoft.AspNetCore.Mvc.Abstractions.ActionDescriptorProviderContext):this (Tier1-OSR)
         -26 (-3.59 % of base) : 69165.dasm - Microsoft.AspNetCore.Mvc.ApplicationModels.ControllerActionDescriptorProvider:OnProvidersExecuting(Microsoft.AspNetCore.Mvc.Abstractions.ActionDescriptorProviderContext):this (Tier1-OSR)
         -26 (-3.59 % of base) : 58866.dasm - Microsoft.AspNetCore.Mvc.ApplicationModels.ControllerActionDescriptorProvider:OnProvidersExecuting(Microsoft.AspNetCore.Mvc.Abstractions.ActionDescriptorProviderContext):this (Tier1-OSR)
         -51 (-3.51 % of base) : 46090.dasm - Microsoft.EntityFrameworkCore.DbContext+<Microsoft-EntityFrameworkCore-Infrastructure-IResettableService-ResetStateAsync>d__79:MoveNext():this (Tier1)
         -24 (-3.49 % of base) : 22021.dasm - Microsoft.AspNetCore.Hosting.ServiceCollectionExtensions:Clone(Microsoft.Extensions.DependencyInjection.IServiceCollection):Microsoft.Extensions.DependencyInjection.IServiceCollection (Tier1-OSR)
         -24 (-3.49 % of base) : 77225.dasm - Microsoft.AspNetCore.Hosting.ServiceCollectionExtensions:Clone(Microsoft.Extensions.DependencyInjection.IServiceCollection):Microsoft.Extensions.DependencyInjection.IServiceCollection (Tier1-OSR)
         -24 (-3.49 % of base) : 9218.dasm - Microsoft.AspNetCore.Hosting.ServiceCollectionExtensions:Clone(Microsoft.Extensions.DependencyInjection.IServiceCollection):Microsoft.Extensions.DependencyInjection.IServiceCollection (Tier1-OSR)
         -24 (-3.49 % of base) : 34142.dasm - Microsoft.AspNetCore.Hosting.ServiceCollectionExtensions:Clone(Microsoft.Extensions.DependencyInjection.IServiceCollection):Microsoft.Extensions.DependencyInjection.IServiceCollection (Tier1-OSR)
         -24 (-3.49 % of base) : 23222.dasm - Microsoft.AspNetCore.Hosting.ServiceCollectionExtensions:Clone(Microsoft.Extensions.DependencyInjection.IServiceCollection):Microsoft.Extensions.DependencyInjection.IServiceCollection (Tier1-OSR)
         -24 (-3.49 % of base) : 29749.dasm - Microsoft.AspNetCore.Hosting.ServiceCollectionExtensions:Clone(Microsoft.Extensions.DependencyInjection.IServiceCollection):Microsoft.Extensions.DependencyInjection.IServiceCollection (Tier1-OSR)
         -24 (-3.49 % of base) : 57462.dasm - Microsoft.AspNetCore.Hosting.ServiceCollectionExtensions:Clone(Microsoft.Extensions.DependencyInjection.IServiceCollection):Microsoft.Extensions.DependencyInjection.IServiceCollection (Tier1-OSR)
  
benchmarks.run.windows.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 11727476 (overridden on cmd)
Total bytes of diff: 11727511 (overridden on cmd)
Total bytes of delta: 35 (0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          14 : 7670.dasm (0.80 % of base)
          11 : 17119.dasm (1.38 % of base)
          11 : 5520.dasm (1.38 % of base)
           7 : 29346.dasm (0.71 % of base)
           6 : 5458.dasm (0.40 % of base)
           6 : 17632.dasm (0.40 % of base)
           5 : 7595.dasm (0.08 % of base)
           4 : 1407.dasm (0.17 % of base)
           4 : 15949.dasm (0.15 % of base)
           4 : 24399.dasm (0.05 % of base)
           4 : 30607.dasm (0.17 % of base)
           4 : 10039.dasm (0.08 % of base)
           4 : 26891.dasm (0.68 % of base)
           4 : 32392.dasm (0.16 % of base)
           4 : 7669.dasm (0.12 % of base)
           4 : 8332.dasm (3.01 % of base)
           4 : 8393.dasm (3.01 % of base)
           4 : 8415.dasm (3.01 % of base)
           4 : 8463.dasm (3.01 % of base)
           4 : 15811.dasm (0.08 % of base)
Top file improvements (bytes):
         -91 : 33609.dasm (-3.66 % of base)
         -24 : 23715.dasm (-1.48 % of base)
         -15 : 2970.dasm (-0.81 % of base)
         -15 : 17920.dasm (-0.81 % of base)
         -12 : 18114.dasm (-3.76 % of base)
         -12 : 11152.dasm (-3.76 % of base)
          -9 : 29513.dasm (-0.10 % of base)
          -8 : 581.dasm (-0.54 % of base)
          -8 : 12335.dasm (-0.54 % of base)
          -6 : 18377.dasm (-1.43 % of base)
          -6 : 59.dasm (-0.65 % of base)
          -6 : 5928.dasm (-1.43 % of base)
          -6 : 11622.dasm (-0.65 % of base)
          -5 : 7250.dasm (-0.13 % of base)
          -5 : 943.dasm (-0.83 % of base)
          -5 : 12578.dasm (-0.83 % of base)
          -4 : 7762.dasm (-0.15 % of base)
          -2 : 1158.dasm (-0.36 % of base)
          -2 : 33385.dasm (-0.29 % of base)
          -2 : 14261.dasm (-0.36 % of base)
59 total files with Code Size differences (21 improved, 38 regressed), 2 unchanged.
Top method regressions (bytes):
          14 (0.80 % of base) : 7670.dasm - ProtoBuf.Meta.MetaType:ValidateReservations():this (FullOpts)
          11 (1.38 % of base) : 17119.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
          11 (1.38 % of base) : 5520.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
           7 (0.71 % of base) : 29346.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeMethodDefTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes,int):this (FullOpts)
           6 (0.40 % of base) : 5458.dasm - System.Net.Http.HttpWindowsProxy:GetMultiProxy(System.Uri):System.Net.Http.MultiProxy:this (FullOpts)
           6 (0.40 % of base) : 17632.dasm - System.Net.Http.HttpWindowsProxy:GetMultiProxy(System.Uri):System.Net.Http.MultiProxy:this (FullOpts)
           5 (0.08 % of base) : 7595.dasm - ProtoBuf.Meta.MetaType:ApplyDefaultBehaviourImpl(int):this (FullOpts)
           4 (0.16 % of base) : 32392.dasm - JetStream.Hand:score():this (FullOpts)
           4 (0.68 % of base) : 26891.dasm - Microsoft.CodeAnalysis.PEModule:ExtractStringValuesFromAttributes(System.Collections.Generic.List`1[Microsoft.CodeAnalysis.PEModule+AttributeInfo]):Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.String]:this (FullOpts)
           4 (3.01 % of base) : 8463.dasm - Newtonsoft.Json.Serialization.JsonContract:InvokeOnDeserialized(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
           4 (3.01 % of base) : 8415.dasm - Newtonsoft.Json.Serialization.JsonContract:InvokeOnDeserializing(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
           4 (3.01 % of base) : 8393.dasm - Newtonsoft.Json.Serialization.JsonContract:InvokeOnSerialized(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
           4 (3.01 % of base) : 8332.dasm - Newtonsoft.Json.Serialization.JsonContract:InvokeOnSerializing(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
           4 (0.12 % of base) : 7669.dasm - ProtoBuf.Meta.MetaType:BuildSerializer():ProtoBuf.Internal.Serializers.IProtoTypeSerializer:this (FullOpts)
           4 (0.05 % of base) : 24399.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
           4 (0.15 % of base) : 15949.dasm - System.Reflection.Emit.RuntimeTypeBuilder:CreateTypeNoLock():System.Reflection.TypeInfo:this (FullOpts)
           4 (0.17 % of base) : 1407.dasm - System.Threading.Tasks.Task:WaitAllCore(System.Threading.Tasks.Task[],int,System.Threading.CancellationToken):ubyte (FullOpts)
           4 (0.17 % of base) : 30607.dasm - System.Threading.Tasks.Task:WaitAllCore(System.Threading.Tasks.Task[],int,System.Threading.CancellationToken):ubyte (FullOpts)
           4 (0.08 % of base) : 10039.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WriteElements(System.Xml.Serialization.SourceInfo,System.String,System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,System.String,ubyte,ubyte):this (FullOpts)
           4 (0.08 % of base) : 15811.dasm - System.Xml.Serialization.XmlSerializationWriterILGen:WriteElements(System.Xml.Serialization.SourceInfo,System.String,System.Xml.Serialization.ElementAccessor[],System.Xml.Serialization.TextAccessor,System.Xml.Serialization.ChoiceIdentifierAccessor,System.String,ubyte,ubyte):this (FullOpts)
Top method improvements (bytes):
         -91 (-3.66 % of base) : 33609.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -24 (-1.48 % of base) : 23715.dasm - System.Formats.Tar.TarReader+<DisposeAsync>d__8:MoveNext():this (FullOpts)
         -15 (-0.81 % of base) : 2970.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (FullOpts)
         -15 (-0.81 % of base) : 17920.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (FullOpts)
         -12 (-3.76 % of base) : 18114.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
         -12 (-3.76 % of base) : 11152.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
          -9 (-0.10 % of base) : 29513.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (FullOpts)
          -8 (-0.54 % of base) : 581.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
          -8 (-0.54 % of base) : 12335.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
          -6 (-0.65 % of base) : 59.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
          -6 (-0.65 % of base) : 11622.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
          -6 (-1.43 % of base) : 18377.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -6 (-1.43 % of base) : 5928.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -5 (-0.13 % of base) : 7250.dasm - Jil.Deserialize.InlineDeserializer`1[System.__Canon]:ReadObjectAutomata(System.Type):this (FullOpts)
          -5 (-0.83 % of base) : 943.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
          -5 (-0.83 % of base) : 12578.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
          -4 (-0.15 % of base) : 7762.dasm - ProtoBuf.Internal.Serializers.TypeSerializer`1[System.__Canon]:ProtoBuf.Internal.Serializers.IRuntimeProtoSerializerNode.EmitRead(ProtoBuf.Compiler.CompilerContext,ProtoBuf.Compiler.Local):this (FullOpts)
          -2 (-0.36 % of base) : 1158.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -2 (-0.36 % of base) : 14261.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -2 (-0.29 % of base) : 33385.dasm - System.IO.BinaryReader:Read():int:this (FullOpts)
Top method regressions (percentages):
           4 (3.01 % of base) : 8463.dasm - Newtonsoft.Json.Serialization.JsonContract:InvokeOnDeserialized(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
           4 (3.01 % of base) : 8415.dasm - Newtonsoft.Json.Serialization.JsonContract:InvokeOnDeserializing(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
           4 (3.01 % of base) : 8393.dasm - Newtonsoft.Json.Serialization.JsonContract:InvokeOnSerialized(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
           4 (3.01 % of base) : 8332.dasm - Newtonsoft.Json.Serialization.JsonContract:InvokeOnSerializing(System.Object,System.Runtime.Serialization.StreamingContext):this (FullOpts)
           2 (2.25 % of base) : 3814.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:EmitWriteBack(System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack]):this (FullOpts)
           2 (2.25 % of base) : 18895.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:EmitWriteBack(System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack]):this (FullOpts)
           2 (1.98 % of base) : 9145.dasm - System.Diagnostics.Tracing.TraceLoggingMetadataCollector+Impl:Encode(ubyte[]):int:this (FullOpts)
           2 (1.61 % of base) : 13687.dasm - System.Text.Json.JsonSerializerOptions:GetConverterFromList(System.Type):System.Text.Json.Serialization.JsonConverter:this (FullOpts)
           2 (1.61 % of base) : 8002.dasm - System.Text.Json.JsonSerializerOptions:GetConverterFromList(System.Type):System.Text.Json.Serialization.JsonConverter:this (FullOpts)
           2 (1.54 % of base) : 23028.dasm - System.Formats.Tar.TarReader:Dispose():this (FullOpts)
           2 (1.44 % of base) : 7335.dasm - Jil.Deserialize.NameAutomata`1[int]:DoCharLinearScan[int](Jil.Deserialize.NameAutomata`1+Data`1[int,int],System.Collections.Generic.List`1[System.Tuple`2[ushort,Sigil.Label]]) (FullOpts)
          11 (1.38 % of base) : 17119.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
          11 (1.38 % of base) : 5520.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
           3 (1.02 % of base) : 17607.dasm - System.Diagnostics.Metrics.Meter:GetCachedInstrument(System.Collections.Generic.List`1[System.Diagnostics.Metrics.Instrument],System.Type,System.String,System.String,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]]):System.Diagnostics.Metrics.Instrument (FullOpts)
           3 (1.02 % of base) : 5424.dasm - System.Diagnostics.Metrics.Meter:GetCachedInstrument(System.Collections.Generic.List`1[System.Diagnostics.Metrics.Instrument],System.Type,System.String,System.String,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]]):System.Diagnostics.Metrics.Instrument (FullOpts)
           2 (0.90 % of base) : 29163.dasm - Microsoft.Cci.MetadataWriter:PopulateMethodImplTableRows():this (FullOpts)
           2 (0.87 % of base) : 31186.dasm - (dynamicClass):WriteArrayOfintToXml(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.XmlObjectSerializerWriteContext,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
           2 (0.87 % of base) : 23596.dasm - (dynamicClass):WriteArrayOfintToXml(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.XmlObjectSerializerWriteContext,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
           2 (0.84 % of base) : 13848.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:DetermineIsCompatibleWithCurrentOptions():this (FullOpts)
           2 (0.84 % of base) : 1605.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:DetermineIsCompatibleWithCurrentOptions():this (FullOpts)
Top method improvements (percentages):
         -12 (-3.76 % of base) : 18114.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
         -12 (-3.76 % of base) : 11152.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
         -91 (-3.66 % of base) : 33609.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -24 (-1.48 % of base) : 23715.dasm - System.Formats.Tar.TarReader+<DisposeAsync>d__8:MoveNext():this (FullOpts)
          -6 (-1.43 % of base) : 18377.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -6 (-1.43 % of base) : 5928.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -5 (-0.83 % of base) : 943.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
          -5 (-0.83 % of base) : 12578.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
         -15 (-0.81 % of base) : 17920.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (FullOpts)
         -15 (-0.81 % of base) : 2970.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (FullOpts)
          -6 (-0.65 % of base) : 59.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
          -6 (-0.65 % of base) : 11622.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
          -8 (-0.54 % of base) : 581.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
          -8 (-0.54 % of base) : 12335.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
          -2 (-0.36 % of base) : 1158.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -2 (-0.36 % of base) : 14261.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -2 (-0.29 % of base) : 33385.dasm - System.IO.BinaryReader:Read():int:this (FullOpts)
          -4 (-0.15 % of base) : 7762.dasm - ProtoBuf.Internal.Serializers.TypeSerializer`1[System.__Canon]:ProtoBuf.Internal.Serializers.IRuntimeProtoSerializerNode.EmitRead(ProtoBuf.Compiler.CompilerContext,ProtoBuf.Compiler.Local):this (FullOpts)
          -5 (-0.13 % of base) : 7250.dasm - Jil.Deserialize.InlineDeserializer`1[System.__Canon]:ReadObjectAutomata(System.Type):this (FullOpts)
          -1 (-0.10 % of base) : 14825.dasm - System.Text.RegularExpressions.RegexNode:EliminateEndingBacktracking():this (FullOpts)
  
benchmarks.run_pgo.windows.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 34353258 (overridden on cmd)
Total bytes of diff: 34354006 (overridden on cmd)
Total bytes of delta: 748 (0.00 % of base)
    diff is a regression.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
         147 : 9017.dasm (3.01 % of base)
          76 : 93741.dasm (1.89 % of base)
          36 : 40926.dasm (1.25 % of base)
          31 : 104269.dasm (1.02 % of base)
          26 : 106958.dasm (1.04 % of base)
          26 : 106957.dasm (1.04 % of base)
          25 : 102609.dasm (1.41 % of base)
          25 : 41478.dasm (1.42 % of base)
          25 : 58781.dasm (1.44 % of base)
          25 : 97986.dasm (1.42 % of base)
          25 : 98080.dasm (1.44 % of base)
          25 : 92316.dasm (1.44 % of base)
          25 : 102446.dasm (1.42 % of base)
          21 : 75018.dasm (1.21 % of base)
          21 : 87341.dasm (1.22 % of base)
          21 : 100786.dasm (1.00 % of base)
          21 : 84500.dasm (1.21 % of base)
          21 : 86385.dasm (1.21 % of base)
          20 : 74730.dasm (1.18 % of base)
          20 : 107337.dasm (1.18 % of base)
Top file improvements (bytes):
         -91 : 90436.dasm (-3.66 % of base)
         -36 : 46267.dasm (-1.64 % of base)
         -36 : 89379.dasm (-1.70 % of base)
         -36 : 90939.dasm (-1.70 % of base)
         -36 : 103555.dasm (-1.65 % of base)
         -29 : 92216.dasm (-1.28 % of base)
         -28 : 86629.dasm (-1.60 % of base)
         -25 : 85599.dasm (-1.43 % of base)
         -13 : 93851.dasm (-2.52 % of base)
         -10 : 39649.dasm (-1.77 % of base)
          -9 : 67426.dasm (-0.77 % of base)
          -9 : 72380.dasm (-0.72 % of base)
          -9 : 87859.dasm (-0.72 % of base)
          -8 : 10965.dasm (-0.78 % of base)
          -8 : 59401.dasm (-0.78 % of base)
          -8 : 72881.dasm (-0.78 % of base)
          -8 : 101981.dasm (-0.78 % of base)
          -7 : 97740.dasm (-0.20 % of base)
          -5 : 102627.dasm (-0.18 % of base)
          -3 : 38120.dasm (-0.48 % of base)
50 total files with Code Size differences (22 improved, 28 regressed), 1 unchanged.
Top method regressions (bytes):
         147 (3.01 % of base) : 9017.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          76 (1.89 % of base) : 93741.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          36 (1.25 % of base) : 40926.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          31 (1.02 % of base) : 104269.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          26 (1.04 % of base) : 106958.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          26 (1.04 % of base) : 106957.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          25 (1.41 % of base) : 102609.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          25 (1.42 % of base) : 41478.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          25 (1.44 % of base) : 58781.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          25 (1.42 % of base) : 97986.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          25 (1.44 % of base) : 98080.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          25 (1.44 % of base) : 92316.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          25 (1.42 % of base) : 102446.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          21 (1.00 % of base) : 100786.dasm - System.Numerics.BigIntegerCalculator:Gcd(System.Span`1[uint],System.Span`1[uint]) (Tier1-OSR)
          21 (1.21 % of base) : 75018.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          21 (1.22 % of base) : 87341.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          21 (1.21 % of base) : 84500.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          21 (1.21 % of base) : 86385.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          20 (1.18 % of base) : 74730.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          20 (1.18 % of base) : 107337.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
Top method improvements (bytes):
         -91 (-3.66 % of base) : 90436.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
         -36 (-1.70 % of base) : 90939.dasm - LinqBenchmarks:Where01LinqMethodX():ubyte:this (Tier1-OSR)
         -36 (-1.70 % of base) : 89379.dasm - LinqBenchmarks:Where01LinqQueryX():ubyte:this (Tier1-OSR)
         -36 (-1.64 % of base) : 46267.dasm - System.Linq.Lookup`2[System.__Canon,System.__Canon]:Create(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Linq.Lookup`2[System.__Canon,System.__Canon] (Tier1)
         -36 (-1.65 % of base) : 103555.dasm - System.Linq.Lookup`2[System.__Canon,System.__Canon]:Create(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Linq.Lookup`2[System.__Canon,System.__Canon] (Tier1)
         -29 (-1.28 % of base) : 92216.dasm - LinqBenchmarks:Where01LinqMethodNestedX():ubyte:this (Tier1-OSR)
         -28 (-1.60 % of base) : 86629.dasm - LinqBenchmarks:Where00LinqMethodX():ubyte:this (Tier1-OSR)
         -25 (-1.43 % of base) : 85599.dasm - LinqBenchmarks:Where00LinqQueryX():ubyte:this (Tier1-OSR)
         -13 (-2.52 % of base) : 93851.dasm - System.Linq.Enumerable:Count[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (Tier1)
         -10 (-1.77 % of base) : 39649.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
          -9 (-0.72 % of base) : 87859.dasm - System.IO.File:WriteToFile(System.String,int,System.String,System.Text.Encoding) (Tier0-FullOpts)
          -9 (-0.77 % of base) : 67426.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          -9 (-0.72 % of base) : 72380.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          -8 (-0.78 % of base) : 10965.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -8 (-0.78 % of base) : 59401.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -8 (-0.78 % of base) : 72881.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -8 (-0.78 % of base) : 101981.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -7 (-0.20 % of base) : 97740.dasm - BenchmarksGame.pidigits:Run(ubyte):this (Tier1-OSR)
          -5 (-0.18 % of base) : 102627.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          -3 (-0.48 % of base) : 38120.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (Tier0-FullOpts)
Top method regressions (percentages):
         147 (3.01 % of base) : 9017.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          76 (1.89 % of base) : 93741.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          25 (1.44 % of base) : 58781.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          25 (1.44 % of base) : 98080.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          25 (1.44 % of base) : 92316.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          25 (1.42 % of base) : 41478.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          25 (1.42 % of base) : 97986.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          25 (1.42 % of base) : 102446.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          25 (1.41 % of base) : 102609.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          36 (1.25 % of base) : 40926.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1)
          21 (1.22 % of base) : 87341.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          21 (1.21 % of base) : 75018.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          21 (1.21 % of base) : 84500.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          21 (1.21 % of base) : 86385.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          20 (1.19 % of base) : 48878.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          20 (1.19 % of base) : 84138.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          20 (1.19 % of base) : 93699.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          20 (1.18 % of base) : 74730.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          20 (1.18 % of base) : 107337.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
          20 (1.16 % of base) : 93024.dasm - System.Threading.ThreadPoolWorkQueue:Dispatch():ubyte (Tier1-OSR)
Top method improvements (percentages):
         -91 (-3.66 % of base) : 90436.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
         -13 (-2.52 % of base) : 93851.dasm - System.Linq.Enumerable:Count[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte]):int (Tier1)
         -10 (-1.77 % of base) : 39649.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
         -36 (-1.70 % of base) : 90939.dasm - LinqBenchmarks:Where01LinqMethodX():ubyte:this (Tier1-OSR)
         -36 (-1.70 % of base) : 89379.dasm - LinqBenchmarks:Where01LinqQueryX():ubyte:this (Tier1-OSR)
         -36 (-1.65 % of base) : 103555.dasm - System.Linq.Lookup`2[System.__Canon,System.__Canon]:Create(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Linq.Lookup`2[System.__Canon,System.__Canon] (Tier1)
         -36 (-1.64 % of base) : 46267.dasm - System.Linq.Lookup`2[System.__Canon,System.__Canon]:Create(System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,System.__Canon],System.Collections.Generic.IEqualityComparer`1[System.__Canon]):System.Linq.Lookup`2[System.__Canon,System.__Canon] (Tier1)
         -28 (-1.60 % of base) : 86629.dasm - LinqBenchmarks:Where00LinqMethodX():ubyte:this (Tier1-OSR)
         -25 (-1.43 % of base) : 85599.dasm - LinqBenchmarks:Where00LinqQueryX():ubyte:this (Tier1-OSR)
         -29 (-1.28 % of base) : 92216.dasm - LinqBenchmarks:Where01LinqMethodNestedX():ubyte:this (Tier1-OSR)
          -1 (-1.04 % of base) : 97726.dasm - System.Numerics.BigIntegerCalculator:Compare(System.ReadOnlySpan`1[uint],System.ReadOnlySpan`1[uint]):int (Tier1)
          -8 (-0.78 % of base) : 10965.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -8 (-0.78 % of base) : 59401.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -8 (-0.78 % of base) : 72881.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -8 (-0.78 % of base) : 101981.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -9 (-0.77 % of base) : 67426.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          -9 (-0.72 % of base) : 72380.dasm - System.Text.RegularExpressions.CompiledRegexRunner:Regex1_TryMatchAtCurrentPosition(System.Text.RegularExpressions.RegexRunner,System.ReadOnlySpan`1[ushort]):ubyte (FullOpts)
          -9 (-0.72 % of base) : 87859.dasm - System.IO.File:WriteToFile(System.String,int,System.String,System.Text.Encoding) (Tier0-FullOpts)
          -3 (-0.48 % of base) : 38120.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (Tier0-FullOpts)
          -3 (-0.48 % of base) : 6243.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (Tier0-FullOpts)
  
benchmarks.run_tiered.windows.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 19449443 (overridden on cmd)
Total bytes of diff: 19449308 (overridden on cmd)
Total bytes of delta: -135 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
           4 : 36428.dasm (0.05 % of base)
           3 : 24146.dasm (0.21 % of base)
           3 : 41330.dasm (0.21 % of base)
           3 : 49493.dasm (0.46 % of base)
           2 : 20177.dasm (0.07 % of base)
           2 : 82041.dasm (0.07 % of base)
           2 : 21007.dasm (0.69 % of base)
           2 : 30033.dasm (0.72 % of base)
           2 : 30037.dasm (1.61 % of base)
           2 : 30667.dasm (0.87 % of base)
           2 : 56839.dasm (0.24 % of base)
           2 : 58455.dasm (0.87 % of base)
           2 : 67475.dasm (0.24 % of base)
Top file improvements (bytes):
         -91 : 73982.dasm (-3.66 % of base)
         -15 : 77068.dasm (-0.82 % of base)
         -15 : 73163.dasm (-0.82 % of base)
          -8 : 18720.dasm (-0.54 % of base)
          -8 : 36717.dasm (-0.54 % of base)
          -7 : 19314.dasm (-0.44 % of base)
          -6 : 3113.dasm (-0.65 % of base)
          -6 : 35947.dasm (-0.65 % of base)
          -2 : 17216.dasm (-0.36 % of base)
          -2 : 73302.dasm (-0.36 % of base)
          -2 : 73493.dasm (-0.29 % of base)
          -2 : 73596.dasm (-0.29 % of base)
          -1 : 20170.dasm (-0.10 % of base)
          -1 : 82034.dasm (-0.10 % of base)
27 total files with Code Size differences (14 improved, 13 regressed), 2 unchanged.
Top method regressions (bytes):
           4 (0.05 % of base) : 36428.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
           3 (0.46 % of base) : 49493.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:ConfigureProperties():this (Tier1)
           3 (0.21 % of base) : 24146.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:<CreateBDDFromSetString>g__Compute|5_0(System.String):System.Text.RegularExpressions.Symbolic.BDD:this (Tier0-FullOpts)
           3 (0.21 % of base) : 41330.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:<CreateBDDFromSetString>g__Compute|5_0(System.String):System.Text.RegularExpressions.Symbolic.BDD:this (Tier0-FullOpts)
           2 (0.69 % of base) : 21007.dasm - (dynamicClass):WriteArrayOfintToJson(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
           2 (0.87 % of base) : 30667.dasm - (dynamicClass):WriteArrayOfintToXml(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.XmlObjectSerializerWriteContext,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
           2 (0.87 % of base) : 58455.dasm - (dynamicClass):WriteArrayOfintToXml(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.XmlObjectSerializerWriteContext,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
           2 (0.24 % of base) : 56839.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
           2 (0.24 % of base) : 67475.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
           2 (1.61 % of base) : 30037.dasm - System.Text.Json.JsonSerializerOptions:GetConverterFromList(System.Type):System.Text.Json.Serialization.JsonConverter:this (Tier1)
           2 (0.72 % of base) : 30033.dasm - System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:GetTypeInfo(System.Type,System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonTypeInfo:this (Tier1)
           2 (0.07 % of base) : 20177.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:<FindFixedDistanceSets>g__TryFindRawFixedSets|2_0(System.Text.RegularExpressions.RegexNode,System.Collections.Generic.List`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet],byref,ubyte):ubyte (Tier1)
           2 (0.07 % of base) : 82041.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:<FindFixedDistanceSets>g__TryFindRawFixedSets|2_0(System.Text.RegularExpressions.RegexNode,System.Collections.Generic.List`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet],byref,ubyte):ubyte (Tier1)
Top method improvements (bytes):
         -91 (-3.66 % of base) : 73982.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
         -15 (-0.82 % of base) : 77068.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (Tier1)
         -15 (-0.82 % of base) : 73163.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (Tier1)
          -8 (-0.54 % of base) : 18720.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (Tier1)
          -8 (-0.54 % of base) : 36717.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (Tier1)
          -7 (-0.44 % of base) : 19314.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (Tier1-OSR)
          -6 (-0.65 % of base) : 3113.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -6 (-0.65 % of base) : 35947.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -2 (-0.36 % of base) : 17216.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
          -2 (-0.36 % of base) : 73302.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
          -2 (-0.29 % of base) : 73493.dasm - System.IO.BinaryReader:Read():int:this (Tier0-FullOpts)
          -2 (-0.29 % of base) : 73596.dasm - System.IO.BinaryReader:Read():int:this (Tier0-FullOpts)
          -1 (-0.10 % of base) : 20170.dasm - System.Text.RegularExpressions.RegexNode:EliminateEndingBacktracking():this (Tier1)
          -1 (-0.10 % of base) : 82034.dasm - System.Text.RegularExpressions.RegexNode:EliminateEndingBacktracking():this (Tier1)
Top method regressions (percentages):
           2 (1.61 % of base) : 30037.dasm - System.Text.Json.JsonSerializerOptions:GetConverterFromList(System.Type):System.Text.Json.Serialization.JsonConverter:this (Tier1)
           2 (0.87 % of base) : 30667.dasm - (dynamicClass):WriteArrayOfintToXml(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.XmlObjectSerializerWriteContext,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
           2 (0.87 % of base) : 58455.dasm - (dynamicClass):WriteArrayOfintToXml(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.XmlObjectSerializerWriteContext,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
           2 (0.72 % of base) : 30033.dasm - System.Text.Json.Serialization.Metadata.DefaultJsonTypeInfoResolver:GetTypeInfo(System.Type,System.Text.Json.JsonSerializerOptions):System.Text.Json.Serialization.Metadata.JsonTypeInfo:this (Tier1)
           2 (0.69 % of base) : 21007.dasm - (dynamicClass):WriteArrayOfintToJson(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson,System.Runtime.Serialization.DataContracts.CollectionDataContract) (FullOpts)
           3 (0.46 % of base) : 49493.dasm - System.Text.Json.Serialization.Metadata.JsonTypeInfo:ConfigureProperties():this (Tier1)
           2 (0.24 % of base) : 56839.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
           2 (0.24 % of base) : 67475.dasm - Microsoft.CodeAnalysis.PEModule:GetFirstUnsupportedCompilerFeatureFromToken(System.Reflection.Metadata.EntityHandle,Microsoft.CodeAnalysis.IAttributeNamedArgumentDecoder,int):System.String:this (Tier1)
           3 (0.21 % of base) : 41330.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:<CreateBDDFromSetString>g__Compute|5_0(System.String):System.Text.RegularExpressions.Symbolic.BDD:this (Tier0-FullOpts)
           3 (0.21 % of base) : 24146.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:<CreateBDDFromSetString>g__Compute|5_0(System.String):System.Text.RegularExpressions.Symbolic.BDD:this (Tier0-FullOpts)
           2 (0.07 % of base) : 20177.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:<FindFixedDistanceSets>g__TryFindRawFixedSets|2_0(System.Text.RegularExpressions.RegexNode,System.Collections.Generic.List`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet],byref,ubyte):ubyte (Tier1)
           2 (0.07 % of base) : 82041.dasm - System.Text.RegularExpressions.RegexPrefixAnalyzer:<FindFixedDistanceSets>g__TryFindRawFixedSets|2_0(System.Text.RegularExpressions.RegexNode,System.Collections.Generic.List`1[System.Text.RegularExpressions.RegexFindOptimizations+FixedDistanceSet],byref,ubyte):ubyte (Tier1)
           4 (0.05 % of base) : 36428.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (Tier0-FullOpts)
Top method improvements (percentages):
         -91 (-3.66 % of base) : 73982.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (Tier0-FullOpts)
         -15 (-0.82 % of base) : 73163.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (Tier1)
         -15 (-0.82 % of base) : 77068.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (Tier1)
          -6 (-0.65 % of base) : 3113.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -6 (-0.65 % of base) : 35947.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Tier1)
          -8 (-0.54 % of base) : 18720.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (Tier1)
          -8 (-0.54 % of base) : 36717.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (Tier1)
          -7 (-0.44 % of base) : 19314.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (Tier1-OSR)
          -2 (-0.36 % of base) : 17216.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
          -2 (-0.36 % of base) : 73302.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (Tier1)
          -2 (-0.29 % of base) : 73493.dasm - System.IO.BinaryReader:Read():int:this (Tier0-FullOpts)
          -2 (-0.29 % of base) : 73596.dasm - System.IO.BinaryReader:Read():int:this (Tier0-FullOpts)
          -1 (-0.10 % of base) : 20170.dasm - System.Text.RegularExpressions.RegexNode:EliminateEndingBacktracking():this (Tier1)
          -1 (-0.10 % of base) : 82034.dasm - System.Text.RegularExpressions.RegexNode:EliminateEndingBacktracking():this (Tier1)
27 total methods with Code Size differences (14 improved, 13 regressed).
  
coreclr_tests.run.windows.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 296149050 (overridden on cmd)
Total bytes of diff: 296148733 (overridden on cmd)
Total bytes of delta: -317 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          44 : 216043.dasm (1.03 % of base)
          22 : 248480.dasm (0.89 % of base)
           9 : 311246.dasm (1.40 % of base)
           7 : 190932.dasm (0.71 % of base)
           7 : 241941.dasm (0.71 % of base)
           6 : 442550.dasm (0.50 % of base)
           6 : 310171.dasm (0.36 % of base)
           5 : 237889.dasm (2.27 % of base)
           5 : 317771.dasm (0.16 % of base)
           5 : 237890.dasm (2.27 % of base)
           4 : 315437.dasm (0.37 % of base)
           4 : 188224.dasm (0.65 % of base)
           4 : 238947.dasm (0.65 % of base)
           4 : 312700.dasm (0.37 % of base)
           3 : 193039.dasm (0.73 % of base)
           3 : 316348.dasm (0.34 % of base)
           3 : 292021.dasm (0.08 % of base)
           3 : 312813.dasm (0.08 % of base)
           2 : 190728.dasm (0.90 % of base)
           2 : 184998.dasm (0.53 % of base)
Top file improvements (bytes):
         -38 : 291322.dasm (-0.46 % of base)
         -38 : 312078.dasm (-0.47 % of base)
         -36 : 176538.dasm (-6.20 % of base)
         -29 : 245441.dasm (-16.76 % of base)
         -26 : 492124.dasm (-0.86 % of base)
         -24 : 315354.dasm (-0.80 % of base)
         -18 : 211978.dasm (-0.41 % of base)
         -16 : 314478.dasm (-0.16 % of base)
         -16 : 314932.dasm (-0.56 % of base)
         -16 : 317757.dasm (-0.66 % of base)
         -14 : 251549.dasm (-6.36 % of base)
         -13 : 315119.dasm (-0.29 % of base)
         -13 : 317763.dasm (-0.55 % of base)
         -10 : 252165.dasm (-0.71 % of base)
          -8 : 313685.dasm (-0.52 % of base)
          -8 : 313960.dasm (-0.74 % of base)
          -8 : 314534.dasm (-0.25 % of base)
          -8 : 292547.dasm (-0.20 % of base)
          -8 : 292581.dasm (-0.52 % of base)
          -8 : 292825.dasm (-0.74 % of base)
65 total files with Code Size differences (34 improved, 31 regressed), 3 unchanged.
Top method regressions (bytes):
          44 (1.03 % of base) : 216043.dasm - GetInterfaceMapWithStaticVirtualsAndConstraints.Program:TestEntryPoint() (FullOpts)
          22 (0.89 % of base) : 248480.dasm - System.Xml.Xsl.IlGen.XmlILModule:DefineMethod(System.String,System.Type,System.Type[],System.String[],int):System.Reflection.MethodInfo:this (FullOpts)
           9 (1.40 % of base) : 311246.dasm - Program:ManipulateListOfInt():ubyte (FullOpts)
           7 (0.71 % of base) : 190932.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeMethodDefTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes,int):this (FullOpts)
           7 (0.71 % of base) : 241941.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeMethodDefTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes,int):this (FullOpts)
           6 (0.36 % of base) : 310171.dasm - Profiler.Tests.GCTests:RunTest(System.String[]):int (FullOpts)
           6 (0.50 % of base) : 442550.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
           5 (2.27 % of base) : 237890.dasm - GCUtil:FreePins() (FullOpts)
           5 (2.27 % of base) : 237889.dasm - GCUtil:FreePins2() (FullOpts)
           5 (0.16 % of base) : 317771.dasm - Tracing.Tests.DiagnosticPortValidation.DiagnosticPortValidation+<>c__DisplayClass2_1+<<TEST_MultipleConnectPortsSuspend>b__1>d:MoveNext():this (FullOpts)
           4 (0.37 % of base) : 315437.dasm - Internal.TypeSystem.ExplicitLayoutValidator:AddToFieldLayout(int,Internal.TypeSystem.TypeDesc):this (FullOpts)
           4 (0.37 % of base) : 312700.dasm - Internal.TypeSystem.ExplicitLayoutValidator:AddToFieldLayout(int,Internal.TypeSystem.TypeDesc):this (FullOpts)
           4 (0.65 % of base) : 188224.dasm - Microsoft.CodeAnalysis.PEModule:ExtractStringValuesFromAttributes(System.Collections.Generic.List`1[Microsoft.CodeAnalysis.PEModule+AttributeInfo]):Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.String]:this (FullOpts)
           4 (0.65 % of base) : 238947.dasm - Microsoft.CodeAnalysis.PEModule:ExtractStringValuesFromAttributes(System.Collections.Generic.List`1[Microsoft.CodeAnalysis.PEModule+AttributeInfo]):Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.String]:this (FullOpts)
           3 (0.73 % of base) : 193039.dasm - BenchmarksGame.KNucleotide:WriteFrequencies(int,int[],ubyte):ubyte:this (FullOpts)
           3 (0.08 % of base) : 292021.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.HeaderNode:GetData(ILCompiler.DependencyAnalysis.NodeFactory,ubyte):ILCompiler.DependencyAnalysis.ObjectNode+ObjectData:this (FullOpts)
           3 (0.08 % of base) : 312813.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.HeaderNode:GetData(ILCompiler.DependencyAnalysis.NodeFactory,ubyte):ILCompiler.DependencyAnalysis.ObjectNode+ObjectData:this (FullOpts)
           3 (0.34 % of base) : 316348.dasm - StackCommitTest.Utility:ValidateStack(System.String,ubyte,int):ubyte (FullOpts)
           2 (0.60 % of base) : 292830.dasm - ILCompiler.PEWriter.SectionBuilder:FlushRelocationBlock(System.Reflection.Metadata.BlobBuilder,int,System.Collections.Generic.List`1[ushort]) (FullOpts)
           2 (0.60 % of base) : 313964.dasm - ILCompiler.PEWriter.SectionBuilder:FlushRelocationBlock(System.Reflection.Metadata.BlobBuilder,int,System.Collections.Generic.List`1[ushort]) (FullOpts)
Top method improvements (bytes):
         -38 (-0.46 % of base) : 291322.dasm - ILCompiler.Program:RunSingleCompilation(System.Collections.Generic.Dictionary`2[System.String,System.String],ILCompiler.InstructionSetSupport,System.String,System.Collections.Generic.Dictionary`2[System.String,System.String],System.Collections.Generic.HashSet`1[Internal.TypeSystem.ModuleDesc],ILCompiler.ReadyToRunCompilerContext,ILCompiler.Logger):this (FullOpts)
         -38 (-0.47 % of base) : 312078.dasm - ILCompiler.Program:RunSingleCompilation(System.Collections.Generic.Dictionary`2[System.String,System.String],ILCompiler.InstructionSetSupport,System.String,System.Collections.Generic.Dictionary`2[System.String,System.String],System.Collections.Generic.HashSet`1[Internal.TypeSystem.ModuleDesc],ILCompiler.ReadyToRunCompilerContext,ILCompiler.Logger):this (FullOpts)
         -36 (-6.20 % of base) : 176538.dasm - CloningForIEnumerable:Sum(System.Collections.Generic.IEnumerable`1[int]):int (Tier1)
         -29 (-16.76 % of base) : 245441.dasm - Program:M49() (FullOpts)
         -26 (-0.86 % of base) : 492124.dasm - System.Threading.Tasks.Task:WaitAllCore(System.Threading.Tasks.Task[],int,System.Threading.CancellationToken):ubyte (Instrumented Tier1)
         -24 (-0.80 % of base) : 315354.dasm - R2RTest.Buckets:WriteToStream(System.IO.StreamWriter,ubyte):this (FullOpts)
         -18 (-0.41 % of base) : 211978.dasm - GenClass`1[int]:DoTest_Inner[System.__Canon,System.__Canon,System.__Canon](int,GenClass`1[System.__Canon],GenClass`1[System.__Canon],GenClass`1[System.__Canon]) (FullOpts)
         -16 (-0.56 % of base) : 314932.dasm - Microsoft.Build.BackEnd.Scheduler:DumpSchedulerState():this (FullOpts)
         -16 (-0.16 % of base) : 314478.dasm - Microsoft.Build.Evaluation.Evaluator`4[System.__Canon,System.__Canon,System.__Canon,System.__Canon]:Evaluate():this (FullOpts)
         -16 (-0.66 % of base) : 317757.dasm - Tracing.Tests.DiagnosticPortValidation.DiagnosticPortValidation+<TEST_MultipleConnectPortsNoSuspend>d__1:MoveNext():this (FullOpts)
         -14 (-6.36 % of base) : 251549.dasm - Test.BB:TestEntryPoint() (FullOpts)
         -13 (-0.29 % of base) : 315119.dasm - Microsoft.Build.BackEnd.TargetEntry+<ExecuteTarget>d__44:MoveNext():this (FullOpts)
         -13 (-0.55 % of base) : 317763.dasm - Tracing.Tests.DiagnosticPortValidation.DiagnosticPortValidation+<TEST_MultipleConnectPortsSuspend>d__2:MoveNext():this (FullOpts)
         -10 (-0.71 % of base) : 252165.dasm - test86865.test86865:TestEntryPoint():int (FullOpts)
          -8 (-0.20 % of base) : 292547.dasm - ILCompiler.DependencyAnalysis.ReadyToRunObjectWriter:EmitPortableExecutable():this (FullOpts)
          -8 (-0.52 % of base) : 313685.dasm - ILCompiler.MetadataManager:GetCompiledMethods(Internal.TypeSystem.Ecma.EcmaModule,int):System.Collections.Generic.IEnumerable`1[ILCompiler.DependencyAnalysis.IMethodNode]:this (FullOpts)
          -8 (-0.52 % of base) : 292581.dasm - ILCompiler.MetadataManager:GetCompiledMethods(Internal.TypeSystem.Ecma.EcmaModule,int):System.Collections.Generic.IEnumerable`1[ILCompiler.DependencyAnalysis.IMethodNode]:this (FullOpts)
          -8 (-0.74 % of base) : 313960.dasm - ILCompiler.PEWriter.SectionBuilder:SerializeRelocationSection(System.Reflection.PortableExecutable.SectionLocation):System.Reflection.Metadata.BlobBuilder:this (FullOpts)
          -8 (-0.74 % of base) : 292825.dasm - ILCompiler.PEWriter.SectionBuilder:SerializeRelocationSection(System.Reflection.PortableExecutable.SectionLocation):System.Reflection.Metadata.BlobBuilder:this (FullOpts)
          -8 (-0.73 % of base) : 315260.dasm - Microsoft.Build.BackEnd.Logging.LoggingService:ShutdownComponent():this (FullOpts)
Top method regressions (percentages):
           5 (2.27 % of base) : 237890.dasm - GCUtil:FreePins() (FullOpts)
           5 (2.27 % of base) : 237889.dasm - GCUtil:FreePins2() (FullOpts)
           9 (1.40 % of base) : 311246.dasm - Program:ManipulateListOfInt():ubyte (FullOpts)
          44 (1.03 % of base) : 216043.dasm - GetInterfaceMapWithStaticVirtualsAndConstraints.Program:TestEntryPoint() (FullOpts)
           2 (0.90 % of base) : 190728.dasm - Microsoft.Cci.MetadataWriter:PopulateMethodImplTableRows():this (FullOpts)
           2 (0.90 % of base) : 241738.dasm - Microsoft.Cci.MetadataWriter:PopulateMethodImplTableRows():this (FullOpts)
          22 (0.89 % of base) : 248480.dasm - System.Xml.Xsl.IlGen.XmlILModule:DefineMethod(System.String,System.Type,System.Type[],System.String[],int):System.Reflection.MethodInfo:this (FullOpts)
           2 (0.78 % of base) : 190943.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeStandAloneSigTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           2 (0.78 % of base) : 241952.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeStandAloneSigTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           3 (0.73 % of base) : 193039.dasm - BenchmarksGame.KNucleotide:WriteFrequencies(int,int[],ubyte):ubyte:this (FullOpts)
           7 (0.71 % of base) : 190932.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeMethodDefTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes,int):this (FullOpts)
           7 (0.71 % of base) : 241941.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeMethodDefTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes,int):this (FullOpts)
           4 (0.65 % of base) : 188224.dasm - Microsoft.CodeAnalysis.PEModule:ExtractStringValuesFromAttributes(System.Collections.Generic.List`1[Microsoft.CodeAnalysis.PEModule+AttributeInfo]):Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.String]:this (FullOpts)
           4 (0.65 % of base) : 238947.dasm - Microsoft.CodeAnalysis.PEModule:ExtractStringValuesFromAttributes(System.Collections.Generic.List`1[Microsoft.CodeAnalysis.PEModule+AttributeInfo]):Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.String]:this (FullOpts)
           2 (0.60 % of base) : 292830.dasm - ILCompiler.PEWriter.SectionBuilder:FlushRelocationBlock(System.Reflection.Metadata.BlobBuilder,int,System.Collections.Generic.List`1[ushort]) (FullOpts)
           2 (0.60 % of base) : 313964.dasm - ILCompiler.PEWriter.SectionBuilder:FlushRelocationBlock(System.Reflection.Metadata.BlobBuilder,int,System.Collections.Generic.List`1[ushort]) (FullOpts)
           2 (0.54 % of base) : 248375.dasm - System.Xml.Xsl.Xslt.MatcherBuilder:MatchPatterns(System.Xml.Xsl.Qil.QilIterator,System.Collections.Generic.List`1[System.Xml.Xsl.Xslt.Pattern]):System.Xml.Xsl.Qil.QilNode:this (FullOpts)
           2 (0.53 % of base) : 184998.dasm - Program:TestEntryPoint():int (FullOpts)
           6 (0.50 % of base) : 442550.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
           2 (0.41 % of base) : 291695.dasm - Internal.TypeSystem.Ecma.MutableModule+Cache:ResetEmitter():this (FullOpts)
Top method improvements (percentages):
         -29 (-16.76 % of base) : 245441.dasm - Program:M49() (FullOpts)
         -14 (-6.36 % of base) : 251549.dasm - Test.BB:TestEntryPoint() (FullOpts)
         -36 (-6.20 % of base) : 176538.dasm - CloningForIEnumerable:Sum(System.Collections.Generic.IEnumerable`1[int]):int (Tier1)
         -26 (-0.86 % of base) : 492124.dasm - System.Threading.Tasks.Task:WaitAllCore(System.Threading.Tasks.Task[],int,System.Threading.CancellationToken):ubyte (Instrumented Tier1)
          -5 (-0.83 % of base) : 248819.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
          -5 (-0.83 % of base) : 310814.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
          -5 (-0.83 % of base) : 292963.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
          -7 (-0.82 % of base) : 292835.dasm - ILCompiler.PEWriter.SectionBuilder:RelocateOutputFile(System.Reflection.Metadata.BlobBuilder,ulong,System.IO.Stream):this (FullOpts)
          -7 (-0.82 % of base) : 313969.dasm - ILCompiler.PEWriter.SectionBuilder:RelocateOutputFile(System.Reflection.Metadata.BlobBuilder,ulong,System.IO.Stream):this (FullOpts)
         -24 (-0.80 % of base) : 315354.dasm - R2RTest.Buckets:WriteToStream(System.IO.StreamWriter,ubyte):this (FullOpts)
          -5 (-0.78 % of base) : 311013.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
          -5 (-0.78 % of base) : 310058.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
          -8 (-0.74 % of base) : 313960.dasm - ILCompiler.PEWriter.SectionBuilder:SerializeRelocationSection(System.Reflection.PortableExecutable.SectionLocation):System.Reflection.Metadata.BlobBuilder:this (FullOpts)
          -8 (-0.74 % of base) : 292825.dasm - ILCompiler.PEWriter.SectionBuilder:SerializeRelocationSection(System.Reflection.PortableExecutable.SectionLocation):System.Reflection.Metadata.BlobBuilder:this (FullOpts)
          -8 (-0.73 % of base) : 315260.dasm - Microsoft.Build.BackEnd.Logging.LoggingService:ShutdownComponent():this (FullOpts)
         -10 (-0.71 % of base) : 252165.dasm - test86865.test86865:TestEntryPoint():int (FullOpts)
         -16 (-0.66 % of base) : 317757.dasm - Tracing.Tests.DiagnosticPortValidation.DiagnosticPortValidation+<TEST_MultipleConnectPortsNoSuspend>d__1:MoveNext():this (FullOpts)
          -6 (-0.65 % of base) : 248759.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
          -6 (-0.65 % of base) : 292904.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
          -6 (-0.65 % of base) : 310638.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
  
libraries.crossgen2.windows.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 44929099 (overridden on cmd)
Total bytes of diff: 44928984 (overridden on cmd)
Total bytes of delta: -115 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          29 : 205361.dasm (0.26 % of base)
           8 : 31528.dasm (0.13 % of base)
           7 : 32468.dasm (0.87 % of base)
           6 : 39024.dasm (0.35 % of base)
           4 : 30021.dasm (0.18 % of base)
           4 : 25826.dasm (0.21 % of base)
           3 : 32552.dasm (0.44 % of base)
           2 : 217486.dasm (0.01 % of base)
           2 : 25832.dasm (0.41 % of base)
           2 : 15690.dasm (0.14 % of base)
           2 : 26663.dasm (0.39 % of base)
           2 : 29503.dasm (0.17 % of base)
           2 : 29885.dasm (0.36 % of base)
           2 : 31522.dasm (0.36 % of base)
           2 : 32012.dasm (0.25 % of base)
           2 : 32109.dasm (1.96 % of base)
Top file improvements (bytes):
         -71 : 26601.dasm (-3.01 % of base)
         -10 : 31916.dasm (-2.87 % of base)
          -9 : 258765.dasm (-0.18 % of base)
          -9 : 258833.dasm (-0.19 % of base)
          -8 : 29804.dasm (-1.54 % of base)
          -7 : 267341.dasm (-1.25 % of base)
          -7 : 267346.dasm (-1.06 % of base)
          -7 : 32551.dasm (-2.27 % of base)
          -7 : 21402.dasm (-1.38 % of base)
          -6 : 26664.dasm (-0.74 % of base)
          -6 : 31393.dasm (-1.30 % of base)
          -6 : 153227.dasm (-0.38 % of base)
          -6 : 234366.dasm (-0.64 % of base)
          -6 : 31325.dasm (-1.04 % of base)
          -5 : 183764.dasm (-0.28 % of base)
          -5 : 240145.dasm (-0.63 % of base)
          -5 : 26662.dasm (-0.82 % of base)
          -5 : 175910.dasm (-0.28 % of base)
          -4 : 203024.dasm (-0.52 % of base)
          -2 : 19789.dasm (-0.29 % of base)
38 total files with Code Size differences (22 improved, 16 regressed), 0 unchanged.
Top method regressions (bytes):
          29 (0.26 % of base) : 205361.dasm - System.DirectoryServices.ActiveDirectory.Utils:GetReplicaList(System.DirectoryServices.ActiveDirectory.DirectoryContext,System.String,System.String,ubyte,ubyte,ubyte):System.Collections.ArrayList (FullOpts)
           8 (0.13 % of base) : 31528.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
           7 (0.87 % of base) : 32468.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
           6 (0.35 % of base) : 39024.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
           4 (0.18 % of base) : 30021.dasm - System.Reflection.Emit.RuntimeTypeBuilder:CreateTypeNoLock():System.Reflection.TypeInfo:this (FullOpts)
           4 (0.21 % of base) : 25826.dasm - System.Threading.Tasks.Task:WaitAllCore(System.Threading.Tasks.Task[],int,System.Threading.CancellationToken):ubyte (FullOpts)
           3 (0.44 % of base) : 32552.dasm - System.Diagnostics.Tracing.CounterGroup:PollForValues() (FullOpts)
           2 (0.39 % of base) : 26663.dasm - System.Diagnostics.Tracing.EventListener:RemoveReferencesToListenerInEventSources(System.Diagnostics.Tracing.EventListener) (FullOpts)
           2 (0.36 % of base) : 31522.dasm - System.Diagnostics.Tracing.EventSource:EnsureDescriptorsInitialized():this (FullOpts)
           2 (1.96 % of base) : 32109.dasm - System.Diagnostics.Tracing.TraceLoggingMetadataCollector+Impl:Encode(ubyte[]):int:this (FullOpts)
           2 (0.36 % of base) : 29885.dasm - System.Runtime.InteropServices.PosixSignalRegistration:HandlerRoutine(int):int (FullOpts)
           2 (0.41 % of base) : 25832.dasm - System.Threading.Tasks.Task:GetDelegatesFromContinuationObject(System.Object):System.Delegate[] (FullOpts)
           2 (0.14 % of base) : 15690.dasm - System.Threading.Tasks.Task+WhenAllPromise:Invoke(System.Threading.Tasks.Task):this (FullOpts)
           2 (0.25 % of base) : 32012.dasm - System.Threading.Tasks.TaskExceptionHolder:AddFaultException(System.Object):this (FullOpts)
           2 (0.17 % of base) : 29503.dasm - System.TimeZoneInfo:TryGetTimeZone(System.String,ubyte,byref,byref,System.TimeZoneInfo+CachedData,ubyte):int (FullOpts)
           2 (0.01 % of base) : 217486.dasm - System.Xml.Serialization.XmlReflectionImporter:ImportAccessorMapping(System.Xml.Serialization.MemberMapping,System.Xml.Serialization.FieldModel,System.Xml.Serialization.XmlAttributes,System.String,System.Type,ubyte,ubyte,System.Xml.Serialization.RecursionLimiter):this (FullOpts)
Top method improvements (bytes):
         -71 (-3.01 % of base) : 26601.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -10 (-2.87 % of base) : 31916.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
          -9 (-0.18 % of base) : 258765.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.__Canon]:MoveNext():this (FullOpts)
          -9 (-0.19 % of base) : 258833.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (FullOpts)
          -8 (-1.54 % of base) : 29804.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
          -7 (-2.27 % of base) : 32551.dasm - System.Diagnostics.Tracing.CounterGroup:ResetCounters():this (FullOpts)
          -7 (-1.38 % of base) : 21402.dasm - System.Diagnostics.Tracing.EventSource:GetSources():System.Collections.Generic.IEnumerable`1[System.Diagnostics.Tracing.EventSource] (FullOpts)
          -7 (-1.25 % of base) : 267341.dasm - System.Xml.Linq.Extensions+<GetDescendantNodes>d__22`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -7 (-1.06 % of base) : 267346.dasm - System.Xml.Linq.Extensions+<GetDescendants>d__23`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -6 (-1.04 % of base) : 31325.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -6 (-0.38 % of base) : 153227.dasm - System.Data.ProviderBase.DbConnectionPool:TryGetConnection(System.Data.Common.DbConnection,uint,ubyte,ubyte,System.Data.Common.DbConnectionOptions,byref):ubyte:this (FullOpts)
          -6 (-0.64 % of base) : 234366.dasm - System.Data.ProviderBase.DbConnectionPool:TryGetConnection(System.Data.Common.DbConnection,uint,ubyte,ubyte,System.Data.Common.DbConnectionOptions,byref):ubyte:this (FullOpts)
          -6 (-0.74 % of base) : 26664.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
          -6 (-1.30 % of base) : 31393.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -5 (-0.63 % of base) : 240145.dasm - ParallelRunner:BuildProjects(int,int,int,int,System.Collections.Generic.List`1[ProcessInfo],ReadyToRunJittedMethods,int) (FullOpts)
          -5 (-0.28 % of base) : 183764.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
          -5 (-0.28 % of base) : 175910.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
          -5 (-0.82 % of base) : 26662.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
          -4 (-0.52 % of base) : 203024.dasm - System.Speech.Internal.Synthesis.SsmlParser:ParseAudio(System.Xml.XmlReader,System.Speech.Internal.Synthesis.ISsmlParser,int,System.Speech.Internal.Synthesis.SsmlParser+SsmlAttributes,ubyte) (FullOpts)
          -2 (-0.29 % of base) : 19789.dasm - System.IO.BinaryReader:Read():int:this (FullOpts)
Top method regressions (percentages):
           2 (1.96 % of base) : 32109.dasm - System.Diagnostics.Tracing.TraceLoggingMetadataCollector+Impl:Encode(ubyte[]):int:this (FullOpts)
           7 (0.87 % of base) : 32468.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
           3 (0.44 % of base) : 32552.dasm - System.Diagnostics.Tracing.CounterGroup:PollForValues() (FullOpts)
           2 (0.41 % of base) : 25832.dasm - System.Threading.Tasks.Task:GetDelegatesFromContinuationObject(System.Object):System.Delegate[] (FullOpts)
           2 (0.39 % of base) : 26663.dasm - System.Diagnostics.Tracing.EventListener:RemoveReferencesToListenerInEventSources(System.Diagnostics.Tracing.EventListener) (FullOpts)
           2 (0.36 % of base) : 31522.dasm - System.Diagnostics.Tracing.EventSource:EnsureDescriptorsInitialized():this (FullOpts)
           2 (0.36 % of base) : 29885.dasm - System.Runtime.InteropServices.PosixSignalRegistration:HandlerRoutine(int):int (FullOpts)
           6 (0.35 % of base) : 39024.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
          29 (0.26 % of base) : 205361.dasm - System.DirectoryServices.ActiveDirectory.Utils:GetReplicaList(System.DirectoryServices.ActiveDirectory.DirectoryContext,System.String,System.String,ubyte,ubyte,ubyte):System.Collections.ArrayList (FullOpts)
           2 (0.25 % of base) : 32012.dasm - System.Threading.Tasks.TaskExceptionHolder:AddFaultException(System.Object):this (FullOpts)
           4 (0.21 % of base) : 25826.dasm - System.Threading.Tasks.Task:WaitAllCore(System.Threading.Tasks.Task[],int,System.Threading.CancellationToken):ubyte (FullOpts)
           4 (0.18 % of base) : 30021.dasm - System.Reflection.Emit.RuntimeTypeBuilder:CreateTypeNoLock():System.Reflection.TypeInfo:this (FullOpts)
           2 (0.17 % of base) : 29503.dasm - System.TimeZoneInfo:TryGetTimeZone(System.String,ubyte,byref,byref,System.TimeZoneInfo+CachedData,ubyte):int (FullOpts)
           2 (0.14 % of base) : 15690.dasm - System.Threading.Tasks.Task+WhenAllPromise:Invoke(System.Threading.Tasks.Task):this (FullOpts)
           8 (0.13 % of base) : 31528.dasm - System.Diagnostics.Tracing.ManifestBuilder:CreateManifestString():System.String:this (FullOpts)
           2 (0.01 % of base) : 217486.dasm - System.Xml.Serialization.XmlReflectionImporter:ImportAccessorMapping(System.Xml.Serialization.MemberMapping,System.Xml.Serialization.FieldModel,System.Xml.Serialization.XmlAttributes,System.String,System.Type,ubyte,ubyte,System.Xml.Serialization.RecursionLimiter):this (FullOpts)
Top method improvements (percentages):
         -71 (-3.01 % of base) : 26601.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -10 (-2.87 % of base) : 31916.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
          -7 (-2.27 % of base) : 32551.dasm - System.Diagnostics.Tracing.CounterGroup:ResetCounters():this (FullOpts)
          -8 (-1.54 % of base) : 29804.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
          -7 (-1.38 % of base) : 21402.dasm - System.Diagnostics.Tracing.EventSource:GetSources():System.Collections.Generic.IEnumerable`1[System.Diagnostics.Tracing.EventSource] (FullOpts)
          -6 (-1.30 % of base) : 31393.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -7 (-1.25 % of base) : 267341.dasm - System.Xml.Linq.Extensions+<GetDescendantNodes>d__22`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -7 (-1.06 % of base) : 267346.dasm - System.Xml.Linq.Extensions+<GetDescendants>d__23`1[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -6 (-1.04 % of base) : 31325.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -5 (-0.82 % of base) : 26662.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
          -6 (-0.74 % of base) : 26664.dasm - System.Diagnostics.Tracing.EventListener:Validate() (FullOpts)
          -6 (-0.64 % of base) : 234366.dasm - System.Data.ProviderBase.DbConnectionPool:TryGetConnection(System.Data.Common.DbConnection,uint,ubyte,ubyte,System.Data.Common.DbConnectionOptions,byref):ubyte:this (FullOpts)
          -5 (-0.63 % of base) : 240145.dasm - ParallelRunner:BuildProjects(int,int,int,int,System.Collections.Generic.List`1[ProcessInfo],ReadyToRunJittedMethods,int) (FullOpts)
          -4 (-0.52 % of base) : 203024.dasm - System.Speech.Internal.Synthesis.SsmlParser:ParseAudio(System.Xml.XmlReader,System.Speech.Internal.Synthesis.ISsmlParser,int,System.Speech.Internal.Synthesis.SsmlParser+SsmlAttributes,ubyte) (FullOpts)
          -6 (-0.38 % of base) : 153227.dasm - System.Data.ProviderBase.DbConnectionPool:TryGetConnection(System.Data.Common.DbConnection,uint,ubyte,ubyte,System.Data.Common.DbConnectionOptions,byref):ubyte:this (FullOpts)
          -2 (-0.29 % of base) : 19789.dasm - System.IO.BinaryReader:Read():int:this (FullOpts)
          -5 (-0.28 % of base) : 183764.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
          -5 (-0.28 % of base) : 175910.dasm - System.Configuration.BaseConfigurationRecord:Evaluate(System.Configuration.FactoryRecord,System.Configuration.SectionRecord,System.Object,ubyte,ubyte,byref,byref):ubyte:this (FullOpts)
          -9 (-0.19 % of base) : 258833.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.Net.WebSockets.ValueWebSocketReceiveResult]:MoveNext():this (FullOpts)
          -9 (-0.18 % of base) : 258765.dasm - System.Net.WebSockets.ManagedWebSocket+<ReceiveAsyncPrivate>d__64`1[System.__Canon]:MoveNext():this (FullOpts)
38 total methods with Code Size differences (22 improved, 16 regressed).
  
libraries.pmi.windows.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 67667009 (overridden on cmd)
Total bytes of diff: 67666159 (overridden on cmd)
Total bytes of delta: -850 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          24 : 260685.dasm (3.52 % of base)
          22 : 250745.dasm (0.88 % of base)
          12 : 319618.dasm (1.22 % of base)
          11 : 57527.dasm (0.50 % of base)
          10 : 283391.dasm (1.46 % of base)
           9 : 288403.dasm (0.38 % of base)
           7 : 255692.dasm (0.71 % of base)
           7 : 252867.dasm (0.11 % of base)
           6 : 183079.dasm (0.84 % of base)
           6 : 209577.dasm (0.27 % of base)
           5 : 251747.dasm (0.16 % of base)
           5 : 284325.dasm (0.08 % of base)
           5 : 242999.dasm (0.46 % of base)
           5 : 288409.dasm (0.15 % of base)
           4 : 308439.dasm (1.06 % of base)
           4 : 326096.dasm (1.36 % of base)
           4 : 105124.dasm (0.04 % of base)
           4 : 168524.dasm (0.63 % of base)
           4 : 203163.dasm (0.63 % of base)
           4 : 278104.dasm (0.40 % of base)
Top file improvements (bytes):
         -43 : 340011.dasm (-0.55 % of base)
         -38 : 339503.dasm (-0.46 % of base)
         -27 : 57547.dasm (-6.22 % of base)
         -26 : 138940.dasm (-1.16 % of base)
         -26 : 336228.dasm (-1.10 % of base)
         -26 : 336226.dasm (-1.02 % of base)
         -25 : 273504.dasm (-0.73 % of base)
         -23 : 342565.dasm (-0.61 % of base)
         -21 : 196871.dasm (-1.23 % of base)
         -21 : 288397.dasm (-0.69 % of base)
         -20 : 337924.dasm (-3.85 % of base)
         -20 : 192324.dasm (-0.73 % of base)
         -19 : 222825.dasm (-0.50 % of base)
         -19 : 337926.dasm (-3.53 % of base)
         -17 : 330710.dasm (-0.65 % of base)
         -16 : 222914.dasm (-0.71 % of base)
         -16 : 278309.dasm (-1.95 % of base)
         -16 : 300818.dasm (-0.94 % of base)
         -15 : 223093.dasm (-1.39 % of base)
         -14 : 191646.dasm (-1.56 % of base)
71 total files with Code Size differences (36 improved, 35 regressed), 7 unchanged.
Top method regressions (bytes):
          24 (3.52 % of base) : 260685.dasm - System.Security.Cryptography.XmlKeyHelper:WriteCryptoBinary(System.String,System.ReadOnlySpan`1[ubyte],System.Text.StringBuilder) (FullOpts)
          22 (0.88 % of base) : 250745.dasm - System.Xml.Xsl.IlGen.XmlILModule:DefineMethod(System.String,System.Type,System.Type[],System.String[],int):System.Reflection.MethodInfo:this (FullOpts)
          12 (1.22 % of base) : 319618.dasm - System.Net.Mail.SmtpClient:GetFileMailWriter(System.String):System.Net.Mail.MailWriter:this (FullOpts)
          11 (0.50 % of base) : 57527.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
          10 (1.46 % of base) : 283391.dasm - Microsoft.Win32.RegistryKey:GetSubKeyNames():System.String[]:this (FullOpts)
           9 (0.38 % of base) : 288403.dasm - R2RTest.BuildFolder:WriteJitStatistics(System.IO.TextWriter,System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.HashSet`1[System.String]][],System.Collections.Generic.IEnumerable`1[R2RTest.CompilerRunner]) (FullOpts)
           7 (0.71 % of base) : 255692.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeMethodDefTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes,int):this (FullOpts)
           7 (0.11 % of base) : 252867.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
           6 (0.27 % of base) : 209577.dasm - Microsoft.CodeAnalysis.Emit.DeltaMetadataWriter:FinalizeCustomAttributeTableRows():this (FullOpts)
           6 (0.84 % of base) : 183079.dasm - Newtonsoft.Json.JsonPosition:BuildPath(System.Collections.Generic.List`1[Newtonsoft.Json.JsonPosition],System.Nullable`1[Newtonsoft.Json.JsonPosition]):System.String (FullOpts)
           5 (0.08 % of base) : 284325.dasm - R2RDump.Extensions:WriteTo(ILCompiler.Reflection.ReadyToRun.DebugInfo,System.IO.TextWriter,R2RDump.DumpModel) (FullOpts)
           5 (0.15 % of base) : 288409.dasm - R2RTest.BuildFolderSet:Compile():ubyte:this (FullOpts)
           5 (0.16 % of base) : 251747.dasm - System.Xml.Serialization.ReflectionXmlSerializationReader:GenerateLiteralMembersElementInternal(System.Xml.Serialization.MemberMapping[],ubyte,System.Object[]):ubyte:this (FullOpts)
           5 (0.46 % of base) : 242999.dasm - System.Xml.XmlWellFormedWriter:GeneratePrefix():System.String:this (FullOpts)
           4 (0.40 % of base) : 278104.dasm - ILCompiler.Reflection.ReadyToRun.x86.GcTransitionCall:ToString():System.String:this (FullOpts)
           4 (0.63 % of base) : 168524.dasm - Microsoft.CodeAnalysis.PEModule:ExtractStringValuesFromAttributes(System.Collections.Generic.List`1[Microsoft.CodeAnalysis.PEModule+AttributeInfo]):Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.String]:this (FullOpts)
           4 (0.63 % of base) : 203163.dasm - Microsoft.CodeAnalysis.PEModule:ExtractStringValuesFromAttributes(System.Collections.Generic.List`1[Microsoft.CodeAnalysis.PEModule+AttributeInfo]):Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.String]:this (FullOpts)
           4 (1.30 % of base) : 36934.dasm - Microsoft.Diagnostics.Tracing.ETWKernelControl:SaveExtensions(System.Collections.Generic.List`1[Microsoft.Diagnostics.Tracing.ETWKernelControl+ExtensionItem],ulong,int):int (FullOpts)
           4 (1.30 % of base) : 97925.dasm - Microsoft.Diagnostics.Tracing.ETWKernelControl:SaveExtensions(System.Collections.Generic.List`1[Microsoft.Diagnostics.Tracing.ETWKernelControl+ExtensionItem],ulong,int):int (FullOpts)
           4 (0.04 % of base) : 105124.dasm - Microsoft.Diagnostics.Tracing.Parsers.RegisteredTraceEventParser:GetManifestForRegisteredProvider(System.Guid):System.String (FullOpts)
Top method improvements (bytes):
         -43 (-0.55 % of base) : 340011.dasm - TestRunner:DoWorkStress():int:this (FullOpts)
         -38 (-0.46 % of base) : 339503.dasm - ILCompiler.Program:RunSingleCompilation(System.Collections.Generic.Dictionary`2[System.String,System.String],ILCompiler.InstructionSetSupport,System.String,System.Collections.Generic.Dictionary`2[System.String,System.String],System.Collections.Generic.HashSet`1[Internal.TypeSystem.ModuleDesc],ILCompiler.ReadyToRunCompilerContext,ILCompiler.Logger):this (FullOpts)
         -27 (-6.22 % of base) : 57547.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:MostSpecificProcedure(System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],byref,System.Object[],System.String[]):Microsoft.VisualBasic.CompilerServices.Symbols+Method (FullOpts)
         -26 (-1.16 % of base) : 138940.dasm - Microsoft.CodeAnalysis.VisualBasic.CodeGen.StackScheduler:FilterValidStackLocals(System.Collections.Generic.Dictionary`2[Microsoft.CodeAnalysis.VisualBasic.Symbols.LocalSymbol,Microsoft.CodeAnalysis.VisualBasic.CodeGen.StackScheduler+LocalDefUseInfo]):System.Collections.Generic.Dictionary`2[Microsoft.CodeAnalysis.VisualBasic.Symbols.LocalSymbol,Microsoft.CodeAnalysis.VisualBasic.CodeGen.StackScheduler+LocalDefUseInfo] (FullOpts)
         -26 (-1.02 % of base) : 336226.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+<Heartbeat>d__23[System.__Canon,System.Nullable`1[int]]:MoveNext():this (FullOpts)
         -26 (-1.10 % of base) : 336228.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+<Heartbeat>d__23[ubyte,System.Nullable`1[int]]:MoveNext():this (FullOpts)
         -25 (-0.73 % of base) : 273504.dasm - ILCompiler.IBC.IBCProfileParser:ParseIBCDataFromModule(Internal.TypeSystem.Ecma.EcmaModule):ILCompiler.ProfileData:this (FullOpts)
         -23 (-0.61 % of base) : 342565.dasm - Xunit.Sdk.XunitTestAssemblyRunner+<RunTestCollectionsAsync>d__14:MoveNext():this (FullOpts)
         -21 (-1.23 % of base) : 196871.dasm - Microsoft.Build.BackEnd.NodeProviderOutOfProcBase+NodeContext+<WaitForExitAsync>d__27:MoveNext():this (FullOpts)
         -21 (-0.69 % of base) : 288397.dasm - R2RTest.Buckets:WriteToStream(System.IO.StreamWriter,ubyte):this (FullOpts)
         -20 (-0.73 % of base) : 192324.dasm - Microsoft.Build.BackEnd.PropertyParser:GetTableWithEscaping(Microsoft.Build.BackEnd.TaskLoggingHelper,System.String,System.String,System.String[],byref):ubyte (FullOpts)
         -20 (-3.85 % of base) : 337924.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1[ubyte]:ReserveOneMessage():ubyte:this (FullOpts)
         -19 (-0.50 % of base) : 222825.dasm - System.DirectoryServices.AccountManagement.ADStoreCtx:GetGroupsMemberOf(System.DirectoryServices.AccountManagement.Principal):System.DirectoryServices.AccountManagement.ResultSet:this (FullOpts)
         -19 (-3.53 % of base) : 337926.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1[ubyte]:ConsumeOnePostponedMessage():ubyte:this (FullOpts)
         -17 (-0.65 % of base) : 330710.dasm - System.Number:<NumberToBigInteger>g__DivideAndConquer|11_1(byref,byref,byref):int (FullOpts)
         -16 (-1.95 % of base) : 278309.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.GcInfo:UpdateTransitionCodeOffset(System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.Amd64.GcTransition]):System.Collections.Generic.Dictionary`2[int,System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.BaseGcTransition]]:this (FullOpts)
         -16 (-0.94 % of base) : 300818.dasm - System.Composition.Convention.PartConventionBuilder:BuildPropertyAttributes(System.Type,byref):this (FullOpts)
         -16 (-0.71 % of base) : 222914.dasm - System.DirectoryServices.AccountManagement.ADStoreCtx:UpdateGroupMembership(System.DirectoryServices.AccountManagement.Principal,System.DirectoryServices.DirectoryEntry,System.DirectoryServices.AccountManagement.NetCred,int) (FullOpts)
         -15 (-1.39 % of base) : 223093.dasm - System.DirectoryServices.AccountManagement.SAMStoreCtx:UpdateGroupMembership(System.DirectoryServices.AccountManagement.Principal,System.DirectoryServices.DirectoryEntry,System.DirectoryServices.AccountManagement.NetCred,int) (FullOpts)
         -14 (-1.56 % of base) : 191646.dasm - Microsoft.Build.Execution.BuildManager:OnThreadException(System.Exception):this (FullOpts)
Top method regressions (percentages):
          24 (3.52 % of base) : 260685.dasm - System.Security.Cryptography.XmlKeyHelper:WriteCryptoBinary(System.String,System.ReadOnlySpan`1[ubyte],System.Text.StringBuilder) (FullOpts)
           2 (1.60 % of base) : 308427.dasm - System.IO.Compression.ZipGenericExtraField:WriteAllBlocks(System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField],System.IO.Stream) (FullOpts)
          10 (1.46 % of base) : 283391.dasm - Microsoft.Win32.RegistryKey:GetSubKeyNames():System.String[]:this (FullOpts)
           2 (1.42 % of base) : 317966.dasm - System.Net.HttpListenerResponse:FreePinnedHeaders(System.Collections.Generic.List`1[System.Runtime.InteropServices.GCHandle]) (FullOpts)
           4 (1.36 % of base) : 326096.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:Contains(System.Numerics.Vector`1[float]):ubyte:this (FullOpts)
           2 (1.33 % of base) : 255688.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeEncMapTable(System.Reflection.Metadata.BlobBuilder):this (FullOpts)
           4 (1.30 % of base) : 36934.dasm - Microsoft.Diagnostics.Tracing.ETWKernelControl:SaveExtensions(System.Collections.Generic.List`1[Microsoft.Diagnostics.Tracing.ETWKernelControl+ExtensionItem],ulong,int):int (FullOpts)
           4 (1.30 % of base) : 97925.dasm - Microsoft.Diagnostics.Tracing.ETWKernelControl:SaveExtensions(System.Collections.Generic.List`1[Microsoft.Diagnostics.Tracing.ETWKernelControl+ExtensionItem],ulong,int):int (FullOpts)
          12 (1.22 % of base) : 319618.dasm - System.Net.Mail.SmtpClient:GetFileMailWriter(System.String):System.Net.Mail.MailWriter:this (FullOpts)
           2 (1.19 % of base) : 194699.dasm - Microsoft.Build.Shared.CollectionHelpers:RemoveNulls[ubyte](System.Collections.Generic.List`1[ubyte]):System.Collections.Generic.List`1[ubyte] (FullOpts)
           4 (1.06 % of base) : 308439.dasm - System.IO.Compression.Zip64ExtraField:RemoveZip64Blocks(System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField]) (FullOpts)
           3 (1.00 % of base) : 275476.dasm - ILCompiler.LazyGenericsSupport+GraphBuilder+EmbeddingStateList:Collect(Internal.TypeSystem.Ecma.EcmaGenericParameter,int):this (FullOpts)
           2 (0.90 % of base) : 166115.dasm - Microsoft.Cci.MetadataWriter:PopulateMethodImplTableRows():this (FullOpts)
           2 (0.90 % of base) : 200867.dasm - Microsoft.Cci.MetadataWriter:PopulateMethodImplTableRows():this (FullOpts)
          22 (0.88 % of base) : 250745.dasm - System.Xml.Xsl.IlGen.XmlILModule:DefineMethod(System.String,System.Type,System.Type[],System.String[],int):System.Reflection.MethodInfo:this (FullOpts)
           2 (0.84 % of base) : 231588.dasm - System.Net.Http.Http3RequestStream:CopyTrailersToResponseMessage(System.Net.Http.HttpResponseMessage):this (FullOpts)
           6 (0.84 % of base) : 183079.dasm - Newtonsoft.Json.JsonPosition:BuildPath(System.Collections.Generic.List`1[Newtonsoft.Json.JsonPosition],System.Nullable`1[Newtonsoft.Json.JsonPosition]):System.String (FullOpts)
           2 (0.84 % of base) : 255687.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeEncLogTable(System.Reflection.Metadata.BlobBuilder):this (FullOpts)
           3 (0.83 % of base) : 326097.dasm - System.Collections.ObjectModel.KeyedCollection`2[System.Numerics.Vector`1[float],System.Nullable`1[int]]:TryGetValue(System.Numerics.Vector`1[float],byref):ubyte:this (FullOpts)
           2 (0.83 % of base) : 326069.dasm - System.Collections.ObjectModel.KeyedCollection`2[ubyte,System.Nullable`1[int]]:CreateDictionary():this (FullOpts)
Top method improvements (percentages):
         -27 (-6.22 % of base) : 57547.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:MostSpecificProcedure(System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],byref,System.Object[],System.String[]):Microsoft.VisualBasic.CompilerServices.Symbols+Method (FullOpts)
         -20 (-3.85 % of base) : 337924.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1[ubyte]:ReserveOneMessage():ubyte:this (FullOpts)
          -8 (-3.62 % of base) : 338033.dasm - System.Threading.Tasks.Dataflow.Internal.Common:ReleaseAllPostponedMessages[ubyte](System.Threading.Tasks.Dataflow.ITargetBlock`1[ubyte],System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[ubyte],System.Threading.Tasks.Dataflow.DataflowMessageHeader],byref) (FullOpts)
         -19 (-3.53 % of base) : 337926.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1[ubyte]:ConsumeOnePostponedMessage():ubyte:this (FullOpts)
         -10 (-2.49 % of base) : 263984.dasm - System.Speech.Internal.Synthesis.VoiceSynthesis:RemoveLexicon(System.Uri):this (FullOpts)
          -6 (-2.11 % of base) : 343321.dasm - Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
          -6 (-2.03 % of base) : 195645.dasm - Microsoft.Build.Evaluation.ProjectCollection+LoadedProjectCollection:GetMatchingProjectIfAny(System.String,System.Collections.Generic.IDictionary`2[System.String,System.String],System.String):Microsoft.Build.Evaluation.Project:this (FullOpts)
         -16 (-1.95 % of base) : 278309.dasm - ILCompiler.Reflection.ReadyToRun.Amd64.GcInfo:UpdateTransitionCodeOffset(System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.Amd64.GcTransition]):System.Collections.Generic.Dictionary`2[int,System.Collections.Generic.List`1[ILCompiler.Reflection.ReadyToRun.BaseGcTransition]]:this (FullOpts)
         -10 (-1.84 % of base) : 332600.dasm - System.Security.Claims.ClaimsIdentity+<CombinedClaimsIterator>d__38:MoveNext():ubyte:this (FullOpts)
          -9 (-1.80 % of base) : 186875.dasm - Newtonsoft.Json.Linq.JsonPath.ArrayMultipleIndexFilter+<ExecuteFilter>d__2:MoveNext():ubyte:this (FullOpts)
          -5 (-1.72 % of base) : 262956.dasm - System.Speech.Recognition.RecognizerBase:set_PauseRecognizerOnRecognition(ubyte):this (FullOpts)
          -8 (-1.57 % of base) : 232544.dasm - System.Net.Http.Headers.HttpHeaderValueCollection`1+<<GetEnumerator>g__Iterate|14_0>d[System.__Canon]:MoveNext():ubyte:this (FullOpts)
         -14 (-1.56 % of base) : 191646.dasm - Microsoft.Build.Execution.BuildManager:OnThreadException(System.Exception):this (FullOpts)
         -10 (-1.45 % of base) : 299265.dasm - System.ComponentModel.Composition.ReflectionModel.GenericServices:GetGenericName(System.String,int[],int):System.String (FullOpts)
          -5 (-1.42 % of base) : 193876.dasm - Microsoft.Build.BackEnd.Logging.LoggingService:get_RegisteredLoggerTypeNames():System.Collections.Generic.ICollection`1[System.String]:this (FullOpts)
          -5 (-1.40 % of base) : 182581.dasm - Microsoft.Extensions.DependencyInjection.DependencyInjectionEventSource:OnEventCommand(System.Diagnostics.Tracing.EventCommandEventArgs):this (FullOpts)
         -15 (-1.39 % of base) : 223093.dasm - System.DirectoryServices.AccountManagement.SAMStoreCtx:UpdateGroupMembership(System.DirectoryServices.AccountManagement.Principal,System.DirectoryServices.DirectoryEntry,System.DirectoryServices.AccountManagement.NetCred,int) (FullOpts)
         -10 (-1.36 % of base) : 262332.dasm - System.Security.Cryptography.X509Certificates.X509SubjectAlternativeNameExtension+<EnumerateDnsNames>d__6:MoveNext():ubyte:this (FullOpts)
          -3 (-1.35 % of base) : 280223.dasm - Microsoft.Extensions.Configuration.ConfigurationManager:Microsoft.Extensions.Configuration.IConfigurationRoot.Reload():this (FullOpts)
         -10 (-1.30 % of base) : 162422.dasm - Microsoft.CSharp.RuntimeBinder.BinderHelper:ValidateBindArgument(System.Dynamic.DynamicMetaObject[],System.String) (FullOpts)
  
libraries_tests.run.windows.x64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 42430255 (overridden on cmd)
Total bytes of diff: 42430230 (overridden on cmd)
Total bytes of delta: -25 (-0.00 % of base)
    diff is an improvement.
    relative diff is a regression.
Detail diffs
Top file regressions (bytes):
          25 : 35034.dasm (2.01 % of base)
          24 : 99224.dasm (3.52 % of base)
          21 : 114351.dasm (1.71 % of base)
           7 : 23644.dasm (1.05 % of base)
           6 : 41091.dasm (0.50 % of base)
           5 : 108329.dasm (0.61 % of base)
           3 : 75942.dasm (0.25 % of base)
           3 : 109369.dasm (0.14 % of base)
           2 : 75833.dasm (0.26 % of base)
           2 : 75912.dasm (0.47 % of base)
           2 : 76236.dasm (0.39 % of base)
           2 : 76290.dasm (0.36 % of base)
           2 : 76328.dasm (0.38 % of base)
           2 : 76456.dasm (0.26 % of base)
           2 : 76516.dasm (0.27 % of base)
           2 : 76738.dasm (0.39 % of base)
           2 : 76740.dasm (0.39 % of base)
           2 : 76762.dasm (0.60 % of base)
           2 : 76767.dasm (0.39 % of base)
           2 : 76872.dasm (0.31 % of base)
Top file improvements (bytes):
         -21 : 76734.dasm (-1.26 % of base)
         -20 : 76736.dasm (-1.63 % of base)
         -16 : 76733.dasm (-1.02 % of base)
         -16 : 76742.dasm (-1.10 % of base)
         -16 : 76775.dasm (-1.10 % of base)
         -16 : 22997.dasm (-1.72 % of base)
         -16 : 95823.dasm (-1.70 % of base)
         -10 : 25106.dasm (-1.75 % of base)
          -7 : 75981.dasm (-0.15 % of base)
          -6 : 57688.dasm (-0.16 % of base)
          -6 : 8067.dasm (-0.46 % of base)
          -6 : 1143.dasm (-0.47 % of base)
          -6 : 58415.dasm (-0.95 % of base)
          -6 : 62305.dasm (-0.15 % of base)
          -3 : 102033.dasm (-0.12 % of base)
          -3 : 1128.dasm (-0.23 % of base)
          -3 : 4452.dasm (-0.23 % of base)
          -2 : 108335.dasm (-0.14 % of base)
49 total files with Code Size differences (18 improved, 31 regressed), 1 unchanged.
Top method regressions (bytes):
          25 (2.01 % of base) : 35034.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
          24 (3.52 % of base) : 99224.dasm - System.Security.Cryptography.XmlKeyHelper:WriteCryptoBinary(System.String,System.ReadOnlySpan`1[ubyte],System.Text.StringBuilder) (Tier0-FullOpts)
          21 (1.71 % of base) : 114351.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
           7 (1.05 % of base) : 23644.dasm - Microsoft.Win32.RegistryKey:GetSubKeyNames():System.String[]:this (Tier0-FullOpts)
           6 (0.50 % of base) : 41091.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
           5 (0.61 % of base) : 108329.dasm - System.Text.Encodings.Web.Tests.InboxEncoderCommonTestBase:_RunGetIndexOfFirstCharacterToEncodeUtf8_BmpExtendedAllValidChars(ushort):this (Tier0-FullOpts)
           3 (0.25 % of base) : 75942.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeMethodDefTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes,int):this (Tier1-OSR)
           3 (0.14 % of base) : 109369.dasm - System.Text.RegularExpressions.Symbolic.RegexNodeConverter:<CreateBDDFromSetString>g__Compute|5_0(System.String):System.Text.RegularExpressions.Symbolic.BDD:this (Tier0-FullOpts)
           2 (0.40 % of base) : 76386.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeClassLayoutTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
           2 (0.22 % of base) : 76771.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeDocumentTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
           2 (0.39 % of base) : 76738.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeEventMapTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
           2 (0.31 % of base) : 76872.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeEventTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
           2 (0.47 % of base) : 75912.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeFieldLayoutTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
           2 (0.46 % of base) : 76247.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeFieldRvaTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes,int):this (Tier1-OSR)
           2 (0.39 % of base) : 76767.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeGenericParamConstraintTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
           2 (0.27 % of base) : 76516.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeGenericParamTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
           2 (0.39 % of base) : 76236.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeImportScopeTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
           2 (0.39 % of base) : 76561.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeInterfaceImplTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
           2 (0.38 % of base) : 76328.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeLocalConstantTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
           2 (0.16 % of base) : 76182.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeLocalScopeTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
Top method improvements (bytes):
         -21 (-1.26 % of base) : 76734.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeCustomAttributeTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
         -20 (-1.63 % of base) : 76736.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeFieldMarshalTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
         -16 (-1.72 % of base) : 22997.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.70 % of base) : 95823.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.02 % of base) : 76733.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeConstantTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
         -16 (-1.10 % of base) : 76775.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeDeclSecurityTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
         -16 (-1.10 % of base) : 76742.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeMethodSemanticsTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
         -10 (-1.75 % of base) : 25106.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
          -7 (-0.15 % of base) : 75981.dasm - System.Reflection.Metadata.Tests.LargeTablesAndHeapsTests:Strings():this (Tier1-OSR)
          -6 (-0.16 % of base) : 57688.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (Instrumented Tier1)
          -6 (-0.15 % of base) : 62305.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (Instrumented Tier1)
          -6 (-0.46 % of base) : 8067.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Instrumented Tier1)
          -6 (-0.47 % of base) : 1143.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Instrumented Tier1)
          -6 (-0.95 % of base) : 58415.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (Instrumented Tier1)
          -3 (-0.23 % of base) : 1128.dasm - System.Diagnostics.Tracing.EventSource:InitializeProviderMetadata():this (Instrumented Tier1)
          -3 (-0.23 % of base) : 4452.dasm - System.Diagnostics.Tracing.EventSource:InitializeProviderMetadata():this (Instrumented Tier1)
          -3 (-0.12 % of base) : 102033.dasm - System.Security.Cryptography.Pkcs.Pkcs12Builder:SealWithMac(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.HashAlgorithmName,int):this (Tier0-FullOpts)
          -2 (-0.14 % of base) : 108335.dasm - System.Text.Encodings.Web.Tests.InboxEncoderCommonTestBase:_RunGetIndexOfFirstCharacterToEncodeUtf8_BmpExtendedSomeCharsNeedEncoding(ushort):this (Tier0-FullOpts)
Top method regressions (percentages):
          24 (3.52 % of base) : 99224.dasm - System.Security.Cryptography.XmlKeyHelper:WriteCryptoBinary(System.String,System.ReadOnlySpan`1[ubyte],System.Text.StringBuilder) (Tier0-FullOpts)
          25 (2.01 % of base) : 35034.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
          21 (1.71 % of base) : 114351.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
           7 (1.05 % of base) : 23644.dasm - Microsoft.Win32.RegistryKey:GetSubKeyNames():System.String[]:this (Tier0-FullOpts)
           5 (0.61 % of base) : 108329.dasm - System.Text.Encodings.Web.Tests.InboxEncoderCommonTestBase:_RunGetIndexOfFirstCharacterToEncodeUtf8_BmpExtendedAllValidChars(ushort):this (Tier0-FullOpts)
           2 (0.60 % of base) : 76762.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeStandAloneSigTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
           6 (0.50 % of base) : 41091.dasm - System.Reflection.AssemblyNameParser:GetNextToken(byref):int:this (Tier1)
           2 (0.47 % of base) : 75912.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeFieldLayoutTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
           2 (0.46 % of base) : 76247.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeFieldRvaTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes,int):this (Tier1-OSR)
           2 (0.40 % of base) : 76386.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeClassLayoutTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
           2 (0.39 % of base) : 76738.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeEventMapTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
           2 (0.39 % of base) : 76767.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeGenericParamConstraintTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
           2 (0.39 % of base) : 76236.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeImportScopeTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
           2 (0.39 % of base) : 76561.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeInterfaceImplTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
           2 (0.39 % of base) : 76758.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeMethodSpecTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
           2 (0.39 % of base) : 76746.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeNestedClassTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
           2 (0.39 % of base) : 76740.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializePropertyMapTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
           2 (0.39 % of base) : 76848.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeStateMachineMethodTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
           2 (0.38 % of base) : 76328.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeLocalConstantTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
           2 (0.36 % of base) : 76290.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeLocalVariableTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
Top method improvements (percentages):
         -10 (-1.75 % of base) : 25106.dasm - System.Linq.Enumerable:TryGetFirst[System.__Canon](System.Collections.Generic.IEnumerable`1[System.__Canon],System.Func`2[System.__Canon,ubyte],byref):System.__Canon (Tier1)
         -16 (-1.72 % of base) : 22997.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -16 (-1.70 % of base) : 95823.dasm - System.Collections.Generic.List`1[System.__Canon]:.ctor(System.Collections.Generic.IEnumerable`1[System.__Canon]):this (Tier1)
         -20 (-1.63 % of base) : 76736.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeFieldMarshalTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
         -21 (-1.26 % of base) : 76734.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeCustomAttributeTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
         -16 (-1.10 % of base) : 76775.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeDeclSecurityTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
         -16 (-1.10 % of base) : 76742.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeMethodSemanticsTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
         -16 (-1.02 % of base) : 76733.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeConstantTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (Tier1-OSR)
          -6 (-0.95 % of base) : 58415.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (Instrumented Tier1)
          -6 (-0.47 % of base) : 1143.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Instrumented Tier1)
          -6 (-0.46 % of base) : 8067.dasm - System.Diagnostics.Tracing.EventListener:Validate() (Instrumented Tier1)
          -3 (-0.23 % of base) : 1128.dasm - System.Diagnostics.Tracing.EventSource:InitializeProviderMetadata():this (Instrumented Tier1)
          -3 (-0.23 % of base) : 4452.dasm - System.Diagnostics.Tracing.EventSource:InitializeProviderMetadata():this (Instrumented Tier1)
          -6 (-0.16 % of base) : 57688.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (Instrumented Tier1)
          -6 (-0.15 % of base) : 62305.dasm - System.DefaultBinder:SelectMethod(int,System.Reflection.MethodBase[],System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodBase:this (Instrumented Tier1)
          -7 (-0.15 % of base) : 75981.dasm - System.Reflection.Metadata.Tests.LargeTablesAndHeapsTests:Strings():this (Tier1-OSR)
          -2 (-0.14 % of base) : 108335.dasm - System.Text.Encodings.Web.Tests.InboxEncoderCommonTestBase:_RunGetIndexOfFirstCharacterToEncodeUtf8_BmpExtendedSomeCharsNeedEncoding(ushort):this (Tier0-FullOpts)
          -3 (-0.12 % of base) : 102033.dasm - System.Security.Cryptography.Pkcs.Pkcs12Builder:SealWithMac(System.ReadOnlySpan`1[ushort],System.Security.Cryptography.HashAlgorithmName,int):this (Tier0-FullOpts)
  
librariestestsnotieredcompilation.run.windows.x64.Release.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 142641215 (overridden on cmd)
Total bytes of diff: 142640344 (overridden on cmd)
Total bytes of delta: -871 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          40 : 236139.dasm (3.38 % of base)
          24 : 249268.dasm (3.52 % of base)
          16 : 265206.dasm (1.16 % of base)
          15 : 69705.dasm (1.23 % of base)
          15 : 235927.dasm (0.89 % of base)
          14 : 238860.dasm (0.89 % of base)
          14 : 240597.dasm (0.89 % of base)
          12 : 244551.dasm (1.02 % of base)
          12 : 244439.dasm (0.96 % of base)
          12 : 244442.dasm (1.03 % of base)
          12 : 244484.dasm (0.93 % of base)
          12 : 244501.dasm (1.04 % of base)
          11 : 70056.dasm (0.55 % of base)
          11 : 237714.dasm (0.75 % of base)
          10 : 69661.dasm (0.54 % of base)
          10 : 69664.dasm (0.53 % of base)
          10 : 31137.dasm (0.89 % of base)
          10 : 73373.dasm (1.52 % of base)
           7 : 192504.dasm (0.11 % of base)
           7 : 58836.dasm (0.37 % of base)
Top file improvements (bytes):
         -34 : 148292.dasm (-1.36 % of base)
         -24 : 114861.dasm (-0.60 % of base)
         -23 : 277132.dasm (-4.00 % of base)
         -23 : 299625.dasm (-4.00 % of base)
         -23 : 18434.dasm (-0.62 % of base)
         -23 : 805.dasm (-0.62 % of base)
         -21 : 339283.dasm (-0.72 % of base)
         -21 : 224541.dasm (-0.41 % of base)
         -20 : 333824.dasm (-3.85 % of base)
         -19 : 334287.dasm (-3.53 % of base)
         -19 : 331948.dasm (-0.77 % of base)
         -18 : 180686.dasm (-0.96 % of base)
         -18 : 22072.dasm (-0.96 % of base)
         -17 : 224414.dasm (-0.65 % of base)
         -16 : 102538.dasm (-0.96 % of base)
         -15 : 144836.dasm (-0.64 % of base)
         -15 : 184379.dasm (-0.29 % of base)
         -14 : 248870.dasm (-0.68 % of base)
         -14 : 23435.dasm (-1.08 % of base)
         -14 : 65666.dasm (-0.31 % of base)
72 total files with Code Size differences (39 improved, 33 regressed), 12 unchanged.
Top method regressions (bytes):
          40 (3.38 % of base) : 236139.dasm - System.Tests.DecimalTests+BigIntegerCompare:Test() (FullOpts)
          24 (3.52 % of base) : 249268.dasm - System.Security.Cryptography.XmlKeyHelper:WriteCryptoBinary(System.String,System.ReadOnlySpan`1[ubyte],System.Text.StringBuilder) (FullOpts)
          16 (1.16 % of base) : 265206.dasm - System.Text.Tests.EncodingTest+<>c:<TestGetEncodingsWithProvider>b__19_0():this (FullOpts)
          15 (1.23 % of base) : 69705.dasm - Microsoft.VisualBasic.FileIO.Tests.FileSystemTests:CopyDirectory_SourceDirectoryName_DestinationDirectoryName():this (FullOpts)
          15 (0.89 % of base) : 235927.dasm - System.Tests.DecimalTests+BigIntegerDiv:Test() (FullOpts)
          14 (0.89 % of base) : 240597.dasm - System.Tests.DecimalTests+BigIntegerAdd:Test() (FullOpts)
          14 (0.89 % of base) : 238860.dasm - System.Tests.DecimalTests+BigIntegerMul:Test() (FullOpts)
          12 (1.03 % of base) : 244442.dasm - System.Tests.DecimalTests:BigInteger_Ceiling() (FullOpts)
          12 (1.04 % of base) : 244501.dasm - System.Tests.DecimalTests:BigInteger_Floor() (FullOpts)
          12 (0.93 % of base) : 244484.dasm - System.Tests.DecimalTests:BigInteger_Round() (FullOpts)
          12 (1.02 % of base) : 244551.dasm - System.Tests.DecimalTests:BigInteger_RoundAwayFromZero() (FullOpts)
          12 (0.96 % of base) : 244439.dasm - System.Tests.DecimalTests:BigInteger_Truncate() (FullOpts)
          11 (0.55 % of base) : 70056.dasm - Microsoft.VisualBasic.CompilerServices.OverloadResolution:InsertIfMethodAvailable(System.Reflection.MemberInfo,System.Reflection.ParameterInfo[],int,ubyte,System.Object[],int,System.String[],System.Type[],ubyte,System.Collections.Generic.List`1[Microsoft.VisualBasic.CompilerServices.Symbols+Method],Microsoft.VisualBasic.CompilerServices.Symbols+Container) (FullOpts)
          11 (0.75 % of base) : 237714.dasm - System.Tests.DecimalTests+BigIntegerMod:Test() (FullOpts)
          10 (0.89 % of base) : 31137.dasm - Microsoft.Extensions.Caching.Memory.CapacityTests:NoCompactionWhenNoMaximumEntriesCountSpecified():this (FullOpts)
          10 (0.54 % of base) : 69661.dasm - Microsoft.VisualBasic.FileIO.Tests.FileSystemTests:GetDirectories_Directory():this (FullOpts)
          10 (0.53 % of base) : 69664.dasm - Microsoft.VisualBasic.FileIO.Tests.FileSystemTests:GetDirectories_Directory_SearchOption_Wildcards():this (FullOpts)
          10 (1.52 % of base) : 73373.dasm - Microsoft.Win32.RegistryKey:GetSubKeyNames():System.String[]:this (FullOpts)
           7 (0.37 % of base) : 58836.dasm - Microsoft.Extensions.Logging.Generators.Tests.LoggerMessageGeneratedCodeTests:TestCollection(int,Microsoft.Extensions.Logging.Generators.Tests.MockLogger) (FullOpts)
           7 (0.11 % of base) : 192504.dasm - System.Xml.Serialization.XmlSerializationReaderILGen:GenerateLiteralMembersElement(System.Xml.Serialization.XmlMembersMapping):System.String:this (FullOpts)
Top method improvements (bytes):
         -34 (-1.36 % of base) : 148292.dasm - System.IO.Tests.RandomAccess_NoBuffering+<ReadAsyncUsingMultipleBuffers>d__3:MoveNext():this (FullOpts)
         -24 (-0.60 % of base) : 114861.dasm - System.Diagnostics.Tests.ActivitySourceTests+<>c:<TestActivityCreationProperties>b__9_0():this (FullOpts)
         -23 (-4.00 % of base) : 277132.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<RunAsRootTypeTest>d__8`1[ubyte]:MoveNext():this (FullOpts)
         -23 (-4.00 % of base) : 299625.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<RunAsRootTypeTest>d__8`1[ubyte]:MoveNext():this (FullOpts)
         -23 (-0.62 % of base) : 18434.dasm - Xunit.Sdk.XunitTestAssemblyRunner+<RunTestCollectionsAsync>d__14:MoveNext():this (FullOpts)
         -23 (-0.62 % of base) : 805.dasm - Xunit.Sdk.XunitTestAssemblyRunner+<RunTestCollectionsAsync>d__14:MoveNext():this (FullOpts)
         -21 (-0.41 % of base) : 224541.dasm - System.Numerics.Tests.IsEvenTest:RunIsEvenTests() (FullOpts)
         -21 (-0.72 % of base) : 339283.dasm - System.Threading.Tests.EtwTests+<>c:<WaitHandleWaitEventTest>b__1_0():this (FullOpts)
         -20 (-3.85 % of base) : 333824.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1[int]:ReserveOneMessage():ubyte:this (FullOpts)
         -19 (-0.77 % of base) : 331948.dasm - System.Threading.RateLimiting.DefaultPartitionedRateLimiter`2+<Heartbeat>d__23[System.__Canon,int]:MoveNext():this (FullOpts)
         -19 (-3.53 % of base) : 334287.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1[int]:ConsumeOnePostponedMessage():ubyte:this (FullOpts)
         -18 (-0.96 % of base) : 180686.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (FullOpts)
         -18 (-0.96 % of base) : 22072.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (FullOpts)
         -17 (-0.65 % of base) : 224414.dasm - System.Number:<NumberToBigInteger>g__DivideAndConquer|11_1(byref,byref,byref):int (FullOpts)
         -16 (-0.96 % of base) : 102538.dasm - System.Composition.Convention.PartConventionBuilder:BuildPropertyAttributes(System.Type,byref):this (FullOpts)
         -15 (-0.64 % of base) : 144836.dasm - System.IO.Compression.Tests.ZipFileTestBase+<CreateFromDir>d__25:MoveNext():this (FullOpts)
         -15 (-0.29 % of base) : 184379.dasm - System.Net.WebSockets.Tests.WebSocketDeflateTests+<Duplex>d__13:MoveNext():this (FullOpts)
         -14 (-0.31 % of base) : 65666.dasm - Microsoft.Extensions.Options.Generators.Parser:GetValidatorTypes(System.Collections.Generic.IEnumerable`1[System.ValueTuple`2[Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax,Microsoft.CodeAnalysis.SemanticModel]]):System.Collections.Generic.IReadOnlyList`1[Microsoft.Extensions.Options.Generators.ValidatorType]:this (FullOpts)
         -14 (-1.08 % of base) : 23435.dasm - NuGet.Packaging.Signing.SignedPackageArchiveUtility:VerifySignedPackageIntegrity(System.IO.BinaryReader,System.Security.Cryptography.HashAlgorithm,ubyte[]):ubyte (FullOpts)
         -14 (-0.68 % of base) : 248870.dasm - System.Security.Cryptography.EcDsa.Tests.ECDsaTests:SignVerify_InteroperableSameKeys_RoundTripsUnlessTampered(System.Security.Cryptography.ECDsa,System.Security.Cryptography.HashAlgorithmName):this (FullOpts)
Top method regressions (percentages):
          24 (3.52 % of base) : 249268.dasm - System.Security.Cryptography.XmlKeyHelper:WriteCryptoBinary(System.String,System.ReadOnlySpan`1[ubyte],System.Text.StringBuilder) (FullOpts)
          40 (3.38 % of base) : 236139.dasm - System.Tests.DecimalTests+BigIntegerCompare:Test() (FullOpts)
           2 (1.60 % of base) : 144913.dasm - System.IO.Compression.ZipGenericExtraField:WriteAllBlocks(System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField],System.IO.Stream) (FullOpts)
           2 (1.60 % of base) : 150417.dasm - System.IO.Compression.ZipGenericExtraField:WriteAllBlocks(System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField],System.IO.Stream) (FullOpts)
          10 (1.52 % of base) : 73373.dasm - Microsoft.Win32.RegistryKey:GetSubKeyNames():System.String[]:this (FullOpts)
           2 (1.42 % of base) : 175520.dasm - System.Net.HttpListenerResponse:FreePinnedHeaders(System.Collections.Generic.List`1[System.Runtime.InteropServices.GCHandle]) (FullOpts)
           2 (1.42 % of base) : 182053.dasm - System.Net.HttpListenerResponse:FreePinnedHeaders(System.Collections.Generic.List`1[System.Runtime.InteropServices.GCHandle]) (FullOpts)
          15 (1.23 % of base) : 69705.dasm - Microsoft.VisualBasic.FileIO.Tests.FileSystemTests:CopyDirectory_SourceDirectoryName_DestinationDirectoryName():this (FullOpts)
          16 (1.16 % of base) : 265206.dasm - System.Text.Tests.EncodingTest+<>c:<TestGetEncodingsWithProvider>b__19_0():this (FullOpts)
           4 (1.14 % of base) : 144911.dasm - System.IO.Compression.Zip64ExtraField:RemoveZip64Blocks(System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField]) (FullOpts)
           4 (1.14 % of base) : 150415.dasm - System.IO.Compression.Zip64ExtraField:RemoveZip64Blocks(System.Collections.Generic.List`1[System.IO.Compression.ZipGenericExtraField]) (FullOpts)
          12 (1.04 % of base) : 244501.dasm - System.Tests.DecimalTests:BigInteger_Floor() (FullOpts)
          12 (1.03 % of base) : 244442.dasm - System.Tests.DecimalTests:BigInteger_Ceiling() (FullOpts)
          12 (1.02 % of base) : 244551.dasm - System.Tests.DecimalTests:BigInteger_RoundAwayFromZero() (FullOpts)
           3 (0.96 % of base) : 15081.dasm - Microsoft.CodeAnalysis.Shared.Extensions.ListExtensions:AddRangeWhere[Microsoft.CodeAnalysis.Formatting.Rules.SuppressOperation](System.Collections.Generic.List`1[Microsoft.CodeAnalysis.Formatting.Rules.SuppressOperation],System.Collections.Generic.List`1[Microsoft.CodeAnalysis.Formatting.Rules.SuppressOperation],System.Func`2[Microsoft.CodeAnalysis.Formatting.Rules.SuppressOperation,ubyte]) (FullOpts)
          12 (0.96 % of base) : 244439.dasm - System.Tests.DecimalTests:BigInteger_Truncate() (FullOpts)
           2 (0.95 % of base) : 48183.dasm - Moq.Mock:Verify(Moq.Mock,System.Linq.Expressions.LambdaExpression,Moq.Times,System.String) (FullOpts)
          12 (0.93 % of base) : 244484.dasm - System.Tests.DecimalTests:BigInteger_Round() (FullOpts)
           2 (0.90 % of base) : 64220.dasm - Microsoft.Cci.MetadataWriter:PopulateMethodImplTableRows():this (FullOpts)
           2 (0.90 % of base) : 58176.dasm - Microsoft.Cci.MetadataWriter:PopulateMethodImplTableRows():this (FullOpts)
Top method improvements (percentages):
         -23 (-4.00 % of base) : 277132.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<RunAsRootTypeTest>d__8`1[ubyte]:MoveNext():this (FullOpts)
         -23 (-4.00 % of base) : 299625.dasm - System.Text.Json.Serialization.Tests.NumberHandlingTests+<RunAsRootTypeTest>d__8`1[ubyte]:MoveNext():this (FullOpts)
         -20 (-3.85 % of base) : 333824.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1[int]:ReserveOneMessage():ubyte:this (FullOpts)
          -8 (-3.62 % of base) : 333216.dasm - System.Threading.Tasks.Dataflow.Internal.Common:ReleaseAllPostponedMessages[int](System.Threading.Tasks.Dataflow.ITargetBlock`1[int],System.Threading.Tasks.Dataflow.Internal.QueuedMap`2[System.Threading.Tasks.Dataflow.ISourceBlock`1[int],System.Threading.Tasks.Dataflow.DataflowMessageHeader],byref) (FullOpts)
         -19 (-3.53 % of base) : 334287.dasm - System.Threading.Tasks.Dataflow.Internal.JoinBlockTarget`1[int]:ConsumeOnePostponedMessage():ubyte:this (FullOpts)
          -9 (-3.27 % of base) : 164799.dasm - System.Linq.Tests.ConcatTests:VerifyEqualsWorker[int](System.Collections.Generic.IEnumerable`1[int],System.Collections.Generic.IEnumerable`1[int]) (FullOpts)
          -6 (-2.18 % of base) : 145682.dasm - System.IO.TempAclDirectory:DeleteDirectory():this (FullOpts)
         -13 (-2.16 % of base) : 202378.dasm - OLEDB.Test.ModuleCore.CTestModule+<TestCases>d__56:MoveNext():ubyte:this (FullOpts)
          -6 (-2.11 % of base) : 18155.dasm - Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
          -6 (-2.11 % of base) : 489.dasm - Xunit.AggregateMessageSink:OnMessageWithTypes(Xunit.Abstractions.IMessageSinkMessage,System.Collections.Generic.HashSet`1[System.String]):ubyte:this (FullOpts)
         -10 (-1.84 % of base) : 247786.dasm - System.Security.Claims.ClaimsIdentity+<CombinedClaimsIterator>d__38:MoveNext():ubyte:this (FullOpts)
         -12 (-1.59 % of base) : 256225.dasm - System.Security.Cryptography.X509Certificates.X509SubjectAlternativeNameExtension+<EnumerateDnsNames>d__6:MoveNext():ubyte:this (FullOpts)
          -8 (-1.58 % of base) : 254747.dasm - System.Security.Cryptography.X509Certificates.Tests.PfxIterationCountTests+<GetCertsWith_IterationCountExceedingDefaultLimit_MemberData>d__18:MoveNext():ubyte:this (FullOpts)
          -8 (-1.57 % of base) : 254815.dasm - System.Security.Cryptography.X509Certificates.Tests.PfxIterationCountTests+<GetCertsWith_IterationCountNotExceedingDefaultLimit_AndNullOrEmptyPassword_MemberData>d__17:MoveNext():ubyte:this (FullOpts)
          -8 (-1.57 % of base) : 21780.dasm - System.Net.Http.Headers.HttpHeaderValueCollection`1+<<GetEnumerator>g__Iterate|14_0>d[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -8 (-1.57 % of base) : 170727.dasm - System.Net.Http.Headers.HttpHeaderValueCollection`1+<<GetEnumerator>g__Iterate|14_0>d[System.__Canon]:MoveNext():ubyte:this (FullOpts)
          -8 (-1.47 % of base) : 254646.dasm - System.Security.Cryptography.X509Certificates.Tests.PfxIterationCountTests+<GetCertsWith_NonNullOrEmptyPassword_MemberData>d__19:MoveNext():ubyte:this (FullOpts)
         -13 (-1.41 % of base) : 14691.dasm - Microsoft.CodeAnalysis.DocumentationCommentId+Parser:ParseTypeSymbol(System.String,byref,Microsoft.CodeAnalysis.Compilation,Microsoft.CodeAnalysis.ISymbol,System.Collections.Generic.List`1[Microsoft.CodeAnalysis.ISymbol]) (FullOpts)
          -5 (-1.40 % of base) : 47569.dasm - Microsoft.Extensions.DependencyInjection.DependencyInjectionEventSource:OnEventCommand(System.Diagnostics.Tracing.EventCommandEventArgs):this (FullOpts)
         -34 (-1.36 % of base) : 148292.dasm - System.IO.Tests.RandomAccess_NoBuffering+<ReadAsyncUsingMultipleBuffers>d__3:MoveNext():this (FullOpts)
  
realworld.run.windows.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 14769832 (overridden on cmd)
Total bytes of diff: 14769599 (overridden on cmd)
Total bytes of delta: -233 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
          12 : 38272.dasm (7.50 % of base)
          11 : 15981.dasm (1.38 % of base)
           7 : 34122.dasm (0.71 % of base)
           7 : 36432.dasm (0.43 % of base)
           6 : 18782.dasm (0.40 % of base)
           6 : 38303.dasm (0.52 % of base)
           5 : 34563.dasm (0.14 % of base)
           4 : 17696.dasm (0.17 % of base)
           4 : 27793.dasm (0.75 % of base)
           4 : 37146.dasm (0.41 % of base)
           4 : 13213.dasm (0.18 % of base)
           4 : 27811.dasm (0.36 % of base)
           4 : 36073.dasm (0.53 % of base)
           4 : 36664.dasm (1.93 % of base)
           4 : 37392.dasm (0.57 % of base)
           4 : 38240.dasm (0.11 % of base)
           4 : 22989.dasm (0.70 % of base)
           4 : 27812.dasm (0.29 % of base)
           4 : 36854.dasm (0.13 % of base)
           4 : 38301.dasm (0.35 % of base)
Top file improvements (bytes):
         -92 : 1968.dasm (-3.56 % of base)
         -71 : 36154.dasm (-2.76 % of base)
         -38 : 17244.dasm (-0.91 % of base)
         -37 : 38054.dasm (-2.98 % of base)
         -25 : 37920.dasm (-3.69 % of base)
         -18 : 19547.dasm (-3.75 % of base)
         -17 : 37462.dasm (-0.58 % of base)
         -16 : 37407.dasm (-1.74 % of base)
         -16 : 38730.dasm (-1.14 % of base)
         -15 : 19073.dasm (-0.81 % of base)
         -12 : 19374.dasm (-3.76 % of base)
         -12 : 38046.dasm (-3.22 % of base)
         -10 : 38331.dasm (-1.97 % of base)
         -10 : 36754.dasm (-0.99 % of base)
          -8 : 20617.dasm (-0.45 % of base)
          -8 : 38647.dasm (-1.08 % of base)
          -8 : 559.dasm (-0.54 % of base)
          -8 : 37475.dasm (-0.44 % of base)
          -8 : 2162.dasm (-0.54 % of base)
          -7 : 35112.dasm (-1.23 % of base)
67 total files with Code Size differences (28 improved, 39 regressed), 1 unchanged.
Top method regressions (bytes):
          12 (7.50 % of base) : 38272.dasm - System.Management.Automation.PSModuleInfo:AddModuleToList(System.Management.Automation.PSModuleInfo,System.Collections.Generic.List`1[System.Management.Automation.PSModuleInfo]) (FullOpts)
          11 (1.38 % of base) : 15981.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
           7 (0.43 % of base) : 36432.dasm - System.Management.Automation.Language.VariableAnalysis:FinishAnalysis(ubyte):System.Tuple`2[System.Type,System.Collections.Generic.Dictionary`2[System.String,int]]:this (FullOpts)
           7 (0.71 % of base) : 34122.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeMethodDefTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[int],System.Reflection.Metadata.Ecma335.MetadataSizes,int):this (FullOpts)
           6 (0.52 % of base) : 38303.dasm - System.Management.Automation.PSModuleInfo:get_ExportedAliases():System.Collections.Generic.Dictionary`2[System.String,System.Management.Automation.AliasInfo]:this (FullOpts)
           6 (0.40 % of base) : 18782.dasm - System.Net.Http.HttpWindowsProxy:GetMultiProxy(System.Uri):System.Net.Http.MultiProxy:this (FullOpts)
           5 (0.14 % of base) : 34563.dasm - System.Management.Automation.Runspaces.PSSnapInHelpers:AnalyzePSSnapInAssembly(System.Reflection.Assembly,System.String,System.Management.Automation.PSSnapInInfo,System.Management.Automation.PSModuleInfo,byref,byref,byref,byref) (FullOpts)
           4 (0.18 % of base) : 13213.dasm - FSharp.Compiler.CheckComputationExpressions:trans@1589-2(FSharp.Compiler.CheckExpressions+TcFileState,FSharp.Compiler.CheckExpressions+UnscopedTyparEnv,FSharp.Compiler.Text.Range,FSharp.Compiler.Syntax.SynExpr,FSharp.Compiler.TypedTree+TType,FSharp.Compiler.TcGlobals+TcGlobals,FSharp.Compiler.AccessibilityLogic+AccessorDomain,System.String,ubyte,Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Infos+MethInfo],System.Collections.Generic.IDictionary`2[System.String,Microsoft.FSharp.Collections.FSharpList`1[System.Tuple`8[System.String,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,System.Tuple`2[Microsoft.FSharp.Core.FSharpOption`1[System.String],FSharp.Compiler.Infos+MethInfo]]]],System.Collections.Generic.IDictionary`2[System.String,Microsoft.FSharp.Collections.FSharpList`1[System.Tuple`8[System.String,ubyte,ubyte,ubyte,ubyte,ubyte,ubyte,System.Tuple`2[Microsoft.FSharp.Core.FSharpOption`1[System.String],FSharp.Compiler.Infos+MethInfo]]]],Microsoft.FSharp.Core.FSharpFunc`2[FSharp.Compiler.Syntax.Ident,ubyte],Microsoft.FSharp.Core.FSharpFunc`2[FSharp.Compiler.Syntax.Ident,ubyte],Microsoft.FSharp.Core.FSharpFunc`2[FSharp.Compiler.Syntax.Ident,ubyte],FSharp.Compiler.CheckExpressions+TcEnv,Internal.Utilities.Library.LazyWithContext`2[System.Tuple`2[Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Val],FSharp.Compiler.CheckExpressions+TcEnv],FSharp.Compiler.Text.Range],ubyte,FSharp.Compiler.CheckComputationExpressions+CompExprTranslationPass,FSharp.Compiler.CheckComputationExpressions+CustomOperationsMode,Internal.Utilities.Library.LazyWithContext`2[System.Tuple`2[Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.TypedTree+Val],FSharp.Compiler.CheckExpressions+TcEnv],FSharp.Compiler.Text.Range],FSharp.Compiler.Syntax.SynExpr,Microsoft.FSharp.Core.FSharpFunc`2[FSharp.Compiler.Syntax.SynExpr,FSharp.Compiler.Syntax.SynExpr]):FSharp.Compiler.Syntax.SynExpr (FullOpts)
           4 (0.70 % of base) : 22989.dasm - Microsoft.CodeAnalysis.PEModule:ExtractStringValuesFromAttributes(System.Collections.Generic.List`1[Microsoft.CodeAnalysis.PEModule+AttributeInfo]):Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1[System.String]:this (FullOpts)
           4 (0.36 % of base) : 27811.dasm - Microsoft.CodeAnalysis.PEModule:GetMemberNotNullAttributeValues(System.Reflection.Metadata.EntityHandle):System.Collections.Immutable.ImmutableArray`1[System.String]:this (FullOpts)
           4 (0.29 % of base) : 27812.dasm - Microsoft.CodeAnalysis.PEModule:GetMemberNotNullWhenAttributeValues(System.Reflection.Metadata.EntityHandle):System.ValueTuple`2[System.Collections.Immutable.ImmutableArray`1[System.String],System.Collections.Immutable.ImmutableArray`1[System.String]]:this (FullOpts)
           4 (0.75 % of base) : 27793.dasm - Microsoft.CodeAnalysis.PEModule:GetStringValuesOfNotNullIfNotNullAttribute(System.Reflection.Metadata.EntityHandle):System.Collections.Immutable.ImmutableHashSet`1[System.String]:this (FullOpts)
           4 (0.11 % of base) : 38240.dasm - Microsoft.PowerShell.Commands.ModuleCmdletBase:LoadBinaryModule(System.Management.Automation.PSModuleInfo,System.String,System.String,System.Reflection.Assembly,System.String,System.Management.Automation.SessionState,Microsoft.PowerShell.Commands.ModuleCmdletBase+ImportModuleOptions,int,System.String,byref,System.String,ubyte):System.Management.Automation.PSModuleInfo:this (FullOpts)
           4 (0.13 % of base) : 36854.dasm - System.Management.Automation.Adapter:FindBestMethodImpl(System.Management.Automation.MethodInformation[],System.Management.Automation.PSMethodInvocationConstraints,ubyte,System.Object[],byref,byref,byref):System.Management.Automation.MethodInformation (FullOpts)
           4 (0.57 % of base) : 37392.dasm - System.Management.Automation.CommandSearcher:MoveNext():ubyte:this (FullOpts)
           4 (1.93 % of base) : 36664.dasm - System.Management.Automation.Interpreter.InstructionList:BuildRuntimeLabels():System.Management.Automation.Interpreter.RuntimeLabel[]:this (FullOpts)
           4 (0.41 % of base) : 37146.dasm - System.Management.Automation.PSLocalEventManager:ProcessNewEventImplementation(System.Management.Automation.PSEventArgs,ubyte):this (FullOpts)
           4 (0.35 % of base) : 38301.dasm - System.Management.Automation.PSModuleInfo:get_ExportedFunctions():System.Collections.Generic.Dictionary`2[System.String,System.Management.Automation.FunctionInfo]:this (FullOpts)
           4 (0.53 % of base) : 36073.dasm - System.Management.Automation.SessionStateInternal:GetProvider(System.Management.Automation.PSSnapinQualifiedName):System.Collections.ObjectModel.Collection`1[System.Management.Automation.ProviderInfo]:this (FullOpts)
           4 (0.17 % of base) : 17696.dasm - System.Threading.Tasks.Task:WaitAllCore(System.Threading.Tasks.Task[],int,System.Threading.CancellationToken):ubyte (FullOpts)
Top method improvements (bytes):
         -92 (-3.56 % of base) : 1968.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -71 (-2.76 % of base) : 36154.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -38 (-0.91 % of base) : 17244.dasm - Microsoft.ML.Data.TextLoader+Bindings:.ctor(Microsoft.ML.Data.TextLoader,Microsoft.ML.Data.TextLoader+Column[],Microsoft.ML.Data.IMultiStreamSource,Microsoft.ML.Data.IMultiStreamSource):this (FullOpts)
         -37 (-2.98 % of base) : 38054.dasm - System.Management.Automation.CommandProcessor:ProcessRecord():this (FullOpts)
         -25 (-3.69 % of base) : 37920.dasm - System.Management.Automation.Internal.PipelineProcessor:SynchronousExecuteEnumerate(System.Object):System.Array:this (FullOpts)
         -18 (-3.75 % of base) : 19547.dasm - Microsoft.ML.Data.SimpleFileHandle:Dispose():this (FullOpts)
         -17 (-0.58 % of base) : 37462.dasm - System.Management.Automation.LocationGlobber:ExpandMshGlobPath(System.String,ubyte,System.Management.Automation.PSDriveInfo,System.Management.Automation.Provider.ContainerCmdletProvider,System.Management.Automation.CmdletProviderContext):System.Collections.ObjectModel.Collection`1[System.String]:this (FullOpts)
         -16 (-1.14 % of base) : 38730.dasm - Microsoft.PowerShell.Commands.ModuleCmdletBase+<GetModuleForRootedPaths>d__95:MoveNext():ubyte:this (FullOpts)
         -16 (-1.74 % of base) : 37407.dasm - System.Management.Automation.CommandDiscovery+<GetCmdletInfo>d__56:MoveNext():ubyte:this (FullOpts)
         -15 (-0.81 % of base) : 19073.dasm - System.Net.Security.SslStream+<EnsureFullTlsFrameAsync>d__169`1[System.Net.Security.AsyncReadWriteAdapter]:MoveNext():this (FullOpts)
         -12 (-3.22 % of base) : 38046.dasm - System.Management.Automation.CommandProcessor:DoBegin():this (FullOpts)
         -12 (-3.76 % of base) : 19374.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
         -10 (-1.97 % of base) : 38331.dasm - System.Management.Automation.Internal.PipelineProcessor:Clean():this (FullOpts)
         -10 (-0.99 % of base) : 36754.dasm - System.Management.Automation.PSObject:GetMappedAdapter(System.Object,System.Management.Automation.Runspaces.TypeTable):System.Management.Automation.PSObject+AdapterSet (FullOpts)
          -8 (-0.45 % of base) : 20617.dasm - Microsoft.CodeAnalysis.RuleSetProcessor:ReadRuleSet(System.Xml.Linq.XElement,System.String):Microsoft.CodeAnalysis.RuleSet (FullOpts)
          -8 (-1.08 % of base) : 38647.dasm - System.Management.Automation.ComInterop.VariantArray:GetStructType(int):System.Type (FullOpts)
          -8 (-0.44 % of base) : 37475.dasm - System.Management.Automation.Internal.ModuleUtils+<GetDefaultAvailableModuleFiles>d__9:MoveNext():ubyte:this (FullOpts)
          -8 (-0.54 % of base) : 559.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
          -8 (-0.54 % of base) : 2162.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
          -7 (-1.23 % of base) : 35112.dasm - System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberAdded(System.String) (FullOpts)
Top method regressions (percentages):
          12 (7.50 % of base) : 38272.dasm - System.Management.Automation.PSModuleInfo:AddModuleToList(System.Management.Automation.PSModuleInfo,System.Collections.Generic.List`1[System.Management.Automation.PSModuleInfo]) (FullOpts)
           2 (2.25 % of base) : 35005.dasm - System.Linq.Expressions.Compiler.LambdaCompiler:EmitWriteBack(System.Collections.Generic.List`1[System.Linq.Expressions.Compiler.LambdaCompiler+WriteBack]):this (FullOpts)
           2 (1.94 % of base) : 38226.dasm - System.Management.Automation.ModuleIntrinsics:PatternContainsWildcard(System.Collections.Generic.List`1[System.Management.Automation.WildcardPattern]):ubyte (FullOpts)
           4 (1.93 % of base) : 36664.dasm - System.Management.Automation.Interpreter.InstructionList:BuildRuntimeLabels():System.Management.Automation.Interpreter.RuntimeLabel[]:this (FullOpts)
           2 (1.92 % of base) : 17020.dasm - SixLabors.ImageSharp.Metadata.Profiles.Exif.BaseExifReader:ReadSubIfd(System.Collections.Generic.List`1[SixLabors.ImageSharp.Metadata.Profiles.Exif.IExifValue]):this (FullOpts)
           2 (1.82 % of base) : 38711.dasm - System.Management.Automation.CmdletParameterBinderController:AtLeastOneUnboundValidParameterSetTakesPipelineInput(uint):ubyte:this (FullOpts)
          11 (1.38 % of base) : 15981.dasm - System.Threading.TimerQueue:TimerThread() (FullOpts)
           2 (1.36 % of base) : 35150.dasm - System.Management.Automation.SessionStateInternal:ProviderExists(System.Management.Automation.ProviderInfo):System.Management.Automation.ProviderInfo:this (FullOpts)
           2 (1.17 % of base) : 36434.dasm - System.Management.Automation.Language.VariableAnalysis+Block:VisitDepthFirstOrder(System.Management.Automation.Language.VariableAnalysis+Block,System.Collections.Generic.List`1[System.Management.Automation.Language.VariableAnalysis+Block]) (FullOpts)
           3 (1.02 % of base) : 18747.dasm - System.Diagnostics.Metrics.Meter:GetCachedInstrument(System.Collections.Generic.List`1[System.Diagnostics.Metrics.Instrument],System.Type,System.String,System.String,System.Collections.Generic.IEnumerable`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Object]]):System.Diagnostics.Metrics.Instrument (FullOpts)
           2 (1.02 % of base) : 38042.dasm - System.Management.Automation.Internal.PipelineProcessor:SetupParameterVariables():this (FullOpts)
           2 (0.94 % of base) : 20751.dasm - Roslyn.Utilities.CompilerOptionParseUtilities:ParseFeatures(System.Collections.Generic.IDictionary`2[System.String,System.String],System.Collections.Generic.List`1[System.String]) (FullOpts)
           2 (0.91 % of base) : 37154.dasm - System.Management.Automation.Runspaces.LocalRunspace:<DoCloseHelper>b__54_0():System.Collections.Generic.List`1[System.Management.Automation.RemoteRunspace]:this (FullOpts)
           2 (0.90 % of base) : 33908.dasm - Microsoft.Cci.MetadataWriter:PopulateMethodImplTableRows():this (FullOpts)
           2 (0.90 % of base) : 38280.dasm - System.Management.Automation.PSModuleInfo:get_CompiledExports():System.Collections.Generic.List`1[System.Management.Automation.CmdletInfo]:this (FullOpts)
           3 (0.85 % of base) : 35208.dasm - Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBaseLoader:LoadCustomControlFromObjectModel(System.Management.Automation.CustomControl,int,System.String):Microsoft.PowerShell.Commands.Internal.Format.ComplexControlBody:this (FullOpts)
           2 (0.79 % of base) : 35158.dasm - Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBaseLoader:LoadHeadersSectionFromObjectModel(Microsoft.PowerShell.Commands.Internal.Format.TableControlBody,System.Collections.Generic.List`1[System.Management.Automation.TableControlColumnHeader]) (FullOpts)
           2 (0.78 % of base) : 34139.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeStandAloneSigTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           2 (0.78 % of base) : 34148.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeTypeSpecTable(System.Reflection.Metadata.BlobBuilder,System.Reflection.Metadata.Ecma335.MetadataSizes):this (FullOpts)
           4 (0.75 % of base) : 27793.dasm - Microsoft.CodeAnalysis.PEModule:GetStringValuesOfNotNullIfNotNullAttribute(System.Reflection.Metadata.EntityHandle):System.Collections.Immutable.ImmutableHashSet`1[System.String]:this (FullOpts)
Top method improvements (percentages):
         -12 (-3.76 % of base) : 19374.dasm - System.Net.Http.Headers.HttpHeaders:ParseRawHeaderValues(System.Net.Http.Headers.HeaderDescriptor,System.Net.Http.Headers.HttpHeaders+HeaderStoreItemInfo) (FullOpts)
         -18 (-3.75 % of base) : 19547.dasm - Microsoft.ML.Data.SimpleFileHandle:Dispose():this (FullOpts)
         -25 (-3.69 % of base) : 37920.dasm - System.Management.Automation.Internal.PipelineProcessor:SynchronousExecuteEnumerate(System.Object):System.Array:this (FullOpts)
         -92 (-3.56 % of base) : 1968.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -12 (-3.22 % of base) : 38046.dasm - System.Management.Automation.CommandProcessor:DoBegin():this (FullOpts)
         -37 (-2.98 % of base) : 38054.dasm - System.Management.Automation.CommandProcessor:ProcessRecord():this (FullOpts)
         -71 (-2.76 % of base) : 36154.dasm - System.IO.Enumeration.FileSystemName:MatchPattern(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],ubyte,ubyte):ubyte (FullOpts)
         -10 (-1.97 % of base) : 38331.dasm - System.Management.Automation.Internal.PipelineProcessor:Clean():this (FullOpts)
         -16 (-1.74 % of base) : 37407.dasm - System.Management.Automation.CommandDiscovery+<GetCmdletInfo>d__56:MoveNext():ubyte:this (FullOpts)
          -6 (-1.43 % of base) : 5606.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -6 (-1.26 % of base) : 17857.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -7 (-1.23 % of base) : 35112.dasm - System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberAdded(System.String) (FullOpts)
          -4 (-1.22 % of base) : 35254.dasm - System.Management.Automation.Language.PSGetMemberBinder:TypeTableMemberPossiblyUpdated(System.String) (FullOpts)
         -16 (-1.14 % of base) : 38730.dasm - Microsoft.PowerShell.Commands.ModuleCmdletBase+<GetModuleForRootedPaths>d__95:MoveNext():ubyte:this (FullOpts)
          -8 (-1.08 % of base) : 38647.dasm - System.Management.Automation.ComInterop.VariantArray:GetStructType(int):System.Type (FullOpts)
          -5 (-1.03 % of base) : 35124.dasm - Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBaseManager:LoadFormatDataHelper(System.Management.Automation.ExtendedTypeDefinition,Microsoft.PowerShell.Commands.Internal.Format.PSPropertyExpressionFactory,System.Collections.Generic.List`1[Microsoft.PowerShell.Commands.Internal.Format.XmlLoaderLoggerEntry],byref,System.Management.Automation.Runspaces.PSSnapInTypeAndFormatErrors,Microsoft.PowerShell.Commands.Internal.Format.TypeInfoDataBase,ubyte,ubyte) (FullOpts)
         -10 (-0.99 % of base) : 36754.dasm - System.Management.Automation.PSObject:GetMappedAdapter(System.Object,System.Management.Automation.Runspaces.TypeTable):System.Management.Automation.PSObject+AdapterSet (FullOpts)
         -38 (-0.91 % of base) : 17244.dasm - Microsoft.ML.Data.TextLoader+Bindings:.ctor(Microsoft.ML.Data.TextLoader,Microsoft.ML.Data.TextLoader+Column[],Microsoft.ML.Data.IMultiStreamSource,Microsoft.ML.Data.IMultiStreamSource):this (FullOpts)
          -5 (-0.86 % of base) : 37153.dasm - System.Management.Automation.Runspaces.LocalRunspace:CloseOrDisconnectAllRemoteRunspaces(System.Func`1[System.Collections.Generic.List`1[System.Management.Automation.RemoteRunspace]]) (FullOpts)
          -5 (-0.84 % of base) : 14951.dasm - System.Diagnostics.Tracing.EventListener:DisposeOnShutdown() (FullOpts)
  
smoke_tests.nativeaot.windows.x64.checked.mch
To reproduce these diffs on Windows x64:
superpmi.py asmdiffs -target_os windows -target_arch x64 -arch x64
Summary of Code Size diffs:
(Lower is better)
Total bytes of base: 5085273 (overridden on cmd)
Total bytes of diff: 5085183 (overridden on cmd)
Total bytes of delta: -90 (-0.00 % of base)
    diff is an improvement.
    relative diff is an improvement.
Detail diffs
Top file regressions (bytes):
           4 : 12747.dasm (2.84 % of base)
           4 : 11355.dasm (1.72 % of base)
           3 : 12854.dasm (0.16 % of base)
           3 : 7338.dasm (0.16 % of base)
           2 : 2415.dasm (0.56 % of base)
           2 : 2575.dasm (1.02 % of base)
           2 : 2637.dasm (0.44 % of base)
           2 : 32223.dasm (0.70 % of base)
           2 : 7900.dasm (0.23 % of base)
           2 : 8136.dasm (0.19 % of base)
           2 : 13785.dasm (0.19 % of base)
           2 : 12742.dasm (0.84 % of base)
           2 : 13415.dasm (0.26 % of base)
Top file improvements (bytes):
         -10 : 17683.dasm (-3.21 % of base)
         -10 : 20308.dasm (-3.21 % of base)
         -10 : 22966.dasm (-3.21 % of base)
         -10 : 2594.dasm (-3.21 % of base)
         -10 : 8421.dasm (-3.13 % of base)
          -8 : 16145.dasm (-0.57 % of base)
          -8 : 18789.dasm (-0.57 % of base)
          -8 : 21355.dasm (-0.57 % of base)
          -8 : 32422.dasm (-1.64 % of base)
          -6 : 19885.dasm (-1.36 % of base)
          -6 : 2142.dasm (-1.36 % of base)
          -6 : 22525.dasm (-1.36 % of base)
          -6 : 6773.dasm (-1.36 % of base)
          -6 : 17243.dasm (-1.36 % of base)
          -4 : 12089.dasm (-1.09 % of base)
          -4 : 6592.dasm (-1.09 % of base)
          -1 : 4026.dasm (-0.07 % of base)
          -1 : 996.dasm (-0.07 % of base)
31 total files with Code Size differences (18 improved, 13 regressed), 3 unchanged.
Top method regressions (bytes):
           4 (2.84 % of base) : 12747.dasm - System.Linq.Expressions.Interpreter.BranchLabel:Mark(System.Linq.Expressions.Interpreter.InstructionList):this (FullOpts)
           4 (1.72 % of base) : 11355.dasm - System.Linq.Expressions.Interpreter.InstructionList:BuildRuntimeLabels():System.Linq.Expressions.Interpreter.RuntimeLabel[]:this (FullOpts)
           3 (0.16 % of base) : 12854.dasm - Internal.Runtime.TypeLoader.TypeLoaderEnvironment:FindMatchingInterfaceSlot(Internal.Runtime.TypeLoader.NativeFormatModuleInfo,Internal.NativeFormat.NativeReader,byref,byref,Internal.TypeSystem.InstantiatedMethod,Internal.TypeSystem.DefType,ubyte,ubyte):Internal.TypeSystem.InstantiatedMethod (FullOpts)
           3 (0.16 % of base) : 7338.dasm - Internal.Runtime.TypeLoader.TypeLoaderEnvironment:FindMatchingInterfaceSlot(Internal.Runtime.TypeLoader.NativeFormatModuleInfo,Internal.NativeFormat.NativeReader,byref,byref,Internal.TypeSystem.InstantiatedMethod,Internal.TypeSystem.DefType,ubyte,ubyte):Internal.TypeSystem.InstantiatedMethod (FullOpts)
           2 (0.84 % of base) : 12742.dasm - System.Linq.Expressions.Interpreter.LabelInfo:Define(System.Linq.Expressions.Interpreter.LabelScopeInfo):this (FullOpts)
           2 (1.02 % of base) : 2575.dasm - System.Runtime.InteropServices.ComWrappers:DetachNonPromotedObjects() (FullOpts)
           2 (0.56 % of base) : 2415.dasm - System.Runtime.InteropServices.ComWrappers:ReleaseExternalObjectsFromCurrentThread() (FullOpts)
           2 (0.44 % of base) : 2637.dasm - System.Runtime.InteropServices.ComWrappers:WalkExternalTrackerObjects() (FullOpts)
           2 (0.23 % of base) : 7900.dasm - System.Threading.Tasks.TaskExceptionHolder:AddFaultException(System.Object):this (FullOpts)
           2 (0.26 % of base) : 13415.dasm - System.Threading.Tasks.TaskExceptionHolder:AddFaultException(System.Object):this (FullOpts)
           2 (0.19 % of base) : 8136.dasm - System.TimeZoneInfo:TryGetTimeZone(System.String,ubyte,byref,byref,System.TimeZoneInfo+CachedData,ubyte):int (FullOpts)
           2 (0.19 % of base) : 13785.dasm - System.TimeZoneInfo:TryGetTimeZone(System.String,ubyte,byref,byref,System.TimeZoneInfo+CachedData,ubyte):int (FullOpts)
           2 (0.70 % of base) : 32223.dasm - ThreadTest:ExpectPassed(System.String,int) (FullOpts)
Top method improvements (bytes):
         -10 (-3.21 % of base) : 17683.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -10 (-3.21 % of base) : 20308.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -10 (-3.21 % of base) : 22966.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -10 (-3.21 % of base) : 2594.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -10 (-3.13 % of base) : 8421.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
          -8 (-0.57 % of base) : 16145.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
          -8 (-0.57 % of base) : 18789.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
          -8 (-0.57 % of base) : 21355.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
          -8 (-1.64 % of base) : 32422.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
          -6 (-1.36 % of base) : 19885.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -6 (-1.36 % of base) : 2142.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -6 (-1.36 % of base) : 22525.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -6 (-1.36 % of base) : 6773.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -6 (-1.36 % of base) : 17243.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -4 (-1.09 % of base) : 12089.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -4 (-1.09 % of base) : 6592.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -1 (-0.07 % of base) : 4026.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
          -1 (-0.07 % of base) : 996.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
Top method regressions (percentages):
           4 (2.84 % of base) : 12747.dasm - System.Linq.Expressions.Interpreter.BranchLabel:Mark(System.Linq.Expressions.Interpreter.InstructionList):this (FullOpts)
           4 (1.72 % of base) : 11355.dasm - System.Linq.Expressions.Interpreter.InstructionList:BuildRuntimeLabels():System.Linq.Expressions.Interpreter.RuntimeLabel[]:this (FullOpts)
           2 (1.02 % of base) : 2575.dasm - System.Runtime.InteropServices.ComWrappers:DetachNonPromotedObjects() (FullOpts)
           2 (0.84 % of base) : 12742.dasm - System.Linq.Expressions.Interpreter.LabelInfo:Define(System.Linq.Expressions.Interpreter.LabelScopeInfo):this (FullOpts)
           2 (0.70 % of base) : 32223.dasm - ThreadTest:ExpectPassed(System.String,int) (FullOpts)
           2 (0.56 % of base) : 2415.dasm - System.Runtime.InteropServices.ComWrappers:ReleaseExternalObjectsFromCurrentThread() (FullOpts)
           2 (0.44 % of base) : 2637.dasm - System.Runtime.InteropServices.ComWrappers:WalkExternalTrackerObjects() (FullOpts)
           2 (0.26 % of base) : 13415.dasm - System.Threading.Tasks.TaskExceptionHolder:AddFaultException(System.Object):this (FullOpts)
           2 (0.23 % of base) : 7900.dasm - System.Threading.Tasks.TaskExceptionHolder:AddFaultException(System.Object):this (FullOpts)
           2 (0.19 % of base) : 8136.dasm - System.TimeZoneInfo:TryGetTimeZone(System.String,ubyte,byref,byref,System.TimeZoneInfo+CachedData,ubyte):int (FullOpts)
           2 (0.19 % of base) : 13785.dasm - System.TimeZoneInfo:TryGetTimeZone(System.String,ubyte,byref,byref,System.TimeZoneInfo+CachedData,ubyte):int (FullOpts)
           3 (0.16 % of base) : 12854.dasm - Internal.Runtime.TypeLoader.TypeLoaderEnvironment:FindMatchingInterfaceSlot(Internal.Runtime.TypeLoader.NativeFormatModuleInfo,Internal.NativeFormat.NativeReader,byref,byref,Internal.TypeSystem.InstantiatedMethod,Internal.TypeSystem.DefType,ubyte,ubyte):Internal.TypeSystem.InstantiatedMethod (FullOpts)
           3 (0.16 % of base) : 7338.dasm - Internal.Runtime.TypeLoader.TypeLoaderEnvironment:FindMatchingInterfaceSlot(Internal.Runtime.TypeLoader.NativeFormatModuleInfo,Internal.NativeFormat.NativeReader,byref,byref,Internal.TypeSystem.InstantiatedMethod,Internal.TypeSystem.DefType,ubyte,ubyte):Internal.TypeSystem.InstantiatedMethod (FullOpts)
Top method improvements (percentages):
         -10 (-3.21 % of base) : 17683.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -10 (-3.21 % of base) : 20308.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -10 (-3.21 % of base) : 22966.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -10 (-3.21 % of base) : 2594.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
         -10 (-3.13 % of base) : 8421.dasm - System.Globalization.CalendarData:EnumCalendarInfoCallback(ulong,long) (FullOpts)
          -8 (-1.64 % of base) : 32422.dasm - System.Threading.Tasks.Task:WaitAllBlockingCore(System.Collections.Generic.List`1[System.Threading.Tasks.Task],int,System.Threading.CancellationToken):ubyte (FullOpts)
          -6 (-1.36 % of base) : 19885.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -6 (-1.36 % of base) : 2142.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -6 (-1.36 % of base) : 22525.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -6 (-1.36 % of base) : 6773.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -6 (-1.36 % of base) : 17243.dasm - System.Buffers.SharedArrayPoolPartitions+Partition:Trim(int,int,int,int):this (FullOpts)
          -4 (-1.09 % of base) : 12089.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -4 (-1.09 % of base) : 6592.dasm - System.Threading.Tasks.Task:AddExceptionsFromChildren(System.Threading.Tasks.Task+ContingentProperties):this (FullOpts)
          -8 (-0.57 % of base) : 16145.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
          -8 (-0.57 % of base) : 18789.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
          -8 (-0.57 % of base) : 21355.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
          -1 (-0.07 % of base) : 4026.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
          -1 (-0.07 % of base) : 996.dasm - System.Text.Unicode.Utf8Utility:GetPointerToFirstInvalidByte(ulong,int,byref,byref):ulong (FullOpts)
31 total methods with Code Size differences (18 improved, 13 regressed).