Skip to content

Instantly share code, notes, and snippets.

@MihuBot
Created May 28, 2024 19:26
Show Gist options
  • Save MihuBot/cb31382f7fa0b5a0e41fe2fc0eff401f to your computer and use it in GitHub Desktop.
Save MihuBot/cb31382f7fa0b5a0e41fe2fc0eff401f to your computer and use it in GitHub Desktop.

Top method improvements

-32 (-2.65 % of base) - System.Reflection.Emit.DynamicILGenerator:EmitCall(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo,System.Type[]):this
 ; Assembly listing for method System.Reflection.Emit.DynamicILGenerator:EmitCall(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo,System.Type[]):this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 19 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 23, 19   )     ref  ->  x19         this class-hnd single-def <System.Reflection.Emit.DynamicILGenerator>
-;  V01 arg1         [V01,T04] (  5,  5   )  struct ( 8) [fp+0x10]  do-not-enreg[SF] ld-addr-op single-def <System.Reflection.Emit.OpCode>
+;  V01 arg1         [V01,T04] (  5,  5   )  struct ( 8) [fp+0x18]  do-not-enreg[SF] ld-addr-op single-def <System.Reflection.Emit.OpCode>
 ;  V02 arg2         [V02,T01] ( 11, 10   )     ref  ->  x20         class-hnd single-def <System.Reflection.MethodInfo>
 ;  V03 arg3         [V03,T05] (  5,  4.50)     ref  ->  x21         class-hnd single-def <System.Type[]>
-;  V04 loc0         [V04,T21] (  2,  2   )     int  ->  x25        
-;  V05 loc1         [V05,T02] ( 11,  8.50)     int  ->  x24        
+;  V04 loc0         [V04,T22] (  2,  2   )     int  ->  x26        
+;  V05 loc1         [V05,T02] ( 11,  8.50)     int  ->  x25        
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V07 tmp1         [V07,T19] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.Reflection.Emit.SymbolMethod>
-;  V08 tmp2         [V08,T33] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
-;  V09 tmp3         [V09,T34] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
-;  V10 tmp4         [V10,T35] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
+;* V07 tmp1         [V07,T20] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.Reflection.Emit.SymbolMethod>
+;  V08 tmp2         [V08,T34] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
+;  V09 tmp3         [V09,T35] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
+;  V10 tmp4         [V10,T36] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
 ;* V11 tmp5         [V11    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Reflection.Emit.OpCode>
 ;* V12 tmp6         [V12    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V13 tmp7         [V13    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Reflection.Emit.OpCode>
 ;* V14 tmp8         [V14    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V15 tmp9         [V15    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Reflection.Emit.OpCode>
 ;* V16 tmp10        [V16    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
-;  V17 tmp11        [V17,T25] (  3,  1.50)     ref  ->  x27         class-hnd exact single-def "Inline stloc first use temp" <ubyte[]>
-;  V18 tmp12        [V18,T27] (  2,  1   )     int  ->   x1         "Inline return value spill temp"
-;  V19 tmp13        [V19,T12] (  3,  3   )     int  ->   x0         "Inlining Arg"
-;  V20 tmp14        [V20,T13] (  3,  3   )     int  ->   x1         "Inlining Arg"
+;  V17 tmp11        [V17,T26] (  3,  1.50)     ref  ->  x28         class-hnd exact single-def "Inline stloc first use temp" <ubyte[]>
+;  V18 tmp12        [V18,T28] (  2,  1   )     int  ->   x1         "Inline return value spill temp"
+;  V19 tmp13        [V19,T13] (  3,  3   )     int  ->   x0         "Inlining Arg"
+;  V20 tmp14        [V20,T14] (  3,  3   )     int  ->   x1         "Inlining Arg"
 ;* V21 tmp15        [V21    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Reflection.Emit.OpCode>
 ;* V22 tmp16        [V22    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V23 tmp17        [V23    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Reflection.Emit.OpCode>
 ;* V24 tmp18        [V24    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V25 tmp19        [V25    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
 ;  V26 tmp20        [V26,T03] (  5,  7   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <ubyte[]>
 ;  V27 tmp21        [V27,T06] (  5,  6   )     int  ->   x1         "Inlining Arg"
 ;* V28 tmp22        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V29 tmp23        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ubyte]>
-;  V30 tmp24        [V30,T20] (  2,  2   )   byref  ->   x2         single-def "Inlining Arg"
-;  V31 tmp25        [V31,T22] (  2,  2   )     int  ->   x0         "Inlining Arg"
+;  V30 tmp24        [V30,T21] (  2,  2   )   byref  ->   x2         single-def "Inlining Arg"
+;  V31 tmp25        [V31,T23] (  2,  2   )     int  ->   x0         "Inlining Arg"
 ;* V32 tmp26        [V32    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op "Inlining Arg"
 ;* V33 tmp27        [V33    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V34 tmp28        [V34    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V35 tmp29        [V35,T23] (  2,  2   )     int  ->   x0         "field V11.m_value (fldOffset=0x0)" P-INDEP
+;  V35 tmp29        [V35,T24] (  2,  2   )     int  ->   x0         "field V11.m_value (fldOffset=0x0)" P-INDEP
 ;* V36 tmp30        [V36    ] (  0,  0   )     int  ->  zero-ref    "field V11.m_flags (fldOffset=0x4)" P-INDEP
-;  V37 tmp31        [V37,T28] (  2,  1   )     int  ->   x0         "field V13.m_value (fldOffset=0x0)" P-INDEP
+;  V37 tmp31        [V37,T29] (  2,  1   )     int  ->   x0         "field V13.m_value (fldOffset=0x0)" P-INDEP
 ;* V38 tmp32        [V38    ] (  0,  0   )     int  ->  zero-ref    "field V13.m_flags (fldOffset=0x4)" P-INDEP
-;  V39 tmp33        [V39,T29] (  2,  1   )     int  ->   x0         "field V15.m_value (fldOffset=0x0)" P-INDEP
+;  V39 tmp33        [V39,T30] (  2,  1   )     int  ->   x0         "field V15.m_value (fldOffset=0x0)" P-INDEP
 ;* V40 tmp34        [V40    ] (  0,  0   )     int  ->  zero-ref    "field V15.m_flags (fldOffset=0x4)" P-INDEP
-;  V41 tmp35        [V41,T30] (  2,  1   )     int  ->   x0         "field V21.m_value (fldOffset=0x0)" P-INDEP
+;  V41 tmp35        [V41,T31] (  2,  1   )     int  ->   x0         "field V21.m_value (fldOffset=0x0)" P-INDEP
 ;* V42 tmp36        [V42    ] (  0,  0   )     int  ->  zero-ref    "field V21.m_flags (fldOffset=0x4)" P-INDEP
 ;* V43 tmp37        [V43    ] (  0,  0   )     int  ->  zero-ref    "field V23.m_value (fldOffset=0x0)" P-INDEP
-;  V44 tmp38        [V44,T24] (  2,  2   )     int  ->   x0         "field V23.m_flags (fldOffset=0x4)" P-INDEP
+;  V44 tmp38        [V44,T25] (  2,  2   )     int  ->   x0         "field V23.m_flags (fldOffset=0x4)" P-INDEP
 ;* V45 tmp39        [V45    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V24._reference (fldOffset=0x0)" P-INDEP
 ;* V46 tmp40        [V46    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
-;  V47 tmp41        [V47,T17] (  3,  2   )   byref  ->   x2         "field V25._reference (fldOffset=0x0)" P-INDEP
-;  V48 tmp42        [V48,T18] (  3,  2   )     int  ->   x0         "field V25._length (fldOffset=0x8)" P-INDEP
-;  V49 tmp43        [V49,T26] (  2,  1   )   byref  ->   x2         single-def "field V28._reference (fldOffset=0x0)" P-INDEP
-;  V50 tmp44        [V50,T31] (  2,  1   )     int  ->   x0         "field V28._length (fldOffset=0x8)" P-INDEP
+;  V47 tmp41        [V47,T18] (  3,  2   )   byref  ->   x2         "field V25._reference (fldOffset=0x0)" P-INDEP
+;  V48 tmp42        [V48,T19] (  3,  2   )     int  ->   x0         "field V25._length (fldOffset=0x8)" P-INDEP
+;  V49 tmp43        [V49,T27] (  2,  1   )   byref  ->   x2         single-def "field V28._reference (fldOffset=0x0)" P-INDEP
+;  V50 tmp44        [V50,T32] (  2,  1   )     int  ->   x0         "field V28._length (fldOffset=0x8)" P-INDEP
 ;* V51 tmp45        [V51    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V29._reference (fldOffset=0x0)" P-INDEP
 ;* V52 tmp46        [V52    ] (  0,  0   )     int  ->  zero-ref    "field V29._length (fldOffset=0x8)" P-INDEP
 ;* V53 tmp47        [V53    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V33._reference (fldOffset=0x0)" P-INDEP
 ;* V54 tmp48        [V54    ] (  0,  0   )     int  ->  zero-ref    "field V33._length (fldOffset=0x8)" P-INDEP
 ;* V55 tmp49        [V55    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V34._reference (fldOffset=0x0)" P-INDEP
 ;* V56 tmp50        [V56    ] (  0,  0   )     int  ->  zero-ref    "field V34._length (fldOffset=0x8)" P-INDEP
-;  V57 tmp51        [V57,T10] (  5,  3.50)     int  ->  x22         "V01.[000..004)"
-;  V58 tmp52        [V58,T11] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
-;  V59 tmp53        [V59,T36] (  2,  0   )     ref  ->  x20         single-def "argument with side effect"
-;  V60 tmp54        [V60,T37] (  2,  0   )     ref  ->   x2         single-def "argument with side effect"
-;  V61 tmp55        [V61,T38] (  2,  0   )     ref  ->  x20         single-def "argument with side effect"
-;  V62 tmp56        [V62,T39] (  2,  0   )     ref  ->   x2         single-def "argument with side effect"
-;  V63 tmp57        [V63,T40] (  2,  0   )     ref  ->  x20         single-def "argument with side effect"
-;  V64 tmp58        [V64,T41] (  2,  0   )     ref  ->   x2         single-def "argument with side effect"
-;* V65 cse0         [V65,T32] (  0,  0   )    long  ->  zero-ref    "CSE #02: aggressive"
+;  V57 tmp51        [V57,T10] (  5,  3.50)     int  ->  x23         "V01.[000..004)"
+;  V58 tmp52        [V58,T12] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
+;  V59 tmp53        [V59,T37] (  2,  0   )     ref  ->  x20         single-def "argument with side effect"
+;  V60 tmp54        [V60,T38] (  2,  0   )     ref  ->   x2         single-def "argument with side effect"
+;  V61 tmp55        [V61,T39] (  2,  0   )     ref  ->  x20         single-def "argument with side effect"
+;  V62 tmp56        [V62,T40] (  2,  0   )     ref  ->   x2         single-def "argument with side effect"
+;  V63 tmp57        [V63,T41] (  2,  0   )     ref  ->  x20         single-def "argument with side effect"
+;  V64 tmp58        [V64,T42] (  2,  0   )     ref  ->   x2         single-def "argument with side effect"
+;* V65 cse0         [V65,T33] (  0,  0   )    long  ->  zero-ref    "CSE #02: aggressive"
 ;  V66 cse1         [V66,T08] (  6,  4.50)     int  ->   x1         "CSE #14: aggressive"
-;  V67 cse2         [V67,T14] (  3,  3   )    long  ->  x26         "CSE #13: moderate"
-;  V68 cse3         [V68,T15] (  3,  2.50)    long  ->  x24         "CSE #09: moderate"
-;  V69 cse4         [V69,T16] (  3,  2.50)     int  ->   x1         "CSE #12: moderate"
-;  V70 cse5         [V70,T09] (  5,  3.50)     ref  ->  x26         "CSE #10: moderate"
-;  V71 cse6         [V71,T07] (  6,  5.50)    long  ->  x23         "CSE #08: aggressive"
+;  V67 cse2         [V67,T15] (  3,  3   )    long  ->  x27         "CSE #13: moderate"
+;  V68 cse3         [V68,T16] (  3,  2.50)    long  ->  x25         "CSE #09: moderate"
+;  V69 cse4         [V69,T17] (  3,  2.50)     int  ->   x1         "CSE #12: moderate"
+;  V70 cse5         [V70,T09] (  5,  3.50)     ref  ->  x27         "CSE #10: moderate"
+;  V71 cse6         [V71,T07] (  6,  5.50)    long  ->  x24         "CSE #08: aggressive"
+;  V72 cse7         [V72,T11] (  5,  3.50)    long  ->  x22         "CSE #03: moderate"
 ;
-; Lcl frame size = 8
+; Lcl frame size = 16
 
 G_M31581_IG01:
-            stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            stp     x23, x24, [sp, #0x38]
-            stp     x25, x26, [sp, #0x48]
-            str     x27, [sp, #0x58]
+            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     x1, [fp, #0x10]	// [V01 arg1]
+            str     x1, [fp, #0x18]	// [V01 arg1]
             mov     x19, x0
             mov     x20, x2
             mov     x21, x3
 						;; size=44 bbWeight=1 PerfScore 9.00
 G_M31581_IG02:
             mov     x0, x20
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     w0, [x0]
             tbz     w0, #0, G_M31581_IG25
 						;; size=56 bbWeight=1 PerfScore 13.00
 G_M31581_IG03:
-            movz    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     w0, [x0]
-            ldr     w22, [fp, #0x10]	// [V01 arg1]
+            movz    x22, #0xD1FFAB1E      // data for System.Reflection.Emit.OpCodes:Call
+            movk    x22, #0xD1FFAB1E LSL #16
+            movk    x22, #0xD1FFAB1E LSL #32
+            ldr     w0, [x22]
+            ldr     w23, [fp, #0x18]	// [V01 arg1]
             sxth    w0, w0
-            sxth    w1, w22
+            sxth    w1, w23
             cmp     w0, w1
             beq     G_M31581_IG05
-						;; size=32 bbWeight=1 PerfScore 8.50
+						;; size=36 bbWeight=1 PerfScore 9.00
 G_M31581_IG04:
-            movz    x0, #0xD1FFAB1E      // data for System.Reflection.Emit.OpCodes:Callvirt
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     w0, [x0]
+            ldr     w0, [x22, #0xD1FFAB1E]
             sxth    w0, w0
-            sxth    w1, w22
+            sxth    w1, w23
             cmp     w0, w1
             beq     G_M31581_IG05
-            movz    x0, #0xD1FFAB1E      // data for System.Reflection.Emit.OpCodes:Newobj
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     w0, [x0]
+            ldr     w0, [x22, #0xD1FFAB1E]
             sxth    w0, w0
-            sxth    w1, w22
+            sxth    w1, w23
             cmp     w0, w1
             bne     G_M31581_IG30
-						;; size=64 bbWeight=0.50 PerfScore 7.00
+						;; size=40 bbWeight=0.50 PerfScore 5.50
 G_M31581_IG05:
             mov     x0, x20
-            ldr     x23, [x20]
-            ldr     x1, [x23, #0x58]
+            ldr     x24, [x20]
+            ldr     x1, [x24, #0x58]
             ldr     x1, [x1, #0x28]
             blr     x1
             cbnz    w0, G_M31581_IG29
             mov     x0, x20
-            ldr     x24, [x23, #0x40]
-            ldr     x1, [x24, #0x38]
+            ldr     x25, [x24, #0x40]
+            ldr     x1, [x25, #0x38]
             blr     x1
             cbz     x0, G_M31581_IG07
 						;; size=44 bbWeight=1 PerfScore 20.00
 G_M31581_IG06:
             mov     x0, x20
-            ldr     x1, [x24, #0x38]
+            ldr     x1, [x25, #0x38]
             blr     x1
             ldr     x1, [x0]
             ldr     x1, [x1, #0xB0]
             ldr     x1, [x1]
             blr     x1
             cbnz    w0, G_M31581_IG28
 						;; size=32 bbWeight=0.50 PerfScore 7.75
 G_M31581_IG07:
-            mov     w24, wzr
+            mov     w25, wzr
             mov     x0, x19
             mov     x1, x20
             mov     x2, x21
             movz    x3, #0xD1FFAB1E      // code for System.Reflection.Emit.DynamicILGenerator:GetMemberRefToken(System.Reflection.MethodInfo,System.Type[]):int:this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-            sxtw    w25, w0
+            sxtw    w26, w0
             ldr     w1, [x19, #0x58]
             add     w1, w1, #7
-            ldr     x26, [x19, #0x08]
-            ldr     w0, [x26, #0x08]
+            ldr     x27, [x19, #0x08]
+            ldr     w0, [x27, #0x08]
             cmp     w1, w0
             blt     G_M31581_IG09
 						;; size=64 bbWeight=1 PerfScore 19.00
 G_M31581_IG08:
-            ldr     w0, [x26, #0x08]
+            ldr     w0, [x27, #0x08]
             lsl     w0, w0, #1
             cmp     w0, w1
             csel    w1, w0, w1, ge
             sxtw    x1, w1
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWARR_1_VC
-            mov     x27, x0
-            ldr     w2, [x26, #0x08]
-            mov     x0, x26
-            mov     x1, x27
+            mov     x28, x0
+            ldr     w2, [x27, #0x08]
+            mov     x0, x27
+            mov     x1, x28
             movz    x3, #0xD1FFAB1E      // code for System.Array:Copy(System.Array,System.Array,int)
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             add     x14, x19, #8
-            mov     x15, x27
+            mov     x15, x28
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=84 bbWeight=0.50 PerfScore 10.00
 G_M31581_IG09:
             mov     x0, x19
-            ldr     x1, [fp, #0x10]	// [V01 arg1]
+            ldr     x1, [fp, #0x18]	// [V01 arg1]
             movz    x2, #0xD1FFAB1E      // code for System.Reflection.Emit.RuntimeILGenerator:InternalEmit(System.Reflection.Emit.OpCode):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x0, x20
-            ldr     x26, [x23, #0x60]
-            ldr     x1, [x26, #0x28]
+            ldr     x27, [x24, #0x60]
+            ldr     x1, [x27, #0x28]
             blr     x1
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             mov     w2, #1
             cmp     x0, x1
-            csel    w24, w24, w2, eq
+            csel    w25, w25, w2, eq
             mov     x0, x20
-            ldr     x1, [x26, #0x18]
+            ldr     x1, [x27, #0x18]
             blr     x1
             ldr     w0, [x0, #0x08]
-            sub     w24, w24, w0
+            sub     w25, w25, w0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            cmp     x23, x0
+            cmp     x24, x0
             beq     G_M31581_IG11
 						;; size=108 bbWeight=1 PerfScore 29.50
 G_M31581_IG10:
             mov     x0, x20
-            ldr     x1, [x23, #0x50]
+            ldr     x1, [x24, #0x50]
             ldr     x1, [x1, #0x20]
             blr     x1
             tbnz    w0, #4, G_M31581_IG11
-            movz    x0, #0xD1FFAB1E      // data for System.Reflection.Emit.OpCodes:Newobj
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     w0, [x0]
+            ldr     w0, [x22, #0xD1FFAB1E]
             sxth    w0, w0
-            sxth    w1, w22
-            sub     w2, w24, #1
+            sxth    w1, w23
+            sub     w2, w25, #1
             cmp     w0, w1
-            csel    w24, w24, w2, eq
-						;; size=56 bbWeight=0.50 PerfScore 7.75
+            csel    w25, w25, w2, eq
+						;; size=44 bbWeight=0.50 PerfScore 7.00
 G_M31581_IG11:
             cbz     x21, G_M31581_IG13
 						;; size=4 bbWeight=1 PerfScore 1.00
 G_M31581_IG12:
             ldr     w0, [x21, #0x08]
-            sub     w24, w24, w0
+            sub     w25, w25, w0
 						;; size=8 bbWeight=0.50 PerfScore 1.75
 G_M31581_IG13:
-            ldr     w0, [fp, #0x14]	// [V01 arg1+0x04]
+            ldr     w0, [fp, #0x1C]	// [V01 arg1+0x04]
             ldr     w1, [x19, #0x74]
             tbz     w1, #31, G_M31581_IG15
 						;; size=12 bbWeight=1 PerfScore 6.00
 G_M31581_IG14:
             str     wzr, [x19, #0x74]
 						;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M31581_IG15:
             ldr     w1, [x19, #0x74]
-            add     w1, w1, w24
+            add     w1, w1, w25
             str     w1, [x19, #0x74]
             tbnz    w1, #31, G_M31581_IG17
 						;; size=16 bbWeight=1 PerfScore 5.50
 G_M31581_IG16:
             ldr     w2, [x19, #0x7C]
             cmp     w2, w1
             bge     G_M31581_IG18
             str     w1, [x19, #0x7C]
             b       G_M31581_IG18
 						;; size=20 bbWeight=0.50 PerfScore 3.25
 G_M31581_IG17:
             ldr     x2, [x19, #0x50]
             sub     x1, x2, w1, SXTW
             str     x1, [x19, #0x50]
             str     wzr, [x19, #0x74]
 						;; size=16 bbWeight=0.50 PerfScore 3.00
 G_M31581_IG18:
             ldr     w1, [x19, #0x74]
             str     w1, [x19, #0x78]
             tbz     w0, #24, G_M31581_IG20
 						;; size=12 bbWeight=1 PerfScore 5.00
 G_M31581_IG19:
             movn    w0, #0
             str     w0, [x19, #0x74]
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M31581_IG20:
             ldr     x0, [x19, #0x08]
             ldr     w1, [x19, #0x58]
             cbz     x0, G_M31581_IG22
 						;; size=12 bbWeight=1 PerfScore 7.00
 G_M31581_IG21:
             ldr     w2, [x0, #0x08]
             cmp     w2, w1
             blo     G_M31581_IG27
             add     x2, x0, #16
             mov     w3, w1
             add     x2, x2, x3
             ldr     w0, [x0, #0x08]
             sub     w0, w0, w1
             b       G_M31581_IG23
 						;; size=36 bbWeight=0.50 PerfScore 5.25
 G_M31581_IG22:
             cbnz    w1, G_M31581_IG27
             mov     x2, xzr
             mov     w0, wzr
 						;; size=12 bbWeight=0.50 PerfScore 1.00
 G_M31581_IG23:
             cmp     w0, #4
             blo     G_M31581_IG26
-            str     w25, [x2]
+            str     w26, [x2]
             ldr     w0, [x19, #0x58]
             add     w0, w0, #4
             str     w0, [x19, #0x58]
 						;; size=24 bbWeight=1 PerfScore 7.00
 G_M31581_IG24:
-            ldr     x27, [sp, #0x58]
-            ldp     x25, x26, [sp, #0x48]
-            ldp     x23, x24, [sp, #0x38]
-            ldp     x21, x22, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
-            ldp     fp, lr, [sp], #0x60
+            ldp     x27, x28, [sp, #0x60]
+            ldp     x25, x26, [sp, #0x50]
+            ldp     x23, x24, [sp, #0x40]
+            ldp     x21, x22, [sp, #0x30]
+            ldp     x19, x20, [sp, #0x20]
+            ldp     fp, lr, [sp], #0x70
             ret     lr
-						;; size=28 bbWeight=1 PerfScore 8.00
+						;; size=28 bbWeight=1 PerfScore 7.00
 G_M31581_IG25:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             mov     w1, #0xD1FFAB1E
             bl      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
             b       G_M31581_IG03
 						;; size=24 bbWeight=0 PerfScore 0.00
 G_M31581_IG26:
             mov     w0, #40
             movz    x1, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             brk_unix #0
 						;; size=28 bbWeight=0 PerfScore 0.00
 G_M31581_IG27:
             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_M31581_IG28:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x19, x0
             movz    x0, #0xD1FFAB1E      // code for System.SR:get_Argument_GenericsInvalid():System.String
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0
             mov     x20, x0
             movz    w0, #0xD1FFAB1E
             movk    w0, #1 LSL #16
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_STRCNS
             mov     x2, x0
             mov     x1, x20
             mov     x0, x19
             movz    x3, #0xD1FFAB1E      // code for System.ArgumentException:.ctor(System.String,System.String):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x0, x19
             bl      CORINFO_HELP_THROW
             brk_unix #0
 						;; size=112 bbWeight=0 PerfScore 0.00
 G_M31581_IG29:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x19, x0
             movz    x0, #0xD1FFAB1E      // code for System.SR:get_Argument_GenericsInvalid():System.String
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0
             mov     x20, x0
             movz    w0, #0xD1FFAB1E
             movk    w0, #1 LSL #16
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_STRCNS
             mov     x2, x0
             mov     x1, x20
             mov     x0, x19
             movz    x3, #0xD1FFAB1E      // code for System.ArgumentException:.ctor(System.String,System.String):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x0, x19
             bl      CORINFO_HELP_THROW
             brk_unix #0
 						;; size=112 bbWeight=0 PerfScore 0.00
 G_M31581_IG30:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x19, x0
             movz    x0, #0xD1FFAB1E      // code for System.SR:get_Argument_NotMethodCallOpcode():System.String
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0
             mov     x20, x0
             movz    w0, #0xD1FFAB1E
             movk    w0, #1 LSL #16
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_STRCNS
             mov     x2, x0
             mov     x1, x20
             mov     x0, x19
             movz    x3, #0xD1FFAB1E      // code for System.ArgumentException:.ctor(System.String,System.String):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x0, x19
             bl      CORINFO_HELP_THROW
             brk_unix #0
 						;; size=112 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1208, prolog size 28, PerfScore 186.50, instruction count 302, allocated bytes for code 1208 (MethodHash=414f84a2) for method System.Reflection.Emit.DynamicILGenerator:EmitCall(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo,System.Type[]):this (FullOpts)
+; Total bytes of code 1176, prolog size 28, PerfScore 183.75, instruction count 294, allocated bytes for code 1176 (MethodHash=414f84a2) for method System.Reflection.Emit.DynamicILGenerator:EmitCall(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo,System.Type[]):this (FullOpts)
-28 (-1.81 % of base) - Microsoft.VisualBasic.VBCodeGenerator:GenerateEvent(System.CodeDom.CodeMemberEvent,System.CodeDom.CodeTypeDeclaration):this
 ; Assembly listing for method Microsoft.VisualBasic.VBCodeGenerator:GenerateEvent(System.CodeDom.CodeMemberEvent,System.CodeDom.CodeTypeDeclaration):this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 22 single block inlinees; 7 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T04] ( 19, 26.50)     ref  ->  x19         this class-hnd single-def <Microsoft.VisualBasic.VBCodeGenerator>
 ;  V01 arg1         [V01,T10] ( 15,  8.50)     ref  ->  x20         class-hnd single-def <System.CodeDom.CodeMemberEvent>
 ;* V02 arg2         [V02    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.CodeDom.CodeTypeDeclaration>
 ;  V03 loc0         [V03,T11] (  5, 16.50)     ref  ->  x22         class-hnd exact single-def <System.String>
-;  V04 loc1         [V04,T37] (  2,  1   )     ref  ->   x0         class-hnd single-def <System.String>
+;  V04 loc1         [V04,T36] (  2,  1   )     ref  ->   x0         class-hnd single-def <System.String>
 ;  V05 loc2         [V05,T18] (  3,  6.50)   ubyte  ->  x21        
-;  V06 loc3         [V06,T15] (  6,  9   )     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
-;  V07 loc4         [V07,T17] (  2,  8   )     ref  ->  x24         class-hnd <System.CodeDom.CodeTypeReference>
-;  V08 loc5         [V08,T33] (  6,  1.50)     ref  ->   x0         class-hnd <System.IDisposable>
+;  V06 loc3         [V06,T15] (  6,  9   )     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
+;  V07 loc4         [V07,T17] (  2,  8   )     ref  ->  x23         class-hnd <System.CodeDom.CodeTypeReference>
+;  V08 loc5         [V08,T32] (  6,  1.50)     ref  ->   x0         class-hnd <System.IDisposable>
 ;# V09 OutArgs      [V09    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V10 tmp1         [V10,T25] (  2,  2   )     ref  ->   x1         class-hnd single-def "impAppendStmt" <System.CodeDom.CodeTypeReference>
-;* V11 tmp2         [V11,T39] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V12 tmp3         [V12,T36] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V10 tmp1         [V10,T24] (  2,  2   )     ref  ->   x1         class-hnd single-def "impAppendStmt" <System.CodeDom.CodeTypeReference>
+;* V11 tmp2         [V11,T38] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V12 tmp3         [V12,T35] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
 ;* V13 tmp4         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.CodeDom.CodeTypeDeclaration>
 ;* V14 tmp5         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.CodeDom.CodeAttributeDeclarationCollection>
-;  V15 tmp6         [V15,T26] (  2,  2   )     ref  ->  x21         class-hnd exact single-def "dup spill" <System.String>
-;  V16 tmp7         [V16,T20] (  6,  3   )     ref  ->  x21        
-;  V17 tmp8         [V17,T27] (  2,  2   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String>
-;  V18 tmp9         [V18,T23] (  5,  2.50)     ref  ->   x2        
-;  V19 tmp10        [V19,T28] (  2,  2   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V20 tmp11        [V20,T29] (  2,  2   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String>
-;  V21 tmp12        [V21,T24] (  5,  2.50)     ref  ->   x2        
-;  V22 tmp13        [V22,T30] (  2,  2   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeReferenceCollection>
+;  V15 tmp6         [V15,T25] (  2,  2   )     ref  ->  x21         class-hnd exact single-def "dup spill" <System.String>
+;  V16 tmp7         [V16,T19] (  6,  3   )     ref  ->  x21        
+;  V17 tmp8         [V17,T26] (  2,  2   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String>
+;  V18 tmp9         [V18,T22] (  5,  2.50)     ref  ->   x2        
+;  V19 tmp10        [V19,T27] (  2,  2   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V20 tmp11        [V20,T28] (  2,  2   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String>
+;  V21 tmp12        [V21,T23] (  5,  2.50)     ref  ->   x2        
+;  V22 tmp13        [V22,T29] (  2,  2   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeReferenceCollection>
 ;* V23 tmp14        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
-;  V24 tmp15        [V24,T06] (  2, 16   )     ref  ->  x24         class-hnd exact "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
+;  V24 tmp15        [V24,T06] (  2, 16   )     ref  ->  x23         class-hnd exact "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;  V25 tmp16        [V25,T16] (  3, 14   )     ref  ->   x1         class-hnd "Inline return value spill temp" <System.String>
 ;  V26 tmp17        [V26,T09] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V27 tmp18        [V27,T12] (  3, 10   )     int  ->   x1         "Inline stloc first use temp"
 ;  V28 tmp19        [V28,T00] (  2, 40   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.String[][]>
 ;  V29 tmp20        [V29,T02] (  3, 34   )     ref  ->   x0         class-hnd exact "Inline stloc first use temp" <System.String[]>
-;  V30 tmp21        [V30,T31] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
-;  V31 tmp22        [V31,T32] (  2,  2   )     ref  ->   x0         single-def "argument with side effect"
-;  V32 tmp23        [V32,T22] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
+;  V30 tmp21        [V30,T30] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
+;  V31 tmp22        [V31,T31] (  2,  2   )     ref  ->   x0         single-def "argument with side effect"
+;  V32 tmp23        [V32,T21] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
 ;  V33 tmp24        [V33,T05] (  3, 18   )     ref  ->   x0         "argument with side effect"
 ;  V34 tmp25        [V34,T07] (  2, 16   )     ref  ->   x1         "argument with side effect"
-;  V35 tmp26        [V35,T08] (  2, 16   )     ref  ->  x25         "argument with side effect"
-;  V36 PSPSym       [V36,T38] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
-;  V37 cse0         [V37,T34] (  3,  1.50)     ref  ->   x0         "CSE #02: moderate"
-;  V38 cse1         [V38,T19] (  2,  4.25)     ref  ->  x23         hoist "CSE #07: aggressive"
-;  V39 cse2         [V39,T21] (  4,  3   )     ref  ->  x21         "CSE #01: moderate"
-;  V40 cse3         [V40,T35] (  3,  1.50)     ref  ->   x1         "CSE #03: conservative"
-;  V41 cse4         [V41,T01] (  4, 36   )     int  ->   x1         "CSE #08: aggressive"
-;  V42 cse5         [V42,T14] (  7,  9.50)    long  ->  x20         multi-def "CSE #05: aggressive"
-;  V43 rat0         [V43,T03] (  5, 30   )     ref  ->  x24         "replacement local"
-;  V44 rat1         [V44,T13] (  3, 10   )    long  ->   x2         "CSE for expectedClsNode"
+;  V35 tmp26        [V35,T08] (  2, 16   )     ref  ->  x24         "argument with side effect"
+;  V36 PSPSym       [V36,T37] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
+;  V37 cse0         [V37,T33] (  3,  1.50)     ref  ->   x0         "CSE #02: moderate"
+;  V38 cse1         [V38,T20] (  4,  3   )     ref  ->  x21         "CSE #01: moderate"
+;  V39 cse2         [V39,T34] (  3,  1.50)     ref  ->   x1         "CSE #03: moderate"
+;  V40 cse3         [V40,T01] (  4, 36   )     int  ->   x1         "CSE #06: aggressive"
+;  V41 cse4         [V41,T14] (  7,  9.50)    long  ->  x20         multi-def "CSE #05: aggressive"
+;  V42 rat0         [V42,T03] (  5, 30   )     ref  ->  x23         "replacement local"
+;  V43 rat1         [V43,T13] (  3, 10   )    long  ->   x2         "CSE for expectedClsNode"
 ;
-; Lcl frame size = 24
+; Lcl frame size = 16
 
 G_M61698_IG01:
-            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     fp, lr, [sp, #-0x50]!
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
+            stp     x23, x24, [sp, #0x40]
             mov     fp, sp
-            add     x3, sp, #96
-            str     x3, [fp, #0x20]	// [V36 PSPSym]
+            add     x3, sp, #80
+            str     x3, [fp, #0x18]	// [V36 PSPSym]
             mov     x19, x0
             mov     x20, x1
-						;; size=40 bbWeight=1 PerfScore 8.00
+						;; size=36 bbWeight=1 PerfScore 7.00
 G_M61698_IG02:
             ldr     x21, [x19, #0x18]
             cbz     x21, G_M61698_IG05
 						;; size=8 bbWeight=1 PerfScore 4.00
 G_M61698_IG03:
             mov     x1, x21
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbnz    x0, G_M61698_IG04
             cbnz    x0, G_M61698_IG05
             ldrb    w0, [x21, #0x74]
             cbz     w0, G_M61698_IG05
 						;; size=52 bbWeight=0.50 PerfScore 6.75
 G_M61698_IG04:
-            ldr     x25, [sp, #0x58]
-            ldp     x23, x24, [sp, #0x48]
-            ldp     x21, x22, [sp, #0x38]
-            ldp     x19, x20, [sp, #0x28]
-            ldp     fp, lr, [sp], #0x60
+            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.50 PerfScore 3.50
+						;; size=20 bbWeight=0.50 PerfScore 2.50
 G_M61698_IG05:
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeTypeMember:get_CustomAttributes():System.CodeDom.CodeAttributeDeclarationCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             movz    x1, #0xD1FFAB1E      // code for System.Collections.CollectionBase:get_Count():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cmp     w0, #0
             ble     G_M61698_IG06
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeTypeMember:get_CustomAttributes():System.CodeDom.CodeAttributeDeclarationCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             mov     x0, x19
             mov     w2, wzr
             mov     x3, xzr
             mov     w4, wzr
             movz    x5, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:OutputAttributes(System.CodeDom.CodeAttributeDeclarationCollection,ubyte,System.String,ubyte):this
             movk    x5, #0xD1FFAB1E LSL #16
             movk    x5, #0xD1FFAB1E LSL #32
             ldr     x5, [x5]
             blr     x5
 						;; size=124 bbWeight=0.50 PerfScore 16.50
 G_M61698_IG06:
             ldr     x21, [x20, #0x10]
             movz    x1, #8
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x21, #0
             csel    x21, x21, x1, ne
             mov     x22, x21
             ldr     x1, [x20, #0x58]
             cbz     x1, G_M61698_IG07
             mov     x0, x19
             mov     w2, wzr
             movz    x3, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:GetBaseTypeOutput(System.CodeDom.CodeTypeReference,ubyte):System.String:this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     w1, #46
             mov     w2, #95
             movz    x3, #0xD1FFAB1E      // code for System.String:Replace(ushort,ushort):System.String:this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             ldr     wzr, [x0]
             blr     x3
             ldr     x2, [x20, #0x10]
             movz    x1, #8
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x2, #0
             csel    x2, x2, x1, ne
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x3, #0xD1FFAB1E      // code for System.String:Concat(System.String,System.String,System.String):System.String
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x15, x0
             add     x14, x20, #16
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=164 bbWeight=0.50 PerfScore 20.25
 G_M61698_IG07:
             ldr     w1, [x20, #0x40]
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:OutputMemberAccessModifier(int):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeMemberEvent:get_Type():System.CodeDom.CodeTypeReference:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             ldr     x2, [x20, #0x10]
             movz    x0, #8
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             cmp     x2, #0
             csel    x2, x2, x0, ne
             mov     x0, x19
             movz    x3, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:OutputTypeNamePair(System.CodeDom.CodeTypeReference,System.String):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeMemberEvent:get_ImplementationTypes():System.CodeDom.CodeTypeReferenceCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             movz    x1, #0xD1FFAB1E      // code for System.Collections.CollectionBase:get_Count():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cmp     w0, #0
             bgt     G_M61698_IG08
             ldr     x0, [x20, #0x58]
-            cbz     x0, G_M61698_IG25
+            cbz     x0, G_M61698_IG24
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             ldr     x1, [x20, #0x58]
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:OutputType(System.CodeDom.CodeTypeReference):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             ldr     x0, [x19, #0x08]
             mov     w1, #46
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(ushort):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             mov     x0, x19
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:OutputIdentifier(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            b       G_M61698_IG25
+            b       G_M61698_IG24
 						;; size=340 bbWeight=0.50 PerfScore 50.75
 G_M61698_IG08:
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             mov     w21, #1
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeMemberEvent:get_ImplementationTypes():System.CodeDom.CodeTypeReferenceCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             ldr     x0, [x0, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x58]
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
-            str     x1, [fp, #0x18]	// [V06 loc3]
+            str     x1, [fp, #0x10]	// [V06 loc3]
 						;; size=96 bbWeight=0.50 PerfScore 17.00
 G_M61698_IG09:
             mov     x0, x1
             movz    x20, #0xD1FFAB1E
             movk    x20, #0xD1FFAB1E LSL #16
             movk    x20, #0xD1FFAB1E LSL #32
             mov     x11, x20
             ldr     xip0, [x11]
             blr     xip0
-            cbz     w0, G_M61698_IG24
+            cbz     w0, G_M61698_IG23
 						;; size=32 bbWeight=0.50 PerfScore 3.75
 G_M61698_IG10:
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x23, [x0]
-						;; size=16 bbWeight=0.25 PerfScore 1.12
-G_M61698_IG11:
-            ldr     x0, [fp, #0x18]	// [V06 loc3]
+            ldr     x0, [fp, #0x10]	// [V06 loc3]
             add     x11, x20, #8
             ldr     xip0, [x11]
             blr     xip0
-            mov     x24, x0
-            cbz     x24, G_M61698_IG14
+            mov     x23, x0
+            cbz     x23, G_M61698_IG13
 						;; size=24 bbWeight=4 PerfScore 32.00
-G_M61698_IG12:
+G_M61698_IG11:
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x1, [x24]
+            ldr     x1, [x23]
             cmp     x1, x2
-            beq     G_M61698_IG14
+            beq     G_M61698_IG13
 						;; size=24 bbWeight=2 PerfScore 12.00
-G_M61698_IG13:
+G_M61698_IG12:
             mov     x1, x0
             mov     x0, x2
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            mov     x24, x0
+            mov     x23, x0
 						;; size=32 bbWeight=1 PerfScore 7.00
-G_M61698_IG14:
-            cbnz    w21, G_M61698_IG16
+G_M61698_IG13:
+            cbnz    w21, G_M61698_IG15
 						;; size=4 bbWeight=4 PerfScore 4.00
-G_M61698_IG15:
+G_M61698_IG14:
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
-            b       G_M61698_IG17
+            b       G_M61698_IG16
 						;; size=44 bbWeight=2 PerfScore 28.00
-G_M61698_IG16:
+G_M61698_IG15:
             mov     w21, wzr
 						;; size=4 bbWeight=2 PerfScore 1.00
-G_M61698_IG17:
-            ldr     x25, [x19, #0x08]
+G_M61698_IG16:
+            ldr     x24, [x19, #0x08]
             mov     x0, x19
-            mov     x1, x24
+            mov     x1, x23
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:GetTypeOutputWithoutArrayPostFix(System.CodeDom.CodeTypeReference):System.String:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x1, x0
-            mov     x0, x25
+            mov     x0, x24
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             ldr     x0, [x19, #0x08]
             mov     w1, #46
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(ushort):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
-            ldr     x24, [x19, #0x08]
-            mov     x0, x23
+            ldr     x23, [x19, #0x08]
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #32
+            ldr     x0, [x0]
             ldr     w1, [x22, #0x08]
             cmp     w1, #0
-            ble     G_M61698_IG21
-						;; size=116 bbWeight=4 PerfScore 156.00
-G_M61698_IG18:
+            ble     G_M61698_IG20
+						;; size=124 bbWeight=4 PerfScore 170.00
+G_M61698_IG17:
             sub     w1, w1, #1
             cmp     w1, #16
-            bge     G_M61698_IG21
+            bge     G_M61698_IG20
 						;; size=12 bbWeight=2 PerfScore 4.00
-G_M61698_IG19:
+G_M61698_IG18:
             cmp     w1, #16
-            bhs     G_M61698_IG23
+            bhs     G_M61698_IG22
             add     x0, x0, #16
             ldr     x0, [x0, w1, UXTW #3]
-            cbz     x0, G_M61698_IG21
+            cbz     x0, G_M61698_IG20
 						;; size=20 bbWeight=16 PerfScore 96.00
-G_M61698_IG20:
+G_M61698_IG19:
             mov     x1, x22
             mov     w2, #1
             movz    x3, #0xD1FFAB1E      // code for System.Collections.Specialized.FixedStringLookup:Contains(System.String[],System.String,ubyte):ubyte
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-            cbz     w0, G_M61698_IG21
+            cbz     w0, G_M61698_IG20
             mov     x1, x22
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             movz    x3, #0xD1FFAB1E      // code for System.String:Concat(System.String,System.String,System.String):System.String
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x1, x0
-            b       G_M61698_IG22
+            b       G_M61698_IG21
 						;; size=88 bbWeight=2 PerfScore 36.00
-G_M61698_IG21:
+G_M61698_IG20:
             mov     x1, x22
 						;; size=4 bbWeight=8 PerfScore 4.00
-G_M61698_IG22:
-            mov     x0, x24
+G_M61698_IG21:
+            mov     x0, x23
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
-            ldr     x0, [fp, #0x18]	// [V06 loc3]
+            ldr     x0, [fp, #0x10]	// [V06 loc3]
             mov     x11, x20
             ldr     xip0, [x11]
             blr     xip0
-            cbnz    w0, G_M61698_IG11
-            b       G_M61698_IG24
+            cbnz    w0, G_M61698_IG10
+            b       G_M61698_IG23
 						;; size=52 bbWeight=4 PerfScore 70.00
-G_M61698_IG23:
+G_M61698_IG22:
             bl      CORINFO_HELP_RNGCHKFAIL
             brk_unix #0
 						;; size=8 bbWeight=0 PerfScore 0.00
-G_M61698_IG24:
-            ldr     x1, [fp, #0x18]	// [V06 loc3]
+G_M61698_IG23:
+            ldr     x1, [fp, #0x10]	// [V06 loc3]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     x0, G_M61698_IG25
+            cbz     x0, G_M61698_IG24
             add     x11, x20, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=52 bbWeight=0.50 PerfScore 7.25
-G_M61698_IG25:
+G_M61698_IG24:
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:WriteLine():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
 						;; size=24 bbWeight=0.50 PerfScore 5.25
-G_M61698_IG26:
-            ldr     x25, [sp, #0x58]
-            ldp     x23, x24, [sp, #0x48]
-            ldp     x21, x22, [sp, #0x38]
-            ldp     x19, x20, [sp, #0x28]
-            ldp     fp, lr, [sp], #0x60
+G_M61698_IG25:
+            ldp     x23, x24, [sp, #0x40]
+            ldp     x21, x22, [sp, #0x30]
+            ldp     x19, x20, [sp, #0x20]
+            ldp     fp, lr, [sp], #0x50
             br      x1
-						;; size=24 bbWeight=0.50 PerfScore 3.50
-G_M61698_IG27:
+						;; size=20 bbWeight=0.50 PerfScore 2.50
+G_M61698_IG26:
             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, #96
-            str     x3, [sp, #0x10]
-						;; size=28 bbWeight=0 PerfScore 0.00
-G_M61698_IG28:
-            ldr     x1, [fp, #0x18]	// [V06 loc3]
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
+            stp     x23, x24, [sp, #0x40]
+            add     x3, fp, #80
+            str     x3, [sp, #0x18]
+						;; size=24 bbWeight=0 PerfScore 0.00
+G_M61698_IG27:
+            ldr     x1, [fp, #0x10]	// [V06 loc3]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     x0, G_M61698_IG29
+            cbz     x0, G_M61698_IG28
             movz    x20, #0xD1FFAB1E
             movk    x20, #0xD1FFAB1E LSL #16
             movk    x20, #0xD1FFAB1E LSL #32
             add     x11, x20, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=64 bbWeight=0 PerfScore 0.00
-G_M61698_IG29:
-            ldr     x25, [sp, #0x48]
-            ldp     x23, x24, [sp, #0x38]
-            ldp     x21, x22, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
+G_M61698_IG28:
+            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 1544, prolog size 40, PerfScore 597.62, instruction count 386, allocated bytes for code 1544 (MethodHash=f6220efd) for method Microsoft.VisualBasic.VBCodeGenerator:GenerateEvent(System.CodeDom.CodeMemberEvent,System.CodeDom.CodeTypeDeclaration):this (FullOpts)
+; Total bytes of code 1516, prolog size 36, PerfScore 607.50, instruction count 379, allocated bytes for code 1516 (MethodHash=f6220efd) for method Microsoft.VisualBasic.VBCodeGenerator:GenerateEvent(System.CodeDom.CodeMemberEvent,System.CodeDom.CodeTypeDeclaration):this (FullOpts)
-28 (-0.97 % of base) - Microsoft.VisualBasic.VBCodeGenerator:GenerateMethod(System.CodeDom.CodeMemberMethod,System.CodeDom.CodeTypeDeclaration):this
 ; Assembly listing for method Microsoft.VisualBasic.VBCodeGenerator:GenerateMethod(System.CodeDom.CodeMemberMethod,System.CodeDom.CodeTypeDeclaration):this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 54 single block inlinees; 15 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] ( 37, 35.50)     ref  ->  x19         this class-hnd single-def <Microsoft.VisualBasic.VBCodeGenerator>
 ;  V01 arg1         [V01,T05] ( 30, 16   )     ref  ->  x20         class-hnd single-def <System.CodeDom.CodeMemberMethod>
 ;  V02 arg2         [V02,T20] (  3,  2.50)     ref  ->  x21         class-hnd single-def <System.CodeDom.CodeTypeDeclaration>
 ;  V03 loc0         [V03,T11] (  7, 17.50)     ref  ->  x22         class-hnd exact single-def <System.String>
-;  V04 loc1         [V04,T34] (  4,  2   )   ubyte  ->  x21        
-;  V05 loc2         [V05,T60] (  2,  1   )     ref  ->   x0         class-hnd single-def <System.String>
+;  V04 loc1         [V04,T33] (  4,  2   )   ubyte  ->  x21        
+;  V05 loc2         [V05,T59] (  2,  1   )     ref  ->   x0         class-hnd single-def <System.String>
 ;  V06 loc3         [V06,T18] (  3,  6.50)   ubyte  ->  x23        
-;  V07 loc4         [V07,T15] (  6,  9   )     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
-;  V08 loc5         [V08,T17] (  2,  8   )     ref  ->  x26         class-hnd <System.CodeDom.CodeTypeReference>
-;  V09 loc6         [V09,T54] (  6,  1.50)     ref  ->   x0         class-hnd <System.IDisposable>
-;  V10 loc7         [V10,T35] (  4,  2   )     int  ->  x23        
+;  V07 loc4         [V07,T15] (  6,  9   )     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
+;  V08 loc5         [V08,T17] (  2,  8   )     ref  ->  x25         class-hnd <System.CodeDom.CodeTypeReference>
+;  V09 loc6         [V09,T53] (  6,  1.50)     ref  ->   x0         class-hnd <System.IDisposable>
+;  V10 loc7         [V10,T34] (  4,  2   )     int  ->  x23        
 ;# V11 OutArgs      [V11    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V12 tmp1         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.String>
-;  V13 tmp2         [V13,T57] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V14 tmp3         [V14,T58] (  3,  1.50)   ubyte  ->   x0         "Inline return value spill temp"
-;  V15 tmp4         [V15,T22] (  4,  4   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeDeclaration>
-;  V16 tmp5         [V16,T59] (  2,  1   )   ubyte  ->   x1         "Inline return value spill temp"
+;  V13 tmp2         [V13,T56] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V14 tmp3         [V14,T57] (  3,  1.50)   ubyte  ->   x0         "Inline return value spill temp"
+;  V15 tmp4         [V15,T21] (  4,  4   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeDeclaration>
+;  V16 tmp5         [V16,T58] (  2,  1   )   ubyte  ->   x1         "Inline return value spill temp"
 ;* V17 tmp6         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.CodeDom.CodeTypeDeclaration>
-;* V18 tmp7         [V18,T64] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V19 tmp8         [V19,T36] (  2,  2   )     ref  ->  x22         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeDeclaration>
+;* V18 tmp7         [V18,T63] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V19 tmp8         [V19,T35] (  2,  2   )     ref  ->  x22         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeDeclaration>
 ;* V20 tmp9         [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.CodeDom.CodeAttributeDeclarationCollection>
-;  V21 tmp10        [V21,T37] (  2,  2   )     ref  ->  x22         class-hnd exact single-def "dup spill" <System.String>
-;  V22 tmp11        [V22,T28] (  5,  2.50)     ref  ->  x22        
-;  V23 tmp12        [V23,T38] (  2,  2   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String>
-;  V24 tmp13        [V24,T29] (  5,  2.50)     ref  ->   x2        
-;  V25 tmp14        [V25,T39] (  2,  2   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.String>
-;* V26 tmp15        [V26,T65] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V27 tmp16        [V27,T40] (  2,  2   )     ref  ->  x23         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeDeclaration>
+;  V21 tmp10        [V21,T36] (  2,  2   )     ref  ->  x22         class-hnd exact single-def "dup spill" <System.String>
+;  V22 tmp11        [V22,T27] (  5,  2.50)     ref  ->  x22        
+;  V23 tmp12        [V23,T37] (  2,  2   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String>
+;  V24 tmp13        [V24,T28] (  5,  2.50)     ref  ->   x2        
+;  V25 tmp14        [V25,T38] (  2,  2   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.String>
+;* V26 tmp15        [V26,T64] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V27 tmp16        [V27,T39] (  2,  2   )     ref  ->  x23         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeDeclaration>
 ;* V28 tmp17        [V28    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V29 tmp18        [V29    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V30 tmp19        [V30,T41] (  2,  2   )     ref  ->   x1         class-hnd exact single-def "dup spill" <System.String>
-;  V31 tmp20        [V31,T30] (  5,  2.50)     ref  ->   x1        
+;  V30 tmp19        [V30,T40] (  2,  2   )     ref  ->   x1         class-hnd exact single-def "dup spill" <System.String>
+;  V31 tmp20        [V31,T29] (  5,  2.50)     ref  ->   x1        
 ;* V32 tmp21        [V32    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.CodeDom.CodeAttributeDeclarationCollection>
-;  V33 tmp22        [V33,T42] (  2,  2   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeReferenceCollection>
+;  V33 tmp22        [V33,T41] (  2,  2   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeReferenceCollection>
 ;* V34 tmp23        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
-;  V35 tmp24        [V35,T07] (  2, 16   )     ref  ->  x26         class-hnd exact "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
+;  V35 tmp24        [V35,T07] (  2, 16   )     ref  ->  x25         class-hnd exact "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;  V36 tmp25        [V36,T16] (  3, 14   )     ref  ->   x1         class-hnd "Inline return value spill temp" <System.String>
 ;  V37 tmp26        [V37,T10] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V38 tmp27        [V38,T12] (  3, 10   )     int  ->   x1         "Inline stloc first use temp"
 ;  V39 tmp28        [V39,T00] (  2, 40   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.String[][]>
 ;  V40 tmp29        [V40,T03] (  3, 34   )     ref  ->   x0         class-hnd exact "Inline stloc first use temp" <System.String[]>
-;* V41 tmp30        [V41,T66] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V42 tmp31        [V42,T43] (  2,  2   )     ref  ->  x24         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeDeclaration>
+;* V41 tmp30        [V41,T65] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V42 tmp31        [V42,T42] (  2,  2   )     ref  ->  x24         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeDeclaration>
 ;* V43 tmp32        [V43    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V44 tmp33        [V44    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V45 tmp34        [V45,T23] (  3,  3   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
+;  V45 tmp34        [V45,T22] (  3,  3   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V46 tmp35        [V46    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V47 tmp36        [V47,T61] (  2,  1   )     int  ->   x1         "Inline return value spill temp"
-;  V48 tmp37        [V48,T26] (  3,  3   )     int  ->   x1         "Inlining Arg"
+;  V47 tmp36        [V47,T60] (  2,  1   )     int  ->   x1         "Inline return value spill temp"
+;  V48 tmp37        [V48,T25] (  3,  3   )     int  ->   x1         "Inlining Arg"
 ;* V49 tmp38        [V49    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V50 tmp39        [V50    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V51 tmp40        [V51,T24] (  3,  3   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
+;  V51 tmp40        [V51,T23] (  3,  3   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V52 tmp41        [V52    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V53 tmp42        [V53,T62] (  2,  1   )     int  ->   x2         "Inline return value spill temp"
-;  V54 tmp43        [V54,T27] (  3,  3   )     int  ->   x2         "Inlining Arg"
-;  V55 tmp44        [V55,T44] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
-;  V56 tmp45        [V56,T45] (  2,  2   )     ref  ->   x0         single-def "argument with side effect"
-;  V57 tmp46        [V57,T46] (  2,  2   )     ref  ->  x23         single-def "argument with side effect"
-;  V58 tmp47        [V58,T47] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
-;  V59 tmp48        [V59,T48] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
-;  V60 tmp49        [V60,T49] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
-;  V61 tmp50        [V61,T50] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
-;  V62 tmp51        [V62,T51] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
-;  V63 tmp52        [V63,T52] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
-;  V64 tmp53        [V64,T25] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
+;  V53 tmp42        [V53,T61] (  2,  1   )     int  ->   x2         "Inline return value spill temp"
+;  V54 tmp43        [V54,T26] (  3,  3   )     int  ->   x2         "Inlining Arg"
+;  V55 tmp44        [V55,T43] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
+;  V56 tmp45        [V56,T44] (  2,  2   )     ref  ->   x0         single-def "argument with side effect"
+;  V57 tmp46        [V57,T45] (  2,  2   )     ref  ->  x23         single-def "argument with side effect"
+;  V58 tmp47        [V58,T46] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
+;  V59 tmp48        [V59,T47] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
+;  V60 tmp49        [V60,T48] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
+;  V61 tmp50        [V61,T49] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
+;  V62 tmp51        [V62,T50] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
+;  V63 tmp52        [V63,T51] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
+;  V64 tmp53        [V64,T24] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
 ;  V65 tmp54        [V65,T06] (  3, 18   )     ref  ->   x0         "argument with side effect"
 ;  V66 tmp55        [V66,T08] (  2, 16   )     ref  ->   x1         "argument with side effect"
-;  V67 tmp56        [V67,T09] (  2, 16   )     ref  ->  x27         "argument with side effect"
-;  V68 tmp57        [V68,T53] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
-;  V69 PSPSym       [V69,T63] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
-;  V70 cse0         [V70,T21] (  2,  4.25)     ref  ->  x25         hoist "CSE #13: moderate"
-;  V71 cse1         [V71,T19] ( 10,  6   )     ref  ->  x22         "CSE #01: aggressive"
-;  V72 cse2         [V72,T31] (  5,  2.50)     ref  ->   x0         "CSE #19: moderate"
-;  V73 cse3         [V73,T32] (  4,  2   )     ref  ->  x23         "CSE #08: moderate"
-;  V74 cse4         [V74,T33] (  4,  2   )     ref  ->  x24         "CSE #17: moderate"
-;  V75 cse5         [V75,T55] (  3,  1.50)     ref  ->   x1         "CSE #06: conservative"
-;  V76 cse6         [V76,T56] (  3,  1.50)     ref  ->   x0         "CSE #18: conservative"
-;  V77 cse7         [V77,T02] (  4, 36   )     int  ->   x1         "CSE #14: aggressive"
-;  V78 cse8         [V78,T14] (  7,  9.50)    long  ->  x24         multi-def "CSE #11: aggressive"
-;  V79 rat0         [V79,T04] (  5, 30   )     ref  ->  x26         "replacement local"
-;  V80 rat1         [V80,T13] (  3, 10   )    long  ->   x2         "CSE for expectedClsNode"
+;  V67 tmp56        [V67,T09] (  2, 16   )     ref  ->  x26         "argument with side effect"
+;  V68 tmp57        [V68,T52] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
+;  V69 PSPSym       [V69,T62] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
+;  V70 cse0         [V70,T19] ( 10,  6   )     ref  ->  x22         "CSE #01: aggressive"
+;  V71 cse1         [V71,T30] (  5,  2.50)     ref  ->   x0         "CSE #17: moderate"
+;  V72 cse2         [V72,T31] (  4,  2   )     ref  ->  x23         "CSE #08: moderate"
+;  V73 cse3         [V73,T32] (  4,  2   )     ref  ->  x24         "CSE #15: moderate"
+;  V74 cse4         [V74,T54] (  3,  1.50)     ref  ->   x1         "CSE #06: conservative"
+;  V75 cse5         [V75,T55] (  3,  1.50)     ref  ->   x0         "CSE #16: conservative"
+;  V76 cse6         [V76,T02] (  4, 36   )     int  ->   x1         "CSE #12: aggressive"
+;  V77 cse7         [V77,T14] (  7,  9.50)    long  ->  x24         multi-def "CSE #11: aggressive"
+;  V78 rat0         [V78,T04] (  5, 30   )     ref  ->  x25         "replacement local"
+;  V79 rat1         [V79,T13] (  3, 10   )    long  ->   x2         "CSE for expectedClsNode"
 ;
-; Lcl frame size = 24
+; Lcl frame size = 16
 
 G_M31522_IG01:
-            stp     fp, lr, [sp, #-0x70]!
-            stp     x19, x20, [sp, #0x28]
-            stp     x21, x22, [sp, #0x38]
-            stp     x23, x24, [sp, #0x48]
-            stp     x25, x26, [sp, #0x58]
-            str     x27, [sp, #0x68]
+            stp     fp, lr, [sp, #-0x60]!
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
+            stp     x23, x24, [sp, #0x40]
+            stp     x25, x26, [sp, #0x50]
             mov     fp, sp
-            add     x3, sp, #112
-            str     x3, [fp, #0x20]	// [V69 PSPSym]
+            add     x3, sp, #96
+            str     x3, [fp, #0x18]	// [V69 PSPSym]
             mov     x19, x0
             mov     x20, x1
             mov     x21, x2
-						;; size=48 bbWeight=1 PerfScore 9.50
+						;; size=44 bbWeight=1 PerfScore 8.50
 G_M31522_IG02:
             ldr     x22, [x19, #0x18]
             cbz     x22, G_M31522_IG07
 						;; size=8 bbWeight=1 PerfScore 4.00
 G_M31522_IG03:
             mov     x1, x22
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbnz    x0, G_M31522_IG07
             mov     x1, x22
             ldr     w0, [x1, #0x70]
             tbnz    w0, #5, G_M31522_IG04
             ldrb    w0, [x1, #0x74]
             cbz     w0, G_M31522_IG05
 						;; size=60 bbWeight=0.50 PerfScore 8.50
 G_M31522_IG04:
             mov     w0, wzr
             b       G_M31522_IG06
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M31522_IG05:
             ldrb    w0, [x1, #0x75]
             cmp     w0, #0
             cset    x0, eq
 						;; size=12 bbWeight=0.50 PerfScore 2.00
 G_M31522_IG06:
             cbnz    w0, G_M31522_IG11
             b       G_M31522_IG08
 						;; size=8 bbWeight=0.50 PerfScore 1.00
 G_M31522_IG07:
             cbz     x22, G_M31522_IG09
 						;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M31522_IG08:
             mov     x1, x22
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbnz    x0, G_M31522_IG09
             ldrb    w1, [x22, #0x75]
             cbnz    w1, G_M31522_IG11
             b       G_M31522_IG10
 						;; size=52 bbWeight=0.50 PerfScore 6.75
 G_M31522_IG09:
-            cbz     x22, G_M31522_IG44
+            cbz     x22, G_M31522_IG43
 						;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M31522_IG10:
             mov     x1, x22
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    x0, G_M31522_IG44
+            cbnz    x0, G_M31522_IG43
             ldr     w0, [x22, #0x70]
-            tbz     w0, #5, G_M31522_IG44
+            tbz     w0, #5, G_M31522_IG43
 						;; size=48 bbWeight=0.50 PerfScore 6.25
 G_M31522_IG11:
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeTypeMember:get_CustomAttributes():System.CodeDom.CodeAttributeDeclarationCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             movz    x1, #0xD1FFAB1E      // code for System.Collections.CollectionBase:get_Count():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cmp     w0, #0
             ble     G_M31522_IG12
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeTypeMember:get_CustomAttributes():System.CodeDom.CodeAttributeDeclarationCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             mov     x0, x19
             mov     w2, wzr
             mov     x3, xzr
             mov     w4, wzr
             movz    x5, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:OutputAttributes(System.CodeDom.CodeAttributeDeclarationCollection,ubyte,System.String,ubyte):this
             movk    x5, #0xD1FFAB1E LSL #16
             movk    x5, #0xD1FFAB1E LSL #32
             ldr     x5, [x5]
             blr     x5
 						;; size=124 bbWeight=0.50 PerfScore 16.50
 G_M31522_IG12:
             ldr     x22, [x20, #0x10]
             movz    x1, #8
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x22, #0
             csel    x22, x22, x1, ne
             ldr     x1, [x20, #0x90]
             cbz     x1, G_M31522_IG13
             mov     x0, x19
             mov     w2, wzr
             movz    x3, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:GetBaseTypeOutput(System.CodeDom.CodeTypeReference,ubyte):System.String:this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     w1, #46
             mov     w2, #95
             movz    x3, #0xD1FFAB1E      // code for System.String:Replace(ushort,ushort):System.String:this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             ldr     wzr, [x0]
             blr     x3
             ldr     x2, [x20, #0x10]
             movz    x1, #8
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x2, #0
             csel    x2, x2, x1, ne
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x3, #0xD1FFAB1E      // code for System.String:Concat(System.String,System.String,System.String):System.String
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x15, x0
             add     x14, x20, #16
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=160 bbWeight=0.50 PerfScore 20.00
 G_M31522_IG13:
             ldr     x23, [x19, #0x18]
             cbz     x23, G_M31522_IG14
             mov     x1, x23
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbnz    x0, G_M31522_IG14
             ldr     w0, [x23, #0x70]
             tbz     w0, #5, G_M31522_IG14
             ldr     w0, [x20, #0x40]
             and     w0, w0, #240
             cmp     w0, #16
             bne     G_M31522_IG17
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             b       G_M31522_IG17
 						;; size=116 bbWeight=0.50 PerfScore 17.75
 G_M31522_IG14:
             ldr     x1, [x20, #0x90]
             cbnz    x1, G_M31522_IG15
             ldr     w1, [x20, #0x40]
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:OutputMemberAccessModifier(int):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x0, x20
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:MethodIsOverloaded(System.CodeDom.CodeMemberMethod,System.CodeDom.CodeTypeDeclaration):ubyte
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     w0, G_M31522_IG15
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=108 bbWeight=0.50 PerfScore 16.75
 G_M31522_IG15:
             ldr     w0, [x20, #0x40]
             and     w0, w0, #240
             cmp     w0, #16
             bne     G_M31522_IG16
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=56 bbWeight=0.50 PerfScore 9.00
 G_M31522_IG16:
             ldr     w1, [x20, #0x40]
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:OutputMemberScopeModifier(int):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=28 bbWeight=0.50 PerfScore 4.50
 G_M31522_IG17:
             mov     w21, wzr
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeMemberMethod:get_ReturnType():System.CodeDom.CodeTypeReference:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeTypeReference:get_BaseType():System.String:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     w0, [x0, #0x08]
             cbz     w0, G_M31522_IG18
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeMemberMethod:get_ReturnType():System.CodeDom.CodeTypeReference:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeTypeReference:get_BaseType():System.String:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             mov     x23, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             mov     w1, #2
             movz    x2, #0xD1FFAB1E      // code for System.RuntimeType:GetCachedName(int):System.String:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x1, x0
             mov     x0, x23
             mov     w2, #5
             movz    x3, #0xD1FFAB1E      // code for System.String:Equals(System.String,System.String,int):ubyte
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             cbnz    w0, G_M31522_IG18
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             b       G_M31522_IG19
 						;; size=228 bbWeight=0.50 PerfScore 31.75
 G_M31522_IG18:
             mov     w21, #1
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=44 bbWeight=0.50 PerfScore 6.75
 G_M31522_IG19:
             ldr     x1, [x20, #0x10]
             movz    x0, #8
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             cmp     x1, #0
             csel    x1, x1, x0, ne
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:OutputIdentifier(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeMemberMethod:get_TypeParameters():System.CodeDom.CodeTypeParameterCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:OutputTypeParameters(System.CodeDom.CodeTypeParameterCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             ldr     x0, [x19, #0x08]
             mov     w1, #40
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(ushort):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeMemberMethod:get_Parameters():System.CodeDom.CodeParameterDeclarationExpressionCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.CodeGenerator:OutputParameters(System.CodeDom.CodeParameterDeclarationExpressionCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             ldr     x0, [x19, #0x08]
             mov     w1, #41
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(ushort):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             cbnz    w21, G_M31522_IG21
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeMemberMethod:get_ReturnTypeCustomAttributes():System.CodeDom.CodeAttributeDeclarationCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             movz    x1, #0xD1FFAB1E      // code for System.Collections.CollectionBase:get_Count():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cmp     w0, #0
             ble     G_M31522_IG20
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeMemberMethod:get_ReturnTypeCustomAttributes():System.CodeDom.CodeAttributeDeclarationCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             mov     x0, x19
             mov     w2, #1
             mov     x3, xzr
             mov     w4, wzr
             movz    x5, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:OutputAttributes(System.CodeDom.CodeAttributeDeclarationCollection,ubyte,System.String,ubyte):this
             movk    x5, #0xD1FFAB1E LSL #16
             movk    x5, #0xD1FFAB1E LSL #32
             ldr     x5, [x5]
             blr     x5
 						;; size=380 bbWeight=0.50 PerfScore 52.25
 G_M31522_IG20:
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeMemberMethod:get_ReturnType():System.CodeDom.CodeTypeReference:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:OutputType(System.CodeDom.CodeTypeReference):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeMemberMethod:get_ReturnType():System.CodeDom.CodeTypeReference:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:OutputArrayPostfix(System.CodeDom.CodeTypeReference):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=104 bbWeight=0.50 PerfScore 12.50
 G_M31522_IG21:
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeMemberMethod:get_ImplementationTypes():System.CodeDom.CodeTypeReferenceCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             movz    x1, #0xD1FFAB1E      // code for System.Collections.CollectionBase:get_Count():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cmp     w0, #0
             bgt     G_M31522_IG22
             ldr     x0, [x20, #0x90]
-            cbz     x0, G_M31522_IG39
+            cbz     x0, G_M31522_IG38
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             ldr     x1, [x20, #0x90]
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:OutputType(System.CodeDom.CodeTypeReference):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             ldr     x0, [x19, #0x08]
             mov     w1, #46
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(ushort):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             mov     x0, x19
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:OutputIdentifier(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            b       G_M31522_IG39
+            b       G_M31522_IG38
 						;; size=196 bbWeight=0.50 PerfScore 30.75
 G_M31522_IG22:
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             mov     w23, #1
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeMemberMethod:get_ImplementationTypes():System.CodeDom.CodeTypeReferenceCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             ldr     x0, [x0, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x58]
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
-            str     x1, [fp, #0x18]	// [V07 loc4]
+            str     x1, [fp, #0x10]	// [V07 loc4]
 						;; size=96 bbWeight=0.50 PerfScore 17.00
 G_M31522_IG23:
             mov     x0, x1
             movz    x24, #0xD1FFAB1E
             movk    x24, #0xD1FFAB1E LSL #16
             movk    x24, #0xD1FFAB1E LSL #32
             mov     x11, x24
             ldr     xip0, [x11]
             blr     xip0
-            cbz     w0, G_M31522_IG38
+            cbz     w0, G_M31522_IG37
 						;; size=32 bbWeight=0.50 PerfScore 3.75
 G_M31522_IG24:
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x25, [x0]
-						;; size=16 bbWeight=0.25 PerfScore 1.12
-G_M31522_IG25:
-            ldr     x0, [fp, #0x18]	// [V07 loc4]
+            ldr     x0, [fp, #0x10]	// [V07 loc4]
             add     x11, x24, #8
             ldr     xip0, [x11]
             blr     xip0
-            mov     x26, x0
-            cbz     x26, G_M31522_IG28
+            mov     x25, x0
+            cbz     x25, G_M31522_IG27
 						;; size=24 bbWeight=4 PerfScore 32.00
-G_M31522_IG26:
+G_M31522_IG25:
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x1, [x26]
+            ldr     x1, [x25]
             cmp     x1, x2
-            beq     G_M31522_IG28
+            beq     G_M31522_IG27
 						;; size=24 bbWeight=2 PerfScore 12.00
-G_M31522_IG27:
+G_M31522_IG26:
             mov     x1, x0
             mov     x0, x2
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            mov     x26, x0
+            mov     x25, x0
 						;; size=32 bbWeight=1 PerfScore 7.00
-G_M31522_IG28:
-            cbnz    w23, G_M31522_IG30
+G_M31522_IG27:
+            cbnz    w23, G_M31522_IG29
 						;; size=4 bbWeight=4 PerfScore 4.00
-G_M31522_IG29:
+G_M31522_IG28:
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
-            b       G_M31522_IG31
+            b       G_M31522_IG30
 						;; size=44 bbWeight=2 PerfScore 28.00
-G_M31522_IG30:
+G_M31522_IG29:
             mov     w23, wzr
 						;; size=4 bbWeight=2 PerfScore 1.00
-G_M31522_IG31:
-            ldr     x27, [x19, #0x08]
+G_M31522_IG30:
+            ldr     x26, [x19, #0x08]
             mov     x0, x19
-            mov     x1, x26
+            mov     x1, x25
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:GetTypeOutputWithoutArrayPostFix(System.CodeDom.CodeTypeReference):System.String:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x1, x0
-            mov     x0, x27
+            mov     x0, x26
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             ldr     x0, [x19, #0x08]
             mov     w1, #46
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(ushort):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
-            ldr     x26, [x19, #0x08]
-            mov     x0, x25
+            ldr     x25, [x19, #0x08]
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #32
+            ldr     x0, [x0]
             ldr     w1, [x22, #0x08]
             cmp     w1, #0
-            ble     G_M31522_IG35
-						;; size=116 bbWeight=4 PerfScore 156.00
-G_M31522_IG32:
+            ble     G_M31522_IG34
+						;; size=124 bbWeight=4 PerfScore 170.00
+G_M31522_IG31:
             sub     w1, w1, #1
             cmp     w1, #16
-            bge     G_M31522_IG35
+            bge     G_M31522_IG34
 						;; size=12 bbWeight=2 PerfScore 4.00
-G_M31522_IG33:
+G_M31522_IG32:
             cmp     w1, #16
-            bhs     G_M31522_IG37
+            bhs     G_M31522_IG36
             add     x0, x0, #16
             ldr     x0, [x0, w1, UXTW #3]
-            cbz     x0, G_M31522_IG35
+            cbz     x0, G_M31522_IG34
 						;; size=20 bbWeight=16 PerfScore 96.00
-G_M31522_IG34:
+G_M31522_IG33:
             mov     x1, x22
             mov     w2, #1
             movz    x3, #0xD1FFAB1E      // code for System.Collections.Specialized.FixedStringLookup:Contains(System.String[],System.String,ubyte):ubyte
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-            cbz     w0, G_M31522_IG35
+            cbz     w0, G_M31522_IG34
             mov     x1, x22
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             movz    x3, #0xD1FFAB1E      // code for System.String:Concat(System.String,System.String,System.String):System.String
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x1, x0
-            b       G_M31522_IG36
+            b       G_M31522_IG35
 						;; size=88 bbWeight=2 PerfScore 36.00
-G_M31522_IG35:
+G_M31522_IG34:
             mov     x1, x22
 						;; size=4 bbWeight=8 PerfScore 4.00
-G_M31522_IG36:
-            mov     x0, x26
+G_M31522_IG35:
+            mov     x0, x25
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
-            ldr     x0, [fp, #0x18]	// [V07 loc4]
+            ldr     x0, [fp, #0x10]	// [V07 loc4]
             mov     x11, x24
             ldr     xip0, [x11]
             blr     xip0
-            cbnz    w0, G_M31522_IG25
-            b       G_M31522_IG38
+            cbnz    w0, G_M31522_IG24
+            b       G_M31522_IG37
 						;; size=52 bbWeight=4 PerfScore 70.00
-G_M31522_IG37:
+G_M31522_IG36:
             bl      CORINFO_HELP_RNGCHKFAIL
             brk_unix #0
 						;; size=8 bbWeight=0 PerfScore 0.00
-G_M31522_IG38:
-            ldr     x1, [fp, #0x18]	// [V07 loc4]
+G_M31522_IG37:
+            ldr     x1, [fp, #0x10]	// [V07 loc4]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     x0, G_M31522_IG39
+            cbz     x0, G_M31522_IG38
             add     x11, x24, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=52 bbWeight=0.50 PerfScore 7.25
-G_M31522_IG39:
+G_M31522_IG38:
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:WriteLine():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x24, [x19, #0x18]
-            cbz     x24, G_M31522_IG40
+            cbz     x24, G_M31522_IG39
             mov     x1, x24
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    x0, G_M31522_IG40
+            cbnz    x0, G_M31522_IG39
             ldr     w0, [x24, #0x70]
-            tbnz    w0, #5, G_M31522_IG42
+            tbnz    w0, #5, G_M31522_IG41
 						;; size=84 bbWeight=0.50 PerfScore 14.00
-G_M31522_IG40:
+G_M31522_IG39:
             ldr     w0, [x20, #0x40]
             and     w0, w0, #15
             cmp     w0, #1
-            beq     G_M31522_IG42
+            beq     G_M31522_IG41
             ldr     x0, [x19, #0x08]
             ldr     w23, [x0, #0x30]
             ldrsb   wzr, [x0]
             add     w1, w23, #1
             cmp     w1, #0
             csel    w1, w1, wzr, ge
             str     w1, [x0, #0x30]
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeMemberMethod:get_Statements():System.CodeDom.CodeStatementCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:GenerateVBStatements(System.CodeDom.CodeStatementCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             ldr     x0, [x19, #0x08]
             ldr     w23, [x0, #0x30]
             mov     x1, x0
             ldrsb   wzr, [x1]
             sub     w2, w23, #1
             cmp     w2, #0
             csel    w2, w2, wzr, ge
             str     w2, [x1, #0x30]
-            cbnz    w21, G_M31522_IG41
+            cbnz    w21, G_M31522_IG40
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:WriteLine(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            b       G_M31522_IG42
+            b       G_M31522_IG41
 						;; size=168 bbWeight=0.50 PerfScore 25.00
-G_M31522_IG41:
+G_M31522_IG40:
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:WriteLine(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=32 bbWeight=0.50 PerfScore 3.50
-G_M31522_IG42:
+G_M31522_IG41:
             add     x14, x20, #16
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=12 bbWeight=0.50 PerfScore 1.00
+G_M31522_IG42:
+            ldp     x25, x26, [sp, #0x50]
+            ldp     x23, x24, [sp, #0x40]
+            ldp     x21, x22, [sp, #0x30]
+            ldp     x19, x20, [sp, #0x20]
+            ldp     fp, lr, [sp], #0x60
+            ret     lr
+						;; size=24 bbWeight=0.50 PerfScore 3.00
 G_M31522_IG43:
-            ldr     x27, [sp, #0x68]
-            ldp     x25, x26, [sp, #0x58]
-            ldp     x23, x24, [sp, #0x48]
-            ldp     x21, x22, [sp, #0x38]
-            ldp     x19, x20, [sp, #0x28]
-            ldp     fp, lr, [sp], #0x70
+            ldp     x25, x26, [sp, #0x50]
+            ldp     x23, x24, [sp, #0x40]
+            ldp     x21, x22, [sp, #0x30]
+            ldp     x19, x20, [sp, #0x20]
+            ldp     fp, lr, [sp], #0x60
             ret     lr
-						;; size=28 bbWeight=0.50 PerfScore 4.00
+						;; size=24 bbWeight=0.50 PerfScore 3.00
 G_M31522_IG44:
-            ldr     x27, [sp, #0x68]
-            ldp     x25, x26, [sp, #0x58]
-            ldp     x23, x24, [sp, #0x48]
-            ldp     x21, x22, [sp, #0x38]
-            ldp     x19, x20, [sp, #0x28]
-            ldp     fp, lr, [sp], #0x70
-            ret     lr
-						;; size=28 bbWeight=0.50 PerfScore 4.00
-G_M31522_IG45:
             stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            stp     x23, x24, [sp, #0x38]
-            stp     x25, x26, [sp, #0x48]
-            str     x27, [sp, #0x58]
-            add     x3, fp, #112
-            str     x3, [sp, #0x10]
-						;; size=32 bbWeight=0 PerfScore 0.00
-G_M31522_IG46:
-            ldr     x1, [fp, #0x18]	// [V07 loc4]
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
+            stp     x23, x24, [sp, #0x40]
+            stp     x25, x26, [sp, #0x50]
+            add     x3, fp, #96
+            str     x3, [sp, #0x18]
+						;; size=28 bbWeight=0 PerfScore 0.00
+G_M31522_IG45:
+            ldr     x1, [fp, #0x10]	// [V07 loc4]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     x0, G_M31522_IG47
+            cbz     x0, G_M31522_IG46
             movz    x24, #0xD1FFAB1E
             movk    x24, #0xD1FFAB1E LSL #16
             movk    x24, #0xD1FFAB1E LSL #32
             add     x11, x24, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=64 bbWeight=0 PerfScore 0.00
-G_M31522_IG47:
-            ldr     x27, [sp, #0x58]
-            ldp     x25, x26, [sp, #0x48]
-            ldp     x23, x24, [sp, #0x38]
-            ldp     x21, x22, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
+G_M31522_IG46:
+            ldp     x25, x26, [sp, #0x50]
+            ldp     x23, x24, [sp, #0x40]
+            ldp     x21, x22, [sp, #0x30]
+            ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x60
             ret     lr
-						;; size=28 bbWeight=0 PerfScore 0.00
+						;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2900, prolog size 48, PerfScore 788.88, instruction count 725, allocated bytes for code 2900 (MethodHash=c2cd84dd) for method Microsoft.VisualBasic.VBCodeGenerator:GenerateMethod(System.CodeDom.CodeMemberMethod,System.CodeDom.CodeTypeDeclaration):this (FullOpts)
+; Total bytes of code 2872, prolog size 44, PerfScore 798.75, instruction count 718, allocated bytes for code 2872 (MethodHash=c2cd84dd) for method Microsoft.VisualBasic.VBCodeGenerator:GenerateMethod(System.CodeDom.CodeMemberMethod,System.CodeDom.CodeTypeDeclaration):this (FullOpts)
-28 (-2.34 % of base) - Microsoft.VisualBasic.VBCodeGenerator:GeneratePrimitiveExpression(System.CodeDom.CodePrimitiveExpression):this
 ; Assembly listing for method Microsoft.VisualBasic.VBCodeGenerator:GeneratePrimitiveExpression(System.CodeDom.CodePrimitiveExpression):this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 33 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 13,  7.50)     ref  ->  x19         this class-hnd single-def <Microsoft.VisualBasic.VBCodeGenerator>
 ;  V01 arg1         [V01,T02] (  5,  4   )     ref  ->  x20         class-hnd single-def <System.CodeDom.CodePrimitiveExpression>
-;  V02 loc0         [V02,T15] (  4,  2   )     int  ->  x21         ld-addr-op single-def
+;  V02 loc0         [V02,T14] (  4,  2   )     int  ->  x21         ld-addr-op single-def
 ;  V03 loc1         [V03,T40] (  2,  1   )    byte  ->  x20         ld-addr-op single-def
 ;* V04 loc2         [V04    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op
 ;* V05 loc3         [V05    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op
 ;* V06 loc4         [V06    ] (  0,  0   )    long  ->  zero-ref    ld-addr-op
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V08 tmp1         [V08,T03] (  3,  4.50)     ref  ->   x1         single-def "ISINST eval op1"
-;* V09 tmp2         [V09,T28] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.Char>
+;* V09 tmp2         [V09,T27] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.Char>
 ;  V10 tmp3         [V10,T06] (  3,  2.50)     ref  ->   x0         single-def "ISINST eval op1"
-;* V11 tmp4         [V11,T29] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.SByte>
+;* V11 tmp4         [V11,T28] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.SByte>
 ;  V12 tmp5         [V12,T07] (  3,  2.50)     ref  ->   x1         single-def "ISINST eval op1"
-;* V13 tmp6         [V13,T30] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.UInt16>
+;* V13 tmp6         [V13,T29] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.UInt16>
 ;  V14 tmp7         [V14,T08] (  3,  2.50)     ref  ->   x1         single-def "ISINST eval op1"
-;* V15 tmp8         [V15,T31] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.UInt32>
+;* V15 tmp8         [V15,T30] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.UInt32>
 ;  V16 tmp9         [V16,T09] (  3,  2.50)     ref  ->   x1         single-def "ISINST eval op1"
-;* V17 tmp10        [V17,T32] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.UInt64>
-;  V18 tmp11        [V18,T16] (  2,  2   )     ref  ->  x20         class-hnd exact single-def "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
-;  V19 tmp12        [V19,T12] (  3,  2.50)     ref  ->  x21         single-def "inline UNBOX clone1"
-;  V20 tmp13        [V20,T17] (  2,  2   )     ref  ->  x20         class-hnd exact single-def "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
-;  V21 tmp14        [V21,T13] (  3,  2.50)     ref  ->  x21         single-def "inline UNBOX clone1"
-;  V22 tmp15        [V22,T18] (  2,  2   )     ref  ->  x20         class-hnd exact single-def "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
-;  V23 tmp16        [V23,T14] (  3,  2.50)     ref  ->  x21         single-def "inline UNBOX clone1"
-;  V24 tmp17        [V24,T19] (  2,  2   )     ref  ->  x21         class-hnd exact single-def "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
+;* V17 tmp10        [V17,T31] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.UInt64>
+;  V18 tmp11        [V18,T15] (  2,  2   )     ref  ->  x20         class-hnd exact single-def "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
+;  V19 tmp12        [V19,T11] (  3,  2.50)     ref  ->  x21         single-def "inline UNBOX clone1"
+;  V20 tmp13        [V20,T16] (  2,  2   )     ref  ->  x20         class-hnd exact single-def "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
+;  V21 tmp14        [V21,T12] (  3,  2.50)     ref  ->  x21         single-def "inline UNBOX clone1"
+;  V22 tmp15        [V22,T17] (  2,  2   )     ref  ->  x20         class-hnd exact single-def "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
+;  V23 tmp16        [V23,T13] (  3,  2.50)     ref  ->  x21         single-def "inline UNBOX clone1"
+;  V24 tmp17        [V24,T18] (  2,  2   )     ref  ->  x21         class-hnd exact single-def "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;  V25 tmp18        [V25,T10] (  4,  3.50)     ref  ->  x22         single-def "inline UNBOX clone1"
-;  V26 tmp19        [V26,T20] (  2,  2   )     ref  ->  x22         class-hnd exact single-def "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
+;  V26 tmp19        [V26,T19] (  2,  2   )     ref  ->  x22         class-hnd exact single-def "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V27 tmp20        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Object>
-;  V28 tmp21        [V28,T21] (  2,  2   )     ref  ->  x23         class-hnd exact single-def "Inlining Arg" <System.Globalization.CultureInfo>
-;  V29 tmp22        [V29,T33] (  3,  1.50)     ref  ->   x1         class-hnd "Inline return value spill temp" <System.String>
+;  V28 tmp21        [V28,T20] (  2,  2   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Globalization.CultureInfo>
+;  V29 tmp22        [V29,T32] (  3,  1.50)     ref  ->   x1         class-hnd "Inline return value spill temp" <System.String>
 ;* V30 tmp23        [V30    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V31 tmp24        [V31    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V32 tmp25        [V32,T38] (  2,  1   )     ref  ->   x0         class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
-;  V33 tmp26        [V33,T22] (  2,  2   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Globalization.CultureInfo>
-;  V34 tmp27        [V34,T34] (  3,  1.50)     ref  ->   x1         class-hnd "Inline return value spill temp" <System.String>
+;  V33 tmp26        [V33,T21] (  2,  2   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Globalization.CultureInfo>
+;  V34 tmp27        [V34,T33] (  3,  1.50)     ref  ->   x1         class-hnd "Inline return value spill temp" <System.String>
 ;  V35 tmp28        [V35,T05] (  4,  4   )     int  ->  x20         "Inlining Arg"
 ;* V36 tmp29        [V36    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V37 tmp30        [V37,T39] (  2,  1   )     ref  ->   x0         class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
-;  V38 tmp31        [V38,T23] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
-;  V39 tmp32        [V39,T24] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
-;  V40 tmp33        [V40,T25] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
-;  V41 tmp34        [V41,T26] (  2,  2   )     ref  ->   x0         single-def "argument with side effect"
-;  V42 tmp35        [V42,T27] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
-;  V43 cse0         [V43,T11] (  5,  2.50)     ref  ->  x23         multi-def "CSE #03: moderate"
-;  V44 cse1         [V44,T01] ( 10,  6   )     ref  ->  x21         "CSE #01: aggressive"
-;  V45 cse2         [V45,T04] ( 13,  4   )    long  ->  x22         multi-def "CSE #04: moderate"
+;  V38 tmp31        [V38,T22] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
+;  V39 tmp32        [V39,T23] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
+;  V40 tmp33        [V40,T24] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
+;  V41 tmp34        [V41,T25] (  2,  2   )     ref  ->   x0         single-def "argument with side effect"
+;  V42 tmp35        [V42,T26] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
+;  V43 cse0         [V43,T01] ( 10,  6   )     ref  ->  x21         "CSE #01: aggressive"
+;  V44 cse1         [V44,T04] ( 13,  4   )    long  ->  x22         multi-def "CSE #04: moderate"
+;  V45 cse2         [V45,T34] (  4,  1.25)    long  ->  x23         "CSE #06: moderate"
 ;  V46 cse3         [V46,T35] (  4,  1.25)    long  ->   x0         "CSE #07: conservative"
 ;  V47 cse4         [V47,T36] (  4,  1.25)    long  ->   x0         "CSE #08: conservative"
 ;  V48 cse5         [V48,T37] (  4,  1.25)    long  ->   x0         "CSE #09: conservative"
 ;
 ; Lcl frame size = 8
 
 G_M50917_IG01:
             stp     fp, lr, [sp, #-0x40]!
             stp     x19, x20, [sp, #0x18]
             stp     x21, x22, [sp, #0x28]
             str     x23, [sp, #0x38]
             mov     fp, sp
             mov     x19, x0
             mov     x20, x1
 						;; size=28 bbWeight=1 PerfScore 5.50
 G_M50917_IG02:
             ldr     x1, [x20, #0x10]
             mov     x21, x1
             cbz     x1, G_M50917_IG07
 						;; size=12 bbWeight=1 PerfScore 4.50
 G_M50917_IG03:
             ldr     x22, [x1]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x22, x1
             bne     G_M50917_IG07
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M50917_IG04:
             ldr     x22, [x19, #0x08]
             mov     x1, x21
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
-            ldr     x23, [x1]
-            mov     x1, x23
+            ldr     x1, [x1]
             movz    x11, #0xD1FFAB1E      // code for System.IConvertible:ToInt32(System.IFormatProvider):int:this
             movk    x11, #0xD1FFAB1E LSL #16
             movk    x11, #0xD1FFAB1E LSL #32
             ldr     xip0, [x11]
             blr     xip0
             sxtw    w21, w0
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #32
+            ldr     x0, [x0]
             tbnz    w21, #31, G_M50917_IG05
             mov     w0, w21
             movz    x1, #0xD1FFAB1E      // code for System.Number:UInt32ToDecStr(uint):System.String
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             b       G_M50917_IG06
-						;; size=120 bbWeight=0.50 PerfScore 15.00
+						;; size=124 bbWeight=0.50 PerfScore 16.50
 G_M50917_IG05:
-            mov     x0, x23
             movz    x1, #0xD1FFAB1E      // code for System.Globalization.NumberFormatInfo:<GetInstance>g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             ldr     x2, [x0, #0x28]
             mov     w0, w21
             movn    w1, #0
             movz    x3, #0xD1FFAB1E      // code for System.Number:NegativeInt32ToDecStr(int,int,System.String):System.String
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x1, x0
-						;; size=60 bbWeight=0.50 PerfScore 8.00
+						;; size=56 bbWeight=0.50 PerfScore 7.75
 G_M50917_IG06:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             movz    x3, #0xD1FFAB1E      // code for System.String:Concat(System.String,System.String,System.String):System.String
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x1, x0
             mov     x0, x22
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             b       G_M50917_IG30
 						;; size=80 bbWeight=0.50 PerfScore 9.50
 G_M50917_IG07:
             mov     x0, x21
             cbz     x0, G_M50917_IG14
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M50917_IG08:
             ldr     x22, [x0]
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            cmp     x22, x0
+            movz    x23, #0xD1FFAB1E
+            movk    x23, #0xD1FFAB1E LSL #16
+            movk    x23, #0xD1FFAB1E LSL #32
+            cmp     x22, x23
             bne     G_M50917_IG14
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M50917_IG09:
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             ldr     x21, [x19, #0x08]
             ldr     x22, [x20, #0x10]
             ldr     x1, [x22]
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            cmp     x1, x0
+            cmp     x1, x23
             beq     G_M50917_IG11
-						;; size=72 bbWeight=0.50 PerfScore 12.50
+						;; size=60 bbWeight=0.50 PerfScore 11.75
 G_M50917_IG10:
             mov     x1, x22
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
+            mov     x0, x23
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_UNBOX
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-						;; size=36 bbWeight=0.25 PerfScore 1.88
+						;; size=28 bbWeight=0.25 PerfScore 1.62
 G_M50917_IG11:
             ldrsb   w20, [x22, #0x08]
             movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x23, [x0]
-            mov     x0, x23
+            ldr     x0, [x0]
             tbnz    w20, #31, G_M50917_IG12
             mov     w0, w20
             movz    x1, #0xD1FFAB1E      // code for System.Number:UInt32ToDecStr(uint):System.String
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             b       G_M50917_IG13
-						;; size=60 bbWeight=0.50 PerfScore 8.25
+						;; size=52 bbWeight=0.50 PerfScore 7.75
 G_M50917_IG12:
             movz    x1, #0xD1FFAB1E      // code for System.Globalization.NumberFormatInfo:<GetInstance>g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             ldr     x2, [x0, #0x28]
             mov     w0, w20
             movn    w1, #0
             movz    x3, #0xD1FFAB1E      // code for System.Number:NegativeInt32ToDecStr(int,int,System.String):System.String
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x1, x0
 						;; size=56 bbWeight=0.50 PerfScore 7.75
 G_M50917_IG13:
             mov     x0, x21
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             ldr     x0, [x19, #0x08]
             mov     w1, #41
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(ushort):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             b       G_M50917_IG30
 						;; size=64 bbWeight=0.50 PerfScore 11.00
 G_M50917_IG14:
             mov     x1, x21
             cbz     x1, G_M50917_IG19
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M50917_IG15:
             ldr     x22, [x1]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             cmp     x22, x0
             bne     G_M50917_IG19
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M50917_IG16:
             ldr     x20, [x19, #0x08]
             cmp     x22, x0
             beq     G_M50917_IG18
 						;; size=12 bbWeight=0.50 PerfScore 2.25
 G_M50917_IG17:
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_UNBOX
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M50917_IG18:
             ldrh    w0, [x21, #0x08]
             movz    x1, #0xD1FFAB1E      // code for System.Number:UInt32ToDecStr(uint):System.String
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             mov     x0, x20
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             b       G_M50917_IG30
 						;; size=100 bbWeight=0.50 PerfScore 16.00
 G_M50917_IG19:
             mov     x1, x21
             cbz     x1, G_M50917_IG24
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M50917_IG20:
             ldr     x22, [x1]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             cmp     x22, x0
             bne     G_M50917_IG24
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M50917_IG21:
             ldr     x20, [x19, #0x08]
             cmp     x22, x0
             beq     G_M50917_IG23
 						;; size=12 bbWeight=0.50 PerfScore 2.25
 G_M50917_IG22:
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_UNBOX
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M50917_IG23:
             ldr     w0, [x21, #0x08]
             movz    x1, #0xD1FFAB1E      // code for System.Number:UInt32ToDecStr(uint):System.String
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             mov     x0, x20
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             b       G_M50917_IG30
 						;; size=100 bbWeight=0.50 PerfScore 16.00
 G_M50917_IG24:
             mov     x1, x21
             cbz     x1, G_M50917_IG29
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M50917_IG25:
             ldr     x22, [x1]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             cmp     x22, x0
             bne     G_M50917_IG29
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M50917_IG26:
             ldr     x20, [x19, #0x08]
             cmp     x22, x0
             beq     G_M50917_IG28
 						;; size=12 bbWeight=0.50 PerfScore 2.25
 G_M50917_IG27:
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_UNBOX
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M50917_IG28:
             ldr     x0, [x21, #0x08]
             movz    x1, #0xD1FFAB1E      // code for System.Number:UInt64ToDecStr(ulong):System.String
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             mov     x0, x20
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             b       G_M50917_IG30
 						;; size=100 bbWeight=0.50 PerfScore 16.00
 G_M50917_IG29:
             mov     x0, x19
             mov     x1, x20
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.CodeGenerator:GeneratePrimitiveExpression(System.CodeDom.CodePrimitiveExpression):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=28 bbWeight=0.50 PerfScore 3.25
 G_M50917_IG30:
             ldr     x23, [sp, #0x38]
             ldp     x21, x22, [sp, #0x28]
             ldp     x19, x20, [sp, #0x18]
             ldp     fp, lr, [sp], #0x40
             ret     lr
 						;; size=20 bbWeight=1 PerfScore 6.00
 
-; Total bytes of code 1196, prolog size 20, PerfScore 162.88, instruction count 299, allocated bytes for code 1196 (MethodHash=c93e391a) for method Microsoft.VisualBasic.VBCodeGenerator:GeneratePrimitiveExpression(System.CodeDom.CodePrimitiveExpression):this (FullOpts)
+; Total bytes of code 1168, prolog size 20, PerfScore 162.62, instruction count 292, allocated bytes for code 1168 (MethodHash=c93e391a) for method Microsoft.VisualBasic.VBCodeGenerator:GeneratePrimitiveExpression(System.CodeDom.CodePrimitiveExpression):this (FullOpts)
-28 (-0.88 % of base) - Microsoft.VisualBasic.VBCodeGenerator:GenerateProperty(System.CodeDom.CodeMemberProperty,System.CodeDom.CodeTypeDeclaration):this
 ; Assembly listing for method Microsoft.VisualBasic.VBCodeGenerator:GenerateProperty(System.CodeDom.CodeMemberProperty,System.CodeDom.CodeTypeDeclaration):this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 82 single block inlinees; 22 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 45, 39.50)     ref  ->  x19         this class-hnd single-def <Microsoft.VisualBasic.VBCodeGenerator>
 ;  V01 arg1         [V01,T05] ( 38, 20   )     ref  ->  x20         class-hnd single-def <System.CodeDom.CodeMemberProperty>
 ;  V02 arg2         [V02,T21] (  4,  3   )     ref  ->  x21         class-hnd single-def <System.CodeDom.CodeTypeDeclaration>
 ;  V03 loc0         [V03,T10] (  8, 18   )     ref  ->  x22         class-hnd exact single-def <System.String>
-;  V04 loc1         [V04,T66] (  2,  1   )     ref  ->   x0         class-hnd single-def <System.String>
+;  V04 loc1         [V04,T65] (  2,  1   )     ref  ->   x0         class-hnd single-def <System.String>
 ;  V05 loc2         [V05,T18] (  3,  6.50)   ubyte  ->  x23        
-;  V06 loc3         [V06,T15] (  6,  9   )     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
-;  V07 loc4         [V07,T17] (  2,  8   )     ref  ->  x26         class-hnd <System.CodeDom.CodeTypeReference>
-;  V08 loc5         [V08,T57] (  6,  1.50)     ref  ->   x0         class-hnd <System.IDisposable>
+;  V06 loc3         [V06,T15] (  6,  9   )     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
+;  V07 loc4         [V07,T17] (  2,  8   )     ref  ->  x25         class-hnd <System.CodeDom.CodeTypeReference>
+;  V08 loc5         [V08,T56] (  6,  1.50)     ref  ->   x0         class-hnd <System.IDisposable>
 ;  V09 loc6         [V09,T19] ( 12,  6   )     int  ->  x24        
 ;# V10 OutArgs      [V10    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V11 tmp1         [V11    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
-;* V12 tmp2         [V12,T65] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
-;  V13 tmp3         [V13,T62] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
-;  V14 tmp4         [V14,T63] (  3,  1.50)   ubyte  ->   x0         "Inline return value spill temp"
-;  V15 tmp5         [V15,T23] (  4,  4   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeDeclaration>
-;  V16 tmp6         [V16,T64] (  2,  1   )   ubyte  ->   x1         "Inline return value spill temp"
+;* V12 tmp2         [V12,T64] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
+;  V13 tmp3         [V13,T61] (  2,  1   )   ubyte  ->   x0         "Inline return value spill temp"
+;  V14 tmp4         [V14,T62] (  3,  1.50)   ubyte  ->   x0         "Inline return value spill temp"
+;  V15 tmp5         [V15,T22] (  4,  4   )     ref  ->   x1         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeDeclaration>
+;  V16 tmp6         [V16,T63] (  2,  1   )   ubyte  ->   x1         "Inline return value spill temp"
 ;* V17 tmp7         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.CodeDom.CodeTypeDeclaration>
-;* V18 tmp8         [V18,T74] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V19 tmp9         [V19,T45] (  2,  2   )     ref  ->  x22         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeDeclaration>
+;* V18 tmp8         [V18,T73] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V19 tmp9         [V19,T44] (  2,  2   )     ref  ->  x22         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeDeclaration>
 ;* V20 tmp10        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.CodeDom.CodeAttributeDeclarationCollection>
-;  V21 tmp11        [V21,T46] (  2,  2   )     ref  ->  x22         class-hnd exact single-def "dup spill" <System.String>
-;  V22 tmp12        [V22,T38] (  5,  2.50)     ref  ->  x22        
-;  V23 tmp13        [V23,T47] (  2,  2   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String>
-;  V24 tmp14        [V24,T39] (  5,  2.50)     ref  ->   x2        
-;  V25 tmp15        [V25,T48] (  2,  2   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.String>
-;* V26 tmp16        [V26,T75] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V27 tmp17        [V27,T49] (  2,  2   )     ref  ->  x23         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeDeclaration>
+;  V21 tmp11        [V21,T45] (  2,  2   )     ref  ->  x22         class-hnd exact single-def "dup spill" <System.String>
+;  V22 tmp12        [V22,T37] (  5,  2.50)     ref  ->  x22        
+;  V23 tmp13        [V23,T46] (  2,  2   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.String>
+;  V24 tmp14        [V24,T38] (  5,  2.50)     ref  ->   x2        
+;  V25 tmp15        [V25,T47] (  2,  2   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <System.String>
+;* V26 tmp16        [V26,T74] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V27 tmp17        [V27,T48] (  2,  2   )     ref  ->  x23         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeDeclaration>
 ;* V28 tmp18        [V28    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V29 tmp19        [V29    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V30 tmp20        [V30,T50] (  2,  2   )     ref  ->   x0         class-hnd exact single-def "dup spill" <System.String>
-;  V31 tmp21        [V31,T37] (  7,  2.88)     ref  ->   x0        
-;* V32 tmp22        [V32,T76] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;* V33 tmp23        [V33,T77] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;* V34 tmp24        [V34,T78] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V35 tmp25        [V35,T51] (  2,  2   )     ref  ->   x1         class-hnd exact single-def "dup spill" <System.String>
-;  V36 tmp26        [V36,T40] (  5,  2.50)     ref  ->   x1        
-;  V37 tmp27        [V37,T52] (  2,  2   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeReferenceCollection>
+;  V30 tmp20        [V30,T49] (  2,  2   )     ref  ->   x0         class-hnd exact single-def "dup spill" <System.String>
+;  V31 tmp21        [V31,T36] (  7,  2.88)     ref  ->   x0        
+;* V32 tmp22        [V32,T75] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V33 tmp23        [V33,T76] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;* V34 tmp24        [V34,T77] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V35 tmp25        [V35,T50] (  2,  2   )     ref  ->   x1         class-hnd exact single-def "dup spill" <System.String>
+;  V36 tmp26        [V36,T39] (  5,  2.50)     ref  ->   x1        
+;  V37 tmp27        [V37,T51] (  2,  2   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeReferenceCollection>
 ;* V38 tmp28        [V38    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
-;  V39 tmp29        [V39,T07] (  2, 16   )     ref  ->  x26         class-hnd exact "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
+;  V39 tmp29        [V39,T07] (  2, 16   )     ref  ->  x25         class-hnd exact "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;  V40 tmp30        [V40,T16] (  3, 14   )     ref  ->   x1         class-hnd "Inline return value spill temp" <System.String>
 ;  V41 tmp31        [V41,T11] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V42 tmp32        [V42,T12] (  3, 10   )     int  ->   x1         "Inline stloc first use temp"
 ;  V43 tmp33        [V43,T01] (  2, 40   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.String[][]>
 ;  V44 tmp34        [V44,T03] (  3, 34   )     ref  ->   x0         class-hnd exact "Inline stloc first use temp" <System.String[]>
 ;* V45 tmp35        [V45    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V46 tmp36        [V46    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V47 tmp37        [V47,T24] (  3,  3   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
+;  V47 tmp37        [V47,T23] (  3,  3   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V48 tmp38        [V48    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V49 tmp39        [V49,T67] (  2,  1   )     int  ->   x1         "Inline return value spill temp"
-;  V50 tmp40        [V50,T31] (  3,  3   )     int  ->   x1         "Inlining Arg"
+;  V49 tmp39        [V49,T66] (  2,  1   )     int  ->   x1         "Inline return value spill temp"
+;  V50 tmp40        [V50,T30] (  3,  3   )     int  ->   x1         "Inlining Arg"
 ;* V51 tmp41        [V51    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V52 tmp42        [V52    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V53 tmp43        [V53,T25] (  3,  3   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
+;  V53 tmp43        [V53,T24] (  3,  3   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V54 tmp44        [V54    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V55 tmp45        [V55,T68] (  2,  1   )     int  ->   x0         "Inline return value spill temp"
-;  V56 tmp46        [V56,T32] (  3,  3   )     int  ->   x0         "Inlining Arg"
+;  V55 tmp45        [V55,T67] (  2,  1   )     int  ->   x0         "Inline return value spill temp"
+;  V56 tmp46        [V56,T31] (  3,  3   )     int  ->   x0         "Inlining Arg"
 ;* V57 tmp47        [V57    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V58 tmp48        [V58    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V59 tmp49        [V59,T26] (  3,  3   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
+;  V59 tmp49        [V59,T25] (  3,  3   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V60 tmp50        [V60    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V61 tmp51        [V61,T69] (  2,  1   )     int  ->   x2         "Inline return value spill temp"
-;  V62 tmp52        [V62,T33] (  3,  3   )     int  ->   x2         "Inlining Arg"
+;  V61 tmp51        [V61,T68] (  2,  1   )     int  ->   x2         "Inline return value spill temp"
+;  V62 tmp52        [V62,T32] (  3,  3   )     int  ->   x2         "Inlining Arg"
 ;* V63 tmp53        [V63    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V64 tmp54        [V64    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V65 tmp55        [V65,T27] (  3,  3   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
+;  V65 tmp55        [V65,T26] (  3,  3   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V66 tmp56        [V66    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V67 tmp57        [V67,T70] (  2,  1   )     int  ->   x0         "Inline return value spill temp"
-;  V68 tmp58        [V68,T34] (  3,  3   )     int  ->   x0         "Inlining Arg"
+;  V67 tmp57        [V67,T69] (  2,  1   )     int  ->   x0         "Inline return value spill temp"
+;  V68 tmp58        [V68,T33] (  3,  3   )     int  ->   x0         "Inlining Arg"
 ;* V69 tmp59        [V69    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V70 tmp60        [V70    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V71 tmp61        [V71,T28] (  3,  3   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
+;  V71 tmp61        [V71,T27] (  3,  3   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V72 tmp62        [V72    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V73 tmp63        [V73,T71] (  2,  1   )     int  ->   x2         "Inline return value spill temp"
-;  V74 tmp64        [V74,T35] (  3,  3   )     int  ->   x2         "Inlining Arg"
+;  V73 tmp63        [V73,T70] (  2,  1   )     int  ->   x2         "Inline return value spill temp"
+;  V74 tmp64        [V74,T34] (  3,  3   )     int  ->   x2         "Inlining Arg"
 ;* V75 tmp65        [V75    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V76 tmp66        [V76    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V77 tmp67        [V77,T29] (  3,  3   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
+;  V77 tmp67        [V77,T28] (  3,  3   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V78 tmp68        [V78    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
-;  V79 tmp69        [V79,T72] (  2,  1   )     int  ->   x2         "Inline return value spill temp"
-;  V80 tmp70        [V80,T36] (  3,  3   )     int  ->   x2         "Inlining Arg"
-;  V81 tmp71        [V81,T53] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
-;  V82 tmp72        [V82,T54] (  2,  2   )     ref  ->   x0         single-def "argument with side effect"
-;  V83 tmp73        [V83,T55] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
-;  V84 tmp74        [V84,T56] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
-;  V85 tmp75        [V85,T30] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
+;  V79 tmp69        [V79,T71] (  2,  1   )     int  ->   x2         "Inline return value spill temp"
+;  V80 tmp70        [V80,T35] (  3,  3   )     int  ->   x2         "Inlining Arg"
+;  V81 tmp71        [V81,T52] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
+;  V82 tmp72        [V82,T53] (  2,  2   )     ref  ->   x0         single-def "argument with side effect"
+;  V83 tmp73        [V83,T54] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
+;  V84 tmp74        [V84,T55] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
+;  V85 tmp75        [V85,T29] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
 ;  V86 tmp76        [V86,T06] (  3, 18   )     ref  ->   x0         "argument with side effect"
 ;  V87 tmp77        [V87,T08] (  2, 16   )     ref  ->   x1         "argument with side effect"
-;  V88 tmp78        [V88,T09] (  2, 16   )     ref  ->  x27         "argument with side effect"
-;  V89 PSPSym       [V89,T73] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
-;  V90 cse0         [V90,T22] (  2,  4.25)     ref  ->  x25         hoist "CSE #13: moderate"
-;  V91 cse1         [V91,T20] ( 10,  6   )     ref  ->  x22         "CSE #01: moderate"
-;  V92 cse2         [V92,T41] (  4,  2   )     ref  ->  x23         "CSE #08: conservative"
-;  V93 cse3         [V93,T42] (  4,  2   )     ref  ->   x0         "CSE #19: conservative"
-;  V94 cse4         [V94,T43] (  4,  2   )     ref  ->   x0         "CSE #21: conservative"
-;  V95 cse5         [V95,T44] (  4,  2   )     ref  ->   x0         "CSE #22: conservative"
-;  V96 cse6         [V96,T58] (  3,  1.50)     ref  ->   x1         "CSE #06: conservative"
-;  V97 cse7         [V97,T59] (  3,  1.50)     ref  ->   x0         "CSE #17: conservative"
+;  V88 tmp78        [V88,T09] (  2, 16   )     ref  ->  x26         "argument with side effect"
+;  V89 PSPSym       [V89,T72] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
+;  V90 cse0         [V90,T20] ( 10,  6   )     ref  ->  x22         "CSE #01: moderate"
+;  V91 cse1         [V91,T40] (  4,  2   )     ref  ->  x23         "CSE #08: moderate"
+;  V92 cse2         [V92,T41] (  4,  2   )     ref  ->   x0         "CSE #17: moderate"
+;  V93 cse3         [V93,T42] (  4,  2   )     ref  ->   x0         "CSE #19: moderate"
+;  V94 cse4         [V94,T43] (  4,  2   )     ref  ->   x0         "CSE #20: moderate"
+;  V95 cse5         [V95,T57] (  3,  1.50)     ref  ->   x1         "CSE #06: conservative"
+;  V96 cse6         [V96,T58] (  3,  1.50)     ref  ->   x0         "CSE #15: conservative"
+;  V97 cse7         [V97,T59] (  3,  1.50)     ref  ->   x1         "CSE #16: conservative"
 ;  V98 cse8         [V98,T60] (  3,  1.50)     ref  ->   x1         "CSE #18: conservative"
-;  V99 cse9         [V99,T61] (  3,  1.50)     ref  ->   x1         "CSE #20: conservative"
-;  V100 cse10       [V100,T02] (  4, 36   )     int  ->   x1         "CSE #14: aggressive"
-;  V101 cse11       [V101,T14] (  7,  9.50)    long  ->  x24         multi-def "CSE #11: aggressive"
-;  V102 rat0        [V102,T04] (  5, 30   )     ref  ->  x26         "replacement local"
-;  V103 rat1        [V103,T13] (  3, 10   )    long  ->   x2         "CSE for expectedClsNode"
+;  V99 cse9         [V99,T02] (  4, 36   )     int  ->   x1         "CSE #12: aggressive"
+;  V100 cse10       [V100,T14] (  7,  9.50)    long  ->  x24         multi-def "CSE #11: aggressive"
+;  V101 rat0        [V101,T04] (  5, 30   )     ref  ->  x25         "replacement local"
+;  V102 rat1        [V102,T13] (  3, 10   )    long  ->   x2         "CSE for expectedClsNode"
 ;
-; Lcl frame size = 24
+; Lcl frame size = 16
 
 G_M27682_IG01:
-            stp     fp, lr, [sp, #-0x70]!
-            stp     x19, x20, [sp, #0x28]
-            stp     x21, x22, [sp, #0x38]
-            stp     x23, x24, [sp, #0x48]
-            stp     x25, x26, [sp, #0x58]
-            str     x27, [sp, #0x68]
+            stp     fp, lr, [sp, #-0x60]!
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
+            stp     x23, x24, [sp, #0x40]
+            stp     x25, x26, [sp, #0x50]
             mov     fp, sp
-            add     x3, sp, #112
-            str     x3, [fp, #0x20]	// [V89 PSPSym]
+            add     x3, sp, #96
+            str     x3, [fp, #0x18]	// [V89 PSPSym]
             mov     x19, x0
             mov     x20, x1
             mov     x21, x2
-						;; size=48 bbWeight=1 PerfScore 9.50
+						;; size=44 bbWeight=1 PerfScore 8.50
 G_M27682_IG02:
             ldr     x22, [x19, #0x18]
             cbz     x22, G_M27682_IG07
 						;; size=8 bbWeight=1 PerfScore 4.00
 G_M27682_IG03:
             mov     x1, x22
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbnz    x0, G_M27682_IG07
             mov     x1, x22
             ldr     w0, [x1, #0x70]
             tbnz    w0, #5, G_M27682_IG04
             ldrb    w0, [x1, #0x74]
             cbz     w0, G_M27682_IG05
 						;; size=60 bbWeight=0.50 PerfScore 8.50
 G_M27682_IG04:
             mov     w0, wzr
             b       G_M27682_IG06
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M27682_IG05:
             ldrb    w0, [x1, #0x75]
             cmp     w0, #0
             cset    x0, eq
 						;; size=12 bbWeight=0.50 PerfScore 2.00
 G_M27682_IG06:
             cbnz    w0, G_M27682_IG11
             b       G_M27682_IG08
 						;; size=8 bbWeight=0.50 PerfScore 1.00
 G_M27682_IG07:
             cbz     x22, G_M27682_IG09
 						;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M27682_IG08:
             mov     x1, x22
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbnz    x0, G_M27682_IG09
             ldrb    w1, [x22, #0x75]
             cbnz    w1, G_M27682_IG11
             b       G_M27682_IG10
 						;; size=52 bbWeight=0.50 PerfScore 6.75
 G_M27682_IG09:
-            cbz     x22, G_M27682_IG48
+            cbz     x22, G_M27682_IG47
 						;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M27682_IG10:
             mov     x1, x22
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbnz    x0, G_M27682_IG48
+            cbnz    x0, G_M27682_IG47
             ldr     w0, [x22, #0x70]
-            tbz     w0, #5, G_M27682_IG48
+            tbz     w0, #5, G_M27682_IG47
 						;; size=48 bbWeight=0.50 PerfScore 6.25
 G_M27682_IG11:
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeTypeMember:get_CustomAttributes():System.CodeDom.CodeAttributeDeclarationCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             movz    x1, #0xD1FFAB1E      // code for System.Collections.CollectionBase:get_Count():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cmp     w0, #0
             ble     G_M27682_IG12
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeTypeMember:get_CustomAttributes():System.CodeDom.CodeAttributeDeclarationCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             mov     x0, x19
             mov     w2, wzr
             mov     x3, xzr
             mov     w4, wzr
             movz    x5, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:OutputAttributes(System.CodeDom.CodeAttributeDeclarationCollection,ubyte,System.String,ubyte):this
             movk    x5, #0xD1FFAB1E LSL #16
             movk    x5, #0xD1FFAB1E LSL #32
             ldr     x5, [x5]
             blr     x5
 						;; size=124 bbWeight=0.50 PerfScore 16.50
 G_M27682_IG12:
             ldr     x22, [x20, #0x10]
             movz    x1, #8
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x22, #0
             csel    x22, x22, x1, ne
             ldr     x1, [x20, #0x58]
             cbz     x1, G_M27682_IG13
             mov     x0, x19
             mov     w2, wzr
             movz    x3, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:GetBaseTypeOutput(System.CodeDom.CodeTypeReference,ubyte):System.String:this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     w1, #46
             mov     w2, #95
             movz    x3, #0xD1FFAB1E      // code for System.String:Replace(ushort,ushort):System.String:this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             ldr     wzr, [x0]
             blr     x3
             ldr     x2, [x20, #0x10]
             movz    x1, #8
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x2, #0
             csel    x2, x2, x1, ne
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x3, #0xD1FFAB1E      // code for System.String:Concat(System.String,System.String,System.String):System.String
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x15, x0
             add     x14, x20, #16
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=160 bbWeight=0.50 PerfScore 20.00
 G_M27682_IG13:
             ldr     x23, [x19, #0x18]
             cbz     x23, G_M27682_IG14
             mov     x1, x23
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbnz    x0, G_M27682_IG14
             ldr     w0, [x23, #0x70]
             tbz     w0, #5, G_M27682_IG14
             ldr     w0, [x20, #0x40]
             and     w0, w0, #240
             cmp     w0, #16
             bne     G_M27682_IG17
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             b       G_M27682_IG17
 						;; size=116 bbWeight=0.50 PerfScore 17.75
 G_M27682_IG14:
             ldr     x1, [x20, #0x58]
             cbnz    x1, G_M27682_IG15
             ldr     w1, [x20, #0x40]
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:OutputMemberAccessModifier(int):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x0, x20
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:PropertyIsOverloaded(System.CodeDom.CodeMemberProperty,System.CodeDom.CodeTypeDeclaration):ubyte
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     w0, G_M27682_IG15
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=108 bbWeight=0.50 PerfScore 16.75
 G_M27682_IG15:
             ldr     w0, [x20, #0x40]
             and     w0, w0, #240
             cmp     w0, #16
             bne     G_M27682_IG16
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=56 bbWeight=0.50 PerfScore 9.00
 G_M27682_IG16:
             ldr     w1, [x20, #0x40]
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:OutputMemberScopeModifier(int):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=28 bbWeight=0.50 PerfScore 4.50
 G_M27682_IG17:
             ldr     x0, [x20, #0x70]
             movz    x1, #0xD1FFAB1E      // code for System.Collections.CollectionBase:get_Count():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cmp     w0, #0
             ble     G_M27682_IG21
             ldr     x0, [x20, #0x10]
             movz    x1, #8
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x0, #0
             csel    x0, x0, x1, ne
             cbz     x0, G_M27682_IG21
 						;; size=64 bbWeight=0.50 PerfScore 9.75
 G_M27682_IG18:
             ldr     w1, [x0, #0x08]
             cmp     w1, #4
             bne     G_M27682_IG21
 						;; size=12 bbWeight=0.25 PerfScore 1.12
 G_M27682_IG19:
             ldr     x0, [x0, #0x0C]
             orr     x0, x0, #0xD1FFAB1E
             movz    x1, #105
             movk    x1, #116 LSL #16
             movk    x1, #101 LSL #32
             movk    x1, #109 LSL #48
             cmp     x0, x1
             bne     G_M27682_IG21
 						;; size=32 bbWeight=0.12 PerfScore 0.88
 G_M27682_IG20:
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=40 bbWeight=0.50 PerfScore 6.50
 G_M27682_IG21:
             ldrb    w0, [x20, #0x44]
             cbnz    w0, G_M27682_IG23
             ldr     x0, [x20, #0x60]
             movz    x1, #0xD1FFAB1E      // code for System.Collections.CollectionBase:get_Count():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cmp     w0, #0
             bgt     G_M27682_IG23
             ldrb    w0, [x20, #0x45]
             cbnz    w0, G_M27682_IG22
             ldr     x0, [x20, #0x68]
             movz    x1, #0xD1FFAB1E      // code for System.Collections.CollectionBase:get_Count():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cmp     w0, #0
             ble     G_M27682_IG24
 						;; size=88 bbWeight=0.50 PerfScore 17.00
 G_M27682_IG22:
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             b       G_M27682_IG24
 						;; size=44 bbWeight=0.50 PerfScore 7.00
 G_M27682_IG23:
             ldrb    w0, [x20, #0x45]
             cbnz    w0, G_M27682_IG24
             ldr     x0, [x20, #0x68]
             movz    x1, #0xD1FFAB1E      // code for System.Collections.CollectionBase:get_Count():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cmp     w0, #0
             bgt     G_M27682_IG24
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
 						;; size=84 bbWeight=0.50 PerfScore 15.00
 G_M27682_IG24:
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             ldr     x1, [x20, #0x10]
             movz    x0, #8
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             cmp     x1, #0
             csel    x1, x1, x0, ne
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:OutputIdentifier(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             ldr     x0, [x19, #0x08]
             mov     w1, #40
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(ushort):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             ldr     x0, [x20, #0x70]
             movz    x1, #0xD1FFAB1E      // code for System.Collections.CollectionBase:get_Count():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cmp     w0, #0
             ble     G_M27682_IG25
             ldr     x1, [x20, #0x70]
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.CodeGenerator:OutputParameters(System.CodeDom.CodeParameterDeclarationExpressionCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=184 bbWeight=0.50 PerfScore 29.25
 G_M27682_IG25:
             ldr     x0, [x19, #0x08]
             mov     w1, #41
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(ushort):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeMemberProperty:get_Type():System.CodeDom.CodeTypeReference:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:OutputType(System.CodeDom.CodeTypeReference):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeMemberProperty:get_Type():System.CodeDom.CodeTypeReference:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:OutputArrayPostfix(System.CodeDom.CodeTypeReference):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeMemberProperty:get_ImplementationTypes():System.CodeDom.CodeTypeReferenceCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             movz    x1, #0xD1FFAB1E      // code for System.Collections.CollectionBase:get_Count():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cmp     w0, #0
             bgt     G_M27682_IG26
             ldr     x0, [x20, #0x58]
-            cbz     x0, G_M27682_IG43
+            cbz     x0, G_M27682_IG42
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             ldr     x1, [x20, #0x58]
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:OutputType(System.CodeDom.CodeTypeReference):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             ldr     x0, [x19, #0x08]
             mov     w1, #46
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(ushort):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             mov     x0, x19
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:OutputIdentifier(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            b       G_M27682_IG43
+            b       G_M27682_IG42
 						;; size=372 bbWeight=0.50 PerfScore 55.75
 G_M27682_IG26:
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             mov     w23, #1
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeMemberProperty:get_ImplementationTypes():System.CodeDom.CodeTypeReferenceCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             ldr     x0, [x0, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x58]
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
-            str     x1, [fp, #0x18]	// [V06 loc3]
+            str     x1, [fp, #0x10]	// [V06 loc3]
 						;; size=96 bbWeight=0.50 PerfScore 17.00
 G_M27682_IG27:
             mov     x0, x1
             movz    x24, #0xD1FFAB1E
             movk    x24, #0xD1FFAB1E LSL #16
             movk    x24, #0xD1FFAB1E LSL #32
             mov     x11, x24
             ldr     xip0, [x11]
             blr     xip0
-            cbz     w0, G_M27682_IG42
+            cbz     w0, G_M27682_IG41
 						;; size=32 bbWeight=0.50 PerfScore 3.75
 G_M27682_IG28:
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x25, [x0]
-						;; size=16 bbWeight=0.25 PerfScore 1.12
-G_M27682_IG29:
-            ldr     x0, [fp, #0x18]	// [V06 loc3]
+            ldr     x0, [fp, #0x10]	// [V06 loc3]
             add     x11, x24, #8
             ldr     xip0, [x11]
             blr     xip0
-            mov     x26, x0
-            cbz     x26, G_M27682_IG32
+            mov     x25, x0
+            cbz     x25, G_M27682_IG31
 						;; size=24 bbWeight=4 PerfScore 32.00
-G_M27682_IG30:
+G_M27682_IG29:
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
-            ldr     x1, [x26]
+            ldr     x1, [x25]
             cmp     x1, x2
-            beq     G_M27682_IG32
+            beq     G_M27682_IG31
 						;; size=24 bbWeight=2 PerfScore 12.00
-G_M27682_IG31:
+G_M27682_IG30:
             mov     x1, x0
             mov     x0, x2
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            mov     x26, x0
+            mov     x25, x0
 						;; size=32 bbWeight=1 PerfScore 7.00
-G_M27682_IG32:
-            cbnz    w23, G_M27682_IG34
+G_M27682_IG31:
+            cbnz    w23, G_M27682_IG33
 						;; size=4 bbWeight=4 PerfScore 4.00
-G_M27682_IG33:
+G_M27682_IG32:
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
-            b       G_M27682_IG35
+            b       G_M27682_IG34
 						;; size=44 bbWeight=2 PerfScore 28.00
-G_M27682_IG34:
+G_M27682_IG33:
             mov     w23, wzr
 						;; size=4 bbWeight=2 PerfScore 1.00
-G_M27682_IG35:
-            ldr     x27, [x19, #0x08]
+G_M27682_IG34:
+            ldr     x26, [x19, #0x08]
             mov     x0, x19
-            mov     x1, x26
+            mov     x1, x25
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:GetTypeOutputWithoutArrayPostFix(System.CodeDom.CodeTypeReference):System.String:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x1, x0
-            mov     x0, x27
+            mov     x0, x26
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             ldr     x0, [x19, #0x08]
             mov     w1, #46
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(ushort):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
-            ldr     x26, [x19, #0x08]
-            mov     x0, x25
+            ldr     x25, [x19, #0x08]
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #32
+            ldr     x0, [x0]
             ldr     w1, [x22, #0x08]
             cmp     w1, #0
-            ble     G_M27682_IG39
-						;; size=116 bbWeight=4 PerfScore 156.00
-G_M27682_IG36:
+            ble     G_M27682_IG38
+						;; size=124 bbWeight=4 PerfScore 170.00
+G_M27682_IG35:
             sub     w1, w1, #1
             cmp     w1, #16
-            bge     G_M27682_IG39
+            bge     G_M27682_IG38
 						;; size=12 bbWeight=2 PerfScore 4.00
-G_M27682_IG37:
+G_M27682_IG36:
             cmp     w1, #16
-            bhs     G_M27682_IG41
+            bhs     G_M27682_IG40
             add     x0, x0, #16
             ldr     x0, [x0, w1, UXTW #3]
-            cbz     x0, G_M27682_IG39
+            cbz     x0, G_M27682_IG38
 						;; size=20 bbWeight=16 PerfScore 96.00
-G_M27682_IG38:
+G_M27682_IG37:
             mov     x1, x22
             mov     w2, #1
             movz    x3, #0xD1FFAB1E      // code for System.Collections.Specialized.FixedStringLookup:Contains(System.String[],System.String,ubyte):ubyte
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-            cbz     w0, G_M27682_IG39
+            cbz     w0, G_M27682_IG38
             mov     x1, x22
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             movz    x3, #0xD1FFAB1E      // code for System.String:Concat(System.String,System.String,System.String):System.String
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x1, x0
-            b       G_M27682_IG40
+            b       G_M27682_IG39
 						;; size=88 bbWeight=2 PerfScore 36.00
-G_M27682_IG39:
+G_M27682_IG38:
             mov     x1, x22
 						;; size=4 bbWeight=8 PerfScore 4.00
-G_M27682_IG40:
-            mov     x0, x26
+G_M27682_IG39:
+            mov     x0, x25
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
-            ldr     x0, [fp, #0x18]	// [V06 loc3]
+            ldr     x0, [fp, #0x10]	// [V06 loc3]
             mov     x11, x24
             ldr     xip0, [x11]
             blr     xip0
-            cbnz    w0, G_M27682_IG29
-            b       G_M27682_IG42
+            cbnz    w0, G_M27682_IG28
+            b       G_M27682_IG41
 						;; size=52 bbWeight=4 PerfScore 70.00
-G_M27682_IG41:
+G_M27682_IG40:
             bl      CORINFO_HELP_RNGCHKFAIL
             brk_unix #0
 						;; size=8 bbWeight=0 PerfScore 0.00
-G_M27682_IG42:
-            ldr     x1, [fp, #0x18]	// [V06 loc3]
+G_M27682_IG41:
+            ldr     x1, [fp, #0x10]	// [V06 loc3]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     x0, G_M27682_IG43
+            cbz     x0, G_M27682_IG42
             add     x11, x24, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=52 bbWeight=0.50 PerfScore 7.25
-G_M27682_IG43:
+G_M27682_IG42:
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:WriteLine():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     w0, [x21, #0x70]
-            tbnz    w0, #5, G_M27682_IG46
+            tbnz    w0, #5, G_M27682_IG45
             ldr     w0, [x20, #0x40]
             and     w0, w0, #15
             cmp     w0, #1
-            beq     G_M27682_IG46
+            beq     G_M27682_IG45
             ldr     x0, [x19, #0x08]
             ldr     w24, [x0, #0x30]
             ldrsb   wzr, [x0]
             add     w1, w24, #1
             cmp     w1, #0
             csel    w1, w1, wzr, ge
             str     w1, [x0, #0x30]
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeMemberProperty:get_HasGet():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
-            cbz     w0, G_M27682_IG44
+            cbz     w0, G_M27682_IG43
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:WriteLine(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             mov     x0, x19
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.CodeGenerator:get_IsCurrentInterface():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
-            cbnz    w0, G_M27682_IG44
+            cbnz    w0, G_M27682_IG43
             ldr     x1, [x19, #0x08]
             ldr     w24, [x1, #0x30]
             ldrsb   wzr, [x1]
             add     w0, w24, #1
             cmp     w0, #0
             csel    w0, w0, wzr, ge
             str     w0, [x1, #0x30]
             ldr     x1, [x20, #0x60]
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:GenerateVBStatements(System.CodeDom.CodeStatementCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             add     x14, x20, #16
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x08]
             ldr     w24, [x0, #0x30]
             mov     x1, x0
             ldrsb   wzr, [x1]
             sub     w2, w24, #1
             cmp     w2, #0
             csel    w2, w2, wzr, ge
             str     w2, [x1, #0x30]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:WriteLine(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=308 bbWeight=0.50 PerfScore 50.25
-G_M27682_IG44:
+G_M27682_IG43:
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeMemberProperty:get_HasSet():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
-            cbz     w0, G_M27682_IG45
+            cbz     w0, G_M27682_IG44
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:WriteLine(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             mov     x0, x19
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.CodeGenerator:get_IsCurrentInterface():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
-            cbnz    w0, G_M27682_IG45
+            cbnz    w0, G_M27682_IG44
             ldr     x1, [x19, #0x08]
             ldr     w24, [x1, #0x30]
             ldrsb   wzr, [x1]
             add     w0, w24, #1
             cmp     w0, #0
             csel    w0, w0, wzr, ge
             str     w0, [x1, #0x30]
             ldr     x1, [x20, #0x68]
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:GenerateVBStatements(System.CodeDom.CodeStatementCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             ldr     x0, [x19, #0x08]
             ldr     w24, [x0, #0x30]
             mov     x1, x0
             ldrsb   wzr, [x1]
             sub     w2, w24, #1
             cmp     w2, #0
             csel    w2, w2, wzr, ge
             str     w2, [x1, #0x30]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:WriteLine(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=216 bbWeight=0.50 PerfScore 33.25
-G_M27682_IG45:
+G_M27682_IG44:
             ldr     x0, [x19, #0x08]
             ldr     w24, [x0, #0x30]
             mov     x1, x0
             ldrsb   wzr, [x1]
             sub     w2, w24, #1
             cmp     w2, #0
             csel    w2, w2, wzr, ge
             str     w2, [x1, #0x30]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:WriteLine(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=64 bbWeight=0.50 PerfScore 9.50
-G_M27682_IG46:
+G_M27682_IG45:
             add     x14, x20, #16
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=12 bbWeight=0.50 PerfScore 1.00
+G_M27682_IG46:
+            ldp     x25, x26, [sp, #0x50]
+            ldp     x23, x24, [sp, #0x40]
+            ldp     x21, x22, [sp, #0x30]
+            ldp     x19, x20, [sp, #0x20]
+            ldp     fp, lr, [sp], #0x60
+            ret     lr
+						;; size=24 bbWeight=0.50 PerfScore 3.00
 G_M27682_IG47:
-            ldr     x27, [sp, #0x68]
-            ldp     x25, x26, [sp, #0x58]
-            ldp     x23, x24, [sp, #0x48]
-            ldp     x21, x22, [sp, #0x38]
-            ldp     x19, x20, [sp, #0x28]
-            ldp     fp, lr, [sp], #0x70
+            ldp     x25, x26, [sp, #0x50]
+            ldp     x23, x24, [sp, #0x40]
+            ldp     x21, x22, [sp, #0x30]
+            ldp     x19, x20, [sp, #0x20]
+            ldp     fp, lr, [sp], #0x60
             ret     lr
-						;; size=28 bbWeight=0.50 PerfScore 4.00
+						;; size=24 bbWeight=0.50 PerfScore 3.00
 G_M27682_IG48:
-            ldr     x27, [sp, #0x68]
-            ldp     x25, x26, [sp, #0x58]
-            ldp     x23, x24, [sp, #0x48]
-            ldp     x21, x22, [sp, #0x38]
-            ldp     x19, x20, [sp, #0x28]
-            ldp     fp, lr, [sp], #0x70
-            ret     lr
-						;; size=28 bbWeight=0.50 PerfScore 4.00
-G_M27682_IG49:
             stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x18]
-            stp     x21, x22, [sp, #0x28]
-            stp     x23, x24, [sp, #0x38]
-            stp     x25, x26, [sp, #0x48]
-            str     x27, [sp, #0x58]
-            add     x3, fp, #112
-            str     x3, [sp, #0x10]
-						;; size=32 bbWeight=0 PerfScore 0.00
-G_M27682_IG50:
-            ldr     x1, [fp, #0x18]	// [V06 loc3]
+            stp     x19, x20, [sp, #0x20]
+            stp     x21, x22, [sp, #0x30]
+            stp     x23, x24, [sp, #0x40]
+            stp     x25, x26, [sp, #0x50]
+            add     x3, fp, #96
+            str     x3, [sp, #0x18]
+						;; size=28 bbWeight=0 PerfScore 0.00
+G_M27682_IG49:
+            ldr     x1, [fp, #0x10]	// [V06 loc3]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            cbz     x0, G_M27682_IG51
+            cbz     x0, G_M27682_IG50
             movz    x24, #0xD1FFAB1E
             movk    x24, #0xD1FFAB1E LSL #16
             movk    x24, #0xD1FFAB1E LSL #32
             add     x11, x24, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=64 bbWeight=0 PerfScore 0.00
-G_M27682_IG51:
-            ldr     x27, [sp, #0x58]
-            ldp     x25, x26, [sp, #0x48]
-            ldp     x23, x24, [sp, #0x38]
-            ldp     x21, x22, [sp, #0x28]
-            ldp     x19, x20, [sp, #0x18]
+G_M27682_IG50:
+            ldp     x25, x26, [sp, #0x50]
+            ldp     x23, x24, [sp, #0x40]
+            ldp     x21, x22, [sp, #0x30]
+            ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x60
             ret     lr
-						;; size=28 bbWeight=0 PerfScore 0.00
+						;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 3172, prolog size 48, PerfScore 847.62, instruction count 793, allocated bytes for code 3172 (MethodHash=e1dd93dd) for method Microsoft.VisualBasic.VBCodeGenerator:GenerateProperty(System.CodeDom.CodeMemberProperty,System.CodeDom.CodeTypeDeclaration):this (FullOpts)
+; Total bytes of code 3144, prolog size 44, PerfScore 857.50, instruction count 786, allocated bytes for code 3144 (MethodHash=e1dd93dd) for method Microsoft.VisualBasic.VBCodeGenerator:GenerateProperty(System.CodeDom.CodeMemberProperty,System.CodeDom.CodeTypeDeclaration):this (FullOpts)
-24 (-2.35 % of base) - System.Reflection.Emit.RuntimeILGenerator:EmitCall(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo,System.Type[]):this
 ; Assembly listing for method System.Reflection.Emit.RuntimeILGenerator:EmitCall(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo,System.Type[]):this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 20 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 25, 21   )     ref  ->  x19         this class-hnd single-def <System.Reflection.Emit.RuntimeILGenerator>
-;  V01 arg1         [V01,T04] (  5,  5   )  struct ( 8) [fp+0x18]  do-not-enreg[SF] ld-addr-op single-def <System.Reflection.Emit.OpCode>
+;  V01 arg1         [V01,T04] (  5,  5   )  struct ( 8) [fp+0x10]  do-not-enreg[SF] ld-addr-op single-def <System.Reflection.Emit.OpCode>
 ;  V02 arg2         [V02,T01] ( 10,  9   )     ref  ->  x20         class-hnd single-def <System.Reflection.MethodInfo>
 ;  V03 arg3         [V03,T06] (  5,  4.50)     ref  ->  x21         class-hnd single-def <System.Type[]>
-;  V04 loc0         [V04,T02] ( 11,  7.50)     int  ->  x23        
-;  V05 loc1         [V05,T24] (  2,  2   )     int  ->  x24        
-;  V06 loc2         [V06,T17] (  3,  2.50)     ref  ->   x0         class-hnd single-def <System.Type[]>
+;  V04 loc0         [V04,T02] ( 11,  7.50)     int  ->  x24        
+;  V05 loc1         [V05,T25] (  2,  2   )     int  ->  x25        
+;  V06 loc2         [V06,T18] (  3,  2.50)     ref  ->   x0         class-hnd single-def <System.Type[]>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V08 tmp1         [V08,T22] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.Reflection.Emit.SymbolMethod>
-;  V09 tmp2         [V09,T36] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
+;* V08 tmp1         [V08,T23] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.Reflection.Emit.SymbolMethod>
+;  V09 tmp2         [V09,T37] (  3,  0   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Reflection.Emit.OpCode>
 ;* V11 tmp4         [V11    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V12 tmp5         [V12    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Reflection.Emit.OpCode>
 ;* V13 tmp6         [V13    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Reflection.Emit.OpCode>
 ;* V15 tmp8         [V15    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
-;  V16 tmp9         [V16,T28] (  3,  1.50)     ref  ->  x26         class-hnd exact single-def "Inline stloc first use temp" <ubyte[]>
-;  V17 tmp10        [V17,T30] (  2,  1   )     int  ->   x1         "Inline return value spill temp"
-;  V18 tmp11        [V18,T14] (  3,  3   )     int  ->   x0         "Inlining Arg"
-;  V19 tmp12        [V19,T15] (  3,  3   )     int  ->   x1         "Inlining Arg"
+;  V16 tmp9         [V16,T29] (  3,  1.50)     ref  ->  x27         class-hnd exact single-def "Inline stloc first use temp" <ubyte[]>
+;  V17 tmp10        [V17,T31] (  2,  1   )     int  ->   x1         "Inline return value spill temp"
+;  V18 tmp11        [V18,T15] (  3,  3   )     int  ->   x0         "Inlining Arg"
+;  V19 tmp12        [V19,T16] (  3,  3   )     int  ->   x1         "Inlining Arg"
 ;* V20 tmp13        [V20    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Reflection.Emit.OpCode>
 ;* V21 tmp14        [V21    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V22 tmp15        [V22    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.Reflection.Emit.OpCode>
 ;* V23 tmp16        [V23    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V24 tmp17        [V24    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.Span`1[ubyte]>
 ;  V25 tmp18        [V25,T03] (  5,  7   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <ubyte[]>
 ;  V26 tmp19        [V26,T07] (  5,  6   )     int  ->   x1         "Inlining Arg"
 ;* V27 tmp20        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V28 tmp21        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Span`1[ubyte]>
-;  V29 tmp22        [V29,T23] (  2,  2   )   byref  ->   x2         single-def "Inlining Arg"
-;  V30 tmp23        [V30,T25] (  2,  2   )     int  ->   x0         "Inlining Arg"
+;  V29 tmp22        [V29,T24] (  2,  2   )   byref  ->   x2         single-def "Inlining Arg"
+;  V30 tmp23        [V30,T26] (  2,  2   )     int  ->   x0         "Inlining Arg"
 ;* V31 tmp24        [V31    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op "Inlining Arg"
 ;* V32 tmp25        [V32    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V33 tmp26        [V33    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
-;  V34 tmp27        [V34,T26] (  2,  2   )     int  ->   x0         "field V10.m_value (fldOffset=0x0)" P-INDEP
+;  V34 tmp27        [V34,T27] (  2,  2   )     int  ->   x0         "field V10.m_value (fldOffset=0x0)" P-INDEP
 ;* V35 tmp28        [V35    ] (  0,  0   )     int  ->  zero-ref    "field V10.m_flags (fldOffset=0x4)" P-INDEP
-;  V36 tmp29        [V36,T31] (  2,  1   )     int  ->   x0         "field V12.m_value (fldOffset=0x0)" P-INDEP
+;  V36 tmp29        [V36,T32] (  2,  1   )     int  ->   x0         "field V12.m_value (fldOffset=0x0)" P-INDEP
 ;* V37 tmp30        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V12.m_flags (fldOffset=0x4)" P-INDEP
-;  V38 tmp31        [V38,T32] (  2,  1   )     int  ->   x0         "field V14.m_value (fldOffset=0x0)" P-INDEP
+;  V38 tmp31        [V38,T33] (  2,  1   )     int  ->   x0         "field V14.m_value (fldOffset=0x0)" P-INDEP
 ;* V39 tmp32        [V39    ] (  0,  0   )     int  ->  zero-ref    "field V14.m_flags (fldOffset=0x4)" P-INDEP
-;  V40 tmp33        [V40,T33] (  2,  1   )     int  ->   x0         "field V20.m_value (fldOffset=0x0)" P-INDEP
+;  V40 tmp33        [V40,T34] (  2,  1   )     int  ->   x0         "field V20.m_value (fldOffset=0x0)" P-INDEP
 ;* V41 tmp34        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V20.m_flags (fldOffset=0x4)" P-INDEP
 ;* V42 tmp35        [V42    ] (  0,  0   )     int  ->  zero-ref    "field V22.m_value (fldOffset=0x0)" P-INDEP
-;  V43 tmp36        [V43,T27] (  2,  2   )     int  ->   x0         "field V22.m_flags (fldOffset=0x4)" P-INDEP
+;  V43 tmp36        [V43,T28] (  2,  2   )     int  ->   x0         "field V22.m_flags (fldOffset=0x4)" P-INDEP
 ;* V44 tmp37        [V44    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V23._reference (fldOffset=0x0)" P-INDEP
 ;* V45 tmp38        [V45    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
-;  V46 tmp39        [V46,T19] (  3,  2   )   byref  ->   x2         "field V24._reference (fldOffset=0x0)" P-INDEP
-;  V47 tmp40        [V47,T20] (  3,  2   )     int  ->   x0         "field V24._length (fldOffset=0x8)" P-INDEP
-;  V48 tmp41        [V48,T29] (  2,  1   )   byref  ->   x2         single-def "field V27._reference (fldOffset=0x0)" P-INDEP
-;  V49 tmp42        [V49,T34] (  2,  1   )     int  ->   x0         "field V27._length (fldOffset=0x8)" P-INDEP
+;  V46 tmp39        [V46,T20] (  3,  2   )   byref  ->   x2         "field V24._reference (fldOffset=0x0)" P-INDEP
+;  V47 tmp40        [V47,T21] (  3,  2   )     int  ->   x0         "field V24._length (fldOffset=0x8)" P-INDEP
+;  V48 tmp41        [V48,T30] (  2,  1   )   byref  ->   x2         single-def "field V27._reference (fldOffset=0x0)" P-INDEP
+;  V49 tmp42        [V49,T35] (  2,  1   )     int  ->   x0         "field V27._length (fldOffset=0x8)" P-INDEP
 ;* V50 tmp43        [V50    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V28._reference (fldOffset=0x0)" P-INDEP
 ;* V51 tmp44        [V51    ] (  0,  0   )     int  ->  zero-ref    "field V28._length (fldOffset=0x8)" P-INDEP
 ;* V52 tmp45        [V52    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V32._reference (fldOffset=0x0)" P-INDEP
 ;* V53 tmp46        [V53    ] (  0,  0   )     int  ->  zero-ref    "field V32._length (fldOffset=0x8)" P-INDEP
 ;* V54 tmp47        [V54    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V33._reference (fldOffset=0x0)" P-INDEP
 ;* V55 tmp48        [V55    ] (  0,  0   )     int  ->  zero-ref    "field V33._length (fldOffset=0x8)" P-INDEP
-;  V56 tmp49        [V56,T13] (  5,  3.50)     int  ->  x22         "V01.[000..004)"
+;  V56 tmp49        [V56,T13] (  5,  3.50)     int  ->  x23         "V01.[000..004)"
 ;  V57 tmp50        [V57,T08] (  3,  6   )     ref  ->   x0         single-def "argument with side effect"
 ;  V58 tmp51        [V58,T10] (  3,  4   )     ref  ->   x1         single-def "argument with side effect"
 ;  V59 tmp52        [V59,T11] (  2,  4   )     ref  ->   x0         single-def "argument with side effect"
-;  V60 tmp53        [V60,T37] (  2,  0   )     ref  ->  x20         single-def "argument with side effect"
-;  V61 tmp54        [V61,T38] (  2,  0   )     ref  ->   x2         single-def "argument with side effect"
-;* V62 cse0         [V62,T35] (  0,  0   )    long  ->  zero-ref    "CSE #02: moderate"
+;  V60 tmp53        [V60,T38] (  2,  0   )     ref  ->  x20         single-def "argument with side effect"
+;  V61 tmp54        [V61,T39] (  2,  0   )     ref  ->   x2         single-def "argument with side effect"
+;* V62 cse0         [V62,T36] (  0,  0   )    long  ->  zero-ref    "CSE #02: moderate"
 ;  V63 cse1         [V63,T09] (  6,  4.50)     int  ->   x1         "CSE #10: aggressive"
-;  V64 cse2         [V64,T16] (  3,  3   )    long  ->  x25         "CSE #09: moderate"
-;  V65 cse3         [V65,T18] (  3,  2.50)     int  ->   x1         "CSE #07: moderate"
-;  V66 cse4         [V66,T12] (  5,  3.50)     ref  ->  x25         "CSE #05: moderate"
-;  V67 rat0         [V67,T05] (  4,  7   )     ref  ->   x0         "replacement local"
-;  V68 rat1         [V68,T21] (  3,  2   )    long  ->   x4         "CSE for expectedClsNode"
+;  V64 cse2         [V64,T17] (  3,  3   )    long  ->  x26         "CSE #09: moderate"
+;  V65 cse3         [V65,T19] (  3,  2.50)     int  ->   x1         "CSE #07: moderate"
+;  V66 cse4         [V66,T12] (  5,  3.50)     ref  ->  x26         "CSE #05: moderate"
+;  V67 cse5         [V67,T14] (  5,  3.50)    long  ->  x22         "CSE #03: moderate"
+;  V68 rat0         [V68,T05] (  4,  7   )     ref  ->   x0         "replacement local"
+;  V69 rat1         [V69,T22] (  3,  2   )    long  ->   x4         "CSE for expectedClsNode"
 ;
-; Lcl frame size = 16
+; Lcl frame size = 8
 
 G_M2260_IG01:
             stp     fp, lr, [sp, #-0x60]!
-            stp     x19, x20, [sp, #0x20]
-            stp     x21, x22, [sp, #0x30]
-            stp     x23, x24, [sp, #0x40]
-            stp     x25, x26, [sp, #0x50]
+            stp     x19, x20, [sp, #0x18]
+            stp     x21, x22, [sp, #0x28]
+            stp     x23, x24, [sp, #0x38]
+            stp     x25, x26, [sp, #0x48]
+            str     x27, [sp, #0x58]
             mov     fp, sp
-            str     x1, [fp, #0x18]	// [V01 arg1]
+            str     x1, [fp, #0x10]	// [V01 arg1]
             mov     x19, x0
             mov     x20, x2
             mov     x21, x3
-						;; size=40 bbWeight=1 PerfScore 8.00
+						;; size=44 bbWeight=1 PerfScore 9.00
 G_M2260_IG02:
             mov     x0, x20
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     w0, [x0]
             tbz     w0, #0, G_M2260_IG27
 						;; size=56 bbWeight=1 PerfScore 13.00
 G_M2260_IG03:
-            movz    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     w0, [x0]
-            ldr     w22, [fp, #0x18]	// [V01 arg1]
+            movz    x22, #0xD1FFAB1E      // data for System.Reflection.Emit.OpCodes:Call
+            movk    x22, #0xD1FFAB1E LSL #16
+            movk    x22, #0xD1FFAB1E LSL #32
+            ldr     w0, [x22]
+            ldr     w23, [fp, #0x10]	// [V01 arg1]
             sxth    w0, w0
-            sxth    w1, w22
+            sxth    w1, w23
             cmp     w0, w1
             beq     G_M2260_IG05
-						;; size=32 bbWeight=1 PerfScore 8.50
+						;; size=36 bbWeight=1 PerfScore 9.00
 G_M2260_IG04:
-            movz    x0, #0xD1FFAB1E      // data for System.Reflection.Emit.OpCodes:Callvirt
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     w0, [x0]
+            ldr     w0, [x22, #0xD1FFAB1E]
             sxth    w0, w0
-            sxth    w1, w22
+            sxth    w1, w23
             cmp     w0, w1
             beq     G_M2260_IG05
-            movz    x0, #0xD1FFAB1E      // data for System.Reflection.Emit.OpCodes:Newobj
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     w0, [x0]
+            ldr     w0, [x22, #0xD1FFAB1E]
             sxth    w0, w0
-            sxth    w1, w22
+            sxth    w1, w23
             cmp     w0, w1
             bne     G_M2260_IG31
-						;; size=64 bbWeight=0.50 PerfScore 7.00
+						;; size=40 bbWeight=0.50 PerfScore 5.50
 G_M2260_IG05:
-            mov     w23, wzr
+            mov     w24, wzr
             ldr     x0, [x19, #0x40]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x48]
             ldr     x1, [x1, #0x08]
             blr     x1
             mov     x1, x0
             cbz     x0, G_M2260_IG07
 						;; size=32 bbWeight=1 PerfScore 15.00
 G_M2260_IG06:
             movz    x4, #0xD1FFAB1E
             movk    x4, #0xD1FFAB1E LSL #16
             movk    x4, #0xD1FFAB1E LSL #32
             ldr     x2, [x0]
             cmp     x2, x4
             bne     G_M2260_IG30
 						;; size=24 bbWeight=0.50 PerfScore 3.00
 G_M2260_IG07:
             mov     x1, x20
             mov     x2, x21
             mov     w3, wzr
             movz    x4, #0xD1FFAB1E      // code for System.Reflection.Emit.RuntimeModuleBuilder:GetMethodTokenInternal(System.Reflection.MethodBase,System.Type[],ubyte):int:this
             movk    x4, #0xD1FFAB1E LSL #16
             movk    x4, #0xD1FFAB1E LSL #32
             ldr     x4, [x4]
             ldr     wzr, [x0]
             blr     x4
-            sxtw    w24, w0
+            sxtw    w25, w0
             ldr     w1, [x19, #0x58]
             add     w1, w1, #7
-            ldr     x25, [x19, #0x08]
-            ldr     w0, [x25, #0x08]
+            ldr     x26, [x19, #0x08]
+            ldr     w0, [x26, #0x08]
             cmp     w1, w0
             blt     G_M2260_IG09
 						;; size=64 bbWeight=1 PerfScore 21.50
 G_M2260_IG08:
-            ldr     w0, [x25, #0x08]
+            ldr     w0, [x26, #0x08]
             lsl     w0, w0, #1
             cmp     w0, w1
             csel    w1, w0, w1, ge
             sxtw    x1, w1
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWARR_1_VC
-            mov     x26, x0
-            ldr     w2, [x25, #0x08]
-            mov     x0, x25
-            mov     x1, x26
+            mov     x27, x0
+            ldr     w2, [x26, #0x08]
+            mov     x0, x26
+            mov     x1, x27
             movz    x3, #0xD1FFAB1E      // code for System.Array:Copy(System.Array,System.Array,int)
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             add     x14, x19, #8
-            mov     x15, x26
+            mov     x15, x27
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=84 bbWeight=0.50 PerfScore 10.00
 G_M2260_IG09:
             mov     x0, x19
-            ldr     x1, [fp, #0x18]	// [V01 arg1]
+            ldr     x1, [fp, #0x10]	// [V01 arg1]
             movz    x2, #0xD1FFAB1E      // code for System.Reflection.Emit.RuntimeILGenerator:InternalEmit(System.Reflection.Emit.OpCode):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x0, x20
             ldr     x1, [x20]
-            ldr     x25, [x1, #0x60]
-            ldr     x1, [x25, #0x28]
+            ldr     x26, [x1, #0x60]
+            ldr     x1, [x26, #0x28]
             blr     x1
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             mov     w2, #1
             cmp     x0, x1
-            csel    w23, w23, w2, eq
+            csel    w24, w24, w2, eq
             mov     x0, x20
-            ldr     x1, [x25, #0x18]
+            ldr     x1, [x26, #0x18]
             blr     x1
             cbz     x0, G_M2260_IG11
 						;; size=88 bbWeight=1 PerfScore 27.00
 G_M2260_IG10:
             ldr     w0, [x0, #0x08]
-            sub     w23, w23, w0
+            sub     w24, w24, w0
 						;; size=8 bbWeight=0.50 PerfScore 1.75
 G_M2260_IG11:
             ldr     x0, [x20]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x0, x1
             beq     G_M2260_IG13
 						;; size=24 bbWeight=1 PerfScore 6.00
 G_M2260_IG12:
             mov     x0, x20
             ldr     x1, [x20]
             ldr     x1, [x1, #0x50]
             ldr     x1, [x1, #0x20]
             blr     x1
             tbnz    w0, #4, G_M2260_IG13
-            movz    x0, #0xD1FFAB1E      // data for System.Reflection.Emit.OpCodes:Newobj
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     w0, [x0]
+            ldr     w0, [x22, #0xD1FFAB1E]
             sxth    w0, w0
-            sxth    w1, w22
-            sub     w2, w23, #1
+            sxth    w1, w23
+            sub     w2, w24, #1
             cmp     w0, w1
-            csel    w23, w23, w2, eq
-						;; size=60 bbWeight=0.50 PerfScore 9.25
+            csel    w24, w24, w2, eq
+						;; size=48 bbWeight=0.50 PerfScore 8.50
 G_M2260_IG13:
             cbz     x21, G_M2260_IG15
 						;; size=4 bbWeight=1 PerfScore 1.00
 G_M2260_IG14:
             ldr     w0, [x21, #0x08]
-            sub     w23, w23, w0
+            sub     w24, w24, w0
 						;; size=8 bbWeight=0.50 PerfScore 1.75
 G_M2260_IG15:
-            ldr     w0, [fp, #0x1C]	// [V01 arg1+0x04]
+            ldr     w0, [fp, #0x14]	// [V01 arg1+0x04]
             ldr     w1, [x19, #0x74]
             tbz     w1, #31, G_M2260_IG17
 						;; size=12 bbWeight=1 PerfScore 6.00
 G_M2260_IG16:
             str     wzr, [x19, #0x74]
 						;; size=4 bbWeight=0.50 PerfScore 0.50
 G_M2260_IG17:
             ldr     w1, [x19, #0x74]
-            add     w1, w1, w23
+            add     w1, w1, w24
             str     w1, [x19, #0x74]
             tbnz    w1, #31, G_M2260_IG19
 						;; size=16 bbWeight=1 PerfScore 5.50
 G_M2260_IG18:
             ldr     w2, [x19, #0x7C]
             cmp     w2, w1
             bge     G_M2260_IG20
             str     w1, [x19, #0x7C]
             b       G_M2260_IG20
 						;; size=20 bbWeight=0.50 PerfScore 3.25
 G_M2260_IG19:
             ldr     x2, [x19, #0x50]
             sub     x1, x2, w1, SXTW
             str     x1, [x19, #0x50]
             str     wzr, [x19, #0x74]
 						;; size=16 bbWeight=0.50 PerfScore 3.00
 G_M2260_IG20:
             ldr     w1, [x19, #0x74]
             str     w1, [x19, #0x78]
             tbz     w0, #24, G_M2260_IG22
 						;; size=12 bbWeight=1 PerfScore 5.00
 G_M2260_IG21:
             movn    w0, #0
             str     w0, [x19, #0x74]
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M2260_IG22:
             mov     x0, x19
             ldr     x1, [x19]
             ldr     x1, [x1, #0x68]
             ldr     x1, [x1, #0x10]
             blr     x1
             ldr     x0, [x19, #0x08]
             ldr     w1, [x19, #0x58]
             cbz     x0, G_M2260_IG24
 						;; size=32 bbWeight=1 PerfScore 17.50
 G_M2260_IG23:
             ldr     w2, [x0, #0x08]
             cmp     w2, w1
             blo     G_M2260_IG29
             add     x2, x0, #16
             mov     w3, w1
             add     x2, x2, x3
             ldr     w0, [x0, #0x08]
             sub     w0, w0, w1
             b       G_M2260_IG25
 						;; size=36 bbWeight=0.50 PerfScore 5.25
 G_M2260_IG24:
             cbnz    w1, G_M2260_IG29
             mov     x2, xzr
             mov     w0, wzr
 						;; size=12 bbWeight=0.50 PerfScore 1.00
 G_M2260_IG25:
             cmp     w0, #4
             blo     G_M2260_IG28
-            str     w24, [x2]
+            str     w25, [x2]
             ldr     w0, [x19, #0x58]
             add     w0, w0, #4
             str     w0, [x19, #0x58]
 						;; size=24 bbWeight=1 PerfScore 7.00
 G_M2260_IG26:
-            ldp     x25, x26, [sp, #0x50]
-            ldp     x23, x24, [sp, #0x40]
-            ldp     x21, x22, [sp, #0x30]
-            ldp     x19, x20, [sp, #0x20]
+            ldr     x27, [sp, #0x58]
+            ldp     x25, x26, [sp, #0x48]
+            ldp     x23, x24, [sp, #0x38]
+            ldp     x21, x22, [sp, #0x28]
+            ldp     x19, x20, [sp, #0x18]
             ldp     fp, lr, [sp], #0x60
             ret     lr
-						;; size=24 bbWeight=1 PerfScore 6.00
+						;; size=28 bbWeight=1 PerfScore 8.00
 G_M2260_IG27:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             mov     w1, #0xD1FFAB1E
             bl      CORINFO_HELP_GETSHARED_NONGCSTATIC_BASE
             b       G_M2260_IG03
 						;; size=24 bbWeight=0 PerfScore 0.00
 G_M2260_IG28:
             mov     w0, #40
             movz    x1, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             brk_unix #0
 						;; size=28 bbWeight=0 PerfScore 0.00
 G_M2260_IG29:
             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_M2260_IG30:
             mov     x0, x4
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             brk_unix #0
 						;; size=28 bbWeight=0 PerfScore 0.00
 G_M2260_IG31:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x19, x0
             movz    x0, #0xD1FFAB1E      // code for System.SR:get_Argument_NotMethodCallOpcode():System.String
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0
             mov     x20, x0
             movz    w0, #0xD1FFAB1E
             movk    w0, #1 LSL #16
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_STRCNS
             mov     x2, x0
             mov     x1, x20
             mov     x0, x19
             movz    x3, #0xD1FFAB1E      // code for System.ArgumentException:.ctor(System.String,System.String):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x0, x19
             bl      CORINFO_HELP_THROW
             brk_unix #0
 						;; size=112 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1020, prolog size 24, PerfScore 193.50, instruction count 255, allocated bytes for code 1020 (MethodHash=1027f72b) for method System.Reflection.Emit.RuntimeILGenerator:EmitCall(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo,System.Type[]):this (FullOpts)
+; Total bytes of code 996, prolog size 28, PerfScore 194.75, instruction count 249, allocated bytes for code 996 (MethodHash=1027f72b) for method System.Reflection.Emit.RuntimeILGenerator:EmitCall(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo,System.Type[]):this (FullOpts)
-20 (-3.52 % of base) - Microsoft.VisualBasic.VBCodeGenerator:GenerateNamespaceStart(System.CodeDom.CodeNamespace):this
 ; Assembly listing for method Microsoft.VisualBasic.VBCodeGenerator:GenerateNamespaceStart(System.CodeDom.CodeNamespace):this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 12 single block inlinees; 7 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T06] (  8, 12   )     ref  ->  x19         this class-hnd single-def <Microsoft.VisualBasic.VBCodeGenerator>
 ;  V01 arg1         [V01,T10] (  4,  3.50)     ref  ->  x20         class-hnd single-def <System.CodeDom.CodeNamespace>
-;  V02 loc0         [V02,T21] (  4,  1.75)     ref  ->  x20         class-hnd exact single-def <System.String[]>
-;  V03 loc1         [V03,T04] (  5, 16.50)     int  ->  x22        
+;  V02 loc0         [V02,T21] (  4,  1.75)     ref  ->  x21         class-hnd exact single-def <System.String[]>
+;  V03 loc1         [V03,T04] (  5, 16.50)     int  ->  x23        
 ;  V04 loc2         [V04,T24] (  2,  1   )     int  ->   x1         single-def
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V06 tmp1         [V06,T15] (  2,  4   )     ref  ->   x0         class-hnd exact single-def "dup spill" <System.String>
 ;  V07 tmp2         [V07,T12] (  5,  5   )     ref  ->   x0        
 ;* V08 tmp3         [V08    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V09 tmp4         [V09,T19] (  2,  2   )     ref  ->   x0         class-hnd exact single-def "dup spill" <System.String>
 ;  V10 tmp5         [V10,T16] (  6,  3   )     ref  ->   x0        
 ;  V11 tmp6         [V11,T20] (  2,  2   )     ref  ->   x1         class-hnd exact single-def "Inlining Arg" <ushort[]>
 ;* V12 tmp7         [V12    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V13 tmp8         [V13    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;  V14 tmp9         [V14,T03] (  5, 40   )     ref  ->  x24         class-hnd exact "Inlining Arg" <System.String>
 ;  V15 tmp10        [V15,T05] (  2, 16   )     ref  ->  x25         class-hnd exact "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;  V16 tmp11        [V16,T09] (  3, 14   )     ref  ->   x1         class-hnd "Inline return value spill temp" <System.String>
 ;  V17 tmp12        [V17,T07] (  2,  4   )   ubyte  ->   x0         "Inline return value spill temp"
 ;  V18 tmp13        [V18,T08] (  3, 10   )     int  ->   x1         "Inline stloc first use temp"
 ;  V19 tmp14        [V19,T00] (  2, 40   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.String[][]>
 ;  V20 tmp15        [V20,T02] (  3, 34   )     ref  ->   x0         class-hnd exact "Inline stloc first use temp" <System.String[]>
 ;* V21 tmp16        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V22 tmp17        [V22    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V23 tmp18        [V23,T17] (  3,  3   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V24 tmp19        [V24    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V25 tmp20        [V25,T25] (  2,  1   )     int  ->   x1         "Inline return value spill temp"
 ;  V26 tmp21        [V26,T18] (  3,  3   )     int  ->   x1         "Inlining Arg"
 ;* V27 tmp22        [V27    ] (  0,  0   )   byref  ->  zero-ref    "field V12._reference (fldOffset=0x0)" P-INDEP
 ;* V28 tmp23        [V28    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
 ;  V29 tmp24        [V29,T23] (  2,  1   )   byref  ->   x1         "field V13._reference (fldOffset=0x0)" P-INDEP
 ;* V30 tmp25        [V30,T26] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
-;  V31 cse0         [V31,T13] (  2,  4.25)     ref  ->  x23         hoist "CSE #05: aggressive"
-;  V32 cse1         [V32,T22] (  3,  1.50)     ref  ->   x0         "CSE #07: moderate"
-;  V33 cse2         [V33,T01] (  4, 36   )     int  ->   x1         "CSE #06: aggressive"
-;  V34 cse3         [V34,T11] (  4,  5.50)     int  ->  x21         "CSE #02: aggressive"
-;  V35 cse4         [V35,T14] (  2,  4.25)   byref  ->  x20         hoist "CSE #04: moderate"
+;  V31 cse0         [V31,T22] (  3,  1.50)     ref  ->   x0         "CSE #06: moderate"
+;  V32 cse1         [V32,T01] (  4, 36   )     int  ->   x1         "CSE #05: aggressive"
+;  V33 cse2         [V33,T11] (  4,  5.50)     int  ->  x22         "CSE #02: aggressive"
+;  V34 cse3         [V34,T14] (  2,  4.25)   byref  ->  x21         hoist "CSE #03: moderate"
+;  V35 cse4         [V35,T13] (  3,  5   )    long  ->  x20         "CSE #04: aggressive"
 ;
 ; Lcl frame size = 8
 
 G_M61445_IG01:
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x18]
             stp     x21, x22, [sp, #0x28]
             stp     x23, x24, [sp, #0x38]
             str     x25, [sp, #0x48]
             mov     fp, sp
             mov     x19, x0
             mov     x20, x1
 						;; size=32 bbWeight=1 PerfScore 6.50
 G_M61445_IG02:
             ldr     x0, [x20, #0x10]
             movz    x1, #8
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x0, #0
             csel    x0, x0, x1, ne
             ldr     w0, [x0, #0x08]
             cbz     w0, G_M61445_IG12
 						;; size=32 bbWeight=1 PerfScore 9.50
 G_M61445_IG03:
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
             ldr     x0, [x20, #0x10]
             movz    x1, #8
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x0, #0
             csel    x0, x0, x1, ne
-            movz    x1, #0xD1FFAB1E
-            movk    x1, #0xD1FFAB1E LSL #16
-            movk    x1, #0xD1FFAB1E LSL #32
-            ldr     x1, [x1]
+            movz    x20, #0xD1FFAB1E
+            movk    x20, #0xD1FFAB1E LSL #32
+            ldr     x1, [x20]
             ldrsb   wzr, [x0]
             add     x1, x1, #16
             mov     w2, #1
             movn    w3, #0xD1FFAB1E LSL #16
             mov     w4, wzr
             movz    x5, #0xD1FFAB1E      // code for System.String:SplitInternal(System.ReadOnlySpan`1[ushort],int,int):System.String[]:this
             movk    x5, #0xD1FFAB1E LSL #16
             movk    x5, #0xD1FFAB1E LSL #32
             ldr     x5, [x5]
             blr     x5
-            mov     x20, x0
-            ldr     w21, [x20, #0x08]
-            cmp     w21, #0
+            mov     x21, x0
+            ldr     w22, [x21, #0x08]
+            cmp     w22, #0
             bls     G_M61445_IG13
-            ldr     x1, [x20, #0x10]
+            ldr     x1, [x21, #0x10]
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.VBCodeGenerator:OutputIdentifier(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            mov     w22, #1
-            cmp     w21, #1
+            mov     w23, #1
+            cmp     w22, #1
             ble     G_M61445_IG11
-						;; size=176 bbWeight=0.50 PerfScore 24.75
+						;; size=172 bbWeight=0.50 PerfScore 24.50
 G_M61445_IG04:
-            add     x20, x20, #16
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
-            ldr     x23, [x0]
-						;; size=20 bbWeight=0.25 PerfScore 1.25
+            add     x21, x21, #16
+						;; size=4 bbWeight=0.25 PerfScore 0.12
 G_M61445_IG05:
             ldr     x0, [x19, #0x08]
             mov     w1, #46
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(ushort):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
-            ldr     x24, [x20, w22, UXTW #3]
+            ldr     x24, [x21, w23, UXTW #3]
             ldr     x25, [x19, #0x08]
-            mov     x0, x23
+            ldr     x0, [x20, #0x08]
             ldr     w1, [x24, #0x08]
             cmp     w1, #0
             ble     G_M61445_IG09
-						;; size=56 bbWeight=4 PerfScore 92.00
+						;; size=56 bbWeight=4 PerfScore 102.00
 G_M61445_IG06:
             sub     w1, w1, #1
             cmp     w1, #16
             bge     G_M61445_IG09
 						;; size=12 bbWeight=2 PerfScore 4.00
 G_M61445_IG07:
             cmp     w1, #16
             bhs     G_M61445_IG13
             add     x0, x0, #16
             ldr     x0, [x0, w1, UXTW #3]
             cbz     x0, G_M61445_IG09
 						;; size=20 bbWeight=16 PerfScore 96.00
 G_M61445_IG08:
             mov     x1, x24
             mov     w2, #1
             movz    x3, #0xD1FFAB1E      // code for System.Collections.Specialized.FixedStringLookup:Contains(System.String[],System.String,ubyte):ubyte
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             cbz     w0, G_M61445_IG09
             mov     x1, x24
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             movz    x3, #0xD1FFAB1E      // code for System.String:Concat(System.String,System.String,System.String):System.String
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x1, x0
             b       G_M61445_IG10
 						;; size=88 bbWeight=2 PerfScore 36.00
 G_M61445_IG09:
             mov     x1, x24
 						;; size=4 bbWeight=8 PerfScore 4.00
 G_M61445_IG10:
             mov     x0, x25
             movz    x2, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:Write(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             ldr     wzr, [x0]
             blr     x2
-            add     w22, w22, #1
-            cmp     w21, w22
+            add     w23, w23, #1
+            cmp     w22, w23
             bgt     G_M61445_IG05
 						;; size=40 bbWeight=4 PerfScore 44.00
 G_M61445_IG11:
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:WriteLine():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x19, #0x08]
             ldr     w1, [x0, #0x30]
             ldrsb   wzr, [x0]
             add     w1, w1, #1
             cmp     w1, #0
             csel    w1, w1, wzr, ge
             str     w1, [x0, #0x30]
 						;; size=56 bbWeight=0.50 PerfScore 11.50
 G_M61445_IG12:
             ldr     x25, [sp, #0x48]
             ldp     x23, x24, [sp, #0x38]
             ldp     x21, x22, [sp, #0x28]
             ldp     x19, x20, [sp, #0x18]
             ldp     fp, lr, [sp], #0x50
             ret     lr
 						;; size=24 bbWeight=1 PerfScore 7.00
 G_M61445_IG13:
             bl      CORINFO_HELP_RNGCHKFAIL
             brk_unix #0
 						;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 568, prolog size 24, PerfScore 336.50, instruction count 142, allocated bytes for code 568 (MethodHash=8bdb0ffa) for method Microsoft.VisualBasic.VBCodeGenerator:GenerateNamespaceStart(System.CodeDom.CodeNamespace):this (FullOpts)
+; Total bytes of code 548, prolog size 24, PerfScore 345.12, instruction count 137, allocated bytes for code 548 (MethodHash=8bdb0ffa) for method Microsoft.VisualBasic.VBCodeGenerator:GenerateNamespaceStart(System.CodeDom.CodeNamespace):this (FullOpts)
-16 (-1.36 % of base) - Microsoft.CSharp.CSharpCodeGenerator:GenerateConstructors(System.CodeDom.CodeTypeDeclaration):this
 ; Assembly listing for method Microsoft.CSharp.CSharpCodeGenerator:GenerateConstructors(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 32 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 16, 30   )     ref  ->  x19         this class-hnd single-def <Microsoft.CSharp.CSharpCodeGenerator>
 ;  V01 arg1         [V01,T32] (  3,  3   )     ref  ->   x1         class-hnd single-def <System.CodeDom.CodeTypeDeclaration>
 ;  V02 loc0         [V02,T19] (  6, 10   )     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
 ;  V03 loc1         [V03,T08] (  4, 12   )     ref  ->  x21         class-hnd <System.CodeDom.CodeTypeMember>
 ;  V04 loc2         [V04,T21] (  4,  8   )     ref  ->  x21         class-hnd <System.CodeDom.CodeConstructor>
 ;  V05 loc3         [V05,T34] (  6,  2.50)     ref  ->   x0         class-hnd <System.IDisposable>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T33] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeMemberCollection>
 ;  V08 tmp2         [V08,T03] (  4, 16   )     ref  ->  x22         class-hnd exact "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V09 tmp3         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V10 tmp4         [V10,T09] (  3, 12   )     ref  ->  x22         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V11 tmp5         [V11,T26] (  2,  8   )     ref  ->   x0         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V12 tmp6         [V12,T22] (  4,  8   )     ref  ->   x0        
 ;  V13 tmp7         [V13,T04] (  4, 16   )     ref  ->  x23         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V14 tmp8         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V15 tmp9         [V15,T10] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V16 tmp10        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V17 tmp11        [V17,T11] (  3, 12   )     ref  ->  x22         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V18 tmp12        [V18,T27] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V19 tmp13        [V19,T23] (  4,  8   )     ref  ->   x1        
 ;  V20 tmp14        [V20,T05] (  4, 16   )     ref  ->  x23         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V21 tmp15        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V22 tmp16        [V22,T12] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V23 tmp17        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;* V24 tmp18        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V25 tmp19        [V25,T13] (  3, 12   )     ref  ->  x21         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V26 tmp20        [V26,T28] (  2,  8   )     ref  ->   x0         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V27 tmp21        [V27,T24] (  4,  8   )     ref  ->   x0        
 ;  V28 tmp22        [V28,T06] (  4, 16   )     ref  ->  x22         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V29 tmp23        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V30 tmp24        [V30,T14] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V31 tmp25        [V31    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V32 tmp26        [V32,T15] (  3, 12   )     ref  ->  x21         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V33 tmp27        [V33,T29] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V34 tmp28        [V34,T25] (  4,  8   )     ref  ->   x1        
 ;  V35 tmp29        [V35,T07] (  4, 16   )     ref  ->  x22         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V36 tmp30        [V36    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V37 tmp31        [V37,T16] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;  V38 tmp32        [V38,T30] (  3,  6   )     ref  ->   x0         single-def "argument with side effect"
 ;  V39 tmp33        [V39,T02] (  3, 18   )     ref  ->   x0         "argument with side effect"
 ;  V40 tmp34        [V40,T17] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V41 PSPSym       [V41,T35] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
 ;  V42 cse0         [V42,T31] (  3,  6   )     ref  ->   x1         "CSE #06: moderate"
 ;  V43 cse1         [V43,T18] (  7, 10.50)    long  ->  x20         multi-def "CSE #01: moderate"
 ;  V44 rat0         [V44,T01] (  5, 30   )     ref  ->  x21         "replacement local"
 ;  V45 rat1         [V45,T20] (  3, 10   )    long  ->   x2         "CSE for expectedClsNode"
 ;
 ; Lcl frame size = 24
 
 G_M57116_IG01:
             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, #80
             str     x2, [fp, #0x20]	// [V41 PSPSym]
             mov     x19, x0
 						;; size=32 bbWeight=1 PerfScore 6.50
 G_M57116_IG02:
             mov     x0, x1
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeTypeDeclaration:get_Members():System.CodeDom.CodeTypeMemberCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x0, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x58]
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             str     x1, [fp, #0x18]	// [V02 loc0]
 						;; size=56 bbWeight=1 PerfScore 23.50
 G_M57116_IG03:
             mov     x0, x1
             movz    x20, #0xD1FFAB1E
             movk    x20, #0xD1FFAB1E LSL #16
             movk    x20, #0xD1FFAB1E LSL #32
             mov     x11, x20
             ldr     xip0, [x11]
             blr     xip0
             cbz     w0, G_M57116_IG18
 						;; size=32 bbWeight=1 PerfScore 7.50
 G_M57116_IG04:
             ldr     x0, [fp, #0x18]	// [V02 loc0]
             add     x11, x20, #8
             ldr     xip0, [x11]
             blr     xip0
             mov     x21, x0
             cbz     x21, G_M57116_IG07
 						;; size=24 bbWeight=4 PerfScore 32.00
 G_M57116_IG05:
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x1, [x21]
             cmp     x1, x2
             beq     G_M57116_IG07
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M57116_IG06:
             mov     x1, x0
             mov     x0, x2
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x21, x0
 						;; size=32 bbWeight=1 PerfScore 7.00
 G_M57116_IG07:
             mov     x1, x21
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M57116_IG17
 						;; size=40 bbWeight=4 PerfScore 34.00
 G_M57116_IG08:
             add     x14, x19, #32
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x10]
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.CodeGeneratorOptions:get_BlankLinesBetweenMembers():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cbz     w0, G_M57116_IG09
             ldr     x22, [x19, #0x08]
             mov     x0, x22
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:OutputTabs():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x22, #0x20]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x60]
             ldr     x1, [x1, #0x10]
             blr     x1
             mov     w0, #1
             strb    w0, [x22, #0x34]
 						;; size=104 bbWeight=2 PerfScore 82.00
 G_M57116_IG09:
             ldr     x22, [x19, #0x20]
             ldr     x0, [x22, #0x20]
             cbnz    x0, G_M57116_IG10
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #32
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x23
-						;; size=100 bbWeight=2 PerfScore 46.00
+						;; size=96 bbWeight=2 PerfScore 45.00
 G_M57116_IG10:
             movz    x1, #0xD1FFAB1E      // code for System.Collections.CollectionBase:get_Count():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cmp     w0, #0
             ble     G_M57116_IG12
             ldr     x22, [x19, #0x20]
             ldr     x1, [x22, #0x20]
             cbnz    x1, G_M57116_IG11
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #32
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x23
-						;; size=132 bbWeight=2 PerfScore 66.00
+						;; size=128 bbWeight=2 PerfScore 65.00
 G_M57116_IG11:
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateDirectives(System.CodeDom.CodeDirectiveCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M57116_IG12:
             ldr     x1, [x19, #0x20]
             ldr     x1, [x1, #0x38]
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateCommentStatements(System.CodeDom.CodeCommentStatementCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             ldr     x1, [x21, #0x30]
             cbz     x1, G_M57116_IG13
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateLinePragmaStart(System.CodeDom.CodeLinePragma):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=64 bbWeight=2 PerfScore 44.00
 G_M57116_IG13:
             mov     x0, x19
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateConstructor(System.CodeDom.CodeConstructor):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             ldr     x0, [x21, #0x30]
             cbz     x0, G_M57116_IG14
             mov     x0, x19
             movz    x1, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateLinePragmaEnd():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
 						;; size=60 bbWeight=2 PerfScore 33.00
 G_M57116_IG14:
             ldr     x21, [x19, #0x20]
             ldr     x0, [x21, #0x28]
             cbnz    x0, G_M57116_IG15
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x22, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x21, #40
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x22
-						;; size=100 bbWeight=2 PerfScore 46.00
+						;; size=96 bbWeight=2 PerfScore 45.00
 G_M57116_IG15:
             movz    x1, #0xD1FFAB1E      // code for System.Collections.CollectionBase:get_Count():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cmp     w0, #0
             ble     G_M57116_IG17
             ldr     x21, [x19, #0x20]
             ldr     x1, [x21, #0x28]
             cbnz    x1, G_M57116_IG16
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x22, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x21, #40
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x22
-						;; size=132 bbWeight=2 PerfScore 66.00
+						;; size=128 bbWeight=2 PerfScore 65.00
 G_M57116_IG16:
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateDirectives(System.CodeDom.CodeDirectiveCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M57116_IG17:
             ldr     x0, [fp, #0x18]	// [V02 loc0]
             mov     x11, x20
             ldr     xip0, [x11]
             blr     xip0
             cbnz    w0, G_M57116_IG04
 						;; size=20 bbWeight=4 PerfScore 30.00
 G_M57116_IG18:
             ldr     x1, [fp, #0x18]	// [V02 loc0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M57116_IG20
 						;; size=40 bbWeight=1 PerfScore 10.00
 G_M57116_IG19:
             add     x11, x20, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=12 bbWeight=0.50 PerfScore 2.25
 G_M57116_IG20:
             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_M57116_IG21:
             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_M57116_IG22:
             ldr     x1, [fp, #0x18]	// [V02 loc0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M57116_IG23
             movz    x20, #0xD1FFAB1E
             movk    x20, #0xD1FFAB1E LSL #16
             movk    x20, #0xD1FFAB1E LSL #32
             add     x11, x20, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=64 bbWeight=0 PerfScore 0.00
 G_M57116_IG23:
             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 1180, prolog size 32, PerfScore 577.75, instruction count 295, allocated bytes for code 1180 (MethodHash=9b4520e3) for method Microsoft.CSharp.CSharpCodeGenerator:GenerateConstructors(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
+; Total bytes of code 1164, prolog size 32, PerfScore 573.75, instruction count 291, allocated bytes for code 1164 (MethodHash=9b4520e3) for method Microsoft.CSharp.CSharpCodeGenerator:GenerateConstructors(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
-16 (-1.36 % of base) - Microsoft.CSharp.CSharpCodeGenerator:GenerateEvents(System.CodeDom.CodeTypeDeclaration):this
 ; Assembly listing for method Microsoft.CSharp.CSharpCodeGenerator:GenerateEvents(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 32 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 16, 30   )     ref  ->  x19         this class-hnd single-def <Microsoft.CSharp.CSharpCodeGenerator>
 ;  V01 arg1         [V01,T32] (  3,  3   )     ref  ->   x1         class-hnd single-def <System.CodeDom.CodeTypeDeclaration>
 ;  V02 loc0         [V02,T19] (  6, 10   )     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
 ;  V03 loc1         [V03,T08] (  4, 12   )     ref  ->  x21         class-hnd <System.CodeDom.CodeTypeMember>
 ;  V04 loc2         [V04,T21] (  4,  8   )     ref  ->  x21         class-hnd <System.CodeDom.CodeMemberEvent>
 ;  V05 loc3         [V05,T34] (  6,  2.50)     ref  ->   x0         class-hnd <System.IDisposable>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T33] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeMemberCollection>
 ;  V08 tmp2         [V08,T03] (  4, 16   )     ref  ->  x22         class-hnd exact "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V09 tmp3         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V10 tmp4         [V10,T09] (  3, 12   )     ref  ->  x22         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V11 tmp5         [V11,T26] (  2,  8   )     ref  ->   x0         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V12 tmp6         [V12,T22] (  4,  8   )     ref  ->   x0        
 ;  V13 tmp7         [V13,T04] (  4, 16   )     ref  ->  x23         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V14 tmp8         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V15 tmp9         [V15,T10] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V16 tmp10        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V17 tmp11        [V17,T11] (  3, 12   )     ref  ->  x22         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V18 tmp12        [V18,T27] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V19 tmp13        [V19,T23] (  4,  8   )     ref  ->   x1        
 ;  V20 tmp14        [V20,T05] (  4, 16   )     ref  ->  x23         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V21 tmp15        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V22 tmp16        [V22,T12] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V23 tmp17        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;* V24 tmp18        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V25 tmp19        [V25,T13] (  3, 12   )     ref  ->  x21         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V26 tmp20        [V26,T28] (  2,  8   )     ref  ->   x0         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V27 tmp21        [V27,T24] (  4,  8   )     ref  ->   x0        
 ;  V28 tmp22        [V28,T06] (  4, 16   )     ref  ->  x22         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V29 tmp23        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V30 tmp24        [V30,T14] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V31 tmp25        [V31    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V32 tmp26        [V32,T15] (  3, 12   )     ref  ->  x21         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V33 tmp27        [V33,T29] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V34 tmp28        [V34,T25] (  4,  8   )     ref  ->   x1        
 ;  V35 tmp29        [V35,T07] (  4, 16   )     ref  ->  x22         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V36 tmp30        [V36    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V37 tmp31        [V37,T16] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;  V38 tmp32        [V38,T30] (  3,  6   )     ref  ->   x0         single-def "argument with side effect"
 ;  V39 tmp33        [V39,T02] (  3, 18   )     ref  ->   x0         "argument with side effect"
 ;  V40 tmp34        [V40,T17] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V41 PSPSym       [V41,T35] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
 ;  V42 cse0         [V42,T31] (  3,  6   )     ref  ->   x1         "CSE #06: moderate"
 ;  V43 cse1         [V43,T18] (  7, 10.50)    long  ->  x20         multi-def "CSE #01: moderate"
 ;  V44 rat0         [V44,T01] (  5, 30   )     ref  ->  x21         "replacement local"
 ;  V45 rat1         [V45,T20] (  3, 10   )    long  ->   x2         "CSE for expectedClsNode"
 ;
 ; Lcl frame size = 24
 
 G_M63320_IG01:
             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, #80
             str     x2, [fp, #0x20]	// [V41 PSPSym]
             mov     x19, x0
 						;; size=32 bbWeight=1 PerfScore 6.50
 G_M63320_IG02:
             mov     x0, x1
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeTypeDeclaration:get_Members():System.CodeDom.CodeTypeMemberCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x0, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x58]
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             str     x1, [fp, #0x18]	// [V02 loc0]
 						;; size=56 bbWeight=1 PerfScore 23.50
 G_M63320_IG03:
             mov     x0, x1
             movz    x20, #0xD1FFAB1E
             movk    x20, #0xD1FFAB1E LSL #16
             movk    x20, #0xD1FFAB1E LSL #32
             mov     x11, x20
             ldr     xip0, [x11]
             blr     xip0
             cbz     w0, G_M63320_IG18
 						;; size=32 bbWeight=1 PerfScore 7.50
 G_M63320_IG04:
             ldr     x0, [fp, #0x18]	// [V02 loc0]
             add     x11, x20, #8
             ldr     xip0, [x11]
             blr     xip0
             mov     x21, x0
             cbz     x21, G_M63320_IG07
 						;; size=24 bbWeight=4 PerfScore 32.00
 G_M63320_IG05:
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x1, [x21]
             cmp     x1, x2
             beq     G_M63320_IG07
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M63320_IG06:
             mov     x1, x0
             mov     x0, x2
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x21, x0
 						;; size=32 bbWeight=1 PerfScore 7.00
 G_M63320_IG07:
             mov     x1, x21
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M63320_IG17
 						;; size=40 bbWeight=4 PerfScore 34.00
 G_M63320_IG08:
             add     x14, x19, #32
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x10]
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.CodeGeneratorOptions:get_BlankLinesBetweenMembers():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cbz     w0, G_M63320_IG09
             ldr     x22, [x19, #0x08]
             mov     x0, x22
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:OutputTabs():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x22, #0x20]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x60]
             ldr     x1, [x1, #0x10]
             blr     x1
             mov     w0, #1
             strb    w0, [x22, #0x34]
 						;; size=104 bbWeight=2 PerfScore 82.00
 G_M63320_IG09:
             ldr     x22, [x19, #0x20]
             ldr     x0, [x22, #0x20]
             cbnz    x0, G_M63320_IG10
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #32
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x23
-						;; size=100 bbWeight=2 PerfScore 46.00
+						;; size=96 bbWeight=2 PerfScore 45.00
 G_M63320_IG10:
             movz    x1, #0xD1FFAB1E      // code for System.Collections.CollectionBase:get_Count():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cmp     w0, #0
             ble     G_M63320_IG12
             ldr     x22, [x19, #0x20]
             ldr     x1, [x22, #0x20]
             cbnz    x1, G_M63320_IG11
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #32
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x23
-						;; size=132 bbWeight=2 PerfScore 66.00
+						;; size=128 bbWeight=2 PerfScore 65.00
 G_M63320_IG11:
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateDirectives(System.CodeDom.CodeDirectiveCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M63320_IG12:
             ldr     x1, [x19, #0x20]
             ldr     x1, [x1, #0x38]
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateCommentStatements(System.CodeDom.CodeCommentStatementCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             ldr     x1, [x21, #0x30]
             cbz     x1, G_M63320_IG13
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateLinePragmaStart(System.CodeDom.CodeLinePragma):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=64 bbWeight=2 PerfScore 44.00
 G_M63320_IG13:
             mov     x0, x19
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateEvent(System.CodeDom.CodeMemberEvent):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             ldr     x0, [x21, #0x30]
             cbz     x0, G_M63320_IG14
             mov     x0, x19
             movz    x1, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateLinePragmaEnd():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
 						;; size=60 bbWeight=2 PerfScore 33.00
 G_M63320_IG14:
             ldr     x21, [x19, #0x20]
             ldr     x0, [x21, #0x28]
             cbnz    x0, G_M63320_IG15
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x22, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x21, #40
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x22
-						;; size=100 bbWeight=2 PerfScore 46.00
+						;; size=96 bbWeight=2 PerfScore 45.00
 G_M63320_IG15:
             movz    x1, #0xD1FFAB1E      // code for System.Collections.CollectionBase:get_Count():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cmp     w0, #0
             ble     G_M63320_IG17
             ldr     x21, [x19, #0x20]
             ldr     x1, [x21, #0x28]
             cbnz    x1, G_M63320_IG16
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x22, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x21, #40
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x22
-						;; size=132 bbWeight=2 PerfScore 66.00
+						;; size=128 bbWeight=2 PerfScore 65.00
 G_M63320_IG16:
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateDirectives(System.CodeDom.CodeDirectiveCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M63320_IG17:
             ldr     x0, [fp, #0x18]	// [V02 loc0]
             mov     x11, x20
             ldr     xip0, [x11]
             blr     xip0
             cbnz    w0, G_M63320_IG04
 						;; size=20 bbWeight=4 PerfScore 30.00
 G_M63320_IG18:
             ldr     x1, [fp, #0x18]	// [V02 loc0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M63320_IG20
 						;; size=40 bbWeight=1 PerfScore 10.00
 G_M63320_IG19:
             add     x11, x20, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=12 bbWeight=0.50 PerfScore 2.25
 G_M63320_IG20:
             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_M63320_IG21:
             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_M63320_IG22:
             ldr     x1, [fp, #0x18]	// [V02 loc0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M63320_IG23
             movz    x20, #0xD1FFAB1E
             movk    x20, #0xD1FFAB1E LSL #16
             movk    x20, #0xD1FFAB1E LSL #32
             add     x11, x20, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=64 bbWeight=0 PerfScore 0.00
 G_M63320_IG23:
             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 1180, prolog size 32, PerfScore 577.75, instruction count 295, allocated bytes for code 1180 (MethodHash=271108a7) for method Microsoft.CSharp.CSharpCodeGenerator:GenerateEvents(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
+; Total bytes of code 1164, prolog size 32, PerfScore 573.75, instruction count 291, allocated bytes for code 1164 (MethodHash=271108a7) for method Microsoft.CSharp.CSharpCodeGenerator:GenerateEvents(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
-16 (-1.36 % of base) - Microsoft.CSharp.CSharpCodeGenerator:GenerateFields(System.CodeDom.CodeTypeDeclaration):this
 ; Assembly listing for method Microsoft.CSharp.CSharpCodeGenerator:GenerateFields(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 32 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 16, 30   )     ref  ->  x19         this class-hnd single-def <Microsoft.CSharp.CSharpCodeGenerator>
 ;  V01 arg1         [V01,T32] (  3,  3   )     ref  ->   x1         class-hnd single-def <System.CodeDom.CodeTypeDeclaration>
 ;  V02 loc0         [V02,T19] (  6, 10   )     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
 ;  V03 loc1         [V03,T08] (  4, 12   )     ref  ->  x21         class-hnd <System.CodeDom.CodeTypeMember>
 ;  V04 loc2         [V04,T21] (  4,  8   )     ref  ->  x21         class-hnd <System.CodeDom.CodeMemberField>
 ;  V05 loc3         [V05,T34] (  6,  2.50)     ref  ->   x0         class-hnd <System.IDisposable>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T33] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeMemberCollection>
 ;  V08 tmp2         [V08,T03] (  4, 16   )     ref  ->  x22         class-hnd exact "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V09 tmp3         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V10 tmp4         [V10,T09] (  3, 12   )     ref  ->  x22         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V11 tmp5         [V11,T26] (  2,  8   )     ref  ->   x0         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V12 tmp6         [V12,T22] (  4,  8   )     ref  ->   x0        
 ;  V13 tmp7         [V13,T04] (  4, 16   )     ref  ->  x23         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V14 tmp8         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V15 tmp9         [V15,T10] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V16 tmp10        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V17 tmp11        [V17,T11] (  3, 12   )     ref  ->  x22         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V18 tmp12        [V18,T27] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V19 tmp13        [V19,T23] (  4,  8   )     ref  ->   x1        
 ;  V20 tmp14        [V20,T05] (  4, 16   )     ref  ->  x23         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V21 tmp15        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V22 tmp16        [V22,T12] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V23 tmp17        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;* V24 tmp18        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V25 tmp19        [V25,T13] (  3, 12   )     ref  ->  x21         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V26 tmp20        [V26,T28] (  2,  8   )     ref  ->   x0         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V27 tmp21        [V27,T24] (  4,  8   )     ref  ->   x0        
 ;  V28 tmp22        [V28,T06] (  4, 16   )     ref  ->  x22         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V29 tmp23        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V30 tmp24        [V30,T14] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V31 tmp25        [V31    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V32 tmp26        [V32,T15] (  3, 12   )     ref  ->  x21         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V33 tmp27        [V33,T29] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V34 tmp28        [V34,T25] (  4,  8   )     ref  ->   x1        
 ;  V35 tmp29        [V35,T07] (  4, 16   )     ref  ->  x22         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V36 tmp30        [V36    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V37 tmp31        [V37,T16] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;  V38 tmp32        [V38,T30] (  3,  6   )     ref  ->   x0         single-def "argument with side effect"
 ;  V39 tmp33        [V39,T02] (  3, 18   )     ref  ->   x0         "argument with side effect"
 ;  V40 tmp34        [V40,T17] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V41 PSPSym       [V41,T35] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
 ;  V42 cse0         [V42,T31] (  3,  6   )     ref  ->   x1         "CSE #06: moderate"
 ;  V43 cse1         [V43,T18] (  7, 10.50)    long  ->  x20         multi-def "CSE #01: moderate"
 ;  V44 rat0         [V44,T01] (  5, 30   )     ref  ->  x21         "replacement local"
 ;  V45 rat1         [V45,T20] (  3, 10   )    long  ->   x2         "CSE for expectedClsNode"
 ;
 ; Lcl frame size = 24
 
 G_M374_IG01:
             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, #80
             str     x2, [fp, #0x20]	// [V41 PSPSym]
             mov     x19, x0
 						;; size=32 bbWeight=1 PerfScore 6.50
 G_M374_IG02:
             mov     x0, x1
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeTypeDeclaration:get_Members():System.CodeDom.CodeTypeMemberCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x0, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x58]
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             str     x1, [fp, #0x18]	// [V02 loc0]
 						;; size=56 bbWeight=1 PerfScore 23.50
 G_M374_IG03:
             mov     x0, x1
             movz    x20, #0xD1FFAB1E
             movk    x20, #0xD1FFAB1E LSL #16
             movk    x20, #0xD1FFAB1E LSL #32
             mov     x11, x20
             ldr     xip0, [x11]
             blr     xip0
             cbz     w0, G_M374_IG18
 						;; size=32 bbWeight=1 PerfScore 7.50
 G_M374_IG04:
             ldr     x0, [fp, #0x18]	// [V02 loc0]
             add     x11, x20, #8
             ldr     xip0, [x11]
             blr     xip0
             mov     x21, x0
             cbz     x21, G_M374_IG07
 						;; size=24 bbWeight=4 PerfScore 32.00
 G_M374_IG05:
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x1, [x21]
             cmp     x1, x2
             beq     G_M374_IG07
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M374_IG06:
             mov     x1, x0
             mov     x0, x2
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x21, x0
 						;; size=32 bbWeight=1 PerfScore 7.00
 G_M374_IG07:
             mov     x1, x21
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M374_IG17
 						;; size=40 bbWeight=4 PerfScore 34.00
 G_M374_IG08:
             add     x14, x19, #32
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x10]
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.CodeGeneratorOptions:get_BlankLinesBetweenMembers():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cbz     w0, G_M374_IG09
             ldr     x22, [x19, #0x08]
             mov     x0, x22
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:OutputTabs():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x22, #0x20]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x60]
             ldr     x1, [x1, #0x10]
             blr     x1
             mov     w0, #1
             strb    w0, [x22, #0x34]
 						;; size=104 bbWeight=2 PerfScore 82.00
 G_M374_IG09:
             ldr     x22, [x19, #0x20]
             ldr     x0, [x22, #0x20]
             cbnz    x0, G_M374_IG10
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #32
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x23
-						;; size=100 bbWeight=2 PerfScore 46.00
+						;; size=96 bbWeight=2 PerfScore 45.00
 G_M374_IG10:
             movz    x1, #0xD1FFAB1E      // code for System.Collections.CollectionBase:get_Count():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cmp     w0, #0
             ble     G_M374_IG12
             ldr     x22, [x19, #0x20]
             ldr     x1, [x22, #0x20]
             cbnz    x1, G_M374_IG11
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #32
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x23
-						;; size=132 bbWeight=2 PerfScore 66.00
+						;; size=128 bbWeight=2 PerfScore 65.00
 G_M374_IG11:
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateDirectives(System.CodeDom.CodeDirectiveCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M374_IG12:
             ldr     x1, [x19, #0x20]
             ldr     x1, [x1, #0x38]
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateCommentStatements(System.CodeDom.CodeCommentStatementCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             ldr     x1, [x21, #0x30]
             cbz     x1, G_M374_IG13
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateLinePragmaStart(System.CodeDom.CodeLinePragma):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=64 bbWeight=2 PerfScore 44.00
 G_M374_IG13:
             mov     x0, x19
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateField(System.CodeDom.CodeMemberField):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             ldr     x0, [x21, #0x30]
             cbz     x0, G_M374_IG14
             mov     x0, x19
             movz    x1, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateLinePragmaEnd():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
 						;; size=60 bbWeight=2 PerfScore 33.00
 G_M374_IG14:
             ldr     x21, [x19, #0x20]
             ldr     x0, [x21, #0x28]
             cbnz    x0, G_M374_IG15
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x22, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x21, #40
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x22
-						;; size=100 bbWeight=2 PerfScore 46.00
+						;; size=96 bbWeight=2 PerfScore 45.00
 G_M374_IG15:
             movz    x1, #0xD1FFAB1E      // code for System.Collections.CollectionBase:get_Count():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cmp     w0, #0
             ble     G_M374_IG17
             ldr     x21, [x19, #0x20]
             ldr     x1, [x21, #0x28]
             cbnz    x1, G_M374_IG16
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x22, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x21, #40
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x22
-						;; size=132 bbWeight=2 PerfScore 66.00
+						;; size=128 bbWeight=2 PerfScore 65.00
 G_M374_IG16:
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateDirectives(System.CodeDom.CodeDirectiveCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M374_IG17:
             ldr     x0, [fp, #0x18]	// [V02 loc0]
             mov     x11, x20
             ldr     xip0, [x11]
             blr     xip0
             cbnz    w0, G_M374_IG04
 						;; size=20 bbWeight=4 PerfScore 30.00
 G_M374_IG18:
             ldr     x1, [fp, #0x18]	// [V02 loc0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M374_IG20
 						;; size=40 bbWeight=1 PerfScore 10.00
 G_M374_IG19:
             add     x11, x20, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=12 bbWeight=0.50 PerfScore 2.25
 G_M374_IG20:
             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_M374_IG21:
             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_M374_IG22:
             ldr     x1, [fp, #0x18]	// [V02 loc0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M374_IG23
             movz    x20, #0xD1FFAB1E
             movk    x20, #0xD1FFAB1E LSL #16
             movk    x20, #0xD1FFAB1E LSL #32
             add     x11, x20, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=64 bbWeight=0 PerfScore 0.00
 G_M374_IG23:
             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 1180, prolog size 32, PerfScore 577.75, instruction count 295, allocated bytes for code 1180 (MethodHash=9e32fe89) for method Microsoft.CSharp.CSharpCodeGenerator:GenerateFields(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
+; Total bytes of code 1164, prolog size 32, PerfScore 573.75, instruction count 291, allocated bytes for code 1164 (MethodHash=9e32fe89) for method Microsoft.CSharp.CSharpCodeGenerator:GenerateFields(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
-16 (-1.20 % of base) - Microsoft.CSharp.CSharpCodeGenerator:GenerateMethods(System.CodeDom.CodeTypeDeclaration):this
 ; Assembly listing for method Microsoft.CSharp.CSharpCodeGenerator:GenerateMethods(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 32 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 17, 32   )     ref  ->  x19         this class-hnd single-def <Microsoft.CSharp.CSharpCodeGenerator>
 ;  V01 arg1         [V01,T32] (  3,  3   )     ref  ->   x1         class-hnd single-def <System.CodeDom.CodeTypeDeclaration>
 ;  V02 loc0         [V02,T20] (  6, 10   )     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
 ;  V03 loc1         [V03,T02] (  7, 18   )     ref  ->  x21         class-hnd <System.CodeDom.CodeTypeMember>
 ;  V04 loc2         [V04,T09] (  5, 10   )     ref  ->  x22         class-hnd <System.CodeDom.CodeMemberMethod>
 ;  V05 loc3         [V05,T35] (  6,  2.50)     ref  ->   x0         class-hnd <System.IDisposable>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T33] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeMemberCollection>
 ;  V08 tmp2         [V08,T04] (  4, 16   )     ref  ->  x22         class-hnd exact "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V09 tmp3         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V10 tmp4         [V10,T10] (  3, 12   )     ref  ->  x22         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V11 tmp5         [V11,T26] (  2,  8   )     ref  ->   x0         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V12 tmp6         [V12,T22] (  4,  8   )     ref  ->   x0        
 ;  V13 tmp7         [V13,T05] (  4, 16   )     ref  ->  x23         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V14 tmp8         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V15 tmp9         [V15,T11] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V16 tmp10        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V17 tmp11        [V17,T12] (  3, 12   )     ref  ->  x22         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V18 tmp12        [V18,T27] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V19 tmp13        [V19,T23] (  4,  8   )     ref  ->   x1        
 ;  V20 tmp14        [V20,T06] (  4, 16   )     ref  ->  x23         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V21 tmp15        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V22 tmp16        [V22,T13] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V23 tmp17        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;* V24 tmp18        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V25 tmp19        [V25,T14] (  3, 12   )     ref  ->  x21         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V26 tmp20        [V26,T28] (  2,  8   )     ref  ->   x0         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V27 tmp21        [V27,T24] (  4,  8   )     ref  ->   x0        
 ;  V28 tmp22        [V28,T07] (  4, 16   )     ref  ->  x22         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V29 tmp23        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V30 tmp24        [V30,T15] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V31 tmp25        [V31    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V32 tmp26        [V32,T16] (  3, 12   )     ref  ->  x21         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V33 tmp27        [V33,T29] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V34 tmp28        [V34,T25] (  4,  8   )     ref  ->   x1        
 ;  V35 tmp29        [V35,T08] (  4, 16   )     ref  ->  x22         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V36 tmp30        [V36    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V37 tmp31        [V37,T17] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;  V38 tmp32        [V38,T30] (  3,  6   )     ref  ->   x0         single-def "argument with side effect"
 ;  V39 tmp33        [V39,T03] (  3, 18   )     ref  ->   x0         "argument with side effect"
 ;  V40 tmp34        [V40,T18] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;* V41 tmp35        [V41,T34] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
 ;  V42 PSPSym       [V42,T36] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
 ;  V43 cse0         [V43,T31] (  3,  6   )     ref  ->   x1         "CSE #06: moderate"
 ;  V44 cse1         [V44,T19] (  7, 10.50)    long  ->  x20         multi-def "CSE #01: moderate"
 ;  V45 rat0         [V45,T01] (  5, 30   )     ref  ->  x21         "replacement local"
 ;  V46 rat1         [V46,T21] (  3, 10   )    long  ->   x2         "CSE for expectedClsNode"
 ;
 ; Lcl frame size = 24
 
 G_M46635_IG01:
             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, #80
             str     x2, [fp, #0x20]	// [V42 PSPSym]
             mov     x19, x0
 						;; size=32 bbWeight=1 PerfScore 6.50
 G_M46635_IG02:
             mov     x0, x1
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeTypeDeclaration:get_Members():System.CodeDom.CodeTypeMemberCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x0, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x58]
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             str     x1, [fp, #0x18]	// [V02 loc0]
 						;; size=56 bbWeight=1 PerfScore 23.50
 G_M46635_IG03:
             mov     x0, x1
             movz    x20, #0xD1FFAB1E
             movk    x20, #0xD1FFAB1E LSL #16
             movk    x20, #0xD1FFAB1E LSL #32
             mov     x11, x20
             ldr     xip0, [x11]
             blr     xip0
             cbz     w0, G_M46635_IG20
 						;; size=32 bbWeight=1 PerfScore 7.50
 G_M46635_IG04:
             ldr     x0, [fp, #0x18]	// [V02 loc0]
             add     x11, x20, #8
             ldr     xip0, [x11]
             blr     xip0
             mov     x21, x0
             cbz     x21, G_M46635_IG07
 						;; size=24 bbWeight=4 PerfScore 32.00
 G_M46635_IG05:
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x1, [x21]
             cmp     x1, x2
             beq     G_M46635_IG07
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M46635_IG06:
             mov     x1, x0
             mov     x0, x2
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x21, x0
 						;; size=32 bbWeight=1 PerfScore 7.00
 G_M46635_IG07:
             mov     x1, x21
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M46635_IG19
 						;; size=40 bbWeight=4 PerfScore 34.00
 G_M46635_IG08:
             mov     x1, x21
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbnz    x0, G_M46635_IG19
             mov     x1, x21
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbnz    x0, G_M46635_IG19
             add     x14, x19, #32
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x10]
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.CodeGeneratorOptions:get_BlankLinesBetweenMembers():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cbz     w0, G_M46635_IG09
             ldr     x22, [x19, #0x08]
             mov     x0, x22
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:OutputTabs():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x22, #0x20]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x60]
             ldr     x1, [x1, #0x10]
             blr     x1
             mov     w0, #1
             strb    w0, [x22, #0x34]
 						;; size=184 bbWeight=2 PerfScore 116.00
 G_M46635_IG09:
             ldr     x22, [x19, #0x20]
             ldr     x0, [x22, #0x20]
             cbnz    x0, G_M46635_IG10
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #32
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x23
-						;; size=100 bbWeight=2 PerfScore 46.00
+						;; size=96 bbWeight=2 PerfScore 45.00
 G_M46635_IG10:
             movz    x1, #0xD1FFAB1E      // code for System.Collections.CollectionBase:get_Count():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cmp     w0, #0
             ble     G_M46635_IG12
             ldr     x22, [x19, #0x20]
             ldr     x1, [x22, #0x20]
             cbnz    x1, G_M46635_IG11
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #32
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x23
-						;; size=132 bbWeight=2 PerfScore 66.00
+						;; size=128 bbWeight=2 PerfScore 65.00
 G_M46635_IG11:
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateDirectives(System.CodeDom.CodeDirectiveCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M46635_IG12:
             ldr     x1, [x19, #0x20]
             ldr     x1, [x1, #0x38]
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateCommentStatements(System.CodeDom.CodeCommentStatementCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x22, x21
             ldr     x1, [x21, #0x30]
             cbz     x1, G_M46635_IG13
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateLinePragmaStart(System.CodeDom.CodeLinePragma):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=68 bbWeight=2 PerfScore 45.00
 G_M46635_IG13:
             mov     x1, x22
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbnz    x0, G_M46635_IG14
             mov     x0, x19
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateMethod(System.CodeDom.CodeMemberMethod):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             b       G_M46635_IG15
 						;; size=72 bbWeight=2 PerfScore 32.00
 G_M46635_IG14:
             mov     x1, x22
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateEntryPointMethod(System.CodeDom.CodeEntryPointMethod):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=28 bbWeight=2 PerfScore 13.00
 G_M46635_IG15:
             ldr     x0, [x22, #0x30]
             cbz     x0, G_M46635_IG16
             mov     x0, x19
             movz    x1, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateLinePragmaEnd():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
 						;; size=32 bbWeight=2 PerfScore 20.00
 G_M46635_IG16:
             ldr     x21, [x19, #0x20]
             ldr     x0, [x21, #0x28]
             cbnz    x0, G_M46635_IG17
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x22, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x21, #40
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x22
-						;; size=100 bbWeight=2 PerfScore 46.00
+						;; size=96 bbWeight=2 PerfScore 45.00
 G_M46635_IG17:
             movz    x1, #0xD1FFAB1E      // code for System.Collections.CollectionBase:get_Count():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cmp     w0, #0
             ble     G_M46635_IG19
             ldr     x21, [x19, #0x20]
             ldr     x1, [x21, #0x28]
             cbnz    x1, G_M46635_IG18
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x22, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x21, #40
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x22
-						;; size=132 bbWeight=2 PerfScore 66.00
+						;; size=128 bbWeight=2 PerfScore 65.00
 G_M46635_IG18:
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateDirectives(System.CodeDom.CodeDirectiveCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M46635_IG19:
             ldr     x0, [fp, #0x18]	// [V02 loc0]
             mov     x11, x20
             ldr     xip0, [x11]
             blr     xip0
             cbnz    w0, G_M46635_IG04
 						;; size=20 bbWeight=4 PerfScore 30.00
 G_M46635_IG20:
             ldr     x1, [fp, #0x18]	// [V02 loc0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M46635_IG22
 						;; size=40 bbWeight=1 PerfScore 10.00
 G_M46635_IG21:
             add     x11, x20, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=12 bbWeight=0.50 PerfScore 2.25
 G_M46635_IG22:
             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_M46635_IG23:
             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_M46635_IG24:
             ldr     x1, [fp, #0x18]	// [V02 loc0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M46635_IG25
             movz    x20, #0xD1FFAB1E
             movk    x20, #0xD1FFAB1E LSL #16
             movk    x20, #0xD1FFAB1E LSL #32
             add     x11, x20, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=64 bbWeight=0 PerfScore 0.00
 G_M46635_IG25:
             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 1336, prolog size 32, PerfScore 644.75, instruction count 334, allocated bytes for code 1336 (MethodHash=d7a349d4) for method Microsoft.CSharp.CSharpCodeGenerator:GenerateMethods(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
+; Total bytes of code 1320, prolog size 32, PerfScore 640.75, instruction count 330, allocated bytes for code 1320 (MethodHash=d7a349d4) for method Microsoft.CSharp.CSharpCodeGenerator:GenerateMethods(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
-16 (-0.61 % of base) - Microsoft.CSharp.CSharpCodeGenerator:GeneratePrimitiveExpression(System.CodeDom.CodePrimitiveExpression):this
 ; Assembly listing for method Microsoft.CSharp.CSharpCodeGenerator:GeneratePrimitiveExpression(System.CodeDom.CodePrimitiveExpression):this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 79 single block inlinees; 12 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] ( 21, 11.50)     ref  ->  x19         this class-hnd single-def <Microsoft.CSharp.CSharpCodeGenerator>
 ;  V01 arg1         [V01,T04] (  4,  3   )     ref  ->  x20         class-hnd single-def <System.CodeDom.CodePrimitiveExpression>
 ;  V02 loc0         [V02,T109] (  2,  1   )    byte  ->  x22         ld-addr-op single-def
 ;* V03 loc1         [V03    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op
 ;* V04 loc2         [V04    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op
 ;* V05 loc3         [V05    ] (  0,  0   )    long  ->  zero-ref    ld-addr-op
 ;* V06 loc4         [V06    ] (  0,  0   )   ubyte  ->  zero-ref    ld-addr-op
 ;  V07 loc5         [V07,T110] (  2,  1   )   short  ->  x22         ld-addr-op single-def
 ;  V08 loc6         [V08,T58] (  4,  2   )     int  ->  x22         ld-addr-op single-def
 ;  V09 loc7         [V09,T59] (  4,  2   )    long  ->  x22         ld-addr-op single-def
 ;# V10 OutArgs      [V10    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V11 tmp1         [V11,T03] (  3,  4.50)     ref  ->   x1         single-def "ISINST eval op1"
 ;* V12 tmp2         [V12,T83] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.Char>
 ;  V13 tmp3         [V13,T07] (  3,  2.50)     ref  ->   x1         single-def "ISINST eval op1"
 ;* V14 tmp4         [V14,T84] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.SByte>
 ;  V15 tmp5         [V15,T08] (  3,  2.50)     ref  ->   x1         single-def "ISINST eval op1"
 ;* V16 tmp6         [V16,T85] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.UInt16>
 ;  V17 tmp7         [V17,T09] (  3,  2.50)     ref  ->   x1         single-def "ISINST eval op1"
 ;* V18 tmp8         [V18,T86] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.UInt32>
 ;  V19 tmp9         [V19,T10] (  3,  2.50)     ref  ->   x1         single-def "ISINST eval op1"
 ;* V20 tmp10        [V20,T13] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.UInt64>
 ;* V21 tmp11        [V21,T60] (  0,  0   )     ref  ->  zero-ref    single-def "ISINST eval op1"
 ;* V22 tmp12        [V22,T61] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.String>
 ;* V23 tmp13        [V23,T62] (  0,  0   )     ref  ->  zero-ref    single-def "ISINST eval op1"
 ;* V24 tmp14        [V24,T63] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.Byte>
 ;* V25 tmp15        [V25,T64] (  0,  0   )     ref  ->  zero-ref    single-def "ISINST eval op1"
 ;* V26 tmp16        [V26,T65] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.Int16>
 ;* V27 tmp17        [V27,T66] (  0,  0   )     ref  ->  zero-ref    single-def "ISINST eval op1"
 ;* V28 tmp18        [V28,T67] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.Int32>
 ;* V29 tmp19        [V29,T68] (  0,  0   )     ref  ->  zero-ref    single-def "ISINST eval op1"
 ;* V30 tmp20        [V30,T69] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.Int64>
 ;  V31 tmp21        [V31,T14] (  2,  2   )     ref  ->   x1         single-def "ISINST eval op1"
 ;* V32 tmp22        [V32,T87] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.Single>
 ;  V33 tmp23        [V33,T15] (  2,  2   )     ref  ->   x1         single-def "ISINST eval op1"
 ;* V34 tmp24        [V34,T88] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.Double>
 ;  V35 tmp25        [V35,T16] (  2,  2   )     ref  ->   x1         single-def "ISINST eval op1"
 ;* V36 tmp26        [V36,T89] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.Decimal>
 ;  V37 tmp27        [V37,T17] (  2,  2   )     ref  ->   x1         single-def "ISINST eval op1"
 ;* V38 tmp28        [V38,T103] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <System.Boolean>
 ;  V39 tmp29        [V39,T112] (  2,  0   )     ref  ->  x19         class-hnd exact single-def "impAppendStmt" <System.String>
 ;  V40 tmp30        [V40,T111] (  3,  0   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.ArgumentException>
 ;  V41 tmp31        [V41,T46] (  3,  2.50)     ref  ->  x21         single-def "inline UNBOX clone1"
 ;  V42 tmp32        [V42,T11] (  4,  3.50)     ref  ->  x21         single-def "inline UNBOX clone1"
 ;  V43 tmp33        [V43,T47] (  3,  2.50)     ref  ->  x21         single-def "inline UNBOX clone1"
 ;  V44 tmp34        [V44,T48] (  3,  2.50)     ref  ->  x21         single-def "inline UNBOX clone1"
 ;  V45 tmp35        [V45,T18] (  3,  3   )     ref  ->  x19         class-hnd exact single-def "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;  V46 tmp36        [V46,T49] (  3,  2.50)     ref  ->  x21         single-def "inline UNBOX clone1"
 ;  V47 tmp37        [V47,T19] (  3,  3   )     ref  ->  x19         class-hnd exact single-def "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;  V48 tmp38        [V48,T50] (  3,  2.50)     ref  ->  x21         single-def "inline UNBOX clone1"
 ;  V49 tmp39        [V49,T20] (  3,  3   )     ref  ->  x19         class-hnd exact single-def "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;  V50 tmp40        [V50,T51] (  3,  2.50)     ref  ->  x21         single-def "inline UNBOX clone1"
 ;  V51 tmp41        [V51,T21] (  3,  3   )     ref  ->  x19         class-hnd exact single-def "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;  V52 tmp42        [V52,T52] (  3,  2.50)     ref  ->  x21         single-def "inline UNBOX clone1"
 ;  V53 tmp43        [V53,T22] (  3,  3   )     ref  ->  x22         class-hnd exact single-def "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;  V54 tmp44        [V54,T23] (  3,  3   )     ref  ->  x20         class-hnd exact single-def "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;  V55 tmp45        [V55,T24] (  3,  3   )     ref  ->  x20         class-hnd exact single-def "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;  V56 tmp46        [V56,T53] (  3,  2.50)     ref  ->  x21         single-def "inline UNBOX clone1"
 ;  V57 tmp47        [V57,T25] (  3,  3   )     ref  ->  x20         class-hnd exact single-def "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;  V58 tmp48        [V58,T54] (  3,  2.50)     ref  ->  x21         single-def "inline UNBOX clone1"
 ;  V59 tmp49        [V59,T26] (  3,  3   )     ref  ->  x19         class-hnd exact single-def "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;  V60 tmp50        [V60,T55] (  3,  2.50)     ref  ->  x21         single-def "inline UNBOX clone1"
 ;  V61 tmp51        [V61,T27] (  3,  3   )     ref  ->  x19         class-hnd exact single-def "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;  V62 tmp52        [V62,T56] (  3,  2.50)     ref  ->  x21         single-def "inline UNBOX clone1"
 ;  V63 tmp53        [V63,T57] (  3,  2.50)     ref  ->  x21         single-def "inline UNBOX clone1"
 ;  V64 tmp54        [V64,T70] (  2,  2   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Globalization.CultureInfo>
 ;  V65 tmp55        [V65,T90] (  3,  1.50)     ref  ->  x20         class-hnd "Inline return value spill temp" <System.String>
 ;  V66 tmp56        [V66,T05] (  4,  4   )     int  ->  x22         "Inlining Arg"
 ;* V67 tmp57        [V67    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V68 tmp58        [V68,T105] (  2,  1   )     ref  ->   x0         class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
 ;  V69 tmp59        [V69,T71] (  2,  2   )     ref  ->  x22         class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V70 tmp60        [V70,T72] (  2,  2   )     ref  ->  x22         class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V71 tmp61        [V71,T28] (  3,  3   )     ref  ->  x19         class-hnd exact single-def "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;  V72 tmp62        [V72,T73] (  2,  2   )     ref  ->  x22         class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V73 tmp63        [V73,T29] (  3,  3   )     ref  ->  x19         class-hnd exact single-def "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;  V74 tmp64        [V74,T74] (  2,  2   )     ref  ->  x19         class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V75 tmp65        [V75,T75] (  2,  2   )     ref  ->  x22         class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V76 tmp66        [V76,T76] (  2,  2   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Globalization.CultureInfo>
 ;  V77 tmp67        [V77,T91] (  3,  1.50)     ref  ->  x20         class-hnd "Inline return value spill temp" <System.String>
 ;  V78 tmp68        [V78,T06] (  4,  4   )     int  ->  x22         "Inlining Arg"
 ;* V79 tmp69        [V79    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V80 tmp70        [V80,T106] (  2,  1   )     ref  ->   x0         class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
 ;  V81 tmp71        [V81,T77] (  2,  2   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Globalization.CultureInfo>
 ;  V82 tmp72        [V82,T92] (  3,  1.50)     ref  ->  x20         class-hnd "Inline return value spill temp" <System.String>
 ;* V83 tmp73        [V83    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V84 tmp74        [V84    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V85 tmp75        [V85,T107] (  2,  1   )     ref  ->   x0         class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
 ;  V86 tmp76        [V86,T78] (  2,  2   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <System.Globalization.CultureInfo>
 ;  V87 tmp77        [V87,T93] (  3,  1.50)     ref  ->  x20         class-hnd "Inline return value spill temp" <System.String>
 ;* V88 tmp78        [V88    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V89 tmp79        [V89    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V90 tmp80        [V90,T108] (  2,  1   )     ref  ->   x0         class-hnd "Inline return value spill temp" <System.Globalization.NumberFormatInfo>
 ;  V91 tmp81        [V91,T30] (  3,  3   )     ref  ->  x19         class-hnd exact single-def "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;  V92 tmp82        [V92,T31] (  3,  3   )     ref  ->  x19         class-hnd exact single-def "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;  V93 tmp83        [V93,T113] (  2,  0   )     ref  ->   x1         single-def "argument with side effect"
 ;  V94 tmp84        [V94,T114] (  2,  0   )     ref  ->  x19         single-def "argument with side effect"
 ;  V95 tmp85        [V95,T115] (  2,  0   )     ref  ->   x2         single-def "argument with side effect"
 ;  V96 tmp86        [V96,T32] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
 ;  V97 tmp87        [V97,T33] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
 ;  V98 tmp88        [V98,T34] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
 ;  V99 tmp89        [V99,T35] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
 ;  V100 tmp90       [V100,T36] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
 ;  V101 tmp91       [V101,T37] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
 ;  V102 tmp92       [V102,T79] (  2,  2   )     ref  ->   x1         single-def "argument with side effect"
 ;  V103 tmp93       [V103,T38] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
 ;  V104 tmp94       [V104,T39] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
 ;  V105 tmp95       [V105,T40] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
 ;  V106 tmp96       [V106,T41] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
 ;  V107 tmp97       [V107,T42] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
 ;  V108 tmp98       [V108,T43] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
 ;  V109 tmp99       [V109,T44] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
 ;  V110 tmp100      [V110,T45] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
 ;  V111 cse0        [V111,T00] ( 25, 13   )     ref  ->  x21         "CSE #01: aggressive"
 ;  V112 cse1        [V112,T02] ( 32, 12.50)    long  ->  x22         multi-def "CSE #02: aggressive"
 ;  V113 cse2        [V113,T94] (  4,  1.25)    long  ->   x0         "CSE #03: conservative"
 ;  V114 cse3        [V114,T95] (  4,  1.25)    long  ->   x0         "CSE #04: conservative"
 ;  V115 cse4        [V115,T96] (  4,  1.25)    long  ->   x0         "CSE #06: conservative"
 ;  V116 cse5        [V116,T97] (  4,  1.25)    long  ->   x0         "CSE #08: conservative"
 ;  V117 cse6        [V117,T98] (  4,  1.25)    long  ->   x0         "CSE #09: conservative"
 ;  V118 cse7        [V118,T80] (  4,  1.75)    long  ->   x0         "CSE #10: conservative"
 ;  V119 cse8        [V119,T81] (  4,  1.75)    long  ->   x0         "CSE #11: conservative"
 ;  V120 cse9        [V120,T82] (  4,  1.75)    long  ->   x0         "CSE #14: conservative"
 ;  V121 cse10       [V121,T99] (  4,  1.25)    long  ->   x0         "CSE #18: conservative"
 ;  V122 cse11       [V122,T100] (  4,  1.25)    long  ->   x0         "CSE #19: conservative"
 ;  V123 cse12       [V123,T101] (  4,  1.25)    long  ->   x0         "CSE #20: conservative"
 ;  V124 cse13       [V124,T102] (  4,  1.25)    long  ->   x0         "CSE #21: conservative"
 ;  V125 rat0        [V125,T12] (  4,  3.50)     ref  ->   x1         "replacement local"
 ;  V126 rat1        [V126,T104] (  3,  1   )    long  ->   x0         "CSE for expectedClsNode"
 ;
 ; Lcl frame size = 0
 
 G_M59103_IG01:
             stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x10]
             stp     x21, x22, [sp, #0x20]
             mov     fp, sp
             mov     x19, x0
             mov     x20, x1
 						;; size=24 bbWeight=1 PerfScore 4.50
 G_M59103_IG02:
             ldr     x1, [x20, #0x10]
             mov     x21, x1
             cbz     x1, G_M59103_IG07
 						;; size=12 bbWeight=1 PerfScore 4.50
 G_M59103_IG03:
             ldr     x22, [x1]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             cmp     x22, x0
             bne     G_M59103_IG07
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M59103_IG04:
             cmp     x22, x0
             beq     G_M59103_IG06
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M59103_IG05:
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_UNBOX
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M59103_IG06:
             ldrh    w1, [x21, #0x08]
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GeneratePrimitiveChar(ushort):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             b       G_M59103_IG72
 						;; size=32 bbWeight=0.50 PerfScore 5.00
 G_M59103_IG07:
             mov     x1, x21
             cbz     x1, G_M59103_IG14
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M59103_IG08:
             ldr     x22, [x1]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             cmp     x22, x0
             bne     G_M59103_IG14
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M59103_IG09:
             ldr     x19, [x19, #0x08]
             cmp     x22, x0
             beq     G_M59103_IG11
 						;; size=12 bbWeight=0.50 PerfScore 2.25
 G_M59103_IG10:
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_UNBOX
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M59103_IG11:
             ldrsb   w22, [x21, #0x08]
             movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             tbnz    w22, #31, G_M59103_IG12
             mov     w0, w22
             movz    x1, #0xD1FFAB1E      // code for System.Number:UInt32ToDecStr(uint):System.String
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x20, x0
             b       G_M59103_IG13
-						;; size=56 bbWeight=0.50 PerfScore 8.00
+						;; size=52 bbWeight=0.50 PerfScore 7.75
 G_M59103_IG12:
             movz    x1, #0xD1FFAB1E      // code for System.Globalization.NumberFormatInfo:<GetInstance>g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             ldr     x2, [x0, #0x28]
             mov     w0, w22
             movn    w1, #0
             movz    x3, #0xD1FFAB1E      // code for System.Number:NegativeInt32ToDecStr(int,int,System.String):System.String
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x20, x0
 						;; size=56 bbWeight=0.50 PerfScore 7.75
 G_M59103_IG13:
             mov     x0, x19
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:OutputTabs():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x19, #0x20]
             mov     x1, x20
             ldr     x2, [x0]
             ldr     x2, [x2, #0x58]
             ldr     x2, [x2, #0x10]
             blr     x2
             b       G_M59103_IG72
 						;; size=56 bbWeight=0.50 PerfScore 11.75
 G_M59103_IG14:
             mov     x1, x21
             cbz     x1, G_M59103_IG19
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M59103_IG15:
             ldr     x22, [x1]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             cmp     x22, x0
             bne     G_M59103_IG19
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M59103_IG16:
             ldr     x19, [x19, #0x08]
             cmp     x22, x0
             beq     G_M59103_IG18
 						;; size=12 bbWeight=0.50 PerfScore 2.25
 G_M59103_IG17:
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_UNBOX
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M59103_IG18:
             ldrh    w0, [x21, #0x08]
             movz    x1, #0xD1FFAB1E      // code for System.Number:UInt32ToDecStr(uint):System.String
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x22, x0
             mov     x0, x19
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:OutputTabs():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x19, #0x20]
             mov     x1, x22
             ldr     x2, [x0]
             ldr     x2, [x2, #0x58]
             ldr     x2, [x2, #0x10]
             blr     x2
             b       G_M59103_IG72
 						;; size=84 bbWeight=0.50 PerfScore 16.25
 G_M59103_IG19:
             mov     x1, x21
             cbz     x1, G_M59103_IG24
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M59103_IG20:
             ldr     x22, [x1]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             cmp     x22, x0
             bne     G_M59103_IG24
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M59103_IG21:
             ldr     x20, [x19, #0x08]
             cmp     x22, x0
             beq     G_M59103_IG23
 						;; size=12 bbWeight=0.50 PerfScore 2.25
 G_M59103_IG22:
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_UNBOX
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M59103_IG23:
             ldr     w0, [x21, #0x08]
             movz    x1, #0xD1FFAB1E      // code for System.Number:UInt32ToDecStr(uint):System.String
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x22, x0
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:OutputTabs():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x20, #0x20]
             mov     x1, x22
             ldr     x2, [x0]
             ldr     x2, [x2, #0x58]
             ldr     x2, [x2, #0x10]
             blr     x2
             ldr     x19, [x19, #0x08]
             mov     x0, x19
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:OutputTabs():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x19, #0x20]
             mov     w1, #117
             ldr     x2, [x0]
             ldr     x2, [x2, #0x48]
             ldr     x2, [x2, #0x30]
             blr     x2
             b       G_M59103_IG72
 						;; size=140 bbWeight=0.50 PerfScore 29.00
 G_M59103_IG24:
             mov     x1, x21
             cbz     x1, G_M59103_IG71
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M59103_IG25:
             ldr     x22, [x1]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             cmp     x22, x0
             bne     G_M59103_IG29
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M59103_IG26:
             ldr     x20, [x19, #0x08]
             cmp     x22, x0
             beq     G_M59103_IG28
 						;; size=12 bbWeight=0.50 PerfScore 2.25
 G_M59103_IG27:
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_UNBOX
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M59103_IG28:
             ldr     x0, [x21, #0x08]
             movz    x1, #0xD1FFAB1E      // code for System.Number:UInt64ToDecStr(ulong):System.String
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x22, x0
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:OutputTabs():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x20, #0x20]
             mov     x1, x22
             ldr     x2, [x0]
             ldr     x2, [x2, #0x58]
             ldr     x2, [x2, #0x10]
             blr     x2
             ldr     x19, [x19, #0x08]
             mov     x0, x19
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:OutputTabs():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x19, #0x20]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x2, [x0]
             ldr     x2, [x2, #0x58]
             ldr     x2, [x2, #0x10]
             blr     x2
             b       G_M59103_IG72
 						;; size=148 bbWeight=0.50 PerfScore 29.50
 G_M59103_IG29:
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x22, x1
             bne     G_M59103_IG32
             ldr     x22, [x19, #0x08]
             mov     x1, x21
             cbz     x1, G_M59103_IG31
 						;; size=32 bbWeight=0.50 PerfScore 3.75
 G_M59103_IG30:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x2, [x1]
             cmp     x2, x0
             bne     G_M59103_IG73
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M59103_IG31:
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:QuoteSnippetString(System.String):System.String:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x19, x0
             mov     x0, x22
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:OutputTabs():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x22, #0x20]
             mov     x1, x19
             ldr     x2, [x0]
             ldr     x2, [x2, #0x58]
             ldr     x2, [x2, #0x10]
             blr     x2
             b       G_M59103_IG72
 						;; size=84 bbWeight=0.50 PerfScore 15.00
 G_M59103_IG32:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             cmp     x22, x0
             bne     G_M59103_IG35
             ldr     x19, [x19, #0x08]
             cmp     x22, x0
             beq     G_M59103_IG34
 						;; size=32 bbWeight=0.50 PerfScore 3.75
 G_M59103_IG33:
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_UNBOX
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M59103_IG34:
             ldrb    w0, [x21, #0x08]
             movz    x1, #0xD1FFAB1E      // code for System.Number:UInt32ToDecStr(uint):System.String
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x22, x0
             mov     x0, x19
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:OutputTabs():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x19, #0x20]
             mov     x1, x22
             ldr     x2, [x0]
             ldr     x2, [x2, #0x58]
             ldr     x2, [x2, #0x10]
             blr     x2
             b       G_M59103_IG72
 						;; size=84 bbWeight=0.50 PerfScore 16.25
 G_M59103_IG35:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             cmp     x22, x0
             bne     G_M59103_IG40
             ldr     x19, [x19, #0x08]
             cmp     x22, x0
             beq     G_M59103_IG37
 						;; size=32 bbWeight=0.50 PerfScore 3.75
 G_M59103_IG36:
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_UNBOX
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M59103_IG37:
             ldrsh   w22, [x21, #0x08]
             movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             tbnz    w22, #31, G_M59103_IG38
             mov     w0, w22
             movz    x1, #0xD1FFAB1E      // code for System.Number:UInt32ToDecStr(uint):System.String
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x20, x0
             b       G_M59103_IG39
-						;; size=56 bbWeight=0.50 PerfScore 8.00
+						;; size=52 bbWeight=0.50 PerfScore 7.75
 G_M59103_IG38:
             movz    x1, #0xD1FFAB1E      // code for System.Globalization.NumberFormatInfo:<GetInstance>g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             ldr     x2, [x0, #0x28]
             mov     w0, w22
             movn    w1, #0
             movz    x3, #0xD1FFAB1E      // code for System.Number:NegativeInt32ToDecStr(int,int,System.String):System.String
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x20, x0
 						;; size=56 bbWeight=0.50 PerfScore 7.75
 G_M59103_IG39:
             mov     x0, x19
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:OutputTabs():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x19, #0x20]
             mov     x1, x20
             ldr     x2, [x0]
             ldr     x2, [x2, #0x58]
             ldr     x2, [x2, #0x10]
             blr     x2
             b       G_M59103_IG72
 						;; size=56 bbWeight=0.50 PerfScore 11.75
 G_M59103_IG40:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             cmp     x22, x0
             bne     G_M59103_IG45
             ldr     x19, [x19, #0x08]
             cmp     x22, x0
             beq     G_M59103_IG42
 						;; size=32 bbWeight=0.50 PerfScore 3.75
 G_M59103_IG41:
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_UNBOX
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M59103_IG42:
             ldr     w22, [x21, #0x08]
             movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             tbnz    w22, #31, G_M59103_IG43
             mov     w0, w22
             movz    x1, #0xD1FFAB1E      // code for System.Number:UInt32ToDecStr(uint):System.String
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x20, x0
             b       G_M59103_IG44
-						;; size=56 bbWeight=0.50 PerfScore 8.00
+						;; size=52 bbWeight=0.50 PerfScore 7.75
 G_M59103_IG43:
             movz    x1, #0xD1FFAB1E      // code for System.Globalization.NumberFormatInfo:<GetInstance>g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             ldr     x2, [x0, #0x28]
             mov     w0, w22
             movn    w1, #0
             movz    x3, #0xD1FFAB1E      // code for System.Number:NegativeInt32ToDecStr(int,int,System.String):System.String
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x20, x0
 						;; size=56 bbWeight=0.50 PerfScore 7.75
 G_M59103_IG44:
             mov     x0, x19
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:OutputTabs():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x19, #0x20]
             mov     x1, x20
             ldr     x2, [x0]
             ldr     x2, [x2, #0x58]
             ldr     x2, [x2, #0x10]
             blr     x2
             b       G_M59103_IG72
 						;; size=56 bbWeight=0.50 PerfScore 11.75
 G_M59103_IG45:
             movz    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x22, x1
             bne     G_M59103_IG50
             ldr     x19, [x19, #0x08]
             movz    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             cmp     x22, x1
             beq     G_M59103_IG47
 						;; size=36 bbWeight=0.50 PerfScore 4.00
 G_M59103_IG46:
             mov     x1, x21
             movz    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_UNBOX
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=32 bbWeight=0.25 PerfScore 1.75
 G_M59103_IG47:
             ldr     x22, [x21, #0x08]
             movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             tbnz    x22, #63, G_M59103_IG48
             mov     x0, x22
             movz    x1, #0xD1FFAB1E      // code for System.Number:UInt64ToDecStr(ulong):System.String
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x20, x0
             b       G_M59103_IG49
-						;; size=56 bbWeight=0.50 PerfScore 8.00
+						;; size=52 bbWeight=0.50 PerfScore 7.75
 G_M59103_IG48:
             movz    x1, #0xD1FFAB1E      // code for System.Globalization.NumberFormatInfo:<GetInstance>g__GetProviderNonNull|58_0(System.IFormatProvider):System.Globalization.NumberFormatInfo
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             ldr     x2, [x0, #0x28]
             mov     x0, x22
             movn    w1, #0
             movz    x3, #0xD1FFAB1E      // code for System.Number:NegativeInt64ToDecStr(long,int,System.String):System.String
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x20, x0
 						;; size=56 bbWeight=0.50 PerfScore 7.75
 G_M59103_IG49:
             mov     x0, x19
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:OutputTabs():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x19, #0x20]
             mov     x1, x20
             ldr     x2, [x0]
             ldr     x2, [x2, #0x58]
             ldr     x2, [x2, #0x10]
             blr     x2
             b       G_M59103_IG72
 						;; size=56 bbWeight=0.50 PerfScore 11.75
 G_M59103_IG50:
             mov     x1, x21
             cbz     x1, G_M59103_IG55
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M59103_IG51:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             cmp     x22, x0
             bne     G_M59103_IG55
 						;; size=20 bbWeight=0.25 PerfScore 0.75
 G_M59103_IG52:
             cmp     x22, x0
             beq     G_M59103_IG54
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M59103_IG53:
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_UNBOX
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M59103_IG54:
             ldr     s0, [x21, #0x08]
             mov     x0, x19
             movz    x1, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateSingleFloatValue(float):this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             b       G_M59103_IG72
 						;; size=32 bbWeight=0.50 PerfScore 5.00
 G_M59103_IG55:
             mov     x1, x21
             cbz     x1, G_M59103_IG60
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M59103_IG56:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             cmp     x22, x0
             bne     G_M59103_IG60
 						;; size=20 bbWeight=0.25 PerfScore 0.75
 G_M59103_IG57:
             cmp     x22, x0
             beq     G_M59103_IG59
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M59103_IG58:
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_UNBOX
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M59103_IG59:
             ldr     d0, [x21, #0x08]
             mov     x0, x19
             movz    x1, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateDoubleValue(double):this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             b       G_M59103_IG72
 						;; size=32 bbWeight=0.50 PerfScore 5.00
 G_M59103_IG60:
             mov     x1, x21
             cbz     x1, G_M59103_IG65
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M59103_IG61:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             cmp     x22, x0
             bne     G_M59103_IG65
 						;; size=20 bbWeight=0.25 PerfScore 0.75
 G_M59103_IG62:
             cmp     x22, x0
             beq     G_M59103_IG64
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M59103_IG63:
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_UNBOX
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M59103_IG64:
             ldr     x1, [x21, #0x08]
             add     x2, x21, #8
             ldr     x2, [x2, #0x08]
             mov     x0, x19
             movz    x3, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateDecimalValue(System.Decimal):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             b       G_M59103_IG72
 						;; size=40 bbWeight=0.50 PerfScore 6.75
 G_M59103_IG65:
             mov     x1, x21
             cbz     x1, G_M59103_IG74
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M59103_IG66:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             cmp     x22, x0
             bne     G_M59103_IG74
 						;; size=20 bbWeight=0.25 PerfScore 0.75
 G_M59103_IG67:
             cmp     x22, x0
             beq     G_M59103_IG69
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M59103_IG68:
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_UNBOX
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M59103_IG69:
             ldrb    w0, [x21, #0x08]
             cbnz    w0, G_M59103_IG70
             ldr     x19, [x19, #0x08]
             mov     x0, x19
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:OutputTabs():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x19, #0x20]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x2, [x0]
             ldr     x2, [x2, #0x58]
             ldr     x2, [x2, #0x10]
             blr     x2
             b       G_M59103_IG72
 						;; size=76 bbWeight=0.50 PerfScore 15.75
 G_M59103_IG70:
             ldr     x19, [x19, #0x08]
             mov     x0, x19
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:OutputTabs():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x19, #0x20]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x2, [x0]
             ldr     x2, [x2, #0x58]
             ldr     x2, [x2, #0x10]
             blr     x2
             b       G_M59103_IG72
 						;; size=68 bbWeight=0.50 PerfScore 13.75
 G_M59103_IG71:
             ldr     x20, [x19, #0x08]
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:OutputTabs():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x20, #0x20]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x2, [x0]
             ldr     x2, [x2, #0x58]
             ldr     x2, [x2, #0x10]
             blr     x2
 						;; size=64 bbWeight=0.50 PerfScore 13.25
 G_M59103_IG72:
             ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x30
             ret     lr
 						;; size=16 bbWeight=1 PerfScore 4.00
 G_M59103_IG73:
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             brk_unix #0
 						;; size=28 bbWeight=0 PerfScore 0.00
 G_M59103_IG74:
             movz    x0, #0xD1FFAB1E      // code for System.SR:get_InvalidPrimitiveType():System.String
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             blr     x0
             mov     x19, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x21, x0
             ldr     x0, [x20, #0x10]
             bl      System.Object:GetType():System.Type:this
             mov     x1, x0
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for System.SR:Format(System.String,System.Object):System.String
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x19, x0
             mov     w0, #0xD1FFAB1E
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_STRCNS
             mov     x2, x0
             mov     x1, x19
             mov     x0, x21
             movz    x3, #0xD1FFAB1E      // code for System.ArgumentException:.ctor(System.String,System.String):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x0, x21
             bl      CORINFO_HELP_THROW
             brk_unix #0
 						;; size=148 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 2644, prolog size 16, PerfScore 363.00, instruction count 661, allocated bytes for code 2644 (MethodHash=7ac21920) for method Microsoft.CSharp.CSharpCodeGenerator:GeneratePrimitiveExpression(System.CodeDom.CodePrimitiveExpression):this (FullOpts)
+; Total bytes of code 2628, prolog size 16, PerfScore 362.00, instruction count 657, allocated bytes for code 2628 (MethodHash=7ac21920) for method Microsoft.CSharp.CSharpCodeGenerator:GeneratePrimitiveExpression(System.CodeDom.CodePrimitiveExpression):this (FullOpts)
-16 (-1.36 % of base) - Microsoft.CSharp.CSharpCodeGenerator:GenerateProperties(System.CodeDom.CodeTypeDeclaration):this
 ; Assembly listing for method Microsoft.CSharp.CSharpCodeGenerator:GenerateProperties(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 32 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 16, 30   )     ref  ->  x19         this class-hnd single-def <Microsoft.CSharp.CSharpCodeGenerator>
 ;  V01 arg1         [V01,T32] (  3,  3   )     ref  ->   x1         class-hnd single-def <System.CodeDom.CodeTypeDeclaration>
 ;  V02 loc0         [V02,T19] (  6, 10   )     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
 ;  V03 loc1         [V03,T08] (  4, 12   )     ref  ->  x21         class-hnd <System.CodeDom.CodeTypeMember>
 ;  V04 loc2         [V04,T21] (  4,  8   )     ref  ->  x21         class-hnd <System.CodeDom.CodeMemberProperty>
 ;  V05 loc3         [V05,T34] (  6,  2.50)     ref  ->   x0         class-hnd <System.IDisposable>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T33] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeMemberCollection>
 ;  V08 tmp2         [V08,T03] (  4, 16   )     ref  ->  x22         class-hnd exact "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V09 tmp3         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V10 tmp4         [V10,T09] (  3, 12   )     ref  ->  x22         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V11 tmp5         [V11,T26] (  2,  8   )     ref  ->   x0         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V12 tmp6         [V12,T22] (  4,  8   )     ref  ->   x0        
 ;  V13 tmp7         [V13,T04] (  4, 16   )     ref  ->  x23         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V14 tmp8         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V15 tmp9         [V15,T10] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V16 tmp10        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V17 tmp11        [V17,T11] (  3, 12   )     ref  ->  x22         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V18 tmp12        [V18,T27] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V19 tmp13        [V19,T23] (  4,  8   )     ref  ->   x1        
 ;  V20 tmp14        [V20,T05] (  4, 16   )     ref  ->  x23         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V21 tmp15        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V22 tmp16        [V22,T12] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V23 tmp17        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;* V24 tmp18        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V25 tmp19        [V25,T13] (  3, 12   )     ref  ->  x21         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V26 tmp20        [V26,T28] (  2,  8   )     ref  ->   x0         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V27 tmp21        [V27,T24] (  4,  8   )     ref  ->   x0        
 ;  V28 tmp22        [V28,T06] (  4, 16   )     ref  ->  x22         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V29 tmp23        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V30 tmp24        [V30,T14] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V31 tmp25        [V31    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V32 tmp26        [V32,T15] (  3, 12   )     ref  ->  x21         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V33 tmp27        [V33,T29] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V34 tmp28        [V34,T25] (  4,  8   )     ref  ->   x1        
 ;  V35 tmp29        [V35,T07] (  4, 16   )     ref  ->  x22         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V36 tmp30        [V36    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V37 tmp31        [V37,T16] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;  V38 tmp32        [V38,T30] (  3,  6   )     ref  ->   x0         single-def "argument with side effect"
 ;  V39 tmp33        [V39,T02] (  3, 18   )     ref  ->   x0         "argument with side effect"
 ;  V40 tmp34        [V40,T17] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V41 PSPSym       [V41,T35] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
 ;  V42 cse0         [V42,T31] (  3,  6   )     ref  ->   x1         "CSE #06: moderate"
 ;  V43 cse1         [V43,T18] (  7, 10.50)    long  ->  x20         multi-def "CSE #01: moderate"
 ;  V44 rat0         [V44,T01] (  5, 30   )     ref  ->  x21         "replacement local"
 ;  V45 rat1         [V45,T20] (  3, 10   )    long  ->   x2         "CSE for expectedClsNode"
 ;
 ; Lcl frame size = 24
 
 G_M60262_IG01:
             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, #80
             str     x2, [fp, #0x20]	// [V41 PSPSym]
             mov     x19, x0
 						;; size=32 bbWeight=1 PerfScore 6.50
 G_M60262_IG02:
             mov     x0, x1
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeTypeDeclaration:get_Members():System.CodeDom.CodeTypeMemberCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x0, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x58]
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             str     x1, [fp, #0x18]	// [V02 loc0]
 						;; size=56 bbWeight=1 PerfScore 23.50
 G_M60262_IG03:
             mov     x0, x1
             movz    x20, #0xD1FFAB1E
             movk    x20, #0xD1FFAB1E LSL #16
             movk    x20, #0xD1FFAB1E LSL #32
             mov     x11, x20
             ldr     xip0, [x11]
             blr     xip0
             cbz     w0, G_M60262_IG18
 						;; size=32 bbWeight=1 PerfScore 7.50
 G_M60262_IG04:
             ldr     x0, [fp, #0x18]	// [V02 loc0]
             add     x11, x20, #8
             ldr     xip0, [x11]
             blr     xip0
             mov     x21, x0
             cbz     x21, G_M60262_IG07
 						;; size=24 bbWeight=4 PerfScore 32.00
 G_M60262_IG05:
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x1, [x21]
             cmp     x1, x2
             beq     G_M60262_IG07
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M60262_IG06:
             mov     x1, x0
             mov     x0, x2
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x21, x0
 						;; size=32 bbWeight=1 PerfScore 7.00
 G_M60262_IG07:
             mov     x1, x21
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M60262_IG17
 						;; size=40 bbWeight=4 PerfScore 34.00
 G_M60262_IG08:
             add     x14, x19, #32
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x10]
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.CodeGeneratorOptions:get_BlankLinesBetweenMembers():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cbz     w0, G_M60262_IG09
             ldr     x22, [x19, #0x08]
             mov     x0, x22
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:OutputTabs():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x22, #0x20]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x60]
             ldr     x1, [x1, #0x10]
             blr     x1
             mov     w0, #1
             strb    w0, [x22, #0x34]
 						;; size=104 bbWeight=2 PerfScore 82.00
 G_M60262_IG09:
             ldr     x22, [x19, #0x20]
             ldr     x0, [x22, #0x20]
             cbnz    x0, G_M60262_IG10
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #32
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x23
-						;; size=100 bbWeight=2 PerfScore 46.00
+						;; size=96 bbWeight=2 PerfScore 45.00
 G_M60262_IG10:
             movz    x1, #0xD1FFAB1E      // code for System.Collections.CollectionBase:get_Count():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cmp     w0, #0
             ble     G_M60262_IG12
             ldr     x22, [x19, #0x20]
             ldr     x1, [x22, #0x20]
             cbnz    x1, G_M60262_IG11
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #32
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x23
-						;; size=132 bbWeight=2 PerfScore 66.00
+						;; size=128 bbWeight=2 PerfScore 65.00
 G_M60262_IG11:
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateDirectives(System.CodeDom.CodeDirectiveCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M60262_IG12:
             ldr     x1, [x19, #0x20]
             ldr     x1, [x1, #0x38]
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateCommentStatements(System.CodeDom.CodeCommentStatementCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             ldr     x1, [x21, #0x30]
             cbz     x1, G_M60262_IG13
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateLinePragmaStart(System.CodeDom.CodeLinePragma):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=64 bbWeight=2 PerfScore 44.00
 G_M60262_IG13:
             mov     x0, x19
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateProperty(System.CodeDom.CodeMemberProperty):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             ldr     x0, [x21, #0x30]
             cbz     x0, G_M60262_IG14
             mov     x0, x19
             movz    x1, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateLinePragmaEnd():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
 						;; size=60 bbWeight=2 PerfScore 33.00
 G_M60262_IG14:
             ldr     x21, [x19, #0x20]
             ldr     x0, [x21, #0x28]
             cbnz    x0, G_M60262_IG15
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x22, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x21, #40
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x22
-						;; size=100 bbWeight=2 PerfScore 46.00
+						;; size=96 bbWeight=2 PerfScore 45.00
 G_M60262_IG15:
             movz    x1, #0xD1FFAB1E      // code for System.Collections.CollectionBase:get_Count():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cmp     w0, #0
             ble     G_M60262_IG17
             ldr     x21, [x19, #0x20]
             ldr     x1, [x21, #0x28]
             cbnz    x1, G_M60262_IG16
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x22, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x21, #40
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x22
-						;; size=132 bbWeight=2 PerfScore 66.00
+						;; size=128 bbWeight=2 PerfScore 65.00
 G_M60262_IG16:
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateDirectives(System.CodeDom.CodeDirectiveCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M60262_IG17:
             ldr     x0, [fp, #0x18]	// [V02 loc0]
             mov     x11, x20
             ldr     xip0, [x11]
             blr     xip0
             cbnz    w0, G_M60262_IG04
 						;; size=20 bbWeight=4 PerfScore 30.00
 G_M60262_IG18:
             ldr     x1, [fp, #0x18]	// [V02 loc0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M60262_IG20
 						;; size=40 bbWeight=1 PerfScore 10.00
 G_M60262_IG19:
             add     x11, x20, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=12 bbWeight=0.50 PerfScore 2.25
 G_M60262_IG20:
             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_M60262_IG21:
             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_M60262_IG22:
             ldr     x1, [fp, #0x18]	// [V02 loc0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M60262_IG23
             movz    x20, #0xD1FFAB1E
             movk    x20, #0xD1FFAB1E LSL #16
             movk    x20, #0xD1FFAB1E LSL #32
             add     x11, x20, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=64 bbWeight=0 PerfScore 0.00
 G_M60262_IG23:
             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 1180, prolog size 32, PerfScore 577.75, instruction count 295, allocated bytes for code 1180 (MethodHash=9d111499) for method Microsoft.CSharp.CSharpCodeGenerator:GenerateProperties(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
+; Total bytes of code 1164, prolog size 32, PerfScore 573.75, instruction count 291, allocated bytes for code 1164 (MethodHash=9d111499) for method Microsoft.CSharp.CSharpCodeGenerator:GenerateProperties(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
-16 (-1.18 % of base) - Microsoft.CSharp.CSharpCodeGenerator:GenerateSnippetMembers(System.CodeDom.CodeTypeDeclaration):this
 ; Assembly listing for method Microsoft.CSharp.CSharpCodeGenerator:GenerateSnippetMembers(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 43 single block inlinees; 7 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 18, 32.50)     ref  ->  x19         this class-hnd single-def <Microsoft.CSharp.CSharpCodeGenerator>
 ;  V01 arg1         [V01,T41] (  3,  3   )     ref  ->   x1         class-hnd single-def <System.CodeDom.CodeTypeDeclaration>
 ;  V02 loc0         [V02,T43] (  3,  4   )   ubyte  ->  x20        
 ;  V03 loc1         [V03,T22] (  6, 10   )     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
 ;  V04 loc2         [V04,T08] (  4, 12   )     ref  ->  x22         class-hnd <System.CodeDom.CodeTypeMember>
 ;  V05 loc3         [V05,T24] (  4,  8   )     ref  ->  x22         class-hnd <System.CodeDom.CodeSnippetTypeMember>
 ;  V06 loc4         [V06,T39] (  3,  6   )     int  ->  x24        
 ;  V07 loc5         [V07,T46] (  6,  2.50)     ref  ->   x0         class-hnd <System.IDisposable>
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V09 tmp1         [V09,T44] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeMemberCollection>
 ;  V10 tmp2         [V10,T03] (  4, 16   )     ref  ->  x23         class-hnd exact "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V11 tmp3         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V12 tmp4         [V12,T09] (  3, 12   )     ref  ->  x23         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V13 tmp5         [V13,T31] (  2,  8   )     ref  ->   x0         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V14 tmp6         [V14,T25] (  4,  8   )     ref  ->   x0        
 ;  V15 tmp7         [V15,T04] (  4, 16   )     ref  ->  x24         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V16 tmp8         [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V17 tmp9         [V17,T10] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V18 tmp10        [V18    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V19 tmp11        [V19,T11] (  3, 12   )     ref  ->  x23         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V20 tmp12        [V20,T32] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V21 tmp13        [V21,T26] (  4,  8   )     ref  ->   x1        
 ;  V22 tmp14        [V22,T05] (  4, 16   )     ref  ->  x24         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V23 tmp15        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V24 tmp16        [V24,T12] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V25 tmp17        [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;* V26 tmp18        [V26    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;  V27 tmp19        [V27,T33] (  2,  8   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V28 tmp20        [V28    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;  V29 tmp21        [V29,T13] (  3, 12   )     ref  ->  x23         class-hnd exact "impAppendStmt" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;  V30 tmp22        [V30,T34] (  2,  8   )     ref  ->  x25         class-hnd exact "dup spill" <System.String>
 ;  V31 tmp23        [V31,T27] (  4,  8   )     ref  ->  x25        
 ;  V32 tmp24        [V32,T14] (  3, 12   )     ref  ->   x0         class-hnd exact "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;  V33 tmp25        [V33,T40] (  3,  6   )     int  ->  x24         "Inline return value spill temp"
 ;* V34 tmp26        [V34    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V35 tmp27        [V35,T15] (  3, 12   )     ref  ->  x22         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V36 tmp28        [V36,T35] (  2,  8   )     ref  ->   x0         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V37 tmp29        [V37,T28] (  4,  8   )     ref  ->   x0        
 ;  V38 tmp30        [V38,T06] (  4, 16   )     ref  ->  x23         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V39 tmp31        [V39    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V40 tmp32        [V40,T16] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V41 tmp33        [V41    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V42 tmp34        [V42,T17] (  3, 12   )     ref  ->  x22         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V43 tmp35        [V43,T36] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V44 tmp36        [V44,T29] (  4,  8   )     ref  ->   x1        
 ;  V45 tmp37        [V45,T07] (  4, 16   )     ref  ->  x23         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V46 tmp38        [V46    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V47 tmp39        [V47,T18] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;  V48 tmp40        [V48,T42] (  4,  4   )     ref  ->  x21         class-hnd exact single-def "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;  V49 tmp41        [V49,T37] (  3,  6   )     ref  ->   x0         single-def "argument with side effect"
 ;  V50 tmp42        [V50,T02] (  3, 18   )     ref  ->   x0         "argument with side effect"
 ;  V51 tmp43        [V51,T19] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V52 tmp44        [V52,T20] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V53 tmp45        [V53,T45] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
 ;  V54 PSPSym       [V54,T47] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
 ;  V55 cse0         [V55,T30] (  4,  8   )     ref  ->  x23         "CSE #07: moderate"
 ;  V56 cse1         [V56,T38] (  3,  6   )     ref  ->   x1         "CSE #06: moderate"
 ;  V57 cse2         [V57,T21] (  7, 10.50)    long  ->  x21         multi-def "CSE #01: moderate"
 ;  V58 rat0         [V58,T01] (  5, 30   )     ref  ->  x22         "replacement local"
 ;  V59 rat1         [V59,T23] (  3, 10   )    long  ->   x2         "CSE for expectedClsNode"
 ;
 ; Lcl frame size = 24
 
 G_M8929_IG01:
             stp     fp, lr, [sp, #-0x60]!
             stp     x19, x20, [sp, #0x28]
             stp     x21, x22, [sp, #0x38]
             stp     x23, x24, [sp, #0x48]
             str     x25, [sp, #0x58]
             mov     fp, sp
             add     x2, sp, #96
             str     x2, [fp, #0x20]	// [V54 PSPSym]
             mov     x19, x0
 						;; size=36 bbWeight=1 PerfScore 7.50
 G_M8929_IG02:
             mov     w20, wzr
             mov     x0, x1
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeTypeDeclaration:get_Members():System.CodeDom.CodeTypeMemberCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x0, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x58]
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             str     x1, [fp, #0x18]	// [V03 loc1]
 						;; size=60 bbWeight=1 PerfScore 24.00
 G_M8929_IG03:
             mov     x0, x1
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x11, x21
             ldr     xip0, [x11]
             blr     xip0
             cbz     w0, G_M8929_IG21
 						;; size=32 bbWeight=1 PerfScore 7.50
 G_M8929_IG04:
             ldr     x0, [fp, #0x18]	// [V03 loc1]
             add     x11, x21, #8
             ldr     xip0, [x11]
             blr     xip0
             mov     x22, x0
             cbz     x22, G_M8929_IG07
 						;; size=24 bbWeight=4 PerfScore 32.00
 G_M8929_IG05:
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x1, [x22]
             cmp     x1, x2
             beq     G_M8929_IG07
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M8929_IG06:
             mov     x1, x0
             mov     x0, x2
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x22, x0
 						;; size=32 bbWeight=1 PerfScore 7.00
 G_M8929_IG07:
             mov     x1, x22
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M8929_IG20
 						;; size=40 bbWeight=4 PerfScore 34.00
 G_M8929_IG08:
             mov     w20, #1
             add     x14, x19, #32
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x10]
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.CodeGeneratorOptions:get_BlankLinesBetweenMembers():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cbz     w0, G_M8929_IG09
             ldr     x23, [x19, #0x08]
             mov     x0, x23
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:OutputTabs():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x23, #0x20]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x60]
             ldr     x1, [x1, #0x10]
             blr     x1
             mov     w0, #1
             strb    w0, [x23, #0x34]
 						;; size=108 bbWeight=2 PerfScore 83.00
 G_M8929_IG09:
             ldr     x23, [x19, #0x20]
             ldr     x0, [x23, #0x20]
             cbnz    x0, G_M8929_IG10
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x24, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x24, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #32
             mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x24
-						;; size=100 bbWeight=2 PerfScore 46.00
+						;; size=96 bbWeight=2 PerfScore 45.00
 G_M8929_IG10:
             movz    x1, #0xD1FFAB1E      // code for System.Collections.CollectionBase:get_Count():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cmp     w0, #0
             ble     G_M8929_IG12
             ldr     x23, [x19, #0x20]
             ldr     x1, [x23, #0x20]
             cbnz    x1, G_M8929_IG11
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x24, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x24, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #32
             mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x24
-						;; size=132 bbWeight=2 PerfScore 66.00
+						;; size=128 bbWeight=2 PerfScore 65.00
 G_M8929_IG11:
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateDirectives(System.CodeDom.CodeDirectiveCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M8929_IG12:
             ldr     x1, [x19, #0x20]
             ldr     x1, [x1, #0x38]
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateCommentStatements(System.CodeDom.CodeCommentStatementCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             ldr     x1, [x22, #0x30]
             cbz     x1, G_M8929_IG13
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateLinePragmaStart(System.CodeDom.CodeLinePragma):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=64 bbWeight=2 PerfScore 44.00
 G_M8929_IG13:
             ldr     x23, [x19, #0x08]
             ldr     w24, [x23, #0x30]
             mov     x0, x23
             str     wzr, [x0, #0x30]
             ldr     x25, [x22, #0x48]
             cbnz    x25, G_M8929_IG14
             movz    x25, #8
             movk    x25, #0xD1FFAB1E LSL #16
             movk    x25, #0xD1FFAB1E LSL #32
 						;; size=36 bbWeight=2 PerfScore 26.00
 G_M8929_IG14:
             mov     x0, x23
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:OutputTabs():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x23, #0x20]
             mov     x1, x25
             ldr     x2, [x0]
             ldr     x2, [x2, #0x58]
             ldr     x2, [x2, #0x10]
             blr     x2
             ldr     x0, [x19, #0x08]
             ldrsb   wzr, [x0]
             tbnz    w24, #31, G_M8929_IG15
             b       G_M8929_IG16
 						;; size=68 bbWeight=2 PerfScore 61.00
 G_M8929_IG15:
             mov     w24, wzr
 						;; size=4 bbWeight=2 PerfScore 1.00
 G_M8929_IG16:
             str     w24, [x0, #0x30]
             ldr     x0, [x22, #0x30]
             cbz     x0, G_M8929_IG17
             mov     x0, x19
             movz    x1, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateLinePragmaEnd():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
 						;; size=36 bbWeight=2 PerfScore 22.00
 G_M8929_IG17:
             ldr     x22, [x19, #0x20]
             ldr     x0, [x22, #0x28]
             cbnz    x0, G_M8929_IG18
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #40
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x23
-						;; size=100 bbWeight=2 PerfScore 46.00
+						;; size=96 bbWeight=2 PerfScore 45.00
 G_M8929_IG18:
             movz    x1, #0xD1FFAB1E      // code for System.Collections.CollectionBase:get_Count():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cmp     w0, #0
             ble     G_M8929_IG20
             ldr     x22, [x19, #0x20]
             ldr     x1, [x22, #0x28]
             cbnz    x1, G_M8929_IG19
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #40
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x23
-						;; size=132 bbWeight=2 PerfScore 66.00
+						;; size=128 bbWeight=2 PerfScore 65.00
 G_M8929_IG19:
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateDirectives(System.CodeDom.CodeDirectiveCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M8929_IG20:
             ldr     x0, [fp, #0x18]	// [V03 loc1]
             mov     x11, x21
             ldr     xip0, [x11]
             blr     xip0
             cbnz    w0, G_M8929_IG04
 						;; size=20 bbWeight=4 PerfScore 30.00
 G_M8929_IG21:
             ldr     x1, [fp, #0x18]	// [V03 loc1]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M8929_IG23
 						;; size=40 bbWeight=1 PerfScore 10.00
 G_M8929_IG22:
             add     x11, x21, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=12 bbWeight=0.50 PerfScore 2.25
 G_M8929_IG23:
             cbz     w20, G_M8929_IG25
 						;; size=4 bbWeight=1 PerfScore 1.00
 G_M8929_IG24:
             ldr     x21, [x19, #0x08]
             mov     x0, x21
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:OutputTabs():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x21, #0x20]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x60]
             ldr     x1, [x1, #0x10]
             blr     x1
             mov     w1, #1
             strb    w1, [x21, #0x34]
 						;; size=60 bbWeight=0.50 PerfScore 13.25
 G_M8929_IG25:
             ldr     x25, [sp, #0x58]
             ldp     x23, x24, [sp, #0x48]
             ldp     x21, x22, [sp, #0x38]
             ldp     x19, x20, [sp, #0x28]
             ldp     fp, lr, [sp], #0x60
             ret     lr
 						;; size=24 bbWeight=1 PerfScore 7.00
 G_M8929_IG26:
             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, #96
             str     x3, [sp, #0x10]
 						;; size=28 bbWeight=0 PerfScore 0.00
 G_M8929_IG27:
             ldr     x1, [fp, #0x18]	// [V03 loc1]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M8929_IG28
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             add     x11, x21, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=64 bbWeight=0 PerfScore 0.00
 G_M8929_IG28:
             ldr     x25, [sp, #0x48]
             ldp     x23, x24, [sp, #0x38]
             ldp     x21, x22, [sp, #0x28]
             ldp     x19, x20, [sp, #0x18]
             ldp     fp, lr, [sp], #0x50
             ret     lr
 						;; size=24 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1352, prolog size 36, PerfScore 672.50, instruction count 338, allocated bytes for code 1352 (MethodHash=308edd1e) for method Microsoft.CSharp.CSharpCodeGenerator:GenerateSnippetMembers(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
+; Total bytes of code 1336, prolog size 36, PerfScore 668.50, instruction count 334, allocated bytes for code 1336 (MethodHash=308edd1e) for method Microsoft.CSharp.CSharpCodeGenerator:GenerateSnippetMembers(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
-16 (-1.36 % of base) - Microsoft.CSharp.CSharpCodeGenerator:GenerateTypeConstructors(System.CodeDom.CodeTypeDeclaration):this
 ; Assembly listing for method Microsoft.CSharp.CSharpCodeGenerator:GenerateTypeConstructors(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 32 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 16, 30   )     ref  ->  x19         this class-hnd single-def <Microsoft.CSharp.CSharpCodeGenerator>
 ;  V01 arg1         [V01,T32] (  3,  3   )     ref  ->   x1         class-hnd single-def <System.CodeDom.CodeTypeDeclaration>
 ;  V02 loc0         [V02,T19] (  6, 10   )     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
 ;  V03 loc1         [V03,T08] (  4, 12   )     ref  ->  x21         class-hnd <System.CodeDom.CodeTypeMember>
 ;  V04 loc2         [V04,T21] (  4,  8   )     ref  ->  x21         class-hnd <System.CodeDom.CodeTypeConstructor>
 ;  V05 loc3         [V05,T34] (  6,  2.50)     ref  ->   x0         class-hnd <System.IDisposable>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T33] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeMemberCollection>
 ;  V08 tmp2         [V08,T03] (  4, 16   )     ref  ->  x22         class-hnd exact "Inlining Arg" <System.CodeDom.Compiler.ExposedTabStringIndentedTextWriter>
 ;* V09 tmp3         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V10 tmp4         [V10,T09] (  3, 12   )     ref  ->  x22         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V11 tmp5         [V11,T26] (  2,  8   )     ref  ->   x0         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V12 tmp6         [V12,T22] (  4,  8   )     ref  ->   x0        
 ;  V13 tmp7         [V13,T04] (  4, 16   )     ref  ->  x23         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V14 tmp8         [V14    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V15 tmp9         [V15,T10] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V16 tmp10        [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V17 tmp11        [V17,T11] (  3, 12   )     ref  ->  x22         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V18 tmp12        [V18,T27] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V19 tmp13        [V19,T23] (  4,  8   )     ref  ->   x1        
 ;  V20 tmp14        [V20,T05] (  4, 16   )     ref  ->  x23         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V21 tmp15        [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V22 tmp16        [V22,T12] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V23 tmp17        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;* V24 tmp18        [V24    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V25 tmp19        [V25,T13] (  3, 12   )     ref  ->  x21         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V26 tmp20        [V26,T28] (  2,  8   )     ref  ->   x0         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V27 tmp21        [V27,T24] (  4,  8   )     ref  ->   x0        
 ;  V28 tmp22        [V28,T06] (  4, 16   )     ref  ->  x22         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V29 tmp23        [V29    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V30 tmp24        [V30,T14] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V31 tmp25        [V31    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V32 tmp26        [V32,T15] (  3, 12   )     ref  ->  x21         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V33 tmp27        [V33,T29] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V34 tmp28        [V34,T25] (  4,  8   )     ref  ->   x1        
 ;  V35 tmp29        [V35,T07] (  4, 16   )     ref  ->  x22         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V36 tmp30        [V36    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V37 tmp31        [V37,T16] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;  V38 tmp32        [V38,T30] (  3,  6   )     ref  ->   x0         single-def "argument with side effect"
 ;  V39 tmp33        [V39,T02] (  3, 18   )     ref  ->   x0         "argument with side effect"
 ;  V40 tmp34        [V40,T17] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V41 PSPSym       [V41,T35] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
 ;  V42 cse0         [V42,T31] (  3,  6   )     ref  ->   x1         "CSE #06: moderate"
 ;  V43 cse1         [V43,T18] (  7, 10.50)    long  ->  x20         multi-def "CSE #01: moderate"
 ;  V44 rat0         [V44,T01] (  5, 30   )     ref  ->  x21         "replacement local"
 ;  V45 rat1         [V45,T20] (  3, 10   )    long  ->   x2         "CSE for expectedClsNode"
 ;
 ; Lcl frame size = 24
 
 G_M15844_IG01:
             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, #80
             str     x2, [fp, #0x20]	// [V41 PSPSym]
             mov     x19, x0
 						;; size=32 bbWeight=1 PerfScore 6.50
 G_M15844_IG02:
             mov     x0, x1
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeTypeDeclaration:get_Members():System.CodeDom.CodeTypeMemberCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x0, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x58]
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             str     x1, [fp, #0x18]	// [V02 loc0]
 						;; size=56 bbWeight=1 PerfScore 23.50
 G_M15844_IG03:
             mov     x0, x1
             movz    x20, #0xD1FFAB1E
             movk    x20, #0xD1FFAB1E LSL #16
             movk    x20, #0xD1FFAB1E LSL #32
             mov     x11, x20
             ldr     xip0, [x11]
             blr     xip0
             cbz     w0, G_M15844_IG18
 						;; size=32 bbWeight=1 PerfScore 7.50
 G_M15844_IG04:
             ldr     x0, [fp, #0x18]	// [V02 loc0]
             add     x11, x20, #8
             ldr     xip0, [x11]
             blr     xip0
             mov     x21, x0
             cbz     x21, G_M15844_IG07
 						;; size=24 bbWeight=4 PerfScore 32.00
 G_M15844_IG05:
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x1, [x21]
             cmp     x1, x2
             beq     G_M15844_IG07
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M15844_IG06:
             mov     x1, x0
             mov     x0, x2
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x21, x0
 						;; size=32 bbWeight=1 PerfScore 7.00
 G_M15844_IG07:
             mov     x1, x21
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M15844_IG17
 						;; size=40 bbWeight=4 PerfScore 34.00
 G_M15844_IG08:
             add     x14, x19, #32
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x10]
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.CodeGeneratorOptions:get_BlankLinesBetweenMembers():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cbz     w0, G_M15844_IG09
             ldr     x22, [x19, #0x08]
             mov     x0, x22
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:OutputTabs():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x22, #0x20]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x60]
             ldr     x1, [x1, #0x10]
             blr     x1
             mov     w0, #1
             strb    w0, [x22, #0x34]
 						;; size=104 bbWeight=2 PerfScore 82.00
 G_M15844_IG09:
             ldr     x22, [x19, #0x20]
             ldr     x0, [x22, #0x20]
             cbnz    x0, G_M15844_IG10
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #32
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x23
-						;; size=100 bbWeight=2 PerfScore 46.00
+						;; size=96 bbWeight=2 PerfScore 45.00
 G_M15844_IG10:
             movz    x1, #0xD1FFAB1E      // code for System.Collections.CollectionBase:get_Count():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cmp     w0, #0
             ble     G_M15844_IG12
             ldr     x22, [x19, #0x20]
             ldr     x1, [x22, #0x20]
             cbnz    x1, G_M15844_IG11
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #32
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x23
-						;; size=132 bbWeight=2 PerfScore 66.00
+						;; size=128 bbWeight=2 PerfScore 65.00
 G_M15844_IG11:
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateDirectives(System.CodeDom.CodeDirectiveCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M15844_IG12:
             ldr     x1, [x19, #0x20]
             ldr     x1, [x1, #0x38]
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateCommentStatements(System.CodeDom.CodeCommentStatementCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             ldr     x1, [x21, #0x30]
             cbz     x1, G_M15844_IG13
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateLinePragmaStart(System.CodeDom.CodeLinePragma):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=64 bbWeight=2 PerfScore 44.00
 G_M15844_IG13:
             mov     x0, x19
             mov     x1, x21
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateTypeConstructor(System.CodeDom.CodeTypeConstructor):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             ldr     x0, [x21, #0x30]
             cbz     x0, G_M15844_IG14
             mov     x0, x19
             movz    x1, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateLinePragmaEnd():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
 						;; size=60 bbWeight=2 PerfScore 33.00
 G_M15844_IG14:
             ldr     x21, [x19, #0x20]
             ldr     x0, [x21, #0x28]
             cbnz    x0, G_M15844_IG15
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x22, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x21, #40
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x22
-						;; size=100 bbWeight=2 PerfScore 46.00
+						;; size=96 bbWeight=2 PerfScore 45.00
 G_M15844_IG15:
             movz    x1, #0xD1FFAB1E      // code for System.Collections.CollectionBase:get_Count():int:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cmp     w0, #0
             ble     G_M15844_IG17
             ldr     x21, [x19, #0x20]
             ldr     x1, [x21, #0x28]
             cbnz    x1, G_M15844_IG16
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x22, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x21, #40
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x22
-						;; size=132 bbWeight=2 PerfScore 66.00
+						;; size=128 bbWeight=2 PerfScore 65.00
 G_M15844_IG16:
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for Microsoft.CSharp.CSharpCodeGenerator:GenerateDirectives(System.CodeDom.CodeDirectiveCollection):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M15844_IG17:
             ldr     x0, [fp, #0x18]	// [V02 loc0]
             mov     x11, x20
             ldr     xip0, [x11]
             blr     xip0
             cbnz    w0, G_M15844_IG04
 						;; size=20 bbWeight=4 PerfScore 30.00
 G_M15844_IG18:
             ldr     x1, [fp, #0x18]	// [V02 loc0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M15844_IG20
 						;; size=40 bbWeight=1 PerfScore 10.00
 G_M15844_IG19:
             add     x11, x20, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=12 bbWeight=0.50 PerfScore 2.25
 G_M15844_IG20:
             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_M15844_IG21:
             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_M15844_IG22:
             ldr     x1, [fp, #0x18]	// [V02 loc0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M15844_IG23
             movz    x20, #0xD1FFAB1E
             movk    x20, #0xD1FFAB1E LSL #16
             movk    x20, #0xD1FFAB1E LSL #32
             add     x11, x20, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=64 bbWeight=0 PerfScore 0.00
 G_M15844_IG23:
             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 1180, prolog size 32, PerfScore 577.75, instruction count 295, allocated bytes for code 1180 (MethodHash=f41dc21b) for method Microsoft.CSharp.CSharpCodeGenerator:GenerateTypeConstructors(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
+; Total bytes of code 1164, prolog size 32, PerfScore 573.75, instruction count 291, allocated bytes for code 1164 (MethodHash=f41dc21b) for method Microsoft.CSharp.CSharpCodeGenerator:GenerateTypeConstructors(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
-16 (-1.44 % of base) - System.CodeDom.Compiler.CodeGenerator:GenerateConstructors(System.CodeDom.CodeTypeDeclaration):this
 ; Assembly listing for method System.CodeDom.Compiler.CodeGenerator:GenerateConstructors(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 34 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 18, 34   )     ref  ->  x19         this class-hnd single-def <System.CodeDom.Compiler.CodeGenerator>
 ;  V01 arg1         [V01,T31] (  4,  5   )     ref  ->  x20         class-hnd single-def <System.CodeDom.CodeTypeDeclaration>
 ;  V02 loc0         [V02,T20] (  6, 10   )     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
 ;  V03 loc1         [V03,T08] (  4, 12   )     ref  ->  x22         class-hnd <System.CodeDom.CodeTypeMember>
 ;  V04 loc2         [V04,T22] (  4,  8   )     ref  ->  x22         class-hnd <System.CodeDom.CodeConstructor>
 ;  V05 loc3         [V05,T36] (  6,  2.50)     ref  ->   x0         class-hnd <System.IDisposable>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T35] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeMemberCollection>
 ;* V08 tmp2         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V09 tmp3         [V09,T09] (  3, 12   )     ref  ->  x23         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V10 tmp4         [V10,T27] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V11 tmp5         [V11,T23] (  4,  8   )     ref  ->   x1        
 ;  V12 tmp6         [V12,T04] (  4, 16   )     ref  ->  x24         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V13 tmp7         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V14 tmp8         [V14,T10] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V15 tmp9         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V16 tmp10        [V16,T11] (  3, 12   )     ref  ->  x23         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V17 tmp11        [V17,T28] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V18 tmp12        [V18,T24] (  4,  8   )     ref  ->   x1        
 ;  V19 tmp13        [V19,T05] (  4, 16   )     ref  ->  x24         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V20 tmp14        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V21 tmp15        [V21,T12] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V22 tmp16        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;* V23 tmp17        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V24 tmp18        [V24,T13] (  3, 12   )     ref  ->  x22         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V25 tmp19        [V25,T29] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V26 tmp20        [V26,T25] (  4,  8   )     ref  ->   x1        
 ;  V27 tmp21        [V27,T06] (  4, 16   )     ref  ->  x24         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V28 tmp22        [V28    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V29 tmp23        [V29,T14] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V30 tmp24        [V30    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V31 tmp25        [V31,T15] (  3, 12   )     ref  ->  x22         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V32 tmp26        [V32,T30] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V33 tmp27        [V33,T26] (  4,  8   )     ref  ->   x1        
 ;  V34 tmp28        [V34,T07] (  4, 16   )     ref  ->  x24         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V35 tmp29        [V35    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V36 tmp30        [V36,T16] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;  V37 tmp31        [V37,T32] (  3,  6   )     ref  ->   x0         single-def "argument with side effect"
 ;  V38 tmp32        [V38,T02] (  3, 18   )     ref  ->   x0         "argument with side effect"
 ;  V39 tmp33        [V39,T17] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V40 tmp34        [V40,T18] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V41 PSPSym       [V41,T37] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
 ;  V42 cse0         [V42,T33] (  3,  6   )     ref  ->   x1         "CSE #07: moderate"
 ;  V43 cse1         [V43,T34] (  3,  6   )     ref  ->   x1         "CSE #08: moderate"
 ;  V44 cse2         [V44,T19] (  7, 10.50)    long  ->  x21         multi-def "CSE #01: moderate"
 ;  V45 cse3         [V45,T03] (  8, 16   )    long  ->  x23         multi-def "CSE #06: aggressive"
 ;  V46 rat0         [V46,T01] (  5, 30   )     ref  ->  x22         "replacement local"
 ;  V47 rat1         [V47,T21] (  3, 10   )    long  ->   x2         "CSE for expectedClsNode"
 ;
 ; Lcl frame size = 16
 
 G_M59403_IG01:
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             stp     x23, x24, [sp, #0x40]
             mov     fp, sp
             add     x2, sp, #80
             str     x2, [fp, #0x18]	// [V41 PSPSym]
             mov     x19, x0
             mov     x20, x1
 						;; size=36 bbWeight=1 PerfScore 7.00
 G_M59403_IG02:
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeTypeDeclaration:get_Members():System.CodeDom.CodeTypeMemberCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x0, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x58]
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             str     x1, [fp, #0x10]	// [V02 loc0]
 						;; size=56 bbWeight=1 PerfScore 23.50
 G_M59403_IG03:
             mov     x0, x1
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x11, x21
             ldr     xip0, [x11]
             blr     xip0
             cbz     w0, G_M59403_IG18
 						;; size=32 bbWeight=1 PerfScore 7.50
 G_M59403_IG04:
             ldr     x0, [fp, #0x10]	// [V02 loc0]
             add     x11, x21, #8
             ldr     xip0, [x11]
             blr     xip0
             mov     x22, x0
             cbz     x22, G_M59403_IG07
 						;; size=24 bbWeight=4 PerfScore 32.00
 G_M59403_IG05:
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x1, [x22]
             cmp     x1, x2
             beq     G_M59403_IG07
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M59403_IG06:
             mov     x1, x0
             mov     x0, x2
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x22, x0
 						;; size=32 bbWeight=1 PerfScore 7.00
 G_M59403_IG07:
             mov     x1, x22
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M59403_IG17
 						;; size=40 bbWeight=4 PerfScore 34.00
 G_M59403_IG08:
             add     x14, x19, #32
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x10]
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.CodeGeneratorOptions:get_BlankLinesBetweenMembers():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cbz     w0, G_M59403_IG09
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:WriteLine():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
 						;; size=72 bbWeight=2 PerfScore 52.00
 G_M59403_IG09:
             ldr     x23, [x19, #0x20]
             ldr     x1, [x23, #0x20]
             cbnz    x1, G_M59403_IG10
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x24, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x24, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #32
             mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x24
-						;; size=100 bbWeight=2 PerfScore 46.00
+						;; size=96 bbWeight=2 PerfScore 45.00
 G_M59403_IG10:
             ldr     x0, [x1, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x40]
             ldr     x1, [x1, #0x30]
             blr     x1
             cmp     w0, #0
             ble     G_M59403_IG12
             ldr     x23, [x19, #0x20]
             ldr     x1, [x23, #0x20]
             cbnz    x1, G_M59403_IG11
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x24, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x24, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #32
             mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x24
-						;; size=128 bbWeight=2 PerfScore 75.00
+						;; size=124 bbWeight=2 PerfScore 74.00
 G_M59403_IG11:
             mov     x0, x19
             ldr     x23, [x19]
             ldr     x2, [x23, #0x40]
             ldr     x2, [x2, #0x28]
             blr     x2
 						;; size=20 bbWeight=2 PerfScore 21.00
 G_M59403_IG12:
             ldr     x1, [x19, #0x20]
             ldr     x1, [x1, #0x38]
             mov     x0, x19
             ldr     x23, [x19]
             ldr     x2, [x23, #0x80]
             ldr     x2, [x2, #0x20]
             blr     x2
             ldr     x1, [x22, #0x30]
             cbz     x1, G_M59403_IG13
             mov     x0, x19
             ldr     x2, [x23, #0x90]
             ldr     x2, [x2]
             blr     x2
 						;; size=52 bbWeight=2 PerfScore 56.00
 G_M59403_IG13:
             mov     x0, x19
             mov     x1, x22
             mov     x2, x20
             ldr     x3, [x23, #0x98]
             ldr     x3, [x3]
             blr     x3
             ldr     x1, [x22, #0x30]
             cbz     x1, G_M59403_IG14
             mov     x0, x19
             ldr     x2, [x23, #0x90]
             ldr     x2, [x2, #0x08]
             blr     x2
 						;; size=48 bbWeight=2 PerfScore 40.00
 G_M59403_IG14:
             ldr     x22, [x19, #0x20]
             ldr     x1, [x22, #0x28]
             cbnz    x1, G_M59403_IG15
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x24, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x24, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #40
             mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x24
-						;; size=100 bbWeight=2 PerfScore 46.00
+						;; size=96 bbWeight=2 PerfScore 45.00
 G_M59403_IG15:
             ldr     x0, [x1, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x40]
             ldr     x1, [x1, #0x30]
             blr     x1
             cmp     w0, #0
             ble     G_M59403_IG17
             ldr     x22, [x19, #0x20]
             ldr     x1, [x22, #0x28]
             cbnz    x1, G_M59403_IG16
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x24, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x24, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #40
             mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x24
-						;; size=128 bbWeight=2 PerfScore 75.00
+						;; size=124 bbWeight=2 PerfScore 74.00
 G_M59403_IG16:
             mov     x0, x19
             ldr     x2, [x23, #0x40]
             ldr     x2, [x2, #0x28]
             blr     x2
 						;; size=16 bbWeight=2 PerfScore 15.00
 G_M59403_IG17:
             ldr     x0, [fp, #0x10]	// [V02 loc0]
             mov     x11, x21
             ldr     xip0, [x11]
             blr     xip0
             cbnz    w0, G_M59403_IG04
 						;; size=20 bbWeight=4 PerfScore 30.00
 G_M59403_IG18:
             ldr     x1, [fp, #0x10]	// [V02 loc0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M59403_IG20
 						;; size=40 bbWeight=1 PerfScore 10.00
 G_M59403_IG19:
             add     x11, x21, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=12 bbWeight=0.50 PerfScore 2.25
 G_M59403_IG20:
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x50
             ret     lr
 						;; size=20 bbWeight=1 PerfScore 5.00
 G_M59403_IG21:
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             stp     x23, x24, [sp, #0x40]
             add     x3, fp, #80
             str     x3, [sp, #0x18]
 						;; size=24 bbWeight=0 PerfScore 0.00
 G_M59403_IG22:
             ldr     x1, [fp, #0x10]	// [V02 loc0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M59403_IG23
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             add     x11, x21, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=64 bbWeight=0 PerfScore 0.00
 G_M59403_IG23:
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x50
             ret     lr
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1108, prolog size 36, PerfScore 596.25, instruction count 277, allocated bytes for code 1108 (MethodHash=670f17f4) for method System.CodeDom.Compiler.CodeGenerator:GenerateConstructors(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
+; Total bytes of code 1092, prolog size 36, PerfScore 592.25, instruction count 273, allocated bytes for code 1092 (MethodHash=670f17f4) for method System.CodeDom.Compiler.CodeGenerator:GenerateConstructors(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
-16 (-1.45 % of base) - System.CodeDom.Compiler.CodeGenerator:GenerateEvents(System.CodeDom.CodeTypeDeclaration):this
 ; Assembly listing for method System.CodeDom.Compiler.CodeGenerator:GenerateEvents(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 34 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 18, 34   )     ref  ->  x19         this class-hnd single-def <System.CodeDom.Compiler.CodeGenerator>
 ;  V01 arg1         [V01,T32] (  4,  5   )     ref  ->  x20         class-hnd single-def <System.CodeDom.CodeTypeDeclaration>
 ;  V02 loc0         [V02,T20] (  6, 10   )     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
 ;  V03 loc1         [V03,T08] (  4, 12   )     ref  ->  x22         class-hnd <System.CodeDom.CodeTypeMember>
 ;  V04 loc2         [V04,T23] (  4,  8   )     ref  ->  x22         class-hnd <System.CodeDom.CodeMemberEvent>
 ;  V05 loc3         [V05,T37] (  6,  2.50)     ref  ->   x0         class-hnd <System.IDisposable>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T36] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeMemberCollection>
 ;* V08 tmp2         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V09 tmp3         [V09,T09] (  3, 12   )     ref  ->  x23         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V10 tmp4         [V10,T28] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V11 tmp5         [V11,T24] (  4,  8   )     ref  ->   x1        
 ;  V12 tmp6         [V12,T03] (  4, 16   )     ref  ->  x24         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V13 tmp7         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V14 tmp8         [V14,T10] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V15 tmp9         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V16 tmp10        [V16,T11] (  3, 12   )     ref  ->  x23         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V17 tmp11        [V17,T29] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V18 tmp12        [V18,T25] (  4,  8   )     ref  ->   x1        
 ;  V19 tmp13        [V19,T04] (  4, 16   )     ref  ->  x24         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V20 tmp14        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V21 tmp15        [V21,T12] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V22 tmp16        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;* V23 tmp17        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V24 tmp18        [V24,T13] (  3, 12   )     ref  ->  x22         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V25 tmp19        [V25,T30] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V26 tmp20        [V26,T26] (  4,  8   )     ref  ->   x1        
 ;  V27 tmp21        [V27,T05] (  4, 16   )     ref  ->  x24         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V28 tmp22        [V28    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V29 tmp23        [V29,T14] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V30 tmp24        [V30    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V31 tmp25        [V31,T15] (  3, 12   )     ref  ->  x22         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V32 tmp26        [V32,T31] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V33 tmp27        [V33,T27] (  4,  8   )     ref  ->   x1        
 ;  V34 tmp28        [V34,T06] (  4, 16   )     ref  ->  x24         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V35 tmp29        [V35    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V36 tmp30        [V36,T16] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;  V37 tmp31        [V37,T33] (  3,  6   )     ref  ->   x0         single-def "argument with side effect"
 ;  V38 tmp32        [V38,T02] (  3, 18   )     ref  ->   x0         "argument with side effect"
 ;  V39 tmp33        [V39,T17] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V40 tmp34        [V40,T18] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V41 PSPSym       [V41,T38] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
 ;  V42 cse0         [V42,T21] (  5, 10   )    long  ->  x24         multi-def "CSE #08: moderate"
 ;  V43 cse1         [V43,T34] (  3,  6   )     ref  ->   x1         "CSE #07: moderate"
 ;  V44 cse2         [V44,T35] (  3,  6   )     ref  ->   x1         "CSE #09: moderate"
 ;  V45 cse3         [V45,T19] (  7, 10.50)    long  ->  x21         multi-def "CSE #01: moderate"
 ;  V46 cse4         [V46,T07] (  7, 14   )    long  ->  x23         multi-def "CSE #06: aggressive"
 ;  V47 rat0         [V47,T01] (  5, 30   )     ref  ->  x22         "replacement local"
 ;  V48 rat1         [V48,T22] (  3, 10   )    long  ->   x2         "CSE for expectedClsNode"
 ;
 ; Lcl frame size = 16
 
 G_M6863_IG01:
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             stp     x23, x24, [sp, #0x40]
             mov     fp, sp
             add     x2, sp, #80
             str     x2, [fp, #0x18]	// [V41 PSPSym]
             mov     x19, x0
             mov     x20, x1
 						;; size=36 bbWeight=1 PerfScore 7.00
 G_M6863_IG02:
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeTypeDeclaration:get_Members():System.CodeDom.CodeTypeMemberCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x0, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x58]
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             str     x1, [fp, #0x10]	// [V02 loc0]
 						;; size=56 bbWeight=1 PerfScore 23.50
 G_M6863_IG03:
             mov     x0, x1
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x11, x21
             ldr     xip0, [x11]
             blr     xip0
             cbz     w0, G_M6863_IG18
 						;; size=32 bbWeight=1 PerfScore 7.50
 G_M6863_IG04:
             ldr     x0, [fp, #0x10]	// [V02 loc0]
             add     x11, x21, #8
             ldr     xip0, [x11]
             blr     xip0
             mov     x22, x0
             cbz     x22, G_M6863_IG07
 						;; size=24 bbWeight=4 PerfScore 32.00
 G_M6863_IG05:
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x1, [x22]
             cmp     x1, x2
             beq     G_M6863_IG07
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M6863_IG06:
             mov     x1, x0
             mov     x0, x2
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x22, x0
 						;; size=32 bbWeight=1 PerfScore 7.00
 G_M6863_IG07:
             mov     x1, x22
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M6863_IG17
 						;; size=40 bbWeight=4 PerfScore 34.00
 G_M6863_IG08:
             add     x14, x19, #32
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x10]
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.CodeGeneratorOptions:get_BlankLinesBetweenMembers():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cbz     w0, G_M6863_IG09
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:WriteLine():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
 						;; size=72 bbWeight=2 PerfScore 52.00
 G_M6863_IG09:
             ldr     x23, [x19, #0x20]
             ldr     x1, [x23, #0x20]
             cbnz    x1, G_M6863_IG10
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x24, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x24, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #32
             mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x24
-						;; size=100 bbWeight=2 PerfScore 46.00
+						;; size=96 bbWeight=2 PerfScore 45.00
 G_M6863_IG10:
             ldr     x0, [x1, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x40]
             ldr     x1, [x1, #0x30]
             blr     x1
             cmp     w0, #0
             ble     G_M6863_IG12
             ldr     x23, [x19, #0x20]
             ldr     x1, [x23, #0x20]
             cbnz    x1, G_M6863_IG11
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x24, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x24, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #32
             mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x24
-						;; size=128 bbWeight=2 PerfScore 75.00
+						;; size=124 bbWeight=2 PerfScore 74.00
 G_M6863_IG11:
             mov     x0, x19
             ldr     x23, [x19]
             ldr     x2, [x23, #0x40]
             ldr     x2, [x2, #0x28]
             blr     x2
 						;; size=20 bbWeight=2 PerfScore 21.00
 G_M6863_IG12:
             ldr     x1, [x19, #0x20]
             ldr     x1, [x1, #0x38]
             mov     x0, x19
             ldr     x23, [x19]
             ldr     x2, [x23, #0x80]
             ldr     x2, [x2, #0x20]
             blr     x2
             ldr     x1, [x22, #0x30]
             cbz     x1, G_M6863_IG13
             mov     x0, x19
             ldr     x24, [x23, #0x90]
             ldr     x2, [x24]
             blr     x2
 						;; size=52 bbWeight=2 PerfScore 56.00
 G_M6863_IG13:
             mov     x0, x19
             mov     x1, x22
             mov     x2, x20
             ldr     x24, [x23, #0x90]
             ldr     x3, [x24, #0x10]
             blr     x3
             ldr     x1, [x22, #0x30]
             cbz     x1, G_M6863_IG14
             mov     x0, x19
             ldr     x2, [x24, #0x08]
             blr     x2
 						;; size=44 bbWeight=2 PerfScore 34.00
 G_M6863_IG14:
             ldr     x22, [x19, #0x20]
             ldr     x1, [x22, #0x28]
             cbnz    x1, G_M6863_IG15
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x24, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x24, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #40
             mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x24
-						;; size=100 bbWeight=2 PerfScore 46.00
+						;; size=96 bbWeight=2 PerfScore 45.00
 G_M6863_IG15:
             ldr     x0, [x1, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x40]
             ldr     x1, [x1, #0x30]
             blr     x1
             cmp     w0, #0
             ble     G_M6863_IG17
             ldr     x22, [x19, #0x20]
             ldr     x1, [x22, #0x28]
             cbnz    x1, G_M6863_IG16
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x24, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x24, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #40
             mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x24
-						;; size=128 bbWeight=2 PerfScore 75.00
+						;; size=124 bbWeight=2 PerfScore 74.00
 G_M6863_IG16:
             mov     x0, x19
             ldr     x2, [x23, #0x40]
             ldr     x2, [x2, #0x28]
             blr     x2
 						;; size=16 bbWeight=2 PerfScore 15.00
 G_M6863_IG17:
             ldr     x0, [fp, #0x10]	// [V02 loc0]
             mov     x11, x21
             ldr     xip0, [x11]
             blr     xip0
             cbnz    w0, G_M6863_IG04
 						;; size=20 bbWeight=4 PerfScore 30.00
 G_M6863_IG18:
             ldr     x1, [fp, #0x10]	// [V02 loc0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M6863_IG20
 						;; size=40 bbWeight=1 PerfScore 10.00
 G_M6863_IG19:
             add     x11, x21, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=12 bbWeight=0.50 PerfScore 2.25
 G_M6863_IG20:
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x50
             ret     lr
 						;; size=20 bbWeight=1 PerfScore 5.00
 G_M6863_IG21:
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             stp     x23, x24, [sp, #0x40]
             add     x3, fp, #80
             str     x3, [sp, #0x18]
 						;; size=24 bbWeight=0 PerfScore 0.00
 G_M6863_IG22:
             ldr     x1, [fp, #0x10]	// [V02 loc0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M6863_IG23
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             add     x11, x21, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=64 bbWeight=0 PerfScore 0.00
 G_M6863_IG23:
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x50
             ret     lr
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1104, prolog size 36, PerfScore 590.25, instruction count 276, allocated bytes for code 1104 (MethodHash=c044e530) for method System.CodeDom.Compiler.CodeGenerator:GenerateEvents(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
+; Total bytes of code 1088, prolog size 36, PerfScore 586.25, instruction count 272, allocated bytes for code 1088 (MethodHash=c044e530) for method System.CodeDom.Compiler.CodeGenerator:GenerateEvents(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
-16 (-1.46 % of base) - System.CodeDom.Compiler.CodeGenerator:GenerateFields(System.CodeDom.CodeTypeDeclaration):this
 ; Assembly listing for method System.CodeDom.Compiler.CodeGenerator:GenerateFields(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 34 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 18, 34   )     ref  ->  x19         this class-hnd single-def <System.CodeDom.Compiler.CodeGenerator>
 ;  V01 arg1         [V01,T35] (  3,  3   )     ref  ->   x1         class-hnd single-def <System.CodeDom.CodeTypeDeclaration>
 ;  V02 loc0         [V02,T20] (  6, 10   )     ref  ->  [fp+0x18]  class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
 ;  V03 loc1         [V03,T08] (  4, 12   )     ref  ->  x21         class-hnd <System.CodeDom.CodeTypeMember>
 ;  V04 loc2         [V04,T23] (  4,  8   )     ref  ->  x21         class-hnd <System.CodeDom.CodeMemberField>
 ;  V05 loc3         [V05,T37] (  6,  2.50)     ref  ->   x0         class-hnd <System.IDisposable>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T36] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeMemberCollection>
 ;* V08 tmp2         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V09 tmp3         [V09,T09] (  3, 12   )     ref  ->  x22         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V10 tmp4         [V10,T28] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V11 tmp5         [V11,T24] (  4,  8   )     ref  ->   x1        
 ;  V12 tmp6         [V12,T03] (  4, 16   )     ref  ->  x23         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V13 tmp7         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V14 tmp8         [V14,T10] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V15 tmp9         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V16 tmp10        [V16,T11] (  3, 12   )     ref  ->  x22         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V17 tmp11        [V17,T29] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V18 tmp12        [V18,T25] (  4,  8   )     ref  ->   x1        
 ;  V19 tmp13        [V19,T04] (  4, 16   )     ref  ->  x23         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V20 tmp14        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V21 tmp15        [V21,T12] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V22 tmp16        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;* V23 tmp17        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V24 tmp18        [V24,T13] (  3, 12   )     ref  ->  x21         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V25 tmp19        [V25,T30] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V26 tmp20        [V26,T26] (  4,  8   )     ref  ->   x1        
 ;  V27 tmp21        [V27,T05] (  4, 16   )     ref  ->  x23         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V28 tmp22        [V28    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V29 tmp23        [V29,T14] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V30 tmp24        [V30    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V31 tmp25        [V31,T15] (  3, 12   )     ref  ->  x21         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V32 tmp26        [V32,T31] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V33 tmp27        [V33,T27] (  4,  8   )     ref  ->   x1        
 ;  V34 tmp28        [V34,T06] (  4, 16   )     ref  ->  x23         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V35 tmp29        [V35    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V36 tmp30        [V36,T16] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;  V37 tmp31        [V37,T32] (  3,  6   )     ref  ->   x0         single-def "argument with side effect"
 ;  V38 tmp32        [V38,T02] (  3, 18   )     ref  ->   x0         "argument with side effect"
 ;  V39 tmp33        [V39,T17] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V40 tmp34        [V40,T18] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V41 PSPSym       [V41,T38] (  1,  1   )    long  ->  [fp+0x20]  do-not-enreg[V] "PSPSym"
 ;  V42 cse0         [V42,T21] (  5, 10   )    long  ->  x23         multi-def "CSE #08: moderate"
 ;  V43 cse1         [V43,T33] (  3,  6   )     ref  ->   x1         "CSE #07: moderate"
 ;  V44 cse2         [V44,T34] (  3,  6   )     ref  ->   x1         "CSE #09: moderate"
 ;  V45 cse3         [V45,T19] (  7, 10.50)    long  ->  x20         multi-def "CSE #01: moderate"
 ;  V46 cse4         [V46,T07] (  7, 14   )    long  ->  x22         multi-def "CSE #06: aggressive"
 ;  V47 rat0         [V47,T01] (  5, 30   )     ref  ->  x21         "replacement local"
 ;  V48 rat1         [V48,T22] (  3, 10   )    long  ->   x2         "CSE for expectedClsNode"
 ;
 ; Lcl frame size = 24
 
 G_M28449_IG01:
             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, #80
             str     x2, [fp, #0x20]	// [V41 PSPSym]
             mov     x19, x0
 						;; size=32 bbWeight=1 PerfScore 6.50
 G_M28449_IG02:
             mov     x0, x1
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeTypeDeclaration:get_Members():System.CodeDom.CodeTypeMemberCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x0, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x58]
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             str     x1, [fp, #0x18]	// [V02 loc0]
 						;; size=56 bbWeight=1 PerfScore 23.50
 G_M28449_IG03:
             mov     x0, x1
             movz    x20, #0xD1FFAB1E
             movk    x20, #0xD1FFAB1E LSL #16
             movk    x20, #0xD1FFAB1E LSL #32
             mov     x11, x20
             ldr     xip0, [x11]
             blr     xip0
             cbz     w0, G_M28449_IG18
 						;; size=32 bbWeight=1 PerfScore 7.50
 G_M28449_IG04:
             ldr     x0, [fp, #0x18]	// [V02 loc0]
             add     x11, x20, #8
             ldr     xip0, [x11]
             blr     xip0
             mov     x21, x0
             cbz     x21, G_M28449_IG07
 						;; size=24 bbWeight=4 PerfScore 32.00
 G_M28449_IG05:
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x1, [x21]
             cmp     x1, x2
             beq     G_M28449_IG07
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M28449_IG06:
             mov     x1, x0
             mov     x0, x2
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x21, x0
 						;; size=32 bbWeight=1 PerfScore 7.00
 G_M28449_IG07:
             mov     x1, x21
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M28449_IG17
 						;; size=40 bbWeight=4 PerfScore 34.00
 G_M28449_IG08:
             add     x14, x19, #32
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x10]
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.CodeGeneratorOptions:get_BlankLinesBetweenMembers():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cbz     w0, G_M28449_IG09
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:WriteLine():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
 						;; size=72 bbWeight=2 PerfScore 52.00
 G_M28449_IG09:
             ldr     x22, [x19, #0x20]
             ldr     x1, [x22, #0x20]
             cbnz    x1, G_M28449_IG10
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #32
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x23
-						;; size=100 bbWeight=2 PerfScore 46.00
+						;; size=96 bbWeight=2 PerfScore 45.00
 G_M28449_IG10:
             ldr     x0, [x1, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x40]
             ldr     x1, [x1, #0x30]
             blr     x1
             cmp     w0, #0
             ble     G_M28449_IG12
             ldr     x22, [x19, #0x20]
             ldr     x1, [x22, #0x20]
             cbnz    x1, G_M28449_IG11
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #32
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x23
-						;; size=128 bbWeight=2 PerfScore 75.00
+						;; size=124 bbWeight=2 PerfScore 74.00
 G_M28449_IG11:
             mov     x0, x19
             ldr     x22, [x19]
             ldr     x2, [x22, #0x40]
             ldr     x2, [x2, #0x28]
             blr     x2
 						;; size=20 bbWeight=2 PerfScore 21.00
 G_M28449_IG12:
             ldr     x1, [x19, #0x20]
             ldr     x1, [x1, #0x38]
             mov     x0, x19
             ldr     x22, [x19]
             ldr     x2, [x22, #0x80]
             ldr     x2, [x2, #0x20]
             blr     x2
             ldr     x1, [x21, #0x30]
             cbz     x1, G_M28449_IG13
             mov     x0, x19
             ldr     x23, [x22, #0x90]
             ldr     x2, [x23]
             blr     x2
 						;; size=52 bbWeight=2 PerfScore 56.00
 G_M28449_IG13:
             mov     x0, x19
             mov     x1, x21
             ldr     x23, [x22, #0x90]
             ldr     x2, [x23, #0x18]
             blr     x2
             ldr     x1, [x21, #0x30]
             cbz     x1, G_M28449_IG14
             mov     x0, x19
             ldr     x2, [x23, #0x08]
             blr     x2
 						;; size=40 bbWeight=2 PerfScore 33.00
 G_M28449_IG14:
             ldr     x21, [x19, #0x20]
             ldr     x1, [x21, #0x28]
             cbnz    x1, G_M28449_IG15
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x21, #40
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x23
-						;; size=100 bbWeight=2 PerfScore 46.00
+						;; size=96 bbWeight=2 PerfScore 45.00
 G_M28449_IG15:
             ldr     x0, [x1, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x40]
             ldr     x1, [x1, #0x30]
             blr     x1
             cmp     w0, #0
             ble     G_M28449_IG17
             ldr     x21, [x19, #0x20]
             ldr     x1, [x21, #0x28]
             cbnz    x1, G_M28449_IG16
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x21, #40
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x23
-						;; size=128 bbWeight=2 PerfScore 75.00
+						;; size=124 bbWeight=2 PerfScore 74.00
 G_M28449_IG16:
             mov     x0, x19
             ldr     x2, [x22, #0x40]
             ldr     x2, [x2, #0x28]
             blr     x2
 						;; size=16 bbWeight=2 PerfScore 15.00
 G_M28449_IG17:
             ldr     x0, [fp, #0x18]	// [V02 loc0]
             mov     x11, x20
             ldr     xip0, [x11]
             blr     xip0
             cbnz    w0, G_M28449_IG04
 						;; size=20 bbWeight=4 PerfScore 30.00
 G_M28449_IG18:
             ldr     x1, [fp, #0x18]	// [V02 loc0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M28449_IG20
 						;; size=40 bbWeight=1 PerfScore 10.00
 G_M28449_IG19:
             add     x11, x20, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=12 bbWeight=0.50 PerfScore 2.25
 G_M28449_IG20:
             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_M28449_IG21:
             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_M28449_IG22:
             ldr     x1, [fp, #0x18]	// [V02 loc0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M28449_IG23
             movz    x20, #0xD1FFAB1E
             movk    x20, #0xD1FFAB1E LSL #16
             movk    x20, #0xD1FFAB1E LSL #32
             add     x11, x20, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=64 bbWeight=0 PerfScore 0.00
 G_M28449_IG23:
             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 1096, prolog size 32, PerfScore 589.75, instruction count 274, allocated bytes for code 1096 (MethodHash=049f90de) for method System.CodeDom.Compiler.CodeGenerator:GenerateFields(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
+; Total bytes of code 1080, prolog size 32, PerfScore 585.75, instruction count 270, allocated bytes for code 1080 (MethodHash=049f90de) for method System.CodeDom.Compiler.CodeGenerator:GenerateFields(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
-16 (-1.27 % of base) - System.CodeDom.Compiler.CodeGenerator:GenerateMethods(System.CodeDom.CodeTypeDeclaration):this
 ; Assembly listing for method System.CodeDom.Compiler.CodeGenerator:GenerateMethods(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 34 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 19, 36   )     ref  ->  x19         this class-hnd single-def <System.CodeDom.Compiler.CodeGenerator>
 ;  V01 arg1         [V01,T24] (  5,  7   )     ref  ->  x20         class-hnd single-def <System.CodeDom.CodeTypeDeclaration>
 ;  V02 loc0         [V02,T22] (  6, 10   )     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
 ;  V03 loc1         [V03,T02] (  7, 18   )     ref  ->  x22         class-hnd <System.CodeDom.CodeTypeMember>
 ;  V04 loc2         [V04,T10] (  5, 10   )     ref  ->  x24         class-hnd <System.CodeDom.CodeMemberMethod>
 ;  V05 loc3         [V05,T38] (  6,  2.50)     ref  ->   x0         class-hnd <System.IDisposable>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T36] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeMemberCollection>
 ;* V08 tmp2         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V09 tmp3         [V09,T11] (  3, 12   )     ref  ->  x23         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V10 tmp4         [V10,T29] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V11 tmp5         [V11,T25] (  4,  8   )     ref  ->   x1        
 ;  V12 tmp6         [V12,T05] (  4, 16   )     ref  ->  x24         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V13 tmp7         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V14 tmp8         [V14,T12] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V15 tmp9         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V16 tmp10        [V16,T13] (  3, 12   )     ref  ->  x23         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V17 tmp11        [V17,T30] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V18 tmp12        [V18,T26] (  4,  8   )     ref  ->   x1        
 ;  V19 tmp13        [V19,T06] (  4, 16   )     ref  ->  x24         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V20 tmp14        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V21 tmp15        [V21,T14] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V22 tmp16        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;* V23 tmp17        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V24 tmp18        [V24,T15] (  3, 12   )     ref  ->  x22         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V25 tmp19        [V25,T31] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V26 tmp20        [V26,T27] (  4,  8   )     ref  ->   x1        
 ;  V27 tmp21        [V27,T07] (  4, 16   )     ref  ->  x24         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V28 tmp22        [V28    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V29 tmp23        [V29,T16] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V30 tmp24        [V30    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V31 tmp25        [V31,T17] (  3, 12   )     ref  ->  x22         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V32 tmp26        [V32,T32] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V33 tmp27        [V33,T28] (  4,  8   )     ref  ->   x1        
 ;  V34 tmp28        [V34,T08] (  4, 16   )     ref  ->  x24         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V35 tmp29        [V35    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V36 tmp30        [V36,T18] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;  V37 tmp31        [V37,T33] (  3,  6   )     ref  ->   x0         single-def "argument with side effect"
 ;  V38 tmp32        [V38,T03] (  3, 18   )     ref  ->   x0         "argument with side effect"
 ;  V39 tmp33        [V39,T19] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;* V40 tmp34        [V40,T37] (  0,  0   )     ref  ->  zero-ref    "argument with side effect"
 ;  V41 tmp35        [V41,T20] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V42 PSPSym       [V42,T39] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
 ;  V43 cse0         [V43,T09] (  7, 14   )    long  ->  x22         multi-def "CSE #09: aggressive"
 ;  V44 cse1         [V44,T34] (  3,  6   )     ref  ->   x1         "CSE #07: moderate"
 ;  V45 cse2         [V45,T35] (  3,  6   )     ref  ->   x1         "CSE #10: moderate"
 ;  V46 cse3         [V46,T04] (  8, 16   )    long  ->  x23         multi-def "CSE #06: aggressive"
 ;  V47 cse4         [V47,T21] (  7, 10.50)    long  ->  x21         multi-def "CSE #01: moderate"
 ;  V48 rat0         [V48,T01] (  5, 30   )     ref  ->  x22         "replacement local"
 ;  V49 rat1         [V49,T23] (  3, 10   )    long  ->   x2         "CSE for expectedClsNode"
 ;
 ; Lcl frame size = 16
 
 G_M54556_IG01:
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             stp     x23, x24, [sp, #0x40]
             mov     fp, sp
             add     x2, sp, #80
             str     x2, [fp, #0x18]	// [V42 PSPSym]
             mov     x19, x0
             mov     x20, x1
 						;; size=36 bbWeight=1 PerfScore 7.00
 G_M54556_IG02:
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeTypeDeclaration:get_Members():System.CodeDom.CodeTypeMemberCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x0, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x58]
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             str     x1, [fp, #0x10]	// [V02 loc0]
 						;; size=56 bbWeight=1 PerfScore 23.50
 G_M54556_IG03:
             mov     x0, x1
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x11, x21
             ldr     xip0, [x11]
             blr     xip0
             cbz     w0, G_M54556_IG20
 						;; size=32 bbWeight=1 PerfScore 7.50
 G_M54556_IG04:
             ldr     x0, [fp, #0x10]	// [V02 loc0]
             add     x11, x21, #8
             ldr     xip0, [x11]
             blr     xip0
             mov     x22, x0
             cbz     x22, G_M54556_IG07
 						;; size=24 bbWeight=4 PerfScore 32.00
 G_M54556_IG05:
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x1, [x22]
             cmp     x1, x2
             beq     G_M54556_IG07
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M54556_IG06:
             mov     x1, x0
             mov     x0, x2
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x22, x0
 						;; size=32 bbWeight=1 PerfScore 7.00
 G_M54556_IG07:
             mov     x1, x22
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M54556_IG19
 						;; size=40 bbWeight=4 PerfScore 34.00
 G_M54556_IG08:
             mov     x1, x22
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbnz    x0, G_M54556_IG19
             mov     x1, x22
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbnz    x0, G_M54556_IG19
             add     x14, x19, #32
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x10]
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.CodeGeneratorOptions:get_BlankLinesBetweenMembers():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cbz     w0, G_M54556_IG09
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:WriteLine():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
 						;; size=152 bbWeight=2 PerfScore 86.00
 G_M54556_IG09:
             ldr     x23, [x19, #0x20]
             ldr     x1, [x23, #0x20]
             cbnz    x1, G_M54556_IG10
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x24, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x24, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #32
             mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x24
-						;; size=100 bbWeight=2 PerfScore 46.00
+						;; size=96 bbWeight=2 PerfScore 45.00
 G_M54556_IG10:
             ldr     x0, [x1, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x40]
             ldr     x1, [x1, #0x30]
             blr     x1
             cmp     w0, #0
             ble     G_M54556_IG12
             ldr     x23, [x19, #0x20]
             ldr     x1, [x23, #0x20]
             cbnz    x1, G_M54556_IG11
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x24, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x24, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #32
             mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x24
-						;; size=128 bbWeight=2 PerfScore 75.00
+						;; size=124 bbWeight=2 PerfScore 74.00
 G_M54556_IG11:
             mov     x0, x19
             ldr     x23, [x19]
             ldr     x2, [x23, #0x40]
             ldr     x2, [x2, #0x28]
             blr     x2
 						;; size=20 bbWeight=2 PerfScore 21.00
 G_M54556_IG12:
             ldr     x1, [x19, #0x20]
             ldr     x1, [x1, #0x38]
             mov     x0, x19
             ldr     x23, [x19]
             ldr     x2, [x23, #0x80]
             ldr     x2, [x2, #0x20]
             blr     x2
             mov     x24, x22
             ldr     x1, [x22, #0x30]
             cbz     x1, G_M54556_IG13
             mov     x0, x19
             ldr     x22, [x23, #0x90]
             ldr     x2, [x22]
             blr     x2
 						;; size=56 bbWeight=2 PerfScore 57.00
 G_M54556_IG13:
             mov     x1, x24
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbnz    x0, G_M54556_IG14
             mov     x0, x19
             mov     x1, x24
             mov     x2, x20
             ldr     x22, [x23, #0x90]
             ldr     x3, [x22, #0x30]
             blr     x3
             b       G_M54556_IG15
 						;; size=68 bbWeight=2 PerfScore 36.00
 G_M54556_IG14:
             mov     x1, x24
             mov     x0, x19
             mov     x2, x20
             ldr     x22, [x23, #0x90]
             ldr     x3, [x22, #0x28]
             blr     x3
 						;; size=24 bbWeight=2 PerfScore 17.00
 G_M54556_IG15:
             ldr     x1, [x24, #0x30]
             cbz     x1, G_M54556_IG16
             mov     x0, x19
             ldr     x2, [x22, #0x08]
             blr     x2
 						;; size=20 bbWeight=2 PerfScore 17.00
 G_M54556_IG16:
             ldr     x22, [x19, #0x20]
             ldr     x1, [x22, #0x28]
             cbnz    x1, G_M54556_IG17
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x24, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x24, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #40
             mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x24
-						;; size=100 bbWeight=2 PerfScore 46.00
+						;; size=96 bbWeight=2 PerfScore 45.00
 G_M54556_IG17:
             ldr     x0, [x1, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x40]
             ldr     x1, [x1, #0x30]
             blr     x1
             cmp     w0, #0
             ble     G_M54556_IG19
             ldr     x22, [x19, #0x20]
             ldr     x1, [x22, #0x28]
             cbnz    x1, G_M54556_IG18
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x24, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x24, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #40
             mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x24
-						;; size=128 bbWeight=2 PerfScore 75.00
+						;; size=124 bbWeight=2 PerfScore 74.00
 G_M54556_IG18:
             mov     x0, x19
             ldr     x2, [x23, #0x40]
             ldr     x2, [x2, #0x28]
             blr     x2
 						;; size=16 bbWeight=2 PerfScore 15.00
 G_M54556_IG19:
             ldr     x0, [fp, #0x10]	// [V02 loc0]
             mov     x11, x21
             ldr     xip0, [x11]
             blr     xip0
             cbnz    w0, G_M54556_IG04
 						;; size=20 bbWeight=4 PerfScore 30.00
 G_M54556_IG20:
             ldr     x1, [fp, #0x10]	// [V02 loc0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M54556_IG22
 						;; size=40 bbWeight=1 PerfScore 10.00
 G_M54556_IG21:
             add     x11, x21, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=12 bbWeight=0.50 PerfScore 2.25
 G_M54556_IG22:
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x50
             ret     lr
 						;; size=20 bbWeight=1 PerfScore 5.00
 G_M54556_IG23:
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             stp     x23, x24, [sp, #0x40]
             add     x3, fp, #80
             str     x3, [sp, #0x18]
 						;; size=24 bbWeight=0 PerfScore 0.00
 G_M54556_IG24:
             ldr     x1, [fp, #0x10]	// [V02 loc0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M54556_IG25
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             add     x11, x21, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=64 bbWeight=0 PerfScore 0.00
 G_M54556_IG25:
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x50
             ret     lr
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1256, prolog size 36, PerfScore 661.25, instruction count 314, allocated bytes for code 1256 (MethodHash=cae72ae3) for method System.CodeDom.Compiler.CodeGenerator:GenerateMethods(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
+; Total bytes of code 1240, prolog size 36, PerfScore 657.25, instruction count 310, allocated bytes for code 1240 (MethodHash=cae72ae3) for method System.CodeDom.Compiler.CodeGenerator:GenerateMethods(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
-16 (-1.45 % of base) - System.CodeDom.Compiler.CodeGenerator:GenerateProperties(System.CodeDom.CodeTypeDeclaration):this
 ; Assembly listing for method System.CodeDom.Compiler.CodeGenerator:GenerateProperties(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 34 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 18, 34   )     ref  ->  x19         this class-hnd single-def <System.CodeDom.Compiler.CodeGenerator>
 ;  V01 arg1         [V01,T32] (  4,  5   )     ref  ->  x20         class-hnd single-def <System.CodeDom.CodeTypeDeclaration>
 ;  V02 loc0         [V02,T20] (  6, 10   )     ref  ->  [fp+0x10]  class-hnd EH-live spill-single-def <System.Collections.IEnumerator>
 ;  V03 loc1         [V03,T08] (  4, 12   )     ref  ->  x22         class-hnd <System.CodeDom.CodeTypeMember>
 ;  V04 loc2         [V04,T23] (  4,  8   )     ref  ->  x22         class-hnd <System.CodeDom.CodeMemberProperty>
 ;  V05 loc3         [V05,T37] (  6,  2.50)     ref  ->   x0         class-hnd <System.IDisposable>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T36] (  2,  4   )     ref  ->   x0         class-hnd single-def "Inlining Arg" <System.CodeDom.CodeTypeMemberCollection>
 ;* V08 tmp2         [V08    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V09 tmp3         [V09,T09] (  3, 12   )     ref  ->  x23         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V10 tmp4         [V10,T28] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V11 tmp5         [V11,T24] (  4,  8   )     ref  ->   x1        
 ;  V12 tmp6         [V12,T03] (  4, 16   )     ref  ->  x24         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V13 tmp7         [V13    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V14 tmp8         [V14,T10] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V15 tmp9         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V16 tmp10        [V16,T11] (  3, 12   )     ref  ->  x23         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V17 tmp11        [V17,T29] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V18 tmp12        [V18,T25] (  4,  8   )     ref  ->   x1        
 ;  V19 tmp13        [V19,T04] (  4, 16   )     ref  ->  x24         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V20 tmp14        [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V21 tmp15        [V21,T12] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V22 tmp16        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;* V23 tmp17        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V24 tmp18        [V24,T13] (  3, 12   )     ref  ->  x22         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V25 tmp19        [V25,T30] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V26 tmp20        [V26,T26] (  4,  8   )     ref  ->   x1        
 ;  V27 tmp21        [V27,T05] (  4, 16   )     ref  ->  x24         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V28 tmp22        [V28    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V29 tmp23        [V29,T14] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;* V30 tmp24        [V30    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline return value spill temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V31 tmp25        [V31,T15] (  3, 12   )     ref  ->  x22         class-hnd "Inlining Arg" <System.CodeDom.CodeTypeMember>
 ;  V32 tmp26        [V32,T31] (  2,  8   )     ref  ->   x1         class-hnd "dup spill" <System.CodeDom.CodeDirectiveCollection>
 ;  V33 tmp27        [V33,T27] (  4,  8   )     ref  ->   x1        
 ;  V34 tmp28        [V34,T06] (  4, 16   )     ref  ->  x24         class-hnd exact "NewObj constructor temp" <System.CodeDom.CodeDirectiveCollection>
 ;* V35 tmp29        [V35    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline stloc first use temp" <System.CodeDom.CodeDirectiveCollection>
 ;  V36 tmp30        [V36,T16] (  3, 12   )     ref  ->   x0         class-hnd exact "NewObj constructor temp" <System.Collections.ArrayList>
 ;  V37 tmp31        [V37,T33] (  3,  6   )     ref  ->   x0         single-def "argument with side effect"
 ;  V38 tmp32        [V38,T02] (  3, 18   )     ref  ->   x0         "argument with side effect"
 ;  V39 tmp33        [V39,T17] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V40 tmp34        [V40,T18] (  3, 12   )     ref  ->   x0         "argument with side effect"
 ;  V41 PSPSym       [V41,T38] (  1,  1   )    long  ->  [fp+0x18]  do-not-enreg[V] "PSPSym"
 ;  V42 cse0         [V42,T21] (  5, 10   )    long  ->  x24         multi-def "CSE #08: moderate"
 ;  V43 cse1         [V43,T34] (  3,  6   )     ref  ->   x1         "CSE #07: moderate"
 ;  V44 cse2         [V44,T35] (  3,  6   )     ref  ->   x1         "CSE #09: moderate"
 ;  V45 cse3         [V45,T19] (  7, 10.50)    long  ->  x21         multi-def "CSE #01: moderate"
 ;  V46 cse4         [V46,T07] (  7, 14   )    long  ->  x23         multi-def "CSE #06: aggressive"
 ;  V47 rat0         [V47,T01] (  5, 30   )     ref  ->  x22         "replacement local"
 ;  V48 rat1         [V48,T22] (  3, 10   )    long  ->   x2         "CSE for expectedClsNode"
 ;
 ; Lcl frame size = 16
 
 G_M49201_IG01:
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             stp     x23, x24, [sp, #0x40]
             mov     fp, sp
             add     x2, sp, #80
             str     x2, [fp, #0x18]	// [V41 PSPSym]
             mov     x19, x0
             mov     x20, x1
 						;; size=36 bbWeight=1 PerfScore 7.00
 G_M49201_IG02:
             mov     x0, x20
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.CodeTypeDeclaration:get_Members():System.CodeDom.CodeTypeMemberCollection:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             ldr     x0, [x0, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x58]
             ldr     x1, [x1]
             blr     x1
             mov     x1, x0
             str     x1, [fp, #0x10]	// [V02 loc0]
 						;; size=56 bbWeight=1 PerfScore 23.50
 G_M49201_IG03:
             mov     x0, x1
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x11, x21
             ldr     xip0, [x11]
             blr     xip0
             cbz     w0, G_M49201_IG18
 						;; size=32 bbWeight=1 PerfScore 7.50
 G_M49201_IG04:
             ldr     x0, [fp, #0x10]	// [V02 loc0]
             add     x11, x21, #8
             ldr     xip0, [x11]
             blr     xip0
             mov     x22, x0
             cbz     x22, G_M49201_IG07
 						;; size=24 bbWeight=4 PerfScore 32.00
 G_M49201_IG05:
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x1, [x22]
             cmp     x1, x2
             beq     G_M49201_IG07
 						;; size=24 bbWeight=2 PerfScore 12.00
 G_M49201_IG06:
             mov     x1, x0
             mov     x0, x2
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x22, x0
 						;; size=32 bbWeight=1 PerfScore 7.00
 G_M49201_IG07:
             mov     x1, x22
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFCLASS
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M49201_IG17
 						;; size=40 bbWeight=4 PerfScore 34.00
 G_M49201_IG08:
             add     x14, x19, #32
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x0, [x19, #0x10]
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.CodeGeneratorOptions:get_BlankLinesBetweenMembers():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             cbz     w0, G_M49201_IG09
             ldr     x0, [x19, #0x08]
             movz    x1, #0xD1FFAB1E      // code for System.CodeDom.Compiler.IndentedTextWriter:WriteLine():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
 						;; size=72 bbWeight=2 PerfScore 52.00
 G_M49201_IG09:
             ldr     x23, [x19, #0x20]
             ldr     x1, [x23, #0x20]
             cbnz    x1, G_M49201_IG10
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x24, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x24, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #32
             mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x24
-						;; size=100 bbWeight=2 PerfScore 46.00
+						;; size=96 bbWeight=2 PerfScore 45.00
 G_M49201_IG10:
             ldr     x0, [x1, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x40]
             ldr     x1, [x1, #0x30]
             blr     x1
             cmp     w0, #0
             ble     G_M49201_IG12
             ldr     x23, [x19, #0x20]
             ldr     x1, [x23, #0x20]
             cbnz    x1, G_M49201_IG11
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x24, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x24, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x23, #32
             mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x24
-						;; size=128 bbWeight=2 PerfScore 75.00
+						;; size=124 bbWeight=2 PerfScore 74.00
 G_M49201_IG11:
             mov     x0, x19
             ldr     x23, [x19]
             ldr     x2, [x23, #0x40]
             ldr     x2, [x2, #0x28]
             blr     x2
 						;; size=20 bbWeight=2 PerfScore 21.00
 G_M49201_IG12:
             ldr     x1, [x19, #0x20]
             ldr     x1, [x1, #0x38]
             mov     x0, x19
             ldr     x23, [x19]
             ldr     x2, [x23, #0x80]
             ldr     x2, [x2, #0x20]
             blr     x2
             ldr     x1, [x22, #0x30]
             cbz     x1, G_M49201_IG13
             mov     x0, x19
             ldr     x24, [x23, #0x90]
             ldr     x2, [x24]
             blr     x2
 						;; size=52 bbWeight=2 PerfScore 56.00
 G_M49201_IG13:
             mov     x0, x19
             mov     x1, x22
             mov     x2, x20
             ldr     x24, [x23, #0x90]
             ldr     x3, [x24, #0x38]
             blr     x3
             ldr     x1, [x22, #0x30]
             cbz     x1, G_M49201_IG14
             mov     x0, x19
             ldr     x2, [x24, #0x08]
             blr     x2
 						;; size=44 bbWeight=2 PerfScore 34.00
 G_M49201_IG14:
             ldr     x22, [x19, #0x20]
             ldr     x1, [x22, #0x28]
             cbnz    x1, G_M49201_IG15
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x24, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x24, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #40
             mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x24
-						;; size=100 bbWeight=2 PerfScore 46.00
+						;; size=96 bbWeight=2 PerfScore 45.00
 G_M49201_IG15:
             ldr     x0, [x1, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x40]
             ldr     x1, [x1, #0x30]
             blr     x1
             cmp     w0, #0
             ble     G_M49201_IG17
             ldr     x22, [x19, #0x20]
             ldr     x1, [x22, #0x28]
             cbnz    x1, G_M49201_IG16
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x24, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             movz    x14, #0xD1FFAB1E
-            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
             add     x14, x0, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x24, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x22, #40
             mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x24
-						;; size=128 bbWeight=2 PerfScore 75.00
+						;; size=124 bbWeight=2 PerfScore 74.00
 G_M49201_IG16:
             mov     x0, x19
             ldr     x2, [x23, #0x40]
             ldr     x2, [x2, #0x28]
             blr     x2
 						;; size=16 bbWeight=2 PerfScore 15.00
 G_M49201_IG17:
             ldr     x0, [fp, #0x10]	// [V02 loc0]
             mov     x11, x21
             ldr     xip0, [x11]
             blr     xip0
             cbnz    w0, G_M49201_IG04
 						;; size=20 bbWeight=4 PerfScore 30.00
 G_M49201_IG18:
             ldr     x1, [fp, #0x10]	// [V02 loc0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M49201_IG20
 						;; size=40 bbWeight=1 PerfScore 10.00
 G_M49201_IG19:
             add     x11, x21, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=12 bbWeight=0.50 PerfScore 2.25
 G_M49201_IG20:
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x50
             ret     lr
 						;; size=20 bbWeight=1 PerfScore 5.00
 G_M49201_IG21:
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x20]
             stp     x21, x22, [sp, #0x30]
             stp     x23, x24, [sp, #0x40]
             add     x3, fp, #80
             str     x3, [sp, #0x18]
 						;; size=24 bbWeight=0 PerfScore 0.00
 G_M49201_IG22:
             ldr     x1, [fp, #0x10]	// [V02 loc0]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_ISINSTANCEOFINTERFACE
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             cbz     x0, G_M49201_IG23
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             add     x11, x21, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=64 bbWeight=0 PerfScore 0.00
 G_M49201_IG23:
             ldp     x23, x24, [sp, #0x40]
             ldp     x21, x22, [sp, #0x30]
             ldp     x19, x20, [sp, #0x20]
             ldp     fp, lr, [sp], #0x50
             ret     lr
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1104, prolog size 36, PerfScore 590.25, instruction count 276, allocated bytes for code 1104 (MethodHash=12ec3fce) for method System.CodeDom.Compiler.CodeGenerator:GenerateProperties(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
+; Total bytes of code 1088, prolog size 36, PerfScore 586.25, instruction count 272, allocated bytes for code 1088 (MethodHash=12ec3fce) for method System.CodeDom.Compiler.CodeGenerator:GenerateProperties(System.CodeDom.CodeTypeDeclaration):this (FullOpts)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment