Skip to content

Instantly share code, notes, and snippets.

@MihuBot
Last active July 11, 2024 00:51
Show Gist options
  • Save MihuBot/47bbec6eb9c4b5c66ba8faaa18077e9a to your computer and use it in GitHub Desktop.
Save MihuBot/47bbec6eb9c4b5c66ba8faaa18077e9a to your computer and use it in GitHub Desktop.

Top method regressions

36 (1.96 % of base) - Microsoft.CSharp.RuntimeBinder.RuntimeBinder:CreateMemberGroupExpr(System.String,System.Type[],Microsoft.CSharp.RuntimeBinder.Semantics.Expr,int):Microsoft.CSharp.RuntimeBinder.Semantics.ExprMemberGroup
 ; Assembly listing for method Microsoft.CSharp.RuntimeBinder.RuntimeBinder:CreateMemberGroupExpr(System.String,System.Type[],Microsoft.CSharp.RuntimeBinder.Semantics.Expr,int):Microsoft.CSharp.RuntimeBinder.Semantics.ExprMemberGroup (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; 33 single block inlinees; 7 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T11] ( 14,  9.50)     ref  ->  x19         class-hnd single-def <System.String>
-;  V01 arg1         [V01,T21] (  5,  4   )     ref  ->  x21         class-hnd single-def <System.Type[]>
-;  V02 arg2         [V02,T20] (  6,  4.25)     ref  ->  x20         class-hnd single-def <Microsoft.CSharp.RuntimeBinder.Semantics.Expr>
-;  V03 arg3         [V03,T29] (  4,  3.25)     int  ->  x22         single-def
-;  V04 loc0         [V04,T32] (  4,  4   )     ref  ->  x23         class-hnd exact single-def <Microsoft.CSharp.RuntimeBinder.Syntax.Name>
-;  V05 loc1         [V05,T36] (  6,  3.75)     ref  ->  x24         class-hnd <Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType>
-;  V06 loc2         [V06,T37] (  7,  3.50)     ref  ->   x1         class-hnd single-def <Microsoft.CSharp.RuntimeBinder.Semantics.CType>
-;  V07 loc3         [V07,T41] (  2,  3   )     ref  ->  x25         class-hnd exact single-def <System.Collections.Generic.HashSet`1[Microsoft.CSharp.RuntimeBinder.Semantics.CType]>
-;  V08 loc4         [V08,T07] (  8, 14   )     ref  ->  x28         class-hnd exact single-def <System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.CType]>
-;  V09 loc5         [V09,T01] (  4, 34   )    long  ->  x26        
-;  V10 loc6         [V10,T31] (  2,  5   )   ubyte  ->  [fp+0x54]  spill-single-def
-;  V11 loc7         [V11,T30] (  8,  5   )     int  ->  x25        
-;  V12 loc8         [V12,T45] (  2,  2   )     ref  ->  x19         class-hnd single-def <Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray>
-;  V13 loc9         [V13,T49] (  3,  1.75)     ref  ->   x0         class-hnd exact single-def <Microsoft.CSharp.RuntimeBinder.Semantics.ExprMemberGroup>
-;  V14 loc10        [V14,T53] (  2,  1   )     ref  ->   x0         class-hnd exact <Microsoft.CSharp.RuntimeBinder.Semantics.NullableType>
-;  V15 loc11        [V15,T10] (  6, 13   )     ref  ->  [fp+0x38]  class-hnd EH-live spill-single-def <System.Collections.Generic.IEnumerator`1[Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType]>
-;  V16 loc12        [V16,T08] (  5, 14   )     ref  ->  [fp+0x30]  class-hnd spill-single-def <Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType>
+;  V01 arg1         [V01,T20] (  5,  4   )     ref  ->  x21         class-hnd single-def <System.Type[]>
+;  V02 arg2         [V02,T19] (  6,  4.25)     ref  ->  x20         class-hnd single-def <Microsoft.CSharp.RuntimeBinder.Semantics.Expr>
+;  V03 arg3         [V03,T28] (  4,  3.25)     int  ->  x22         single-def
+;  V04 loc0         [V04,T31] (  4,  4   )     ref  ->  x23         class-hnd exact single-def <Microsoft.CSharp.RuntimeBinder.Syntax.Name>
+;  V05 loc1         [V05,T35] (  6,  3.75)     ref  ->  x24         class-hnd <Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType>
+;  V06 loc2         [V06,T36] (  7,  3.50)     ref  ->   x1         class-hnd single-def <Microsoft.CSharp.RuntimeBinder.Semantics.CType>
+;  V07 loc3         [V07,T40] (  2,  3   )     ref  ->  x25         class-hnd exact single-def <System.Collections.Generic.HashSet`1[Microsoft.CSharp.RuntimeBinder.Semantics.CType]>
+;  V08 loc4         [V08,T07] (  8, 14   )     ref  ->  x27         class-hnd exact single-def <System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.CType]>
+;  V09 loc5         [V09,T01] (  4, 34   )    long  ->  x28        
+;  V10 loc6         [V10,T30] (  2,  5   )   ubyte  ->  x26        
+;  V11 loc7         [V11,T29] (  8,  5   )     int  ->  x25        
+;  V12 loc8         [V12,T44] (  2,  2   )     ref  ->  x19         class-hnd single-def <Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray>
+;  V13 loc9         [V13,T48] (  3,  1.75)     ref  ->   x0         class-hnd exact single-def <Microsoft.CSharp.RuntimeBinder.Semantics.ExprMemberGroup>
+;  V14 loc10        [V14,T52] (  2,  1   )     ref  ->   x0         class-hnd exact <Microsoft.CSharp.RuntimeBinder.Semantics.NullableType>
+;  V15 loc11        [V15,T10] (  6, 13   )     ref  ->  [fp+0x30]  class-hnd EH-live spill-single-def <System.Collections.Generic.IEnumerator`1[Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType]>
+;  V16 loc12        [V16,T08] (  5, 14   )     ref  ->  [fp+0x28]  class-hnd spill-single-def <Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType>
 ;# V17 OutArgs      [V17    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;* V18 tmp1         [V18,T44] (  0,  0   )     int  ->  zero-ref    "spilling qmarkNull"
+;* V18 tmp1         [V18,T43] (  0,  0   )     int  ->  zero-ref    "spilling qmarkNull"
 ;* V19 tmp2         [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "spilling qmarkNull" <Microsoft.CSharp.RuntimeBinder.Semantics.NullableType>
-;  V20 tmp3         [V20,T22] (  3,  6   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.HashSet`1[Microsoft.CSharp.RuntimeBinder.Semantics.CType]>
-;  V21 tmp4         [V21,T23] (  3,  6   )     ref  ->  x28         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.CType]>
-;  V22 tmp5         [V22,T43] (  3,  2   )     ref  ->  x19        
-;  V23 tmp6         [V23,T19] (  4,  6.50)     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CSharp.RuntimeBinder.Semantics.CMemberLookupResults>
-;* V24 tmp7         [V24,T47] (  0,  0   )     int  ->  zero-ref    "spilling qmarkNull"
+;  V20 tmp3         [V20,T21] (  3,  6   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.HashSet`1[Microsoft.CSharp.RuntimeBinder.Semantics.CType]>
+;  V21 tmp4         [V21,T22] (  3,  6   )     ref  ->  x27         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.CType]>
+;  V22 tmp5         [V22,T42] (  3,  2   )     ref  ->  x19        
+;  V23 tmp6         [V23,T18] (  4,  6.50)     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CSharp.RuntimeBinder.Semantics.CMemberLookupResults>
+;* V24 tmp7         [V24,T46] (  0,  0   )     int  ->  zero-ref    "spilling qmarkNull"
 ;* V25 tmp8         [V25    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V26 tmp9         [V26    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V27 tmp10        [V27    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V28 tmp11        [V28,T46] (  2,  2   )     ref  ->  x15         single-def
-;  V29 tmp12        [V29,T13] (  5, 10   )     ref  ->  [fp+0x28]  class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType+<get_TypeHierarchy>d__17>
-;  V30 tmp13        [V30,T04] (  2, 16   )     ref  ->  [fp+0x20]  class-hnd exact spill-single-def "Inlining Arg" <Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol>
+;  V28 tmp11        [V28,T45] (  2,  2   )     ref  ->  x15         single-def
+;  V29 tmp12        [V29,T12] (  5, 10   )     ref  ->  [fp+0x20]  class-hnd exact spill-single-def "NewObj constructor temp" <Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType+<get_TypeHierarchy>d__17>
+;  V30 tmp13        [V30,T04] (  2, 16   )     ref  ->  [fp+0x18]  class-hnd exact spill-single-def "Inlining Arg" <Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol>
 ;  V31 tmp14        [V31,T09] (  4, 14   )     ref  ->   x0        
-;  V32 tmp15        [V32,T05] (  2, 16   )     ref  ->  [fp+0x18]  class-hnd exact spill-single-def "Inlining Arg" <Microsoft.CSharp.RuntimeBinder.Syntax.Name>
-;  V33 tmp16        [V33,T24] (  2,  4   )     ref  ->   x2         class-hnd "Inline return value spill temp" <Microsoft.CSharp.RuntimeBinder.Semantics.Symbol>
+;  V32 tmp15        [V32,T05] (  2, 16   )     ref  ->  [fp+0x10]  class-hnd exact spill-single-def "Inlining Arg" <Microsoft.CSharp.RuntimeBinder.Syntax.Name>
+;  V33 tmp16        [V33,T23] (  2,  4   )     ref  ->   x2         class-hnd "Inline return value spill temp" <Microsoft.CSharp.RuntimeBinder.Semantics.Symbol>
 ;* V34 tmp17        [V34    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <Microsoft.CSharp.RuntimeBinder.Semantics.SymbolStore+Key>
 ;  V35 tmp18        [V35,T02] (  3, 24   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Collections.Generic.Dictionary`2[Microsoft.CSharp.RuntimeBinder.Semantics.SymbolStore+Key,Microsoft.CSharp.RuntimeBinder.Semantics.Symbol]>
-;  V36 tmp19        [V36,T25] (  2,  4   )     ref  ->   x2         ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.CSharp.RuntimeBinder.Semantics.Symbol>
-;* V37 tmp20        [V37,T35] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
+;  V36 tmp19        [V36,T24] (  2,  4   )     ref  ->   x2         ld-addr-op class-hnd "Inline ldloca(s) first use temp" <Microsoft.CSharp.RuntimeBinder.Semantics.Symbol>
+;* V37 tmp20        [V37,T34] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V38 tmp21        [V38    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <Microsoft.CSharp.RuntimeBinder.Semantics.SymbolStore+Key>
-;  V39 tmp22        [V39,T14] (  3, 10   )   byref  ->   x0         "Inline stloc first use temp"
-;  V40 tmp23        [V40,T15] (  3, 10   )     ref  ->   x2         class-hnd "Inline return value spill temp" <Microsoft.CSharp.RuntimeBinder.Semantics.Symbol>
+;  V39 tmp22        [V39,T13] (  3, 10   )   byref  ->   x0         "Inline stloc first use temp"
+;  V40 tmp23        [V40,T14] (  3, 10   )     ref  ->   x2         class-hnd "Inline return value spill temp" <Microsoft.CSharp.RuntimeBinder.Semantics.Symbol>
 ;  V41 tmp24        [V41,T00] (  6,268   )     ref  ->   x2         class-hnd "Inlining Arg" <Microsoft.CSharp.RuntimeBinder.Semantics.Symbol>
-;  V42 tmp25        [V42    ] (  1,  2   )     int  ->  [fp+0x48]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
-;  V43 tmp26        [V43,T26] (  3,  6   )     ref  ->   x2         class-hnd "Inline stloc first use temp" <Microsoft.CSharp.RuntimeBinder.Semantics.CType[]>
-;  V44 tmp27        [V44,T16] (  4,  8   )     int  ->   x0         "Inline stloc first use temp"
+;  V42 tmp25        [V42    ] (  1,  2   )     int  ->  [fp+0x40]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V43 tmp26        [V43,T25] (  3,  6   )     ref  ->   x2         class-hnd "Inline stloc first use temp" <Microsoft.CSharp.RuntimeBinder.Semantics.CType[]>
+;  V44 tmp27        [V44,T15] (  4,  8   )     int  ->   x0         "Inline stloc first use temp"
 ;* V45 tmp28        [V45    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
-;* V46 tmp29        [V46,T50] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
+;* V46 tmp29        [V46,T49] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
 ;* V47 tmp30        [V47    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
-;* V48 tmp31        [V48,T51] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
+;* V48 tmp31        [V48,T50] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
 ;* V49 tmp32        [V49    ] (  0,  0   )     ref  ->  zero-ref    single-def "spilling varStr"
-;* V50 tmp33        [V50,T52] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
-;  V51 tmp34        [V51,T33] (  2,  4   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray>
+;* V50 tmp33        [V50,T51] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
+;  V51 tmp34        [V51,T32] (  2,  4   )     ref  ->   x0         class-hnd exact single-def "Inlining Arg" <Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray>
 ;  V52 tmp35        [V52,T06] ( 11, 13   )     ref  ->  x26         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CSharp.RuntimeBinder.Semantics.ExprMemberGroup>
-;* V53 tmp36        [V53,T55] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V54 tmp37        [V54,T42] (  4,  2.75)     ref  ->  x15        
-;  V55 tmp38        [V55,T34] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <Microsoft.CSharp.RuntimeBinder.Semantics.MethodGroupType>
-;  V56 tmp39        [V56,T17] (  2,  8   )     ref  ->   x1         "field V34._name (fldOffset=0x0)" P-INDEP
-;  V57 tmp40        [V57,T18] (  2,  8   )     ref  ->   x2         "field V34._parent (fldOffset=0x8)" P-INDEP
+;* V53 tmp36        [V53,T54] (  0,  0   )     ref  ->  zero-ref    single-def
+;  V54 tmp37        [V54,T41] (  4,  2.75)     ref  ->  x15        
+;  V55 tmp38        [V55,T33] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "Inlining Arg" <Microsoft.CSharp.RuntimeBinder.Semantics.MethodGroupType>
+;  V56 tmp39        [V56,T16] (  2,  8   )     ref  ->   x1         "field V34._name (fldOffset=0x0)" P-INDEP
+;  V57 tmp40        [V57,T17] (  2,  8   )     ref  ->   x2         "field V34._parent (fldOffset=0x8)" P-INDEP
 ;* V58 tmp41        [V58    ] (  0,  0   )     ref  ->  zero-ref    "field V38._name (fldOffset=0x0)" P-INDEP
 ;* V59 tmp42        [V59    ] (  0,  0   )     ref  ->  zero-ref    "field V38._parent (fldOffset=0x8)" P-INDEP
-;  V60 tmp43        [V60,T27] (  3,  6   )     ref  ->   x0         single-def "arr expr"
-;  V61 tmp44        [V61,T40] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
-;  V62 PSPSym       [V62,T56] (  1,  1   )    long  ->  [fp+0x58]  do-not-enreg[V] "PSPSym"
-;  V63 cse0         [V63,T12] (  8, 10   )    long  ->  x27         "CSE #05: moderate"
-;  V64 cse1         [V64,T03] (  6, 21   )    long  ->  [fp+0x40]  multi-def "CSE #06: aggressive"
-;  V65 cse2         [V65,T39] (  4,  3   )    long  ->  x26         "CSE #04: moderate"
-;  V66 rat0         [V66,T38] (  4,  3.50)     ref  ->  x24         "replacement local"
-;  V67 rat1         [V67,T54] (  3,  1   )    long  ->   x0         "CSE for expectedClsNode"
-;  V68 rat2         [V68,T48] (  2,  2   )    long  ->   x0         "Spilling to split statement for tree"
-;  V69 rat3         [V69,T28] (  3,  5.67)     int  ->   x1         "ReplaceWithLclVar is creating a new local variable"
+;  V60 tmp43        [V60,T26] (  3,  6   )     ref  ->   x0         single-def "arr expr"
+;  V61 tmp44        [V61,T39] (  3,  3   )     ref  ->   x0         single-def "argument with side effect"
+;  V62 PSPSym       [V62,T55] (  1,  1   )    long  ->  [fp+0x48]  do-not-enreg[V] "PSPSym"
+;  V63 cse0         [V63,T03] (  6, 21   )    long  ->  [fp+0x38]  multi-def "CSE #06: aggressive"
+;  V64 cse1         [V64,T38] (  4,  3   )    long  ->  x26         "CSE #04: moderate"
+;  V65 rat0         [V65,T37] (  4,  3.50)     ref  ->  x24         "replacement local"
+;  V66 rat1         [V66,T53] (  3,  1   )    long  ->   x0         "CSE for expectedClsNode"
+;  V67 rat2         [V67,T47] (  2,  2   )    long  ->   x0         "Spilling to split statement for tree"
+;  V68 rat3         [V68,T27] (  3,  5.67)     int  ->  x26         "ReplaceWithLclVar is creating a new local variable"
 ;
-; Lcl frame size = 80
+; Lcl frame size = 64
 
 G_M49301_IG01:
-            stp     fp, lr, [sp, #-0xB0]!
-            stp     x19, x20, [sp, #0x60]
-            stp     x21, x22, [sp, #0x70]
-            stp     x23, x24, [sp, #0x80]
-            stp     x25, x26, [sp, #0x90]
-            stp     x27, x28, [sp, #0xA0]
+            stp     fp, lr, [sp, #-0xA0]!
+            stp     x19, x20, [sp, #0x50]
+            stp     x21, x22, [sp, #0x60]
+            stp     x23, x24, [sp, #0x70]
+            stp     x25, x26, [sp, #0x80]
+            stp     x27, x28, [sp, #0x90]
             mov     fp, sp
-            add     x4, sp, #176
-            str     x4, [fp, #0x58]	// [V62 PSPSym]
+            add     x4, sp, #160
+            str     x4, [fp, #0x48]	// [V62 PSPSym]
             mov     x19, x0
             mov     x21, x1
             mov     x20, x2
             mov     w22, w3
 						;; size=52 bbWeight=1 PerfScore 10.00
 G_M49301_IG02:
             mov     x0, x19
             movz    x1, #0xD1FFAB1E      // code for Microsoft.CSharp.RuntimeBinder.Syntax.NameManager:Add(System.String):Microsoft.CSharp.RuntimeBinder.Syntax.Name
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x23, x0
             ldr     x1, [x20, #0x08]
             cbnz    x1, G_M49301_IG09
 						;; size=36 bbWeight=1 PerfScore 10.50
 G_M49301_IG03:
             mov     x24, x1
             cbz     x24, G_M49301_IG05
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M49301_IG04:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x2, [x24]
             cmp     x2, x0
             bne     G_M49301_IG58
 						;; size=24 bbWeight=0.25 PerfScore 1.50
 G_M49301_IG05:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x25, x0
             movz    x26, #0xD1FFAB1E
             movk    x26, #0xD1FFAB1E LSL #16
             movk    x26, #0xD1FFAB1E LSL #32
             add     x0, x26, #0xD1FFAB1E
             movz    x14, #0xD1FFAB1E
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     w14, [x14]
             tbz     w14, #0, G_M49301_IG52
 						;; size=56 bbWeight=1 PerfScore 10.50
 G_M49301_IG06:
-            movz    x27, #0xD1FFAB1E      // data for System.Collections.Generic.EqualityComparer`1[Microsoft.CSharp.RuntimeBinder.Semantics.CType]:<Default>k__BackingField
-            movk    x27, #0xD1FFAB1E LSL #16
-            movk    x27, #0xD1FFAB1E LSL #32
-            ldr     x15, [x27]
+            movz    x14, #0xD1FFAB1E      // data for System.Collections.Generic.EqualityComparer`1[Microsoft.CSharp.RuntimeBinder.Semantics.CType]:<Default>k__BackingField
+            movk    x14, #0xD1FFAB1E LSL #32
+            ldr     x15, [x14]
             add     x14, x25, #24
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x26
             bl      CORINFO_HELP_NEWSFAST
-            mov     x28, x0
+            mov     x27, x0
             movz    x14, #0xD1FFAB1E
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     w14, [x14]
             tbz     w14, #0, G_M49301_IG53
-						;; size=56 bbWeight=1 PerfScore 13.50
+						;; size=52 bbWeight=1 PerfScore 13.00
 G_M49301_IG07:
-            ldr     x15, [x27, #-0x18]
-            add     x14, x28, #8
+            movz    x14, #0xD1FFAB1E      // data for System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.CType]:s_emptyArray
+            movk    x14, #0xD1FFAB1E LSL #32
+            ldr     x15, [x14]
+            add     x14, x27, #8
             bl      CORINFO_HELP_ASSIGN_REF
-            mov     x26, #32
-            sub     w1, w22, #5
-            cmp     w1, #4
+            mov     x28, #32
+            sub     w26, w22, #5
+            cmp     w26, #4
             bhi     G_M49301_IG14
-						;; size=28 bbWeight=1 PerfScore 7.00
+						;; size=36 bbWeight=1 PerfScore 8.00
 G_M49301_IG08:
-            mov     w0, w1
+            mov     w0, w26
             adr     x1, [@RWD00]
             ldr     w1, [x1, x0, LSL #2]
             adr     x2, [G_M49301_IG02]
             add     x1, x1, x2
             br      x1
 						;; size=24 bbWeight=0.83 PerfScore 5.00
 G_M49301_IG09:
             ldr     x0, [x1]
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             cmp     x0, x2
             beq     G_M49301_IG11
             ldr     x0, [x1]
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             cmp     x0, x2
             bne     G_M49301_IG03
 						;; size=48 bbWeight=0.25 PerfScore 3.00
 G_M49301_IG10:
             mov     x0, x1
             movz    x1, #0xD1FFAB1E      // code for Microsoft.CSharp.RuntimeBinder.Semantics.NullableType:GetAts():Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x24, x0
             b       G_M49301_IG05
             align   [0 bytes for IG22]
             align   [0 bytes]
             align   [0 bytes]
             align   [0 bytes]
 						;; size=32 bbWeight=0.50 PerfScore 3.75
 G_M49301_IG11:
             mov     w0, #19
             movz    x1, #0xD1FFAB1E      // code for Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedTypes:GetPredefinedAggregate(uint):Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             movz    x1, #0xD1FFAB1E      // code for Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol:getThisType():Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             ldr     wzr, [x0]
             blr     x1
             mov     x24, x0
             b       G_M49301_IG05
 						;; size=56 bbWeight=0.50 PerfScore 8.00
 G_M49301_IG12:
-            mov     x26, #64
+            mov     x28, #64
             b       G_M49301_IG14
 						;; size=8 bbWeight=0.50 PerfScore 0.75
 G_M49301_IG13:
-            mov     x26, #32
+            mov     x28, #32
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M49301_IG14:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     w0, [x0]
             tbz     w0, #0, G_M49301_IG54
 						;; size=20 bbWeight=1 PerfScore 5.50
 G_M49301_IG15:
-            ldr     x0, [x27, #-0x50]
+            movz    x0, #0xD1FFAB1E      // data for Microsoft.CSharp.RuntimeBinder.Syntax.NameManager:s_predefinedNames
+            movk    x0, #0xD1FFAB1E LSL #32
+            ldr     x0, [x0]
             ldr     w1, [x0, #0x08]
             cmp     w1, #0
             bls     G_M49301_IG59
             ldr     x0, [x0, #0x10]
             cmp     x23, x0
-            cset    x1, eq
-            str     w1, [fp, #0x54]	// [V10 loc6]
+            cset    x26, eq
             ldrsb   wzr, [x24]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            str     x0, [fp, #0x28]	// [V29 tmp12]
+            str     x0, [fp, #0x20]	// [V29 tmp12]
             movn    w1, #1
             str     w1, [x0, #0x28]
             bl      System.Environment:get_CurrentManagedThreadId():int
-            ldr     x1, [fp, #0x28]	// [V29 tmp12]
+            ldr     x1, [fp, #0x20]	// [V29 tmp12]
             str     w0, [x1, #0x2C]
             add     x14, x1, #16
             mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x1
             movz    x1, #0xD1FFAB1E      // code for Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType+<get_TypeHierarchy>d__17:System.Collections.Generic.IEnumerable<Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType>.GetEnumerator():System.Collections.Generic.IEnumerator`1[Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType]:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
-            str     x0, [fp, #0x38]	// [V15 loc11]
-						;; size=116 bbWeight=1 PerfScore 33.50
+            str     x0, [fp, #0x30]	// [V15 loc11]
+						;; size=120 bbWeight=1 PerfScore 33.50
 G_M49301_IG16:
-            ldr     x0, [fp, #0x38]	// [V15 loc11]
+            ldr     x0, [fp, #0x30]	// [V15 loc11]
             movz    x1, #0xD1FFAB1E      // code for System.Collections.IEnumerator:MoveNext():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
-            str     x1, [fp, #0x40]	// [V64 cse1]
+            str     x1, [fp, #0x38]	// [V63 cse0]
             mov     x11, x1
             ldr     xip0, [x11]
             blr     xip0
             cbz     w0, G_M49301_IG30
 						;; size=36 bbWeight=8 PerfScore 80.00
 G_M49301_IG17:
-            ldp     x0, x1, [fp, #0x38]	// [V15 loc11], [V64 cse1]
+            ldp     x0, x1, [fp, #0x30]	// [V15 loc11], [V63 cse0]
             add     x11, x1, #8
             ldr     xip0, [x11]
             blr     xip0
             mov     x1, x0
-            str     x1, [fp, #0x30]	// [V16 loc12]
+            str     x1, [fp, #0x28]	// [V16 loc12]
             ldr     x2, [x1, #0x30]
-            str     x2, [fp, #0x20]	// [V30 tmp13]
+            str     x2, [fp, #0x18]	// [V30 tmp13]
             mov     x0, x19
             cbnz    x0, G_M49301_IG19
 						;; size=40 bbWeight=4 PerfScore 58.00
 G_M49301_IG18:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
 						;; size=12 bbWeight=2 PerfScore 3.00
 G_M49301_IG19:
             movz    x3, #0xD1FFAB1E      // code for Microsoft.CSharp.RuntimeBinder.Syntax.NameManager:Add(System.String):Microsoft.CSharp.RuntimeBinder.Syntax.Name
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x1, x0
-            str     x1, [fp, #0x18]	// [V32 tmp15]
+            str     x1, [fp, #0x10]	// [V32 tmp15]
             movz    x2, #0xD1FFAB1E
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     w2, [x2]
             tbz     w2, #0, G_M49301_IG29
 						;; size=48 bbWeight=4 PerfScore 50.00
 G_M49301_IG20:
-            ldr     x0, [x27, #0x08]
-            ldr     x2, [fp, #0x20]	// [V30 tmp13]
+            movz    x2, #0xD1FFAB1E      // data for Microsoft.CSharp.RuntimeBinder.Semantics.SymbolStore:s_dictionary
+            movk    x2, #0xD1FFAB1E LSL #32
+            ldr     x0, [x2]
+            ldr     x2, [fp, #0x18]	// [V30 tmp13]
             ldrsb   wzr, [x0]
             movz    x3, #0xD1FFAB1E      // code for System.Collections.Generic.Dictionary`2[Microsoft.CSharp.RuntimeBinder.Semantics.SymbolStore+Key,System.__Canon]:FindValue(Microsoft.CSharp.RuntimeBinder.Semantics.SymbolStore+Key):byref:this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             cbz     x0, G_M49301_IG28
-						;; size=36 bbWeight=4 PerfScore 58.00
+						;; size=44 bbWeight=4 PerfScore 62.00
 G_M49301_IG21:
             ldr     x2, [x0]
 						;; size=4 bbWeight=2 PerfScore 6.00
 G_M49301_IG22:
             ldr     w0, [x2, #0x28]
             mov     w1, #1
             lsl     w0, w1, w0
             sxtw    x0, w0
-            tst     x26, x0
+            tst     x28, x0
             beq     G_M49301_IG24
 						;; size=24 bbWeight=32 PerfScore 192.00
 G_M49301_IG23:
             b       G_M49301_IG26
 						;; size=4 bbWeight=4 PerfScore 4.00
 G_M49301_IG24:
             ldr     x2, [x2, #0x20]
             cbnz    x2, G_M49301_IG22
 						;; size=8 bbWeight=32 PerfScore 128.00
 G_M49301_IG25:
             mov     x2, xzr
 						;; size=4 bbWeight=4 PerfScore 2.00
 G_M49301_IG26:
             cbz     x2, G_M49301_IG28
-            add     x2, fp, #72	// [V42 tmp25]
+            add     x2, fp, #64	// [V42 tmp25]
             mov     x0, x25
-            ldr     x1, [fp, #0x30]	// [V16 loc12]
+            ldr     x1, [fp, #0x28]	// [V16 loc12]
             movz    x3, #0xD1FFAB1E      // code for System.Collections.Generic.HashSet`1[System.__Canon]:AddIfNotPresent(System.__Canon,byref):ubyte:this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             cbz     w0, G_M49301_IG28
-            ldp     w0, w1, [x28, #0x10]
+            ldp     w0, w1, [x27, #0x10]
             add     w1, w1, #1
-            str     w1, [x28, #0x14]
-            ldr     x2, [x28, #0x08]
+            str     w1, [x27, #0x14]
+            ldr     x2, [x27, #0x08]
             ldr     w1, [x2, #0x08]
             cmp     w1, w0
             bls     G_M49301_IG27
             add     w1, w0, #1
-            str     w1, [x28, #0x10]
+            str     w1, [x27, #0x10]
             sxtw    x1, w0
             mov     x0, x2
-            ldr     x2, [fp, #0x30]	// [V16 loc12]
+            ldr     x2, [fp, #0x28]	// [V16 loc12]
             movz    x3, #0xD1FFAB1E      // code for CORINFO_HELP_ARRADDR_ST
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             b       G_M49301_IG28
 						;; size=112 bbWeight=2 PerfScore 67.00
 G_M49301_IG27:
-            mov     x0, x28
-            ldr     x1, [fp, #0x30]	// [V16 loc12]
+            mov     x0, x27
+            ldr     x1, [fp, #0x28]	// [V16 loc12]
             movz    x2, #0xD1FFAB1E      // code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=28 bbWeight=2 PerfScore 16.00
 G_M49301_IG28:
-            ldr     w1, [fp, #0x54]	// [V10 loc6]
-            cbz     w1, G_M49301_IG16
+            cbz     w26, G_M49301_IG16
             b       G_M49301_IG30
-						;; size=12 bbWeight=4 PerfScore 16.00
+						;; size=8 bbWeight=4 PerfScore 8.00
 G_M49301_IG29:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
-            ldr     x1, [fp, #0x18]	// [V32 tmp15]
+            ldr     x1, [fp, #0x10]	// [V32 tmp15]
             b       G_M49301_IG20
 						;; size=24 bbWeight=0 PerfScore 0.00
 G_M49301_IG30:
-            ldp     x0, x25, [fp, #0x38]	// [V15 loc11], [V64 cse1]
+            ldp     x0, x25, [fp, #0x30]	// [V15 loc11], [V63 cse0]
             add     x11, x25, #16
             ldr     xip0, [x11]
             blr     xip0
             mov     w25, #0xD1FFAB1E
             cbz     x19, G_M49301_IG40
 						;; size=24 bbWeight=1 PerfScore 9.00
 G_M49301_IG31:
             ldr     w0, [x19, #0x08]
             cmp     w0, #6
             bne     G_M49301_IG34
 						;; size=12 bbWeight=0.25 PerfScore 1.12
 G_M49301_IG32:
             ldr     x0, [x19, #0x0C]
             movz    x1, #73
             movk    x1, #110 LSL #16
             movk    x1, #118 LSL #32
             movk    x1, #111 LSL #48
             eor     x0, x0, x1
             ldr     w1, [x19, #0x14]
             movz    w2, #107
             movk    w2, #101 LSL #16
             eor     w1, w1, w2
             mov     w1, w1
             orr     x0, x0, x1
             cbnz    x0, G_M49301_IG34
 						;; size=52 bbWeight=0.12 PerfScore 1.50
 G_M49301_IG33:
             ldr     x0, [x20, #0x08]
             ldr     x1, [x0]
             ldr     x1, [x1, #0x48]
             ldr     x1, [x1, #0x10]
             blr     x1
             mov     w1, #0xD1FFAB1E
             cmp     w0, #0
             csel    w25, w25, w1, eq
 						;; size=32 bbWeight=0.50 PerfScore 7.25
 G_M49301_IG34:
             ldr     w0, [x19, #0x08]
             cmp     w0, #5
             bne     G_M49301_IG37
 						;; size=12 bbWeight=0.25 PerfScore 1.12
 G_M49301_IG35:
             ldr     x0, [x19, #0x0C]
             movz    x1, #46
             movk    x1, #99 LSL #16
             movk    x1, #116 LSL #32
             movk    x1, #111 LSL #48
             eor     x0, x0, x1
             ldr     w1, [x19, #0x12]
             movz    w2, #111
             movk    w2, #114 LSL #16
             eor     w1, w1, w2
             mov     w1, w1
             orr     x0, x0, x1
             cbnz    x0, G_M49301_IG37
 						;; size=52 bbWeight=0.12 PerfScore 1.50
 G_M49301_IG36:
             orr     w25, w25, #2
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M49301_IG37:
             ldr     w0, [x19, #0x08]
             cmp     w0, #6
             bne     G_M49301_IG40
 						;; size=12 bbWeight=0.25 PerfScore 1.12
 G_M49301_IG38:
             ldr     x0, [x19, #0x0C]
             movz    x1, #36
             movk    x1, #73 LSL #16
             movk    x1, #116 LSL #32
             movk    x1, #101 LSL #48
             eor     x0, x0, x1
             ldr     w1, [x19, #0x14]
             movz    w2, #109
             movk    w2, #36 LSL #16
             eor     w1, w1, w2
             mov     w1, w1
             orr     x0, x0, x1
             cbnz    x0, G_M49301_IG40
 						;; size=52 bbWeight=0.12 PerfScore 1.50
 G_M49301_IG39:
             orr     w25, w25, #4
 						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M49301_IG40:
             cbz     x21, G_M49301_IG42
 						;; size=4 bbWeight=1 PerfScore 1.00
 G_M49301_IG41:
             ldr     w0, [x21, #0x08]
             cbnz    w0, G_M49301_IG50
 						;; size=8 bbWeight=0.50 PerfScore 2.00
 G_M49301_IG42:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     w0, [x0]
             tbz     w0, #0, G_M49301_IG55
 						;; size=20 bbWeight=0.50 PerfScore 2.75
 G_M49301_IG43:
-            ldr     x19, [x27, #-0x08]
-						;; size=4 bbWeight=0.50 PerfScore 1.50
+            movz    x0, #0xD1FFAB1E      // data for Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray:Empty
+            movk    x0, #0xD1FFAB1E LSL #32
+            ldr     x19, [x0]
+						;; size=12 bbWeight=0.50 PerfScore 2.00
 G_M49301_IG44:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x21, x0
-            mov     x0, x28
+            mov     x0, x27
             movz    x1, #0xD1FFAB1E      // code for System.Collections.Generic.List`1[System.__Canon]:ToArray():System.__Canon[]:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             movz    x1, #0xD1FFAB1E      // code for Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray:Allocate(Microsoft.CSharp.RuntimeBinder.Semantics.CType[]):Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             add     x14, x21, #16
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x21, #8
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x26, x0
             movz    x14, #0xD1FFAB1E
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     w14, [x14]
             tbz     w14, #0, G_M49301_IG56
 						;; size=128 bbWeight=1 PerfScore 27.00
 G_M49301_IG45:
-            ldr     x15, [x27, #0x10]
+            movz    x14, #0xD1FFAB1E      // data for Microsoft.CSharp.RuntimeBinder.Semantics.MethodGroupType:Instance
+            movk    x14, #0xD1FFAB1E LSL #32
+            ldr     x15, [x14]
             mov     w14, #22
             str     w14, [x26, #0x28]
             add     x14, x26, #8
             bl      CORINFO_HELP_ASSIGN_REF
             str     w25, [x26, #0x2C]
             add     x14, x26, #56
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x15, x19
             cbnz    x15, G_M49301_IG48
-						;; size=44 bbWeight=1 PerfScore 10.50
+						;; size=52 bbWeight=1 PerfScore 11.50
 G_M49301_IG46:
             movz    x15, #0xD1FFAB1E
             movk    x15, #0xD1FFAB1E LSL #16
             movk    x15, #0xD1FFAB1E LSL #32
             ldr     w14, [x15]
             tbz     w14, #0, G_M49301_IG57
 						;; size=20 bbWeight=0.50 PerfScore 2.75
 G_M49301_IG47:
-            ldr     x15, [x27, #-0x08]
-						;; size=4 bbWeight=0.50 PerfScore 1.50
+            movz    x14, #0xD1FFAB1E      // data for Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray:Empty
+            movk    x14, #0xD1FFAB1E LSL #32
+            ldr     x15, [x14]
+						;; size=12 bbWeight=0.50 PerfScore 2.00
 G_M49301_IG48:
             add     x14, x26, #64
             bl      CORINFO_HELP_ASSIGN_REF
             str     w22, [x26, #0x60]
             add     x14, x26, #88
             mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             str     xzr, [x26, #0x48]
             add     x14, x26, #80
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x26
             ldr     x14, [x20]
             movz    x15, #0xD1FFAB1E
             movk    x15, #0xD1FFAB1E LSL #16
             movk    x15, #0xD1FFAB1E LSL #32
             cmp     x14, x15
             beq     G_M49301_IG51
 						;; size=68 bbWeight=0.25 PerfScore 3.50
 G_M49301_IG49:
             add     x14, x0, #72
             mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
             b       G_M49301_IG51
 						;; size=16 bbWeight=0.50 PerfScore 1.50
 G_M49301_IG50:
             mov     x0, x21
             movz    x1, #0xD1FFAB1E      // code for Microsoft.CSharp.RuntimeBinder.SymbolTable:GetCTypeArrayFromTypes(System.Type[]):Microsoft.CSharp.RuntimeBinder.Semantics.CType[]
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             movz    x1, #0xD1FFAB1E      // code for Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray:Allocate(Microsoft.CSharp.RuntimeBinder.Semantics.CType[]):Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x19, x0
             b       G_M49301_IG44
 						;; size=52 bbWeight=0.50 PerfScore 6.50
 G_M49301_IG51:
-            ldp     x27, x28, [sp, #0xA0]
-            ldp     x25, x26, [sp, #0x90]
-            ldp     x23, x24, [sp, #0x80]
-            ldp     x21, x22, [sp, #0x70]
-            ldp     x19, x20, [sp, #0x60]
-            ldp     fp, lr, [sp], #0xB0
+            ldp     x27, x28, [sp, #0x90]
+            ldp     x25, x26, [sp, #0x80]
+            ldp     x23, x24, [sp, #0x70]
+            ldp     x21, x22, [sp, #0x60]
+            ldp     x19, x20, [sp, #0x50]
+            ldp     fp, lr, [sp], #0xA0
             ret     lr
 						;; size=28 bbWeight=1 PerfScore 7.00
 G_M49301_IG52:
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M49301_IG06
 						;; size=8 bbWeight=0 PerfScore 0.00
 G_M49301_IG53:
             mov     x0, x26
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M49301_IG07
 						;; size=12 bbWeight=0 PerfScore 0.00
 G_M49301_IG54:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M49301_IG15
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M49301_IG55:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M49301_IG43
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M49301_IG56:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M49301_IG45
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M49301_IG57:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M49301_IG47
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M49301_IG58:
             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=24 bbWeight=0 PerfScore 0.00
 G_M49301_IG59:
             bl      CORINFO_HELP_RNGCHKFAIL
             brk_unix #0
 						;; size=8 bbWeight=0 PerfScore 0.00
 G_M49301_IG60:
             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]
-            add     x3, fp, #176
+            add     x3, fp, #160
             str     x3, [sp, #0x18]
 						;; size=32 bbWeight=0 PerfScore 0.00
 G_M49301_IG61:
-            ldr     x0, [fp, #0x38]	// [V15 loc11]
+            ldr     x0, [fp, #0x30]	// [V15 loc11]
             cbz     x0, G_M49301_IG62
             movz    x25, #0xD1FFAB1E
             movk    x25, #0xD1FFAB1E LSL #16
             movk    x25, #0xD1FFAB1E LSL #32
             add     x11, x25, #16
             ldr     xip0, [x11]
             blr     xip0
 						;; size=32 bbWeight=0 PerfScore 0.00
 G_M49301_IG62:
             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=0 PerfScore 0.00
 RWD00  	dd	G_M49301_IG13 - G_M49301_IG02
        	dd	G_M49301_IG12 - G_M49301_IG02
        	dd	G_M49301_IG14 - G_M49301_IG02
        	dd	G_M49301_IG14 - G_M49301_IG02
        	dd	G_M49301_IG12 - G_M49301_IG02
 
 
-; Total bytes of code 1836, prolog size 52, PerfScore 885.62, instruction count 463, allocated bytes for code 1836 (MethodHash=83463f6a) for method Microsoft.CSharp.RuntimeBinder.RuntimeBinder:CreateMemberGroupExpr(System.String,System.Type[],Microsoft.CSharp.RuntimeBinder.Semantics.Expr,int):Microsoft.CSharp.RuntimeBinder.Semantics.ExprMemberGroup (FullOpts)
+; Total bytes of code 1872, prolog size 52, PerfScore 884.12, instruction count 472, allocated bytes for code 1872 (MethodHash=83463f6a) for method Microsoft.CSharp.RuntimeBinder.RuntimeBinder:CreateMemberGroupExpr(System.String,System.Type[],Microsoft.CSharp.RuntimeBinder.Semantics.Expr,int):Microsoft.CSharp.RuntimeBinder.Semantics.ExprMemberGroup (FullOpts)
24 (60.00 % of base) - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[])
 ; Assembly listing for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[]) (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; 1 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 TypeCtx      [V00,T00] (  3,  3   )    long  ->   x0         single-def
+;  V00 TypeCtx      [V00,T00] (  4,  3   )    long  ->   x0         single-def
 ;* V01 arg0         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.Runtime.Intrinsics.Vector128`1[System.__Canon]>
 ;  V02 arg1         [V02,T01] (  3,  2   )     ref  ->   x3         class-hnd single-def <System.__Canon[]>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V06 tmp3         [V06    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V07 tmp4         [V07    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V08 tmp5         [V08    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V09 tmp6         [V09    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V10 tmp7         [V10,T02] (  1,  1   )    long  ->   x1         single-def "field V01._lower (fldOffset=0x0)" P-INDEP
 ;  V11 tmp8         [V11,T03] (  1,  1   )    long  ->   x2         single-def "field V01._upper (fldOffset=0x8)" P-INDEP
-;* V12 tmp9         [V12    ] (  0,  0   )   byref  ->  zero-ref    "BlockOp address local"
+;* V12 tmp9         [V12,T04] (  0,  0   )    long  ->  zero-ref    "argument with side effect"
+;* V13 tmp10        [V13    ] (  0,  0   )   byref  ->  zero-ref    "BlockOp address local"
+;* V14 rat0         [V14,T05] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;  V15 rat1         [V15,T06] (  2,  0   )    long  ->   x0         "fgMakeTemp is creating a new local variable"
+;* V16 rat2         [V16,T08] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V17 rat3         [V17,T07] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 16
 
 G_M23152_IG01:
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x20]!
             mov     fp, sp
-						;; size=8 bbWeight=0 PerfScore 0.00
+            str     x0, [fp, #0x18]
+						;; size=12 bbWeight=0 PerfScore 0.00
 G_M23152_IG02:
+            ldr     x0, [x0, #0x30]
+            ldr     x0, [x0]
+            ldr     x0, [x0, #0xA0]
+            cbz     x0, G_M23152_IG03
+            b       G_M23152_IG03
+						;; size=20 bbWeight=0 PerfScore 0.00
+G_M23152_IG03:
             ldr     wzr, [x3, #0x08]
             mov     w0, #67
             movz    x1, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowNotSupportedException(int)
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             brk_unix #0
 						;; size=32 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 40, prolog size 8, PerfScore 0.00, instruction count 10, allocated bytes for code 40 (MethodHash=fb03a58f) for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[]) (FullOpts)
+; Total bytes of code 64, prolog size 12, PerfScore 0.00, instruction count 16, allocated bytes for code 64 (MethodHash=fb03a58f) for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector128`1[System.__Canon],System.__Canon[]) (FullOpts)
24 (60.00 % of base) - System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector128`1[System.__Canon]
 ; Assembly listing for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (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; 1 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 TypeCtx      [V00,T00] (  3,  3   )    long  ->   x0         single-def
+;  V00 TypeCtx      [V00,T00] (  4,  3   )    long  ->   x0         single-def
 ;  V01 arg0         [V01,T01] (  3,  2   )     ref  ->   x1         class-hnd single-def <System.__Canon[]>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V04 tmp2         [V04    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Runtime.Intrinsics.Vector128`1[System.__Canon]>
 ;* V05 tmp3         [V05    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V06 tmp4         [V06    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V07 tmp5         [V07    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V08 tmp6         [V08    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V09 tmp7         [V09    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V10 tmp8         [V10    ] (  0,  0   )    long  ->  zero-ref    "field V04._lower (fldOffset=0x0)" P-DEP
 ;* V11 tmp9         [V11    ] (  0,  0   )    long  ->  zero-ref    "field V04._upper (fldOffset=0x8)" P-DEP
-;* V12 tmp10        [V12    ] (  0,  0   )   byref  ->  zero-ref    "BlockOp address local"
+;* V12 tmp10        [V12,T02] (  0,  0   )    long  ->  zero-ref    "argument with side effect"
+;* V13 tmp11        [V13    ] (  0,  0   )   byref  ->  zero-ref    "BlockOp address local"
+;* V14 rat0         [V14,T03] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;  V15 rat1         [V15,T04] (  2,  0   )    long  ->   x0         "fgMakeTemp is creating a new local variable"
+;* V16 rat2         [V16,T06] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V17 rat3         [V17,T05] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 16
 
 G_M59324_IG01:
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x20]!
             mov     fp, sp
-						;; size=8 bbWeight=0 PerfScore 0.00
+            str     x0, [fp, #0x18]
+						;; size=12 bbWeight=0 PerfScore 0.00
 G_M59324_IG02:
+            ldr     x0, [x0, #0x30]
+            ldr     x0, [x0]
+            ldr     x0, [x0, #0xB8]
+            cbz     x0, G_M59324_IG03
+            b       G_M59324_IG03
+						;; size=20 bbWeight=0 PerfScore 0.00
+G_M59324_IG03:
             ldr     wzr, [x1, #0x08]
             mov     w0, #67
             movz    x1, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowNotSupportedException(int)
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             brk_unix #0
 						;; size=32 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 40, prolog size 8, PerfScore 0.00, instruction count 10, allocated bytes for code 40 (MethodHash=ec911843) for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts)
+; Total bytes of code 64, prolog size 12, PerfScore 0.00, instruction count 16, allocated bytes for code 64 (MethodHash=ec911843) for method System.Runtime.Intrinsics.Vector128`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector128<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector128`1[System.__Canon] (FullOpts)
24 (60.00 % of base) - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[])
 ; Assembly listing for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[]) (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; 1 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 TypeCtx      [V00,T00] (  3,  3   )    long  ->   x0         single-def
+;  V00 TypeCtx      [V00,T00] (  4,  3   )    long  ->   x0         single-def
 ;* V01 arg0         [V01    ] (  0,  0   )   byref  ->  zero-ref    single-def
 ;  V02 arg1         [V02,T01] (  3,  2   )     ref  ->   x2         class-hnd single-def <System.__Canon[]>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V06 tmp3         [V06    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V07 tmp4         [V07    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V08 tmp5         [V08    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V09 tmp6         [V09    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;* V10 tmp7         [V10,T02] (  0,  0   )    long  ->  zero-ref    "argument with side effect"
+;* V11 rat0         [V11,T03] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;  V12 rat1         [V12,T04] (  2,  0   )    long  ->   x0         "fgMakeTemp is creating a new local variable"
+;* V13 rat2         [V13,T06] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V14 rat3         [V14,T05] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 16
 
 G_M9626_IG01:
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x20]!
             mov     fp, sp
-						;; size=8 bbWeight=0 PerfScore 0.00
+            str     x0, [fp, #0x18]
+						;; size=12 bbWeight=0 PerfScore 0.00
 G_M9626_IG02:
+            ldr     x0, [x0, #0x30]
+            ldr     x0, [x0]
+            ldr     x0, [x0, #0x98]
+            cbz     x0, G_M9626_IG03
+            b       G_M9626_IG03
+						;; size=20 bbWeight=0 PerfScore 0.00
+G_M9626_IG03:
             ldr     wzr, [x2, #0x08]
             mov     w0, #67
             movz    x1, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowNotSupportedException(int)
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             brk_unix #0
 						;; size=32 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 40, prolog size 8, PerfScore 0.00, instruction count 10, allocated bytes for code 40 (MethodHash=57a4da65) for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[]) (FullOpts)
+; Total bytes of code 64, prolog size 12, PerfScore 0.00, instruction count 16, allocated bytes for code 64 (MethodHash=57a4da65) for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector256`1[System.__Canon],System.__Canon[]) (FullOpts)
24 (60.00 % of base) - System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector256`1[System.__Canon]
 ; Assembly listing for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (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; 1 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 RetBuf       [V00    ] (  0,  0   )   byref  ->  zero-ref    single-def
-;  V01 TypeCtx      [V01,T00] (  3,  3   )    long  ->   x0         single-def
+;  V01 TypeCtx      [V01,T00] (  4,  3   )    long  ->   x0         single-def
 ;  V02 arg0         [V02,T01] (  3,  2   )     ref  ->   x1         class-hnd single-def <System.__Canon[]>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 loc1         [V04    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V06 tmp3         [V06    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V07 tmp4         [V07    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V08 tmp5         [V08    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V09 tmp6         [V09    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;* V10 tmp7         [V10,T02] (  0,  0   )    long  ->  zero-ref    "argument with side effect"
+;* V11 rat0         [V11,T03] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;  V12 rat1         [V12,T04] (  2,  0   )    long  ->   x0         "fgMakeTemp is creating a new local variable"
+;* V13 rat2         [V13,T06] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V14 rat3         [V14,T05] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 16
 
 G_M1942_IG01:
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x20]!
             mov     fp, sp
-						;; size=8 bbWeight=0 PerfScore 0.00
+            str     x0, [fp, #0x18]
+						;; size=12 bbWeight=0 PerfScore 0.00
 G_M1942_IG02:
+            ldr     x0, [x0, #0x30]
+            ldr     x0, [x0]
+            ldr     x0, [x0, #0xB0]
+            cbz     x0, G_M1942_IG03
+            b       G_M1942_IG03
+						;; size=20 bbWeight=0 PerfScore 0.00
+G_M1942_IG03:
             ldr     wzr, [x1, #0x08]
             mov     w0, #67
             movz    x1, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowNotSupportedException(int)
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             brk_unix #0
 						;; size=32 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 40, prolog size 8, PerfScore 0.00, instruction count 10, allocated bytes for code 40 (MethodHash=f020f869) for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts)
+; Total bytes of code 64, prolog size 12, PerfScore 0.00, instruction count 16, allocated bytes for code 64 (MethodHash=f020f869) for method System.Runtime.Intrinsics.Vector256`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector256<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector256`1[System.__Canon] (FullOpts)
24 (60.00 % of base) - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.__Canon[])
 ; Assembly listing for method System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.__Canon[]) (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; 1 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 TypeCtx      [V00,T00] (  3,  3   )    long  ->   x0         single-def
+;  V00 TypeCtx      [V00,T00] (  4,  3   )    long  ->   x0         single-def
 ;* V01 arg0         [V01    ] (  0,  0   )   byref  ->  zero-ref    single-def
 ;  V02 arg1         [V02,T01] (  3,  2   )     ref  ->   x2         class-hnd single-def <System.__Canon[]>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V06 tmp3         [V06    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V07 tmp4         [V07    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V08 tmp5         [V08    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V09 tmp6         [V09    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;* V10 tmp7         [V10,T02] (  0,  0   )    long  ->  zero-ref    "argument with side effect"
+;* V11 rat0         [V11,T03] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;  V12 rat1         [V12,T04] (  2,  0   )    long  ->   x0         "fgMakeTemp is creating a new local variable"
+;* V13 rat2         [V13,T06] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V14 rat3         [V14,T05] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 16
 
 G_M25821_IG01:
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x20]!
             mov     fp, sp
-						;; size=8 bbWeight=0 PerfScore 0.00
+            str     x0, [fp, #0x18]
+						;; size=12 bbWeight=0 PerfScore 0.00
 G_M25821_IG02:
+            ldr     x0, [x0, #0x30]
+            ldr     x0, [x0]
+            ldr     x0, [x0, #0x98]
+            cbz     x0, G_M25821_IG03
+            b       G_M25821_IG03
+						;; size=20 bbWeight=0 PerfScore 0.00
+G_M25821_IG03:
             ldr     wzr, [x2, #0x08]
             mov     w0, #67
             movz    x1, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowNotSupportedException(int)
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             brk_unix #0
 						;; size=32 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 40, prolog size 8, PerfScore 0.00, instruction count 10, allocated bytes for code 40 (MethodHash=fed49b22) for method System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.__Canon[]) (FullOpts)
+; Total bytes of code 64, prolog size 12, PerfScore 0.00, instruction count 16, allocated bytes for code 64 (MethodHash=fed49b22) for method System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector512`1[System.__Canon],System.__Canon[]) (FullOpts)
24 (60.00 % of base) - System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector512`1[System.__Canon]
 ; Assembly listing for method System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (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; 1 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 RetBuf       [V00    ] (  0,  0   )   byref  ->  zero-ref    single-def
-;  V01 TypeCtx      [V01,T00] (  3,  3   )    long  ->   x0         single-def
+;  V01 TypeCtx      [V01,T00] (  4,  3   )    long  ->   x0         single-def
 ;  V02 arg0         [V02,T01] (  3,  2   )     ref  ->   x1         class-hnd single-def <System.__Canon[]>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 loc1         [V04    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V06 tmp3         [V06    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V07 tmp4         [V07    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V08 tmp5         [V08    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V09 tmp6         [V09    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;* V10 tmp7         [V10,T02] (  0,  0   )    long  ->  zero-ref    "argument with side effect"
+;* V11 rat0         [V11,T03] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;  V12 rat1         [V12,T04] (  2,  0   )    long  ->   x0         "fgMakeTemp is creating a new local variable"
+;* V13 rat2         [V13,T06] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V14 rat3         [V14,T05] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 16
 
 G_M49233_IG01:
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x20]!
             mov     fp, sp
-						;; size=8 bbWeight=0 PerfScore 0.00
+            str     x0, [fp, #0x18]
+						;; size=12 bbWeight=0 PerfScore 0.00
 G_M49233_IG02:
+            ldr     x0, [x0, #0x30]
+            ldr     x0, [x0]
+            ldr     x0, [x0, #0xB0]
+            cbz     x0, G_M49233_IG03
+            b       G_M49233_IG03
+						;; size=20 bbWeight=0 PerfScore 0.00
+G_M49233_IG03:
             ldr     wzr, [x1, #0x08]
             mov     w0, #67
             movz    x1, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowNotSupportedException(int)
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             brk_unix #0
 						;; size=32 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 40, prolog size 8, PerfScore 0.00, instruction count 10, allocated bytes for code 40 (MethodHash=19413fae) for method System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts)
+; Total bytes of code 64, prolog size 12, PerfScore 0.00, instruction count 16, allocated bytes for code 64 (MethodHash=19413fae) for method System.Runtime.Intrinsics.Vector512`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector512<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector512`1[System.__Canon] (FullOpts)
24 (60.00 % of base) - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[])
 ; Assembly listing for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[]) (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; 1 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 TypeCtx      [V00,T00] (  3,  3   )    long  ->   x0         single-def
+;  V00 TypeCtx      [V00,T00] (  4,  3   )    long  ->   x0         single-def
 ;* V01 arg0         [V01    ] (  0,  0   )  struct ( 8) zero-ref    single-def <System.Runtime.Intrinsics.Vector64`1[System.__Canon]>
 ;  V02 arg1         [V02,T01] (  3,  2   )     ref  ->   x2         class-hnd single-def <System.__Canon[]>
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V05 tmp2         [V05    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V06 tmp3         [V06    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V07 tmp4         [V07    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V08 tmp5         [V08    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V09 tmp6         [V09    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;  V10 tmp7         [V10,T02] (  1,  1   )    long  ->   x1         single-def "field V01._00 (fldOffset=0x0)" P-INDEP
+;* V11 tmp8         [V11,T03] (  0,  0   )    long  ->  zero-ref    "argument with side effect"
+;* V12 rat0         [V12,T04] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;  V13 rat1         [V13,T05] (  2,  0   )    long  ->   x0         "fgMakeTemp is creating a new local variable"
+;* V14 rat2         [V14,T07] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V15 rat3         [V15,T06] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 16
 
 G_M28585_IG01:
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x20]!
             mov     fp, sp
-						;; size=8 bbWeight=0 PerfScore 0.00
+            str     x0, [fp, #0x18]
+						;; size=12 bbWeight=0 PerfScore 0.00
 G_M28585_IG02:
+            ldr     x0, [x0, #0x30]
+            ldr     x0, [x0]
+            ldr     x0, [x0, #0x80]
+            cbz     x0, G_M28585_IG03
+            b       G_M28585_IG03
+						;; size=20 bbWeight=0 PerfScore 0.00
+G_M28585_IG03:
             ldr     wzr, [x2, #0x08]
             mov     w0, #67
             movz    x1, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowNotSupportedException(int)
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             brk_unix #0
 						;; size=32 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 40, prolog size 8, PerfScore 0.00, instruction count 10, allocated bytes for code 40 (MethodHash=da809056) for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[]) (FullOpts)
+; Total bytes of code 64, prolog size 12, PerfScore 0.00, instruction count 16, allocated bytes for code 64 (MethodHash=da809056) for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.CopyTo(System.Runtime.Intrinsics.Vector64`1[System.__Canon],System.__Canon[]) (FullOpts)
24 (60.00 % of base) - System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector64`1[System.__Canon]
 ; Assembly listing for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (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; 1 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 TypeCtx      [V00,T00] (  3,  3   )    long  ->   x0         single-def
+;  V00 TypeCtx      [V00,T00] (  4,  3   )    long  ->   x0         single-def
 ;  V01 arg0         [V01,T01] (  3,  2   )     ref  ->   x1         class-hnd single-def <System.__Canon[]>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V04 tmp2         [V04    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V05 tmp3         [V05    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
 ;* V06 tmp4         [V06    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V07 tmp5         [V07    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V08 tmp6         [V08    ] (  0,  0   )    long  ->  zero-ref    "spilling helperCall"
+;* V09 tmp7         [V09,T02] (  0,  0   )    long  ->  zero-ref    "argument with side effect"
+;* V10 rat0         [V10,T03] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;  V11 rat1         [V11,T04] (  2,  0   )    long  ->   x0         "fgMakeTemp is creating a new local variable"
+;* V12 rat2         [V12,T06] (  0,  0   )    long  ->  zero-ref    "runtime lookup"
+;* V13 rat3         [V13,T05] (  0,  0   )    long  ->  zero-ref    "fgMakeTemp is creating a new local variable"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 16
 
 G_M52357_IG01:
-            stp     fp, lr, [sp, #-0x10]!
+            stp     fp, lr, [sp, #-0x20]!
             mov     fp, sp
-						;; size=8 bbWeight=0 PerfScore 0.00
+            str     x0, [fp, #0x18]
+						;; size=12 bbWeight=0 PerfScore 0.00
 G_M52357_IG02:
+            ldr     x0, [x0, #0x30]
+            ldr     x0, [x0]
+            ldr     x0, [x0, #0x98]
+            cbz     x0, G_M52357_IG03
+            b       G_M52357_IG03
+						;; size=20 bbWeight=0 PerfScore 0.00
+G_M52357_IG03:
             ldr     wzr, [x1, #0x08]
             mov     w0, #67
             movz    x1, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowNotSupportedException(int)
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             brk_unix #0
 						;; size=32 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 40, prolog size 8, PerfScore 0.00, instruction count 10, allocated bytes for code 40 (MethodHash=631a337a) for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
+; Total bytes of code 64, prolog size 12, PerfScore 0.00, instruction count 16, allocated bytes for code 64 (MethodHash=631a337a) for method System.Runtime.Intrinsics.Vector64`1[System.__Canon]:System.Runtime.Intrinsics.ISimdVector<System.Runtime.Intrinsics.Vector64<T>,T>.Create(System.__Canon[]):System.Runtime.Intrinsics.Vector64`1[System.__Canon] (FullOpts)
20 (4.03 % of base) - Microsoft.CSharp.RuntimeBinder.Semantics.MethodOrPropertySymbol:set_Params(Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray):this
 ; Assembly listing for method Microsoft.CSharp.RuntimeBinder.Semantics.MethodOrPropertySymbol:set_Params(Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray):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; 6 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 15,  9   )     ref  ->  x19         this class-hnd single-def <Microsoft.CSharp.RuntimeBinder.Semantics.MethodOrPropertySymbol>
 ;  V01 arg1         [V01,T01] (  4,  4   )     ref  ->   x1         class-hnd single-def <Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray>
-;  V02 loc0         [V02,T05] (  3,  2.50)     int  ->   x1        
+;  V02 loc0         [V02,T04] (  3,  2.50)     int  ->   x1        
 ;* V03 loc1         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <ubyte[]>
 ;# V04 OutArgs      [V04    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V05 tmp1         [V05,T02] (  4,  4   )     ref  ->   x1         class-hnd single-def "dup spill" <ubyte[]>
-;  V06 cse0         [V06,T04] (  5,  2.50)    long  ->  x21         "CSE #02: aggressive"
-;  V07 cse1         [V07,T06] (  4,  2   )    long  ->  x20         "CSE #01: moderate"
-;  V08 cse2         [V08,T07] (  4,  2   )    long  ->  x21         "CSE #04: moderate"
-;  V09 cse3         [V09,T03] (  7,  3.50)    long  ->  x20         "CSE #03: aggressive"
-;  V10 rat0         [V10,T08] (  2,  1   )    long  ->   x0         "Spilling to split statement for tree"
-;  V11 rat1         [V11,T09] (  2,  1   )    long  ->   x0         "Spilling to split statement for tree"
-;  V12 rat2         [V12,T10] (  2,  1   )    long  ->   x0         "Spilling to split statement for tree"
+;  V06 cse0         [V06,T05] (  4,  2   )    long  ->  x20         "CSE #01: aggressive"
+;  V07 cse1         [V07,T06] (  4,  2   )    long  ->  x21         "CSE #04: aggressive"
+;  V08 cse2         [V08,T03] (  7,  3.50)    long  ->  x20         "CSE #03: aggressive"
+;  V09 rat0         [V09,T07] (  2,  1   )    long  ->   x0         "Spilling to split statement for tree"
+;  V10 rat1         [V10,T08] (  2,  1   )    long  ->   x0         "Spilling to split statement for tree"
+;  V11 rat2         [V11,T09] (  2,  1   )    long  ->   x0         "Spilling to split statement for tree"
 ;
 ; Lcl frame size = 8
 
 G_M19070_IG01:
             stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x18]
             str     x21, [sp, #0x28]
             mov     fp, sp
             mov     x19, x0
 						;; size=20 bbWeight=1 PerfScore 4.00
 G_M19070_IG02:
             add     x14, x19, #136
             mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     x14, [x1, #0x08]
             ldr     w1, [x14, #0x08]
             cbnz    w1, G_M19070_IG09
 						;; size=24 bbWeight=1 PerfScore 9.00
 G_M19070_IG03:
             movz    x20, #0xD1FFAB1E
             movk    x20, #0xD1FFAB1E LSL #16
             movk    x20, #0xD1FFAB1E LSL #32
             mov     x0, x20
             movz    x14, #0xD1FFAB1E
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     w14, [x14]
             tbz     w14, #0, G_M19070_IG11
 						;; size=36 bbWeight=0.50 PerfScore 3.75
 G_M19070_IG04:
-            movz    x21, #0xD1FFAB1E
-            movk    x21, #0xD1FFAB1E LSL #16
-            movk    x21, #0xD1FFAB1E LSL #32
-            ldr     x1, [x21, #0xD1FFAB1E]
+            movz    x14, #0xD1FFAB1E      // data for System.Array+EmptyArray`1[ubyte]:Value
+            movk    x14, #0xD1FFAB1E LSL #32
+            ldr     x1, [x14]
             add     x14, x19, #104
             mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #80
             mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #72
             mov     x15, x1
             bl      CORINFO_HELP_ASSIGN_REF
             add     x0, x20, #232
             movz    x14, #0xD1FFAB1E
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     w14, [x14]
             tbz     w14, #0, G_M19070_IG12
-						;; size=76 bbWeight=0.50 PerfScore 8.25
+						;; size=72 bbWeight=0.50 PerfScore 8.00
 G_M19070_IG05:
-            ldr     x15, [x21, #0xD1FFAB1E]
+            movz    x14, #0xD1FFAB1E      // data for System.Array+EmptyArray`1[Microsoft.CSharp.RuntimeBinder.Semantics.ConstVal]:Value
+            movk    x14, #0xD1FFAB1E LSL #32
+            ldr     x15, [x14]
             add     x14, x19, #88
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x14, #0xD1FFAB1E
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     w14, [x14]
             tbz     w14, #0, G_M19070_IG13
-						;; size=32 bbWeight=0.50 PerfScore 5.00
+						;; size=40 bbWeight=0.50 PerfScore 5.50
 G_M19070_IG06:
-            ldr     x15, [x21]
+            movz    x14, #0xD1FFAB1E      // data for System.Array+EmptyArray`1[Microsoft.CSharp.RuntimeBinder.Semantics.CType]:Value
+            movk    x14, #0xD1FFAB1E LSL #32
+            ldr     x15, [x14]
             add     x14, x19, #96
             bl      CORINFO_HELP_ASSIGN_REF
             add     x0, x20, #0xD1FFAB1E
             movz    x14, #0xD1FFAB1E
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     w14, [x14]
             tbz     w14, #0, G_M19070_IG14
-						;; size=36 bbWeight=0.50 PerfScore 5.25
+						;; size=44 bbWeight=0.50 PerfScore 5.75
 G_M19070_IG07:
-            ldr     x15, [x21, #0xD1FFAB1E]
+            movz    x14, #0xD1FFAB1E      // data for System.Array+EmptyArray`1[int]:Value
+            movk    x14, #0xD1FFAB1E LSL #32
+            ldr     x15, [x14]
             add     x14, x19, #112
             bl      CORINFO_HELP_ASSIGN_REF
-						;; size=12 bbWeight=0.50 PerfScore 2.25
+						;; size=20 bbWeight=0.50 PerfScore 2.75
 G_M19070_IG08:
             ldr     x21, [sp, #0x28]
             ldp     x19, x20, [sp, #0x18]
             ldp     fp, lr, [sp], #0x30
             ret     lr
 						;; size=16 bbWeight=0.50 PerfScore 2.50
 G_M19070_IG09:
             sxtw    x20, w1
             mov     x1, x20
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x0, x21
             bl      CORINFO_HELP_NEWARR_1_VC
             add     x14, x19, #72
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x20
             mov     x0, x21
             bl      CORINFO_HELP_NEWARR_1_VC
             add     x14, x19, #80
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x20
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWARR_1_VC
             add     x14, x19, #88
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x20
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWARR_1_OBJ
             add     x14, x19, #96
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x20
             mov     x0, x21
             bl      CORINFO_HELP_NEWARR_1_VC
             add     x14, x19, #104
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x1, x20
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWARR_1_VC
             add     x14, x19, #112
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=184 bbWeight=0.50 PerfScore 14.50
 G_M19070_IG10:
             ldr     x21, [sp, #0x28]
             ldp     x19, x20, [sp, #0x18]
             ldp     fp, lr, [sp], #0x30
             ret     lr
 						;; size=16 bbWeight=0.50 PerfScore 2.50
 G_M19070_IG11:
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M19070_IG04
 						;; size=8 bbWeight=0 PerfScore 0.00
 G_M19070_IG12:
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M19070_IG05
 						;; size=8 bbWeight=0 PerfScore 0.00
 G_M19070_IG13:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M19070_IG06
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M19070_IG14:
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M19070_IG07
 						;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 496, prolog size 16, PerfScore 57.00, instruction count 124, allocated bytes for code 496 (MethodHash=98aab581) for method Microsoft.CSharp.RuntimeBinder.Semantics.MethodOrPropertySymbol:set_Params(Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray):this (FullOpts)
+; Total bytes of code 516, prolog size 16, PerfScore 58.25, instruction count 129, allocated bytes for code 516 (MethodHash=98aab581) for method Microsoft.CSharp.RuntimeBinder.Semantics.MethodOrPropertySymbol:set_Params(Microsoft.CSharp.RuntimeBinder.Semantics.TypeArray):this (FullOpts)
16 (2.42 % of base) - System.Threading.Channels.BoundedChannel`1[int]:.ctor(int,int,ubyte,System.Action`1[int]):this
 ; Assembly listing for method System.Threading.Channels.BoundedChannel`1[int]:.ctor(int,int,ubyte,System.Action`1[int]):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; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 14, 14   )     ref  ->  x19         this class-hnd single-def <System.Threading.Channels.BoundedChannel`1[int]>
-;  V01 arg1         [V01,T11] (  3,  3   )     int  ->  x22         single-def
-;  V02 arg2         [V02,T12] (  3,  3   )     int  ->  x23         single-def
-;  V03 arg3         [V03,T03] (  4,  4   )   ubyte  ->  x20         single-def
-;  V04 arg4         [V04,T10] (  3,  3   )     ref  ->  x21         class-hnd single-def <System.Action`1[int]>
+;  V01 arg1         [V01,T10] (  3,  3   )     int  ->  x22         single-def
+;  V02 arg2         [V02,T11] (  3,  3   )     int  ->  x23         single-def
+;  V03 arg3         [V03,T02] (  4,  4   )   ubyte  ->  x20         single-def
+;  V04 arg4         [V04,T09] (  3,  3   )     ref  ->  x21         class-hnd single-def <System.Action`1[int]>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V06 tmp1         [V06,T04] (  3,  6   )     ref  ->   x0         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[int]>
-;  V07 tmp2         [V07,T05] (  3,  6   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[System.Threading.Channels.AsyncOperation`1[int]]>
-;  V08 tmp3         [V08,T06] (  3,  6   )     ref  ->  x27         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[System.Threading.Channels.VoidAsyncOperationWithData`1[int]]>
+;  V06 tmp1         [V06,T03] (  3,  6   )     ref  ->   x0         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[int]>
+;  V07 tmp2         [V07,T04] (  3,  6   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[System.Threading.Channels.AsyncOperation`1[int]]>
+;  V08 tmp3         [V08,T05] (  3,  6   )     ref  ->  x27         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[System.Threading.Channels.VoidAsyncOperationWithData`1[int]]>
 ;* V09 tmp4         [V09    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V10 tmp5         [V10    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V11 tmp6         [V11,T13] (  4,  4   )     int  ->  x28        
-;  V12 tmp7         [V12,T07] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskCompletionSource>
-;  V13 tmp8         [V13,T08] (  3,  6   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Channels.BoundedChannel`1+BoundedChannelReader[int]>
-;  V14 tmp9         [V14,T09] (  3,  6   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Channels.BoundedChannel`1+BoundedChannelWriter[int]>
+;  V11 tmp6         [V11,T12] (  4,  4   )     int  ->  x28        
+;  V12 tmp7         [V12,T06] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskCompletionSource>
+;  V13 tmp8         [V13,T07] (  3,  6   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Channels.BoundedChannel`1+BoundedChannelReader[int]>
+;  V14 tmp9         [V14,T08] (  3,  6   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Channels.BoundedChannel`1+BoundedChannelWriter[int]>
 ;  V15 tmp10        [V15,T01] (  4,  7   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task>
 ;* V16 tmp11        [V16    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
-;  V17 tmp12        [V17,T19] (  3,  1.50)     ref  ->  x25         class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
-;* V18 tmp13        [V18,T20] (  0,  0   )     ref  ->  zero-ref    single-def "field V16._source (fldOffset=0x0)" P-INDEP
-;  V19 cse0         [V19,T02] (  6,  6   )    long  ->  x24         "CSE #01: aggressive"
-;  V20 cse1         [V20,T15] (  3,  3   )    long  ->  x26         "CSE #02: aggressive"
+;  V17 tmp12        [V17,T20] (  3,  1.50)     ref  ->  x25         class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
+;* V18 tmp13        [V18,T21] (  0,  0   )     ref  ->  zero-ref    single-def "field V16._source (fldOffset=0x0)" P-INDEP
+;  V19 cse0         [V19,T13] (  4,  4   )    long  ->  x24         "CSE #01: aggressive"
+;  V20 cse1         [V20,T14] (  4,  4   )    long  ->  x26         "CSE #02: aggressive"
 ;  V21 rat0         [V21,T18] (  2,  2   )    long  ->   x0         "Spilling to split statement for tree"
-;  V22 rat1         [V22,T17] (  3,  2   )   byref  ->   x1         "TLS field access"
-;  V23 rat2         [V23,T16] (  3,  3   )    long  ->   x0         "TLS access"
-;  V24 rat3         [V24,T14] (  3,  3   )   byref  ->   x1         "ThreadStaticBlockBase access"
+;  V22 rat1         [V22,T19] (  2,  2   )    long  ->   x0         "Spilling to split statement for tree"
+;  V23 rat2         [V23,T17] (  3,  2   )   byref  ->   x1         "TLS field access"
+;  V24 rat3         [V24,T16] (  3,  3   )    long  ->   x0         "TLS access"
+;  V25 rat4         [V25,T15] (  3,  3   )   byref  ->   x1         "ThreadStaticBlockBase access"
 ;
 ; Lcl frame size = 0
 
 G_M50650_IG01:
             stp     fp, lr, [sp, #-0x60]!
             stp     x19, x20, [sp, #0x10]
             stp     x21, x22, [sp, #0x20]
             stp     x23, x24, [sp, #0x30]
             stp     x25, x26, [sp, #0x40]
             stp     x27, x28, [sp, #0x50]
             mov     fp, sp
             mov     x19, x0
             mov     w22, w1
             mov     w23, w2
             mov     w20, w3
             mov     x21, x4
 						;; size=48 bbWeight=1 PerfScore 9.00
 G_M50650_IG02:
             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
             str     x14, [x0, #0x08]
             add     x14, x19, #40
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x24, #0xD1FFAB1E
             movk    x24, #0xD1FFAB1E LSL #16
             movk    x24, #0xD1FFAB1E LSL #32
             mov     x0, x24
             bl      CORINFO_HELP_NEWSFAST
             mov     x25, x0
-            add     x0, x24, #0xD1FFAB1E
+            movz    x26, #0xD1FFAB1E
+            movk    x26, #0xD1FFAB1E LSL #16
+            movk    x26, #0xD1FFAB1E LSL #32
+            add     x0, x26, #0xD1FFAB1E
             movz    x14, #0xD1FFAB1E
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     w14, [x14]
             tbz     w14, #0, G_M50650_IG09
-						;; size=92 bbWeight=1 PerfScore 16.50
+						;; size=104 bbWeight=1 PerfScore 18.00
 G_M50650_IG03:
-            movz    x26, #0xD1FFAB1E      // data for System.Array+EmptyArray`1[System.Threading.Channels.AsyncOperation`1[int]]:Value
-            movk    x26, #0xD1FFAB1E LSL #16
-            movk    x26, #0xD1FFAB1E LSL #32
-            ldr     x15, [x26]
+            movz    x14, #0xD1FFAB1E      // data for System.Array+EmptyArray`1[System.Threading.Channels.AsyncOperation`1[int]]:Value
+            movk    x14, #0xD1FFAB1E LSL #16
+            movk    x14, #0xD1FFAB1E LSL #32
+            ldr     x15, [x14]
             add     x14, x25, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #48
             mov     x15, x25
             bl      CORINFO_HELP_ASSIGN_REF
             add     x0, x24, #200
             bl      CORINFO_HELP_NEWSFAST
             mov     x27, x0
+            add     x0, x26, #0xD1FFAB1E
             movz    x14, #0xD1FFAB1E
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     w14, [x14]
             tbz     w14, #0, G_M50650_IG10
-						;; size=68 bbWeight=1 PerfScore 15.50
+						;; size=72 bbWeight=1 PerfScore 16.00
 G_M50650_IG04:
-            ldr     x15, [x26, #0x08]
+            movz    x14, #0xD1FFAB1E      // data for System.Array+EmptyArray`1[System.Threading.Channels.VoidAsyncOperationWithData`1[int]]:Value
+            movk    x14, #0xD1FFAB1E LSL #16
+            movk    x14, #0xD1FFAB1E LSL #32
+            ldr     x15, [x14]
             add     x14, x27, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #56
             mov     x15, x27
             bl      CORINFO_HELP_ASSIGN_REF
             stp     w23, w22, [x19, #0x58]
             strb    w20, [x19, #0x60]
             add     x14, x19, #24
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             mov     w0, #64
             tst     w20, #255
             csel    w28, w0, wzr, ne
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x21, x0
             movn    w0, #68
             tst     w28, w0
             bne     G_M50650_IG12
             tbz     w28, #2, G_M50650_IG07
-						;; size=112 bbWeight=1 PerfScore 21.00
+						;; size=124 bbWeight=1 PerfScore 22.50
 G_M50650_IG05:
             mrs     x0, tpidr_el0
             ldr     w1, [x0, #0xD1FFAB1E]
             cmp     w1, #9
             ble     G_M50650_IG11
             ldr     x0, [x0, #0xD1FFAB1E]
             ldr     x1, [x0, #0x48]
             cbz     x1, G_M50650_IG11
 						;; size=28 bbWeight=0.50 PerfScore 6.25
 G_M50650_IG06:
             ldr     x25, [x1, #0x10]
             cbz     x25, G_M50650_IG07
             mov     x0, x21
             movz    x1, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:EnsureContingentPropertiesInitializedUnsafe():System.Threading.Tasks.Task+ContingentProperties:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             add     x14, x0, #48
             mov     x15, x25
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=44 bbWeight=0.50 PerfScore 6.00
 G_M50650_IG07:
             mov     x0, x21
             mov     x3, xzr
             mov     w4, w28
             mov     x1, xzr
             mov     x2, xzr
             mov     w5, #0xD1FFAB1E
             mov     x6, xzr
             movz    x7, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:TaskConstructorCore(System.Delegate,System.Object,System.Threading.CancellationToken,int,int,System.Threading.Tasks.TaskScheduler):this
             movk    x7, #0xD1FFAB1E LSL #16
             movk    x7, #0xD1FFAB1E LSL #32
             ldr     x7, [x7]
             blr     x7
             add     x14, x20, #8
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #32
             mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
             add     x0, x24, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
             mov     x22, x0
             mov     x1, x19
             movz    x2, #0xD1FFAB1E      // code for System.Threading.Channels.BoundedChannel`1+BoundedChannelReader[int]:.ctor(System.Threading.Channels.BoundedChannel`1[int]):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             add     x14, x19, #8
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
-            add     x0, x24, #0xD1FFAB1E
+            mov     x0, x26
             bl      CORINFO_HELP_NEWSFAST
             mov     x23, x0
             mov     x1, x19
             movz    x2, #0xD1FFAB1E      // code for System.Threading.Channels.BoundedChannel`1+BoundedChannelWriter[int]:.ctor(System.Threading.Channels.BoundedChannel`1[int]):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             add     x14, x19, #16
             mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=168 bbWeight=1 PerfScore 33.00
 G_M50650_IG08:
             ldp     x27, x28, [sp, #0x50]
             ldp     x25, x26, [sp, #0x40]
             ldp     x23, x24, [sp, #0x30]
             ldp     x21, x22, [sp, #0x20]
             ldp     x19, x20, [sp, #0x10]
             ldp     fp, lr, [sp], #0x60
             ret     lr
 						;; size=28 bbWeight=1 PerfScore 7.00
 G_M50650_IG09:
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M50650_IG03
 						;; size=8 bbWeight=0 PerfScore 0.00
 G_M50650_IG10:
-            movz    x0, #0xD1FFAB1E
-            movk    x0, #0xD1FFAB1E LSL #16
-            movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M50650_IG04
-						;; size=20 bbWeight=0 PerfScore 0.00
+						;; size=8 bbWeight=0 PerfScore 0.00
 G_M50650_IG11:
             mov     w0, #9
             bl      CORINFO_HELP_GETDYNAMIC_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
             mov     x1, x0
             b       G_M50650_IG06
 						;; size=16 bbWeight=0 PerfScore 0.00
 G_M50650_IG12:
             mov     w0, #45
             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
 
-; Total bytes of code 660, prolog size 28, PerfScore 114.25, instruction count 165, allocated bytes for code 660 (MethodHash=a5523a25) for method System.Threading.Channels.BoundedChannel`1[int]:.ctor(int,int,ubyte,System.Action`1[int]):this (FullOpts)
+; Total bytes of code 676, prolog size 28, PerfScore 117.75, instruction count 169, allocated bytes for code 676 (MethodHash=a5523a25) for method System.Threading.Channels.BoundedChannel`1[int]:.ctor(int,int,ubyte,System.Action`1[int]):this (FullOpts)
12 (2.21 % of base) - System.Threading.Channels.UnboundedChannel`1[System.Numerics.Vector`1[float]]:.ctor(ubyte):this
 ; Assembly listing for method System.Threading.Channels.UnboundedChannel`1[System.Numerics.Vector`1[float]]:.ctor(ubyte):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; 16 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 10, 10   )     ref  ->  x19         this class-hnd single-def <System.Threading.Channels.UnboundedChannel`1[System.Numerics.Vector`1[float]]>
 ;  V01 arg1         [V01,T02] (  4,  4   )   ubyte  ->  x20         single-def
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V03 tmp1         [V03,T03] (  3,  6   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Concurrent.ConcurrentQueue`1[System.Numerics.Vector`1[float]]>
-;  V04 tmp2         [V04,T04] (  3,  6   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[System.Threading.Channels.AsyncOperation`1[System.Numerics.Vector`1[float]]]>
+;  V04 tmp2         [V04,T04] (  3,  6   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Deque`1[System.Threading.Channels.AsyncOperation`1[System.Numerics.Vector`1[float]]]>
 ;* V05 tmp3         [V05    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V06 tmp4         [V06    ] (  0,  0   )     ref  ->  zero-ref    single-def
-;  V07 tmp5         [V07,T08] (  4,  4   )     int  ->  x22        
+;  V07 tmp5         [V07,T08] (  4,  4   )     int  ->  x23        
 ;  V08 tmp6         [V08,T05] (  3,  6   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.TaskCompletionSource>
-;  V09 tmp7         [V09,T06] (  3,  6   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Channels.UnboundedChannel`1+UnboundedChannelReader[System.Numerics.Vector`1[float]]>
+;  V09 tmp7         [V09,T06] (  3,  6   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Channels.UnboundedChannel`1+UnboundedChannelReader[System.Numerics.Vector`1[float]]>
 ;  V10 tmp8         [V10,T07] (  3,  6   )     ref  ->   x0         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Channels.UnboundedChannel`1+UnboundedChannelWriter[System.Numerics.Vector`1[float]]>
 ;  V11 tmp9         [V11,T01] (  4,  7   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Threading.Tasks.Task>
 ;* V12 tmp10        [V12    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationToken>
-;  V13 tmp11        [V13,T15] (  3,  1.50)     ref  ->  x20         class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
-;* V14 tmp12        [V14,T16] (  0,  0   )     ref  ->  zero-ref    single-def "field V12._source (fldOffset=0x0)" P-INDEP
-;  V15 cse0         [V15,T09] (  4,  4   )    long  ->  x21         "CSE #02: aggressive"
-;  V16 cse1         [V16,T11] (  3,  3   )    long  ->  x22         "CSE #01: aggressive"
-;  V17 rat0         [V17,T14] (  2,  2   )    long  ->   x0         "Spilling to split statement for tree"
-;  V18 rat1         [V18,T13] (  3,  2   )   byref  ->   x1         "TLS field access"
-;  V19 rat2         [V19,T12] (  3,  3   )    long  ->   x0         "TLS access"
-;  V20 rat3         [V20,T10] (  3,  3   )   byref  ->   x1         "ThreadStaticBlockBase access"
+;  V13 tmp11        [V13,T13] (  3,  1.50)     ref  ->  x20         class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
+;* V14 tmp12        [V14,T14] (  0,  0   )     ref  ->  zero-ref    single-def "field V12._source (fldOffset=0x0)" P-INDEP
+;  V15 cse0         [V15,T10] (  3,  3   )    long  ->  x21         "CSE #01: aggressive"
+;  V16 rat0         [V16,T12] (  3,  2   )   byref  ->   x1         "TLS field access"
+;  V17 rat1         [V17,T11] (  3,  3   )    long  ->   x0         "TLS access"
+;  V18 rat2         [V18,T09] (  3,  3   )   byref  ->   x1         "ThreadStaticBlockBase access"
 ;
 ; Lcl frame size = 8
 
 G_M3052_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     w20, w1
 						;; size=32 bbWeight=1 PerfScore 6.50
 G_M3052_IG02:
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x0, x21
             bl      CORINFO_HELP_NEWSFAST
             mov     x22, x0
             movz    x1, #0xD1FFAB1E      // code for System.Collections.Concurrent.ConcurrentQueue`1[System.Numerics.Vector`1[float]]:.ctor():this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             add     x14, x19, #32
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
-            movz    x22, #0xD1FFAB1E
-            movk    x22, #0xD1FFAB1E LSL #16
-            movk    x22, #0xD1FFAB1E LSL #32
-            mov     x0, x22
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x23, x0
-            add     x0, x22, #0xD1FFAB1E
+            mov     x22, x0
             movz    x14, #0xD1FFAB1E
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     w14, [x14]
             tbz     w14, #0, G_M3052_IG08
-						;; size=104 bbWeight=1 PerfScore 20.50
+						;; size=96 bbWeight=1 PerfScore 19.50
 G_M3052_IG03:
             movz    x14, #0xD1FFAB1E      // data for System.Array+EmptyArray`1[System.Threading.Channels.AsyncOperation`1[System.Numerics.Vector`1[float]]]:Value
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x15, [x14]
-            add     x14, x23, #8
+            add     x14, x22, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #40
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             strb    w20, [x19, #0x40]
             mov     w0, #64
             tst     w20, #255
-            csel    w22, w0, wzr, ne
+            csel    w23, w0, wzr, ne
             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
             mov     x25, x0
             movn    w0, #68
-            tst     w22, w0
+            tst     w23, w0
             bne     G_M3052_IG10
-            tbz     w22, #2, G_M3052_IG06
+            tbz     w23, #2, G_M3052_IG06
 						;; size=108 bbWeight=1 PerfScore 19.50
 G_M3052_IG04:
             mrs     x0, tpidr_el0
             ldr     w1, [x0, #0xD1FFAB1E]
             cmp     w1, #9
             ble     G_M3052_IG09
             ldr     x0, [x0, #0xD1FFAB1E]
             ldr     x1, [x0, #0x48]
             cbz     x1, G_M3052_IG09
 						;; size=28 bbWeight=0.50 PerfScore 6.25
 G_M3052_IG05:
             ldr     x20, [x1, #0x10]
             cbz     x20, G_M3052_IG06
             mov     x0, x25
             movz    x1, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:EnsureContingentPropertiesInitializedUnsafe():System.Threading.Tasks.Task+ContingentProperties:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             add     x14, x0, #48
             mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=44 bbWeight=0.50 PerfScore 6.00
 G_M3052_IG06:
             mov     x0, x25
             mov     x3, xzr
-            mov     w4, w22
+            mov     w4, w23
             mov     x1, xzr
             mov     x2, xzr
             mov     w5, #0xD1FFAB1E
             mov     x6, xzr
             movz    x7, #0xD1FFAB1E      // code for System.Threading.Tasks.Task:TaskConstructorCore(System.Delegate,System.Object,System.Threading.CancellationToken,int,int,System.Threading.Tasks.TaskScheduler):this
             movk    x7, #0xD1FFAB1E LSL #16
             movk    x7, #0xD1FFAB1E LSL #32
             ldr     x7, [x7]
             blr     x7
             add     x14, x24, #8
             mov     x15, x25
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #24
             mov     x15, x24
             bl      CORINFO_HELP_ASSIGN_REF
             add     x0, x21, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
-            mov     x23, x0
+            mov     x22, x0
             mov     x1, x19
             movz    x2, #0xD1FFAB1E      // code for System.Threading.Channels.UnboundedChannel`1+UnboundedChannelReader[System.Numerics.Vector`1[float]]:.ctor(System.Threading.Channels.UnboundedChannel`1[System.Numerics.Vector`1[float]]):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             add     x14, x19, #8
-            mov     x15, x23
+            mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
-            add     x0, x21, #0xD1FFAB1E
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             add     x14, x0, #8
             mov     x15, x19
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #16
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
-						;; size=152 bbWeight=1 PerfScore 28.50
+						;; size=160 bbWeight=1 PerfScore 29.50
 G_M3052_IG07:
             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_M3052_IG08:
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M3052_IG03
-						;; size=8 bbWeight=0 PerfScore 0.00
+						;; size=20 bbWeight=0 PerfScore 0.00
 G_M3052_IG09:
             mov     w0, #9
             bl      CORINFO_HELP_GETDYNAMIC_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
             mov     x1, x0
             b       G_M3052_IG05
 						;; size=16 bbWeight=0 PerfScore 0.00
 G_M3052_IG10:
             mov     w0, #45
             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
 
-; Total bytes of code 544, prolog size 24, PerfScore 94.25, instruction count 136, allocated bytes for code 544 (MethodHash=7a0af413) for method System.Threading.Channels.UnboundedChannel`1[System.Numerics.Vector`1[float]]:.ctor(ubyte):this (FullOpts)
+; Total bytes of code 556, prolog size 24, PerfScore 94.25, instruction count 139, allocated bytes for code 556 (MethodHash=7a0af413) for method System.Threading.Channels.UnboundedChannel`1[System.Numerics.Vector`1[float]]:.ctor(ubyte):this (FullOpts)
8 (2.78 % of base) - Microsoft.VisualBasic.CompilerServices.IDOUtils:.cctor()
 ; Assembly listing for method Microsoft.VisualBasic.CompilerServices.IDOUtils:.cctor() (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; 10 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;# V00 OutArgs      [V00    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V01 tmp1         [V01,T00] (  5, 10   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.CacheSet`1[System.Runtime.CompilerServices.CallSiteBinder]>
 ;  V02 tmp2         [V02,T01] (  5, 10   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.CompilerServices.CacheDict`2[int,System.Func`4[System.Runtime.CompilerServices.CallSiteBinder,System.Object,System.Object[],System.Object]]>
 ;  V03 tmp3         [V03,T02] (  3,  6   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Dictionary`2[System.Runtime.CompilerServices.CallSiteBinder,System.Collections.Generic.LinkedListNode`1[System.Runtime.CompilerServices.CallSiteBinder]]>
-;  V04 tmp4         [V04,T05] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.LinkedList`1[System.Runtime.CompilerServices.CallSiteBinder]>
+;  V04 tmp4         [V04,T04] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.LinkedList`1[System.Runtime.CompilerServices.CallSiteBinder]>
 ;  V05 tmp5         [V05,T03] (  3,  6   )     ref  ->  x20         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.Dictionary`2[int,Microsoft.VisualBasic.CompilerServices.CacheDict`2+KeyInfo[int,System.Func`4[System.Runtime.CompilerServices.CallSiteBinder,System.Object,System.Object[],System.Object]]]>
-;  V06 tmp6         [V06,T06] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.LinkedList`1[int]>
-;  V07 cse0         [V07,T04] (  4,  4   )    long  ->  x19         "CSE #01: aggressive"
+;  V06 tmp6         [V06,T05] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.LinkedList`1[int]>
+;  V07 cse0         [V07,T06] (  3,  3   )    long  ->  x19         "CSE #01: aggressive"
 ;  V08 cse1         [V08,T07] (  3,  3   )    long  ->  x21         "CSE #02: aggressive"
 ;
 ; Lcl frame size = 8
 
 G_M50570_IG01:
             stp     fp, lr, [sp, #-0x30]!
             stp     x19, x20, [sp, #0x18]
             str     x21, [sp, #0x28]
             mov     fp, sp
 						;; size=16 bbWeight=1 PerfScore 3.50
 G_M50570_IG02:
             movz    x19, #0xD1FFAB1E
             movk    x19, #0xD1FFAB1E LSL #16
             movk    x19, #0xD1FFAB1E LSL #32
             mov     x0, x19
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
-            add     x0, x19, #0xD1FFAB1E
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x21, x0
             mov     w1, wzr
             mov     x2, xzr
             movz    x3, #0xD1FFAB1E      // code for System.Collections.Generic.Dictionary`2[System.__Canon,System.__Canon]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[System.__Canon]):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             add     x14, x20, #8
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x15, x0
             add     x14, x20, #16
             bl      CORINFO_HELP_ASSIGN_REF
             mov     w14, #64
             str     w14, [x20, #0x18]
             movz    x21, #0xD1FFAB1E      // data for Microsoft.VisualBasic.CompilerServices.IDOUtils:s_binderCache
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
             mov     x14, x21
             mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
             add     x0, x19, #0xD1FFAB1E
             bl      CORINFO_HELP_NEWSFAST
             mov     x19, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x20, x0
             mov     w1, wzr
             mov     x2, xzr
             movz    x3, #0xD1FFAB1E      // code for System.Collections.Generic.Dictionary`2[int,Microsoft.VisualBasic.CompilerServices.CacheDict`2+KeyInfo[int,System.__Canon]]:.ctor(int,System.Collections.Generic.IEqualityComparer`1[int]):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             add     x14, x19, #8
             mov     x15, x20
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x15, x0
             add     x14, x19, #16
             bl      CORINFO_HELP_ASSIGN_REF
             mov     w14, #16
             str     w14, [x19, #0x18]
             add     x14, x21, #8
             mov     x15, x19
             bl      CORINFO_HELP_ASSIGN_REF
-						;; size=256 bbWeight=1 PerfScore 45.00
+						;; size=264 bbWeight=1 PerfScore 46.00
 G_M50570_IG03:
             ldr     x21, [sp, #0x28]
             ldp     x19, x20, [sp, #0x18]
             ldp     fp, lr, [sp], #0x30
             ret     lr
 						;; size=16 bbWeight=1 PerfScore 5.00
 
-; Total bytes of code 288, prolog size 16, PerfScore 53.50, instruction count 72, allocated bytes for code 288 (MethodHash=236b3a75) for method Microsoft.VisualBasic.CompilerServices.IDOUtils:.cctor() (FullOpts)
+; Total bytes of code 296, prolog size 16, PerfScore 54.50, instruction count 74, allocated bytes for code 296 (MethodHash=236b3a75) for method Microsoft.VisualBasic.CompilerServices.IDOUtils:.cctor() (FullOpts)
8 (0.60 % of base) - Microsoft.VisualBasic.CompilerServices.VBIndexSetComplexBinder:FallbackSetIndex(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[],System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject):System.Dynamic.DynamicMetaObject:this
 ; Assembly listing for method Microsoft.VisualBasic.CompilerServices.VBIndexSetComplexBinder:FallbackSetIndex(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[],System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject):System.Dynamic.DynamicMetaObject: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; 25 single block inlinees; 7 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  8,  5   )     ref  ->  x19         this class-hnd single-def <Microsoft.VisualBasic.CompilerServices.VBIndexSetComplexBinder>
 ;  V01 arg1         [V01,T01] (  7,  5   )     ref  ->  x20         class-hnd single-def <System.Dynamic.DynamicMetaObject>
-;  V02 arg2         [V02    ] ( 10,  6.50)     ref  ->  [fp+0x38]  do-not-enreg[X] addr-exposed ld-addr-op class-hnd single-def <System.Dynamic.DynamicMetaObject[]>
+;  V02 arg2         [V02    ] ( 10,  6.50)     ref  ->  [fp+0x28]  do-not-enreg[X] addr-exposed ld-addr-op class-hnd single-def <System.Dynamic.DynamicMetaObject[]>
 ;  V03 arg3         [V03,T02] (  7,  5   )     ref  ->  x21         class-hnd single-def <System.Dynamic.DynamicMetaObject>
 ;  V04 arg4         [V04,T05] (  4,  3   )     ref  ->  x22         class-hnd single-def <System.Dynamic.DynamicMetaObject>
 ;  V05 loc0         [V05,T16] (  4,  2.50)     ref  ->   x0         class-hnd <System.Dynamic.DynamicMetaObject>
-;  V06 loc1         [V06    ] (  4,  2   )     ref  ->  [fp+0x30]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.String[]>
-;  V07 loc2         [V07    ] (  6,  3   )     ref  ->  [fp+0x28]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Linq.Expressions.Expression[]>
-;  V08 loc3         [V08    ] (  5,  2.50)     ref  ->  [fp+0x20]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Object[]>
+;  V06 loc1         [V06    ] (  4,  2   )     ref  ->  [fp+0x20]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.String[]>
+;  V07 loc2         [V07    ] (  6,  3   )     ref  ->  [fp+0x18]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Linq.Expressions.Expression[]>
+;  V08 loc3         [V08    ] (  5,  2.50)     ref  ->  [fp+0x10]  do-not-enreg[X] must-init addr-exposed ld-addr-op class-hnd <System.Object[]>
 ;  V09 loc4         [V09,T06] (  7,  3.50)     ref  ->  x23         class-hnd exact single-def <System.Object[]>
-;  V10 loc5         [V10,T32] (  3,  1.50)     ref  ->  x22         class-hnd single-def <System.Linq.Expressions.Expression>
-;  V11 loc6         [V11,T07] (  7,  3.50)     ref  ->  x26         class-hnd exact single-def <System.Linq.Expressions.Expression[]>
+;  V10 loc5         [V10,T31] (  3,  1.50)     ref  ->  x22         class-hnd single-def <System.Linq.Expressions.Expression>
+;  V11 loc6         [V11,T07] (  7,  3.50)     ref  ->  x23         class-hnd exact single-def <System.Linq.Expressions.Expression[]>
 ;* V12 loc7         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Linq.Expressions.MethodCallExpression>
 ;# V13 OutArgs      [V13    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V14 tmp1         [V14,T18] (  2,  2   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <System.Dynamic.DynamicMetaObject[]>
+;  V14 tmp1         [V14,T17] (  2,  2   )     ref  ->   x0         class-hnd single-def "impAppendStmt" <System.Dynamic.DynamicMetaObject[]>
 ;  V15 tmp2         [V15,T13] (  3,  3   )     int  ->  x26         "impAppendStmt"
-;  V16 tmp3         [V16,T19] (  2,  2   )     ref  ->  x15         class-hnd "Strict ordering of exceptions for Array store" <System.Object>
-;  V17 tmp4         [V17,T20] (  2,  2   )     ref  ->  x28         class-hnd single-def "impAppendStmt" <System.Reflection.MethodInfo>
-;  V18 tmp5         [V18,T21] (  2,  2   )     ref  ->  x27         class-hnd single-def "impAppendStmt" <System.Linq.Expressions.Expression>
-;  V19 tmp6         [V19,T22] (  2,  2   )     ref  ->  x26         class-hnd single-def "impAppendStmt" <System.Linq.Expressions.NewArrayExpression>
-;  V20 tmp7         [V20,T08] (  3,  3   )     ref  ->  x24         class-hnd exact single-def "Single-def Box Helper" <System.Boolean>
-;  V21 tmp8         [V21,T23] (  2,  2   )     ref  ->  x25         class-hnd single-def "impImportAndPushBox" <System.Linq.Expressions.ConstantExpression>
-;  V22 tmp9         [V22,T09] (  3,  3   )     ref  ->  x24         class-hnd exact single-def "Single-def Box Helper" <System.Boolean>
+;  V16 tmp3         [V16,T18] (  2,  2   )     ref  ->  x15         class-hnd "Strict ordering of exceptions for Array store" <System.Object>
+;  V17 tmp4         [V17,T19] (  2,  2   )     ref  ->  x27         class-hnd single-def "impAppendStmt" <System.Reflection.MethodInfo>
+;  V18 tmp5         [V18,T20] (  2,  2   )     ref  ->  x26         class-hnd single-def "impAppendStmt" <System.Linq.Expressions.Expression>
+;  V19 tmp6         [V19,T21] (  2,  2   )     ref  ->  x23         class-hnd single-def "impAppendStmt" <System.Linq.Expressions.NewArrayExpression>
+;  V20 tmp7         [V20,T08] (  3,  3   )     ref  ->  x28         class-hnd exact single-def "Single-def Box Helper" <System.Boolean>
+;  V21 tmp8         [V21,T22] (  2,  2   )     ref  ->  x24         class-hnd single-def "impImportAndPushBox" <System.Linq.Expressions.ConstantExpression>
+;  V22 tmp9         [V22,T09] (  3,  3   )     ref  ->  x28         class-hnd exact single-def "Single-def Box Helper" <System.Boolean>
 ;* V23 tmp10        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "impImportAndPushBox" <System.Linq.Expressions.ConstantExpression>
-;  V24 tmp11        [V24,T24] (  2,  2   )     ref  ->  x22         class-hnd single-def "impAppendStmt" <System.Linq.Expressions.BlockExpression>
-;  V25 tmp12        [V25,T10] (  3,  3   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <System.Dynamic.DynamicMetaObject>
+;  V24 tmp11        [V24,T23] (  2,  2   )     ref  ->  x22         class-hnd single-def "impAppendStmt" <System.Linq.Expressions.BlockExpression>
+;  V25 tmp12        [V25,T10] (  3,  3   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.Dynamic.DynamicMetaObject>
 ;  V26 tmp13        [V26,T03] (  5,  5   )     ref  ->  x24         class-hnd single-def "Inlining Arg" <System.Object[]>
 ;* V27 tmp14        [V27    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
-;  V28 tmp15        [V28,T36] (  2,  1   )     int  ->  x25         "Inline return value spill temp"
+;  V28 tmp15        [V28,T35] (  2,  1   )     int  ->  x25         "Inline return value spill temp"
 ;* V29 tmp16        [V29    ] (  0,  0   )     int  ->  zero-ref    single-def "Inline stloc first use temp"
 ;  V30 tmp17        [V30,T14] (  3,  3   )     int  ->  x25         "impAppendStmt"
-;  V31 tmp18        [V31,T25] (  2,  2   )   byref  ->   x0         single-def "Inlining Arg"
-;  V32 tmp19        [V32,T38] (  2,  1   )     ref  ->   x0         class-hnd "Inline return value spill temp" <System.Object>
-;  V33 tmp20        [V33,T04] (  5,  5   )     ref  ->  x27         class-hnd single-def "Inlining Arg" <System.Linq.Expressions.Expression[]>
+;  V31 tmp18        [V31,T24] (  2,  2   )   byref  ->   x0         single-def "Inlining Arg"
+;  V32 tmp19        [V32,T37] (  2,  1   )     ref  ->   x0         class-hnd "Inline return value spill temp" <System.Object>
+;  V33 tmp20        [V33,T04] (  5,  5   )     ref  ->  x26         class-hnd single-def "Inlining Arg" <System.Linq.Expressions.Expression[]>
 ;* V34 tmp21        [V34    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
-;  V35 tmp22        [V35,T37] (  2,  1   )     int  ->  x28         "Inline return value spill temp"
+;  V35 tmp22        [V35,T36] (  2,  1   )     int  ->  x27         "Inline return value spill temp"
 ;* V36 tmp23        [V36    ] (  0,  0   )     int  ->  zero-ref    single-def "Inline stloc first use temp"
-;  V37 tmp24        [V37,T15] (  3,  3   )     int  ->  x28         "impAppendStmt"
-;  V38 tmp25        [V38,T26] (  2,  2   )   byref  ->   x0         single-def "Inlining Arg"
+;  V37 tmp24        [V37,T15] (  3,  3   )     int  ->  x27         "impAppendStmt"
+;  V38 tmp25        [V38,T25] (  2,  2   )   byref  ->   x0         single-def "Inlining Arg"
 ;* V39 tmp26        [V39    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Boolean>
-;  V40 tmp27        [V40,T11] (  3,  3   )     ref  ->  [fp+0x18]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Linq.Expressions.ConstantExpression>
+;  V40 tmp27        [V40,T11] (  3,  3   )     ref  ->  x25         class-hnd exact single-def "NewObj constructor temp" <System.Linq.Expressions.ConstantExpression>
 ;* V41 tmp28        [V41    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Boolean>
 ;* V42 tmp29        [V42    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Boolean>
 ;  V43 tmp30        [V43,T12] (  3,  3   )     ref  ->   x5         class-hnd exact single-def "NewObj constructor temp" <System.Linq.Expressions.ConstantExpression>
 ;* V44 tmp31        [V44    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Boolean>
-;  V45 tmp32        [V45,T30] (  2,  2   )     int  ->   x1         "argument with side effect"
-;  V46 tmp33        [V46,T31] (  2,  2   )     int  ->   x1         "argument with side effect"
-;  V47 tmp34        [V47,T27] (  2,  2   )     ref  ->   x0         single-def "argument with side effect"
-;  V48 tmp35        [V48,T28] (  2,  2   )     ref  ->   x2         single-def "argument with side effect"
-;  V49 cse0         [V49,T33] (  3,  1.50)     ref  ->   x4         "CSE #06: moderate"
-;  V50 cse1         [V50,T34] (  3,  1.50)     ref  ->  x27         "CSE #01: moderate"
-;  V51 cse2         [V51,T35] (  3,  1.50)     ref  ->   x3         "CSE #07: moderate"
-;  V52 cse3         [V52,T17] (  4,  2   )    long  ->  x23         "CSE #08: moderate"
-;  V53 rat0         [V53,T29] (  2,  2   )     ref  ->  x28         "Spilling to split statement for tree"
+;  V45 tmp32        [V45,T29] (  2,  2   )     int  ->   x1         "argument with side effect"
+;  V46 tmp33        [V46,T30] (  2,  2   )     int  ->   x1         "argument with side effect"
+;  V47 tmp34        [V47,T26] (  2,  2   )     ref  ->   x0         single-def "argument with side effect"
+;  V48 tmp35        [V48,T27] (  2,  2   )     ref  ->   x2         single-def "argument with side effect"
+;  V49 cse0         [V49,T32] (  3,  1.50)     ref  ->   x4         "CSE #06: moderate"
+;  V50 cse1         [V50,T33] (  3,  1.50)     ref  ->  x27         "CSE #01: moderate"
+;  V51 cse2         [V51,T34] (  3,  1.50)     ref  ->   x3         "CSE #07: moderate"
+;  V52 rat0         [V52,T28] (  2,  2   )     ref  ->  x28         "Spilling to split statement for tree"
 ;
-; Lcl frame size = 48
+; Lcl frame size = 32
 
 G_M56087_IG01:
-            stp     fp, lr, [sp, #-0x90]!
-            stp     x19, x20, [sp, #0x40]
-            stp     x21, x22, [sp, #0x50]
-            stp     x23, x24, [sp, #0x60]
-            stp     x25, x26, [sp, #0x70]
-            stp     x27, x28, [sp, #0x80]
+            stp     fp, lr, [sp, #-0x80]!
+            stp     x19, x20, [sp, #0x30]
+            stp     x21, x22, [sp, #0x40]
+            stp     x23, x24, [sp, #0x50]
+            stp     x25, x26, [sp, #0x60]
+            stp     x27, x28, [sp, #0x70]
             mov     fp, sp
-            stp     xzr, xzr, [fp, #0x28]	// [V07 loc2], [V06 loc1]
-            str     xzr, [fp, #0x20]	// [V08 loc3]
-            str     x2, [fp, #0x38]	// [V02 arg2]
+            stp     xzr, xzr, [fp, #0x18]	// [V07 loc2], [V06 loc1]
+            str     xzr, [fp, #0x10]	// [V08 loc3]
+            str     x2, [fp, #0x28]	// [V02 arg2]
             mov     x19, x0
             mov     x20, x1
             mov     x21, x3
             mov     x22, x4
 						;; size=56 bbWeight=1 PerfScore 11.50
 G_M56087_IG02:
             mov     x0, x20
-            ldr     x1, [fp, #0x38]	// [V02 arg2]
+            ldr     x1, [fp, #0x28]	// [V02 arg2]
             mov     x2, x21
             movz    x3, #0xD1FFAB1E      // code for Microsoft.VisualBasic.CompilerServices.IDOUtils:NeedsDeferral(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[],System.Dynamic.DynamicMetaObject):ubyte
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             cbz     w0, G_M56087_IG04
 						;; size=36 bbWeight=1 PerfScore 9.50
 G_M56087_IG03:
-            ldr     x2, [fp, #0x38]	// [V02 arg2]
+            ldr     x2, [fp, #0x28]	// [V02 arg2]
             ldr     w2, [x2, #0x08]
             adds    w2, w2, #1
             bvs     G_M56087_IG15
-            add     x1, fp, #56	// [V02 arg2]
+            add     x1, fp, #40	// [V02 arg2]
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x3, #0xD1FFAB1E      // code for System.Array:Resize[System.__Canon](byref,int)
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-            ldr     x1, [fp, #0x38]	// [V02 arg2]
+            ldr     x1, [fp, #0x28]	// [V02 arg2]
             ldr     w1, [x1, #0x08]
             subs    w1, w1, #1
             bvs     G_M56087_IG15
             sxtw    x1, w1
-            ldr     x0, [fp, #0x38]	// [V02 arg2]
+            ldr     x0, [fp, #0x28]	// [V02 arg2]
             mov     x2, x21
             movz    x3, #0xD1FFAB1E      // code for CORINFO_HELP_ARRADDR_ST
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x0, x19
             mov     x1, x20
-            ldr     x2, [fp, #0x38]	// [V02 arg2]
+            ldr     x2, [fp, #0x28]	// [V02 arg2]
             movz    x3, #0xD1FFAB1E      // code for System.Dynamic.DynamicMetaObjectBinder:Defer(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[]):System.Dynamic.DynamicMetaObject:this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             b       G_M56087_IG10
 						;; size=136 bbWeight=0.50 PerfScore 19.25
 G_M56087_IG04:
-            stp     xzr, xzr, [fp, #0x28]	// [V07 loc2], [V06 loc1]
-            str     xzr, [fp, #0x20]	// [V08 loc3]
-            ldr     x0, [fp, #0x38]	// [V02 arg2]
+            stp     xzr, xzr, [fp, #0x18]	// [V07 loc2], [V06 loc1]
+            str     xzr, [fp, #0x10]	// [V08 loc3]
+            ldr     x0, [fp, #0x28]	// [V02 arg2]
             ldr     x1, [x19, #0x10]
-            add     x4, fp, #32	// [V08 loc3]
-            add     x2, fp, #40	// [V07 loc2]
-            add     x3, fp, #48	// [V06 loc1]
+            add     x4, fp, #16	// [V08 loc3]
+            add     x2, fp, #24	// [V07 loc2]
+            add     x3, fp, #32	// [V06 loc1]
             movz    x5, #0xD1FFAB1E      // code for Microsoft.VisualBasic.CompilerServices.IDOUtils:UnpackArguments(System.Dynamic.DynamicMetaObject[],System.Dynamic.CallInfo,byref,byref,byref)
             movk    x5, #0xD1FFAB1E LSL #16
             movk    x5, #0xD1FFAB1E LSL #32
             ldr     x5, [x5]
             blr     x5
-            ldr     x1, [fp, #0x20]	// [V08 loc3]
+            ldr     x1, [fp, #0x10]	// [V08 loc3]
             ldr     w1, [x1, #0x08]
             adds    w1, w1, #1
             bvs     G_M56087_IG15
             sxtw    x1, w1
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWARR_1_OBJ
             mov     x23, x0
-            ldr     x24, [fp, #0x20]	// [V08 loc3]
+            ldr     x24, [fp, #0x10]	// [V08 loc3]
             ldrsb   wzr, [x24]
             ldr     x0, [x23]
             ldr     w0, [x0, #0x04]
             sub     w0, w0, #24
             lsr     w25, w0, #3
             cbnz    w25, G_M56087_IG07
 						;; size=116 bbWeight=0.50 PerfScore 18.75
 G_M56087_IG05:
             mov     x0, x24
             mov     w1, wzr
             movz    x2, #0xD1FFAB1E      // code for System.Array:GetLowerBound(int):int:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             sxtw    w1, w0
             ldr     w4, [x24, #0x08]
             cmp     w4, #0
             blt     G_M56087_IG15
             mov     x0, x24
             mov     x2, x23
             mov     w3, wzr
             movz    x5, #0xD1FFAB1E      // code for System.Array:Copy(System.Array,int,System.Array,int,int)
             movk    x5, #0xD1FFAB1E LSL #16
             movk    x5, #0xD1FFAB1E LSL #32
             ldr     x5, [x5]
             blr     x5
-            ldr     x14, [fp, #0x20]	// [V08 loc3]
+            ldr     x14, [fp, #0x10]	// [V08 loc3]
             ldr     w26, [x14, #0x08]
             ldr     x27, [x21, #0x08]
             mov     x28, x27
             movz    x14, #0xD1FFAB1E
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     w14, [x14]
             tbz     w14, #0, G_M56087_IG12
 						;; size=112 bbWeight=0.50 PerfScore 16.25
 G_M56087_IG06:
             movz    x14, #0xD1FFAB1E      // data for System.Dynamic.DynamicMetaObject:s_noValueSentinel
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     x4, [x14]
             cmp     x28, x4
             csel    x15, x27, xzr, ne
             ldr     w14, [x23, #0x08]
             cmp     w26, w14
             bhs     G_M56087_IG14
             add     x14, x23, #16
             add     x14, x14, x26,  LSL #3
             bl      CORINFO_HELP_ASSIGN_REF
             cbz     x22, G_M56087_IG08
             ldr     x3, [x20, #0x08]
             cmp     x3, x4
             csel    x0, x3, xzr, ne
             ldrb    w4, [x19, #0x19]
             ldrb    w3, [x19, #0x18]
             mov     x1, x23
-            ldr     x2, [fp, #0x30]	// [V06 loc1]
+            ldr     x2, [fp, #0x20]	// [V06 loc1]
             movz    x5, #0xD1FFAB1E      // code for Microsoft.VisualBasic.CompilerServices.NewLateBinding:CanIndexSetComplex(System.Object,System.Object[],System.String[],ubyte,ubyte):ubyte
             movk    x5, #0xD1FFAB1E LSL #16
             movk    x5, #0xD1FFAB1E LSL #32
             ldr     x5, [x5]
             blr     x5
             cbnz    w0, G_M56087_IG08
             mov     x0, x22
             b       G_M56087_IG10
 						;; size=112 bbWeight=0.50 PerfScore 17.00
 G_M56087_IG07:
             cmp     w25, #1
             beq     G_M56087_IG05
             b       G_M56087_IG13
 						;; size=12 bbWeight=0.50 PerfScore 1.25
 G_M56087_IG08:
             ldr     x0, [x21, #0x10]
             movz    x1, #0xD1FFAB1E      // code for Microsoft.VisualBasic.CompilerServices.IDOUtils:ConvertToObject(System.Linq.Expressions.Expression):System.Linq.Expressions.Expression
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x22, x0
-            ldr     x1, [fp, #0x28]	// [V07 loc2]
+            ldr     x1, [fp, #0x18]	// [V07 loc2]
             ldr     w1, [x1, #0x08]
             adds    w1, w1, #1
             bvs     G_M56087_IG15
             sxtw    x1, w1
-            movz    x23, #0xD1FFAB1E
-            movk    x23, #0xD1FFAB1E LSL #16
-            movk    x23, #0xD1FFAB1E LSL #32
-            mov     x0, x23
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWARR_1_OBJ
-            mov     x26, x0
-            ldr     x27, [fp, #0x28]	// [V07 loc2]
-            ldrsb   wzr, [x27]
-            ldr     x0, [x26]
+            mov     x23, x0
+            ldr     x26, [fp, #0x18]	// [V07 loc2]
+            ldrsb   wzr, [x26]
+            ldr     x0, [x23]
             ldr     w0, [x0, #0x04]
             sub     w0, w0, #24
-            lsr     w28, w0, #3
-            cbnz    w28, G_M56087_IG11
-						;; size=100 bbWeight=0.50 PerfScore 16.50
+            lsr     w27, w0, #3
+            cbnz    w27, G_M56087_IG11
+						;; size=96 bbWeight=0.50 PerfScore 16.25
 G_M56087_IG09:
-            mov     x0, x27
+            mov     x0, x26
             mov     w1, wzr
             movz    x2, #0xD1FFAB1E      // code for System.Array:GetLowerBound(int):int:this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             sxtw    w1, w0
-            ldr     w4, [x27, #0x08]
+            ldr     w4, [x26, #0x08]
             cmp     w4, #0
             blt     G_M56087_IG15
-            mov     x0, x27
-            mov     x2, x26
+            mov     x0, x26
+            mov     x2, x23
             mov     w3, wzr
             movz    x5, #0xD1FFAB1E      // code for System.Array:Copy(System.Array,int,System.Array,int,int)
             movk    x5, #0xD1FFAB1E LSL #16
             movk    x5, #0xD1FFAB1E LSL #32
             ldr     x5, [x5]
             blr     x5
-            ldr     x14, [fp, #0x28]	// [V07 loc2]
+            ldr     x14, [fp, #0x18]	// [V07 loc2]
             ldr     w14, [x14, #0x08]
-            ldr     w15, [x26, #0x08]
+            ldr     w15, [x23, #0x08]
             cmp     w14, w15
             bhs     G_M56087_IG14
-            ldr     x14, [fp, #0x28]	// [V07 loc2]
+            ldr     x14, [fp, #0x18]	// [V07 loc2]
             ldr     w14, [x14, #0x08]
-            add     x15, x26, #16
+            add     x15, x23, #16
             add     x14, x15, x14,  LSL #3
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movn    w2, #0
             mov     w3, #28
             mov     x4, xzr
             mov     w5, #3
             mov     x6, xzr
             mov     x7, xzr
             movz    x8, #0xD1FFAB1E      // code for System.RuntimeType:GetMethodImplCommon(System.String,int,int,System.Reflection.Binder,int,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodInfo:this
             movk    x8, #0xD1FFAB1E LSL #16
             movk    x8, #0xD1FFAB1E LSL #32
             ldr     x8, [x8]
             blr     x8
-            mov     x28, x0
-            ldr     x27, [x20, #0x10]
-            mov     x1, x26
+            mov     x27, x0
+            ldr     x26, [x20, #0x10]
+            mov     x1, x23
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.Linq.Expressions.Expression:NewArrayInit(System.Type,System.Collections.Generic.IEnumerable`1[System.Linq.Expressions.Expression]):System.Linq.Expressions.NewArrayExpression
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            mov     x26, x0
+            mov     x23, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x24, x0
-            ldr     x0, [fp, #0x30]	// [V06 loc1]
+            mov     x28, x0
+            ldr     x0, [fp, #0x20]	// [V06 loc1]
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.Linq.Expressions.Expression:Constant(System.Object,System.Type):System.Linq.Expressions.ConstantExpression
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            mov     x25, x0
+            mov     x24, x0
             ldrb    w0, [x19, #0x18]
-            strb    w0, [x24, #0x08]
-            add     x0, x23, #0xD1FFAB1E
+            strb    w0, [x28, #0x08]
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x1, x0
-            str     x1, [fp, #0x18]	// [V40 tmp27]
-            add     x14, x1, #8
-            mov     x15, x24
+            mov     x25, x0
+            add     x14, x25, #8
+            mov     x15, x28
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x24, x0
+            mov     x28, x0
             ldrb    w0, [x19, #0x19]
-            strb    w0, [x24, #0x08]
-            add     x0, x23, #0xD1FFAB1E
+            strb    w0, [x28, #0x08]
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x5, x0
             add     x14, x5, #8
-            mov     x15, x24
+            mov     x15, x28
             bl      CORINFO_HELP_ASSIGN_REF
-            mov     x0, x28
-            mov     x1, x27
-            mov     x2, x26
-            mov     x3, x25
-            ldr     x4, [fp, #0x18]	// [V40 tmp27]
+            mov     x0, x27
+            mov     x1, x26
+            mov     x2, x23
+            mov     x3, x24
+            mov     x4, x25
             movz    x6, #0xD1FFAB1E      // code for System.Linq.Expressions.Expression:Call(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression):System.Linq.Expressions.MethodCallExpression
             movk    x6, #0xD1FFAB1E LSL #16
             movk    x6, #0xD1FFAB1E LSL #32
             ldr     x6, [x6]
             blr     x6
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Linq.Expressions.Expression:Block(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression):System.Linq.Expressions.BlockExpression
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x22, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x23, x0
+            mov     x19, x0
             mov     x0, x20
-            ldr     x1, [fp, #0x38]	// [V02 arg2]
+            ldr     x1, [fp, #0x28]	// [V02 arg2]
             mov     x2, x21
             movz    x3, #0xD1FFAB1E      // code for Microsoft.VisualBasic.CompilerServices.IDOUtils:CreateRestrictions(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[],System.Dynamic.DynamicMetaObject):System.Dynamic.BindingRestrictions
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x2, x0
             mov     x1, x22
-            mov     x0, x23
+            mov     x0, x19
             movz    x3, #0xD1FFAB1E      // code for System.Dynamic.DynamicMetaObject:.ctor(System.Linq.Expressions.Expression,System.Dynamic.BindingRestrictions):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-            mov     x0, x23
-						;; size=540 bbWeight=0.50 PerfScore 63.25
+            mov     x0, x19
+						;; size=552 bbWeight=0.50 PerfScore 63.00
 G_M56087_IG10:
-            ldp     x27, x28, [sp, #0x80]
-            ldp     x25, x26, [sp, #0x70]
-            ldp     x23, x24, [sp, #0x60]
-            ldp     x21, x22, [sp, #0x50]
-            ldp     x19, x20, [sp, #0x40]
-            ldp     fp, lr, [sp], #0x90
+            ldp     x27, x28, [sp, #0x70]
+            ldp     x25, x26, [sp, #0x60]
+            ldp     x23, x24, [sp, #0x50]
+            ldp     x21, x22, [sp, #0x40]
+            ldp     x19, x20, [sp, #0x30]
+            ldp     fp, lr, [sp], #0x80
             ret     lr
 						;; size=28 bbWeight=1 PerfScore 7.00
 G_M56087_IG11:
-            cmp     w28, #1
+            cmp     w27, #1
             beq     G_M56087_IG09
             b       G_M56087_IG13
 						;; size=12 bbWeight=0.50 PerfScore 1.25
 G_M56087_IG12:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M56087_IG06
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M56087_IG13:
             mov     w0, #9
             movz    x1, #0xD1FFAB1E      // code for System.ThrowHelper:ThrowArgumentException(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_M56087_IG14:
             bl      CORINFO_HELP_RNGCHKFAIL
             brk_unix #0
 						;; size=8 bbWeight=0 PerfScore 0.00
 G_M56087_IG15:
             bl      CORINFO_HELP_OVERFLOW
             brk_unix #0
 						;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1324, prolog size 36, PerfScore 181.50, instruction count 331, allocated bytes for code 1324 (MethodHash=975c24e8) for method Microsoft.VisualBasic.CompilerServices.VBIndexSetComplexBinder:FallbackSetIndex(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[],System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject):System.Dynamic.DynamicMetaObject:this (FullOpts)
+; Total bytes of code 1332, prolog size 36, PerfScore 181.00, instruction count 333, allocated bytes for code 1332 (MethodHash=975c24e8) for method Microsoft.VisualBasic.CompilerServices.VBIndexSetComplexBinder:FallbackSetIndex(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[],System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject):System.Dynamic.DynamicMetaObject:this (FullOpts)
8 (1.02 % of base) - Microsoft.VisualBasic.CompilerServices.VBSetComplexBinder:FallbackSetMember(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject):System.Dynamic.DynamicMetaObject:this
 ; Assembly listing for method Microsoft.VisualBasic.CompilerServices.VBSetComplexBinder:FallbackSetMember(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject):System.Dynamic.DynamicMetaObject: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; 22 single block inlinees; 3 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] (  9,  5.50)     ref  ->  x19         this class-hnd single-def <Microsoft.VisualBasic.CompilerServices.VBSetComplexBinder>
 ;  V01 arg1         [V01,T01] (  7,  5   )     ref  ->  x20         class-hnd single-def <System.Dynamic.DynamicMetaObject>
 ;  V02 arg2         [V02,T02] (  7,  5   )     ref  ->  x21         class-hnd single-def <System.Dynamic.DynamicMetaObject>
 ;  V03 arg3         [V03,T03] (  4,  3   )     ref  ->  x22         class-hnd single-def <System.Dynamic.DynamicMetaObject>
-;  V04 loc0         [V04,T13] (  4,  2.50)     ref  ->   x0         class-hnd <System.Dynamic.DynamicMetaObject>
+;  V04 loc0         [V04,T12] (  4,  2.50)     ref  ->   x0         class-hnd <System.Dynamic.DynamicMetaObject>
 ;  V05 loc1         [V05,T24] (  3,  1.50)     ref  ->  x22         class-hnd single-def <System.Linq.Expressions.Expression>
 ;* V06 loc2         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <System.Linq.Expressions.Expression[]>
 ;* V07 loc3         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.Linq.Expressions.MethodCallExpression>
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V09 tmp1         [V09,T04] (  3,  3   )     ref  ->  x24         class-hnd exact single-def "dup spill" <System.Linq.Expressions.Expression[]>
-;  V10 tmp2         [V10,T14] (  2,  2   )     ref  ->  x25         class-hnd single-def "impAppendStmt" <System.Reflection.MethodInfo>
-;  V11 tmp3         [V11,T15] (  2,  2   )     ref  ->  x26         class-hnd single-def "impAppendStmt" <System.Linq.Expressions.Expression>
+;  V09 tmp1         [V09,T04] (  3,  3   )     ref  ->  x23         class-hnd exact single-def "dup spill" <System.Linq.Expressions.Expression[]>
+;  V10 tmp2         [V10,T14] (  2,  2   )     ref  ->  x24         class-hnd single-def "impAppendStmt" <System.Reflection.MethodInfo>
+;  V11 tmp3         [V11,T15] (  2,  2   )     ref  ->  x25         class-hnd single-def "impAppendStmt" <System.Linq.Expressions.Expression>
 ;* V12 tmp4         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "impAppendStmt" <System.Linq.Expressions.ConstantExpression>
-;  V13 tmp5         [V13,T05] (  3,  3   )     ref  ->  x27         class-hnd exact single-def "Single-def Box Helper" <System.Boolean>
-;  V14 tmp6         [V14,T16] (  2,  2   )     ref  ->  x24         class-hnd single-def "impImportAndPushBox" <System.Linq.Expressions.NewArrayExpression>
-;  V15 tmp7         [V15,T06] (  3,  3   )     ref  ->  x27         class-hnd exact single-def "Single-def Box Helper" <System.Boolean>
+;  V13 tmp5         [V13,T05] (  3,  3   )     ref  ->  x26         class-hnd exact single-def "Single-def Box Helper" <System.Boolean>
+;  V14 tmp6         [V14,T16] (  2,  2   )     ref  ->  x23         class-hnd single-def "impImportAndPushBox" <System.Linq.Expressions.NewArrayExpression>
+;  V15 tmp7         [V15,T06] (  3,  3   )     ref  ->  x26         class-hnd exact single-def "Single-def Box Helper" <System.Boolean>
 ;* V16 tmp8         [V16    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def "impImportAndPushBox" <System.Linq.Expressions.ConstantExpression>
 ;  V17 tmp9         [V17,T17] (  2,  2   )     ref  ->  x19         class-hnd single-def "impAppendStmt" <System.Linq.Expressions.BlockExpression>
 ;  V18 tmp10        [V18,T07] (  3,  3   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <System.Dynamic.DynamicMetaObject>
 ;  V19 tmp11        [V19,T18] (  2,  2   )     ref  ->   x0         class-hnd "impAppendStmt" <System.Object>
 ;  V20 tmp12        [V20,T19] (  2,  2   )     ref  ->   x1         class-hnd exact single-def "impAppendStmt" <System.String>
 ;  V21 tmp13        [V21,T08] (  3,  3   )     ref  ->   x2         class-hnd exact single-def "dup spill" <System.Dynamic.DynamicMetaObject[]>
 ;  V22 tmp14        [V22,T28] (  2,  1   )     ref  ->   x2         class-hnd "Inline return value spill temp" <System.Object>
-;  V23 tmp15        [V23,T20] (  2,  2   )     ref  ->  x27         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V23 tmp15        [V23,T20] (  2,  2   )     ref  ->  x26         class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V24 tmp16        [V24,T09] (  3,  3   )     ref  ->  x28         class-hnd exact single-def "NewObj constructor temp" <System.Linq.Expressions.ConstantExpression>
 ;* V25 tmp17        [V25    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Boolean>
 ;  V26 tmp18        [V26,T10] (  3,  3   )     ref  ->  [fp+0x18]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Linq.Expressions.ConstantExpression>
 ;* V27 tmp19        [V27    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Boolean>
 ;* V28 tmp20        [V28    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Boolean>
 ;  V29 tmp21        [V29,T11] (  3,  3   )     ref  ->   x5         class-hnd exact single-def "NewObj constructor temp" <System.Linq.Expressions.ConstantExpression>
 ;* V30 tmp22        [V30    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Boolean>
 ;  V31 tmp23        [V31,T21] (  2,  2   )     ref  ->   x0         single-def "argument with side effect"
 ;  V32 tmp24        [V32,T22] (  2,  2   )     ref  ->   x2         single-def "argument with side effect"
 ;  V33 cse0         [V33,T25] (  3,  1.50)     ref  ->   x4         "CSE #06: moderate"
-;  V34 cse1         [V34,T26] (  3,  1.50)     ref  ->  x23         "CSE #01: moderate"
+;  V34 cse1         [V34,T26] (  3,  1.50)     ref  ->  x23         "CSE #02: moderate"
 ;  V35 cse2         [V35,T27] (  3,  1.50)     ref  ->   x3         "CSE #07: moderate"
-;  V36 cse3         [V36,T12] (  5,  2.50)    long  ->  x23         "CSE #08: moderate"
+;  V36 cse3         [V36,T13] (  4,  2   )    long  ->  x27         "CSE #08: moderate"
 ;  V37 rat0         [V37,T23] (  2,  2   )     ref  ->  x24         "Spilling to split statement for tree"
 ;
 ; Lcl frame size = 16
 
 G_M45408_IG01:
             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
             mov     x19, x0
             mov     x20, x1
             mov     x21, x2
             mov     x22, x3
 						;; size=44 bbWeight=1 PerfScore 8.50
 G_M45408_IG02:
             mov     x0, x20
             mov     x2, x21
             mov     x1, xzr
             movz    x3, #0xD1FFAB1E      // code for Microsoft.VisualBasic.CompilerServices.IDOUtils:NeedsDeferral(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[],System.Dynamic.DynamicMetaObject):ubyte
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             cbz     w0, G_M45408_IG04
 						;; size=36 bbWeight=1 PerfScore 8.00
 G_M45408_IG03:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             mov     x1, #1
             bl      CORINFO_HELP_NEWARR_1_OBJ
             mov     x2, x0
             add     x14, x2, #16
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x19
             mov     x1, x20
             movz    x3, #0xD1FFAB1E      // code for System.Dynamic.DynamicMetaObjectBinder:Defer(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[]):System.Dynamic.DynamicMetaObject:this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             b       G_M45408_IG07
 						;; size=68 bbWeight=0.50 PerfScore 6.50
 G_M45408_IG04:
             cbz     x22, G_M45408_IG06
             ldr     x23, [x20, #0x08]
             mov     x24, x23
             movz    x4, #0xD1FFAB1E
             movk    x4, #0xD1FFAB1E LSL #16
             movk    x4, #0xD1FFAB1E LSL #32
             ldr     w4, [x4]
             tbz     w4, #0, G_M45408_IG08
 						;; size=32 bbWeight=0.50 PerfScore 5.00
 G_M45408_IG05:
             movz    x4, #0xD1FFAB1E      // data for System.Dynamic.DynamicMetaObject:s_noValueSentinel
             movk    x4, #0xD1FFAB1E LSL #16
             movk    x4, #0xD1FFAB1E LSL #32
             ldr     x4, [x4]
             cmp     x24, x4
             csel    x0, x23, xzr, ne
             ldr     x1, [x19, #0x10]
             ldr     x3, [x21, #0x08]
             cmp     x3, x4
             csel    x2, x3, xzr, ne
             ldrb    w4, [x19, #0x1A]
             ldrb    w3, [x19, #0x19]
             movz    x5, #0xD1FFAB1E      // code for Microsoft.VisualBasic.CompilerServices.NewLateBinding:CanBindSet(System.Object,System.String,System.Object,ubyte,ubyte):ubyte
             movk    x5, #0xD1FFAB1E LSL #16
             movk    x5, #0xD1FFAB1E LSL #32
             ldr     x5, [x5]
             blr     x5
             cbnz    w0, G_M45408_IG06
             mov     x0, x22
             b       G_M45408_IG07
 						;; size=80 bbWeight=0.50 PerfScore 13.25
 G_M45408_IG06:
             ldr     x0, [x21, #0x10]
             movz    x1, #0xD1FFAB1E      // code for Microsoft.VisualBasic.CompilerServices.IDOUtils:ConvertToObject(System.Linq.Expressions.Expression):System.Linq.Expressions.Expression
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x22, x0
-            movz    x23, #0xD1FFAB1E
-            movk    x23, #0xD1FFAB1E LSL #16
-            movk    x23, #0xD1FFAB1E LSL #32
-            mov     x0, x23
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             mov     x1, #1
             bl      CORINFO_HELP_NEWARR_1_OBJ
-            mov     x24, x0
-            add     x14, x24, #16
+            mov     x23, x0
+            add     x14, x23, #16
             mov     x15, x22
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movn    w2, #0
             mov     w3, #28
             mov     x4, xzr
             mov     w5, #3
             mov     x6, xzr
             mov     x7, xzr
             movz    x8, #0xD1FFAB1E      // code for System.RuntimeType:GetMethodImplCommon(System.String,int,int,System.Reflection.Binder,int,System.Type[],System.Reflection.ParameterModifier[]):System.Reflection.MethodInfo:this
             movk    x8, #0xD1FFAB1E LSL #16
             movk    x8, #0xD1FFAB1E LSL #32
             ldr     x8, [x8]
             blr     x8
-            mov     x25, x0
-            ldr     x26, [x20, #0x10]
-            ldr     x27, [x19, #0x10]
-            add     x0, x23, #0xD1FFAB1E
+            mov     x24, x0
+            ldr     x25, [x20, #0x10]
+            ldr     x26, [x19, #0x10]
+            movz    x27, #0xD1FFAB1E
+            movk    x27, #0xD1FFAB1E LSL #16
+            movk    x27, #0xD1FFAB1E LSL #32
+            mov     x0, x27
             bl      CORINFO_HELP_NEWSFAST
             mov     x28, x0
             add     x14, x28, #8
-            mov     x15, x27
+            mov     x15, x26
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x27, x0
-            mov     x1, x24
+            mov     x26, x0
+            mov     x1, x23
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.Linq.Expressions.Expression:NewArrayInit(System.Type,System.Collections.Generic.IEnumerable`1[System.Linq.Expressions.Expression]):System.Linq.Expressions.NewArrayExpression
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            mov     x24, x0
+            mov     x23, x0
             ldrb    w0, [x19, #0x19]
-            strb    w0, [x27, #0x08]
-            add     x0, x23, #0xD1FFAB1E
+            strb    w0, [x26, #0x08]
+            mov     x0, x27
             bl      CORINFO_HELP_NEWSFAST
             mov     x1, x0
             str     x1, [fp, #0x18]	// [V26 tmp18]
             add     x14, x1, #8
-            mov     x15, x27
+            mov     x15, x26
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
-            mov     x27, x0
+            mov     x26, x0
             ldrb    w0, [x19, #0x1A]
-            strb    w0, [x27, #0x08]
-            add     x0, x23, #0xD1FFAB1E
+            strb    w0, [x26, #0x08]
+            mov     x0, x27
             bl      CORINFO_HELP_NEWSFAST
             mov     x5, x0
             add     x14, x5, #8
-            mov     x15, x27
+            mov     x15, x26
             bl      CORINFO_HELP_ASSIGN_REF
-            mov     x0, x25
-            mov     x1, x26
+            mov     x0, x24
+            mov     x1, x25
             mov     x2, x28
-            mov     x3, x24
+            mov     x3, x23
             ldr     x4, [fp, #0x18]	// [V26 tmp18]
             movz    x6, #0xD1FFAB1E      // code for System.Linq.Expressions.Expression:Call(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression):System.Linq.Expressions.MethodCallExpression
             movk    x6, #0xD1FFAB1E LSL #16
             movk    x6, #0xD1FFAB1E LSL #32
             ldr     x6, [x6]
             blr     x6
             mov     x1, x22
             movz    x2, #0xD1FFAB1E      // code for System.Linq.Expressions.Expression:Block(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression):System.Linq.Expressions.BlockExpression
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x19, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x22, x0
             mov     x0, x20
             mov     x2, x21
             mov     x1, xzr
             movz    x3, #0xD1FFAB1E      // code for Microsoft.VisualBasic.CompilerServices.IDOUtils:CreateRestrictions(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject[],System.Dynamic.DynamicMetaObject):System.Dynamic.BindingRestrictions
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x2, x0
             mov     x1, x19
             mov     x0, x22
             movz    x3, #0xD1FFAB1E      // code for System.Dynamic.DynamicMetaObject:.ctor(System.Linq.Expressions.Expression,System.Dynamic.BindingRestrictions):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
             mov     x0, x22
-						;; size=476 bbWeight=0.50 PerfScore 50.75
+						;; size=484 bbWeight=0.50 PerfScore 51.25
 G_M45408_IG07:
             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 7.00
 G_M45408_IG08:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M45408_IG05
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 784, prolog size 28, PerfScore 99.00, instruction count 196, allocated bytes for code 784 (MethodHash=73a74e9f) for method Microsoft.VisualBasic.CompilerServices.VBSetComplexBinder:FallbackSetMember(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject):System.Dynamic.DynamicMetaObject:this (FullOpts)
+; Total bytes of code 792, prolog size 28, PerfScore 99.50, instruction count 198, allocated bytes for code 792 (MethodHash=73a74e9f) for method Microsoft.VisualBasic.CompilerServices.VBSetComplexBinder:FallbackSetMember(System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject,System.Dynamic.DynamicMetaObject):System.Dynamic.DynamicMetaObject:this (FullOpts)
8 (0.96 % of base) - Microsoft.VisualBasic.FileIO.FileSystem:FxCopyOrMoveDirectory(int,System.String,System.String,ubyte)
 ; Assembly listing for method Microsoft.VisualBasic.FileIO.FileSystem:FxCopyOrMoveDirectory(int,System.String,System.String,ubyte) (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; 9 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T13] (  4,  4   )     int  ->  [fp+0x2C]  EH-live single-def
 ;  V01 arg1         [V01,T12] (  5,  5   )     ref  ->  [fp+0x20]  class-hnd EH-live single-def <System.String>
 ;  V02 arg2         [V02,T09] (  8,  8   )     ref  ->  [fp+0x18]  class-hnd EH-live single-def <System.String>
 ;  V03 arg3         [V03,T17] (  3,  3   )   ubyte  ->  [fp+0x28]  EH-live single-def
 ;* V04 loc0         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <Microsoft.VisualBasic.FileIO.FileSystem+DirectoryNode>
 ;  V05 loc1         [V05,T16] (  5,  5   )     ref  ->  x21         class-hnd exact single-def <System.Collections.Specialized.ListDictionary>
 ;* V06 loc2         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.IO.IOException>
 ;* V07 loc3         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.UnauthorizedAccessException>
 ;  V08 loc4         [V08,T05] (  5, 17   )     ref  ->  x19         class-hnd exact single-def <System.IO.IOException>
 ;  V09 loc5         [V09,T04] (  4, 18   )     ref  ->  x22         class-hnd exact single-def <System.Collections.Specialized.ListDictionary+NodeEnumerator>
 ;* V10 loc6         [V10    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Collections.DictionaryEntry>
 ;* V11 loc7         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Collections.DictionaryEntry>
 ;# V12 OutArgs      [V12    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V13 tmp1         [V13    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;  V14 tmp2         [V14,T14] (  3,  6   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <Microsoft.VisualBasic.FileIO.FileSystem+DirectoryNode>
 ;* V15 tmp3         [V15    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "NewObj constructor temp" <System.Collections.Specialized.ListDictionary>
 ;  V16 tmp4         [V16,T15] (  3,  6   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.IO.IOException>
 ;  V17 tmp5         [V17,T00] (  6, 60   )     ref  ->  x23         class-hnd "dup spill" <System.Object>
 ;* V18 tmp6         [V18    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V19 tmp7         [V19    ] (  0,  0   )  struct (16) zero-ref    <System.Collections.DictionaryEntry>
 ;* V20 tmp8         [V20    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Collections.IDictionary>
 ;* V21 tmp9         [V21    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Object>
 ;* V22 tmp10        [V22    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.UnauthorizedAccessException>
 ;* V23 tmp11        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.IO.IOException>
 ;  V24 tmp12        [V24,T08] (  6, 12   )     ref  ->  x22         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Specialized.ListDictionary+NodeEnumerator>
 ;  V25 tmp13        [V25,T01] (  2, 32   )     ref  ->   x0         class-hnd "dup spill" <System.Collections.IDictionary>
 ;  V26 tmp14        [V26,T02] (  4, 28   )     ref  ->   x0        
 ;  V27 tmp15        [V27,T03] (  3, 24   )     ref  ->   x0         class-hnd "dup spill" <System.Collections.IDictionary>
 ;* V28 tmp16        [V28    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Collections.IDictionary>
 ;* V29 tmp17        [V29    ] (  0,  0   )     ref  ->  zero-ref    "field V10._key (fldOffset=0x0)" P-INDEP
 ;* V30 tmp18        [V30    ] (  0,  0   )     ref  ->  zero-ref    "field V10._value (fldOffset=0x8)" P-INDEP
 ;* V31 tmp19        [V31    ] (  0,  0   )     ref  ->  zero-ref    "field V11._key (fldOffset=0x0)" P-INDEP
 ;* V32 tmp20        [V32    ] (  0,  0   )     ref  ->  zero-ref    "field V11._value (fldOffset=0x8)" P-INDEP
 ;  V33 tmp21        [V33,T06] (  3, 16   )     ref  ->  x24         "field V19._key (fldOffset=0x0)" P-INDEP
 ;  V34 tmp22        [V34,T07] (  3, 16   )     ref  ->  x25         "field V19._value (fldOffset=0x8)" P-INDEP
 ;  V35 tmp23        [V35,T18] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
 ;  V36 PSPSym       [V36,T19] (  1,  1   )    long  ->  [fp+0x30]  do-not-enreg[V] "PSPSym"
-;  V37 cse0         [V37,T11] (  2,  9   )    long  ->  x21         hoist "CSE #02: aggressive"
-;  V38 cse1         [V38,T10] (  5,  9   )    long  ->  x20         "CSE #01: aggressive"
+;  V37 cse0         [V37,T10] (  2,  9   )    long  ->  x21         hoist "CSE #02: aggressive"
+;  V38 cse1         [V38,T11] (  4,  8   )    long  ->  x20         "CSE #01: aggressive"
 ;
 ; Lcl frame size = 40
 
 G_M48296_IG01:
             stp     fp, lr, [sp, #-0x70]!
             stp     x19, x20, [sp, #0x38]
             stp     x21, x22, [sp, #0x48]
             stp     x23, x24, [sp, #0x58]
             str     x25, [sp, #0x68]
             mov     fp, sp
             add     x4, sp, #112
             str     x4, [fp, #0x30]	// [V36 PSPSym]
             str     w0, [fp, #0x2C]	// [V00 arg0]
             stp     x2, x1, [fp, #0x18]	// [V02 arg2], [V01 arg1]
             str     w3, [fp, #0x28]	// [V03 arg3]
 						;; size=44 bbWeight=1 PerfScore 10.00
 G_M48296_IG02:
             mov     x0, x2
             movz    x4, #0xD1FFAB1E      // code for System.IO.Directory:Exists(System.String):ubyte
             movk    x4, #0xD1FFAB1E LSL #16
             movk    x4, #0xD1FFAB1E LSL #32
             ldr     x4, [x4]
             blr     x4
             cmp     w0, #0
             ldr     w0, [fp, #0x2C]	// [V00 arg0]
             ccmp    w0, #1, 0, eq
             cset    x19, eq
             ldp     x1, x0, [fp, #0x18]	// [V02 arg2], [V01 arg1]
             movz    x2, #0xD1FFAB1E      // code for Microsoft.VisualBasic.FileIO.FileSystem:IsOnSameDrive(System.String,System.String):ubyte
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             tst     w19, w0
             beq     G_M48296_IG04
             ldr     x0, [fp, #0x18]	// [V02 arg2]
             movz    x1, #0xD1FFAB1E      // code for Microsoft.VisualBasic.FileIO.FileSystem:GetParentPath(System.String):System.String
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             movz    x1, #0xD1FFAB1E      // code for System.IO.Directory:CreateDirectory(System.String):System.IO.DirectoryInfo
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
 						;; size=116 bbWeight=1 PerfScore 32.50
 G_M48296_IG03:
             ldp     x1, x0, [fp, #0x18]	// [V02 arg2], [V01 arg1]
             movz    x2, #0xD1FFAB1E      // code for System.IO.Directory:Move(System.String,System.String)
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             b       G_M48296_IG13
 						;; size=28 bbWeight=1 PerfScore 9.50
 G_M48296_IG04:
             ldr     x0, [fp, #0x18]	// [V02 arg2]
             movz    x1, #0xD1FFAB1E      // code for System.IO.Directory:CreateDirectory(System.String):System.IO.DirectoryInfo
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x19, x0
             ldp     x2, x1, [fp, #0x18]	// [V02 arg2], [V01 arg1]
             movz    x3, #0xD1FFAB1E      // code for Microsoft.VisualBasic.FileIO.FileSystem+DirectoryNode:.ctor(System.String,System.String):this
             movk    x3, #0xD1FFAB1E LSL #16
             movk    x3, #0xD1FFAB1E LSL #32
             ldr     x3, [x3]
             blr     x3
-            movz    x20, #24
+            movz    x20, #0xD1FFAB1E
             movk    x20, #0xD1FFAB1E LSL #16
             movk    x20, #0xD1FFAB1E LSL #32
             mov     x0, x20
             bl      CORINFO_HELP_NEWSFAST
             mov     x21, x0
             ldrb    w2, [fp, #0x28]	// [V03 arg3]
             ldr     w0, [fp, #0x2C]	// [V00 arg0]
             mov     x1, x19
             mov     x3, x21
             movz    x4, #0xD1FFAB1E      // code for Microsoft.VisualBasic.FileIO.FileSystem:CopyOrMoveDirectoryNode(int,Microsoft.VisualBasic.FileIO.FileSystem+DirectoryNode,ubyte,System.Collections.Specialized.ListDictionary)
             movk    x4, #0xD1FFAB1E LSL #16
             movk    x4, #0xD1FFAB1E LSL #32
             ldr     x4, [x4]
             blr     x4
             ldr     w0, [x21, #0x1C]
             cmp     w0, #0
             ble     G_M48296_IG13
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x19, x0
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             mov     x1, xzr
             movz    x2, #0xD1FFAB1E      // code for System.SR:GetResourceString(System.String,System.String):System.String
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             mov     x1, x0
             mov     x0, x19
             movz    x2, #0xD1FFAB1E      // code for System.IO.IOException:.ctor(System.String):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
-            add     x0, x20, #0xD1FFAB1E
+            movz    x0, #0xD1FFAB1E
+            movk    x0, #0xD1FFAB1E LSL #16
+            movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x22, x0
             add     x14, x22, #8
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
             ldr     w0, [x21, #0x18]
             str     w0, [x22, #0x18]
             mov     w0, #1
             strb    w0, [x22, #0x1C]
             str     xzr, [x22, #0x10]
             mov     x0, x22
             movz    x1, #0xD1FFAB1E      // code for System.Collections.Specialized.ListDictionary+NodeEnumerator:MoveNext():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             cbz     w0, G_M48296_IG14
             movz    x21, #0xD1FFAB1E
             movk    x21, #0xD1FFAB1E LSL #16
             movk    x21, #0xD1FFAB1E LSL #32
-						;; size=308 bbWeight=1 PerfScore 73.50
+						;; size=316 bbWeight=1 PerfScore 74.50
 G_M48296_IG05:
             mov     x0, x22
             movz    x1, #0xD1FFAB1E      // code for System.Collections.Specialized.ListDictionary+NodeEnumerator:get_Current():System.Object:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             mov     x23, x0
             cbnz    x23, G_M48296_IG07
 						;; size=32 bbWeight=8 PerfScore 60.00
 G_M48296_IG06:
             mov     x24, xzr
             mov     x25, xzr
             b       G_M48296_IG10
 						;; size=12 bbWeight=4 PerfScore 8.00
 G_M48296_IG07:
             ldr     x1, [x23]
             add     x0, x20, #0xD1FFAB1E
             cmp     x1, x0
             beq     G_M48296_IG09
 						;; size=16 bbWeight=4 PerfScore 20.00
 G_M48296_IG08:
             mov     x1, x23
             add     x0, x20, #0xD1FFAB1E
             movz    x2, #0xD1FFAB1E      // code for CORINFO_HELP_UNBOX
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
 						;; size=28 bbWeight=2 PerfScore 13.00
 G_M48296_IG09:
             ldp     x24, x25, [x23, #0x08]
 						;; size=4 bbWeight=4 PerfScore 16.00
 G_M48296_IG10:
             ldr     x0, [x19, #0x18]
             cbnz    x0, G_M48296_IG12
 						;; size=8 bbWeight=8 PerfScore 32.00
 G_M48296_IG11:
             mov     x0, x19
             movz    x1, #0xD1FFAB1E      // code for System.Exception:CreateDataContainer():System.Collections.IDictionary:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             add     x14, x19, #24
             mov     x15, x0
             bl      CORINFO_HELP_ASSIGN_REF
 						;; size=36 bbWeight=4 PerfScore 32.00
 G_M48296_IG12:
             mov     x2, x25
             mov     x1, x24
             mov     x11, x21
             ldr     xip0, [x11]
             blr     xip0
             mov     x0, x22
             movz    x1, #0xD1FFAB1E      // code for System.Collections.Specialized.ListDictionary+NodeEnumerator:MoveNext():ubyte:this
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
             cbnz    w0, G_M48296_IG05
             b       G_M48296_IG14
 						;; size=52 bbWeight=8 PerfScore 108.00
 G_M48296_IG13:
             ldr     x25, [sp, #0x68]
             ldp     x23, x24, [sp, #0x58]
             ldp     x21, x22, [sp, #0x48]
             ldp     x19, x20, [sp, #0x38]
             ldp     fp, lr, [sp], #0x70
             ret     lr
 						;; size=24 bbWeight=1 PerfScore 7.00
 G_M48296_IG14:
             mov     x0, x19
             bl      CORINFO_HELP_THROW
             brk_unix #0
 						;; size=12 bbWeight=0 PerfScore 0.00
 G_M48296_IG15:
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x18]
             stp     x21, x22, [sp, #0x28]
             stp     x23, x24, [sp, #0x38]
             str     x25, [sp, #0x48]
             add     x3, fp, #112
             str     x3, [sp, #0x10]
 						;; size=28 bbWeight=0 PerfScore 0.00
 G_M48296_IG16:
             adr     x0, [G_M48296_IG04]
 						;; size=4 bbWeight=0 PerfScore 0.00
 G_M48296_IG17:
             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
 G_M48296_IG18:
             stp     fp, lr, [sp, #-0x50]!
             stp     x19, x20, [sp, #0x18]
             stp     x21, x22, [sp, #0x28]
             stp     x23, x24, [sp, #0x38]
             str     x25, [sp, #0x48]
             add     x3, fp, #112
             str     x3, [sp, #0x10]
 						;; size=28 bbWeight=0 PerfScore 0.00
 G_M48296_IG19:
             adr     x0, [G_M48296_IG04]
 						;; size=4 bbWeight=0 PerfScore 0.00
 G_M48296_IG20:
             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 832, prolog size 44, PerfScore 421.50, instruction count 208, allocated bytes for code 832 (MethodHash=ad994357) for method Microsoft.VisualBasic.FileIO.FileSystem:FxCopyOrMoveDirectory(int,System.String,System.String,ubyte) (FullOpts)
+; Total bytes of code 840, prolog size 44, PerfScore 422.50, instruction count 210, allocated bytes for code 840 (MethodHash=ad994357) for method Microsoft.VisualBasic.FileIO.FileSystem:FxCopyOrMoveDirectory(int,System.String,System.String,ubyte) (FullOpts)
8 (7.14 % of base) - System.SR:get_ResourceManager():System.Resources.ResourceManager
 ; Assembly listing for method System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; Final local variable assignments
 ;
 ;# V00 OutArgs      [V00    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V01 tmp1         [V01,T01] (  2,  4   )     ref  ->   x0         class-hnd single-def "dup spill" <System.Resources.ResourceManager>
 ;  V02 tmp2         [V02,T02] (  4,  3.50)     ref  ->   x0        
 ;  V03 tmp3         [V03,T00] (  4,  4   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.Resources.ResourceManager>
 ;
 ; Lcl frame size = 8
 
 G_M50404_IG01:
             stp     fp, lr, [sp, #-0x20]!
             str     x19, [sp, #0x18]
             mov     fp, sp
 						;; size=12 bbWeight=1 PerfScore 2.50
 G_M50404_IG02:
             movz    x0, #0xD1FFAB1E      // data for System.SR:s_resourceManager
+            movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             cbnz    x0, G_M50404_IG04
-						;; size=16 bbWeight=1 PerfScore 5.00
+						;; size=20 bbWeight=1 PerfScore 5.50
 G_M50404_IG03:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x19, x0
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.Resources.ResourceManager:.ctor(System.Type):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             movz    x14, #0xD1FFAB1E      // data for System.SR:s_resourceManager
+            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             mov     x15, x19
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x19
-						;; size=72 bbWeight=0.50 PerfScore 6.50
+						;; size=76 bbWeight=0.50 PerfScore 6.75
 G_M50404_IG04:
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 112, prolog size 12, PerfScore 18.00, instruction count 28, allocated bytes for code 112 (MethodHash=91843b1b) for method System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
+; Total bytes of code 120, prolog size 12, PerfScore 18.75, instruction count 30, allocated bytes for code 120 (MethodHash=91843b1b) for method System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
8 (7.14 % of base) - System.SR:get_ResourceManager():System.Resources.ResourceManager
 ; Assembly listing for method System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
 ; Emitting BLENDED_CODE for generic ARM64 - Unix
 ; FullOpts code
 ; optimized code
 ; fp based frame
 ; partially interruptible
 ; No PGO data
 ; Final local variable assignments
 ;
 ;# V00 OutArgs      [V00    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V01 tmp1         [V01,T01] (  2,  4   )     ref  ->   x0         class-hnd single-def "dup spill" <System.Resources.ResourceManager>
 ;  V02 tmp2         [V02,T02] (  4,  3.50)     ref  ->   x0        
 ;  V03 tmp3         [V03,T00] (  4,  4   )     ref  ->  x19         class-hnd exact single-def "NewObj constructor temp" <System.Resources.ResourceManager>
 ;
 ; Lcl frame size = 8
 
 G_M50404_IG01:
             stp     fp, lr, [sp, #-0x20]!
             str     x19, [sp, #0x18]
             mov     fp, sp
 						;; size=12 bbWeight=1 PerfScore 2.50
 G_M50404_IG02:
             movz    x0, #0xD1FFAB1E      // data for System.SR:s_resourceManager
+            movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             ldr     x0, [x0]
             cbnz    x0, G_M50404_IG04
-						;; size=16 bbWeight=1 PerfScore 5.00
+						;; size=20 bbWeight=1 PerfScore 5.50
 G_M50404_IG03:
             movz    x0, #0xD1FFAB1E
             movk    x0, #0xD1FFAB1E LSL #16
             movk    x0, #0xD1FFAB1E LSL #32
             bl      CORINFO_HELP_NEWSFAST
             mov     x19, x0
             movz    x1, #0xD1FFAB1E
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             movz    x2, #0xD1FFAB1E      // code for System.Resources.ResourceManager:.ctor(System.Type):this
             movk    x2, #0xD1FFAB1E LSL #16
             movk    x2, #0xD1FFAB1E LSL #32
             ldr     x2, [x2]
             blr     x2
             movz    x14, #0xD1FFAB1E      // data for System.SR:s_resourceManager
+            movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             mov     x15, x19
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x19
-						;; size=72 bbWeight=0.50 PerfScore 6.50
+						;; size=76 bbWeight=0.50 PerfScore 6.75
 G_M50404_IG04:
             ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             ret     lr
 						;; size=12 bbWeight=1 PerfScore 4.00
 
-; Total bytes of code 112, prolog size 12, PerfScore 18.00, instruction count 28, allocated bytes for code 112 (MethodHash=91843b1b) for method System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
+; Total bytes of code 120, prolog size 12, PerfScore 18.75, instruction count 30, allocated bytes for code 120 (MethodHash=91843b1b) for method System.SR:get_ResourceManager():System.Resources.ResourceManager (FullOpts)
4 (1.15 % of base) - Microsoft.CSharp.RuntimeBinder.Semantics.MemberLookup:.ctor():this
 ; Assembly listing for method Microsoft.CSharp.RuntimeBinder.Semantics.MemberLookup:.ctor():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; 17 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 10, 10   )     ref  ->  x19         this class-hnd single-def <Microsoft.CSharp.RuntimeBinder.Semantics.MemberLookup>
 ;# V01 OutArgs      [V01    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V02 tmp1         [V02,T02] (  3,  6   )     ref  ->  x21         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.MethPropWithType]>
-;  V03 tmp2         [V03,T03] (  3,  6   )     ref  ->  x24         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType]>
+;  V03 tmp2         [V03,T03] (  3,  6   )     ref  ->  x23         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType]>
 ;  V04 tmp3         [V04,T04] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CSharp.RuntimeBinder.Semantics.SymWithType>
 ;  V05 tmp4         [V05,T05] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CSharp.RuntimeBinder.Semantics.SymWithType>
 ;  V06 tmp5         [V06,T06] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CSharp.RuntimeBinder.Semantics.SymWithType>
 ;  V07 tmp6         [V07,T07] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CSharp.RuntimeBinder.Semantics.SymWithType>
 ;  V08 tmp7         [V08,T08] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CSharp.RuntimeBinder.Semantics.SymWithType>
 ;  V09 tmp8         [V09,T09] (  2,  4   )     ref  ->  x15         class-hnd exact single-def "NewObj constructor temp" <Microsoft.CSharp.RuntimeBinder.Semantics.SymWithType>
 ;  V10 cse0         [V10,T01] (  7,  7   )    long  ->  x20         "CSE #04: aggressive"
-;  V11 cse1         [V11,T11] (  3,  2   )    long  ->  x20         "CSE #01: aggressive"
-;  V12 cse2         [V12,T12] (  3,  2   )    long  ->  x23         "CSE #02: aggressive"
-;  V13 cse3         [V13,T10] (  3,  3   )    long  ->  x22         "CSE #03: aggressive"
+;  V11 cse1         [V11,T10] (  3,  2   )    long  ->  x20         "CSE #01: aggressive"
+;  V12 cse2         [V12,T11] (  3,  2   )    long  ->  x22         "CSE #02: aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M19575_IG01:
             stp     fp, lr, [sp, #-0x40]!
-            stp     x19, x20, [sp, #0x10]
-            stp     x21, x22, [sp, #0x20]
-            stp     x23, x24, [sp, #0x30]
+            stp     x19, x20, [sp, #0x18]
+            stp     x21, x22, [sp, #0x28]
+            str     x23, [sp, #0x38]
             mov     fp, sp
             mov     x19, x0
 						;; size=24 bbWeight=1 PerfScore 5.00
 G_M19575_IG02:
             movz    x20, #0xD1FFAB1E
             movk    x20, #0xD1FFAB1E LSL #16
             movk    x20, #0xD1FFAB1E LSL #32
             mov     x0, x20
             bl      CORINFO_HELP_NEWSFAST
             mov     x21, x0
             movz    x14, #0xD1FFAB1E
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     w14, [x14]
             tbz     w14, #0, G_M19575_IG06
 						;; size=44 bbWeight=1 PerfScore 9.00
 G_M19575_IG03:
-            movz    x22, #0xD1FFAB1E      // data for System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.MethPropWithType]:s_emptyArray
-            movk    x22, #0xD1FFAB1E LSL #16
-            movk    x22, #0xD1FFAB1E LSL #32
-            ldr     x15, [x22]
+            movz    x14, #0xD1FFAB1E      // data for System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.MethPropWithType]:s_emptyArray
+            movk    x14, #0xD1FFAB1E LSL #32
+            ldr     x15, [x14]
             add     x14, x21, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #64
             mov     x15, x21
             bl      CORINFO_HELP_ASSIGN_REF
-            movz    x23, #0xD1FFAB1E
-            movk    x23, #0xD1FFAB1E LSL #16
-            movk    x23, #0xD1FFAB1E LSL #32
-            mov     x0, x23
+            movz    x22, #0xD1FFAB1E
+            movk    x22, #0xD1FFAB1E LSL #16
+            movk    x22, #0xD1FFAB1E LSL #32
+            mov     x0, x22
             bl      CORINFO_HELP_NEWSFAST
-            mov     x24, x0
+            mov     x23, x0
             movz    x14, #0xD1FFAB1E
             movk    x14, #0xD1FFAB1E LSL #16
             movk    x14, #0xD1FFAB1E LSL #32
             ldr     w14, [x14]
             tbz     w14, #0, G_M19575_IG07
-						;; size=80 bbWeight=1 PerfScore 17.00
+						;; size=76 bbWeight=1 PerfScore 16.50
 G_M19575_IG04:
-            ldr     x15, [x22, #-0x08]
-            add     x14, x24, #8
+            movz    x14, #0xD1FFAB1E      // data for System.Collections.Generic.List`1[Microsoft.CSharp.RuntimeBinder.Semantics.AggregateType]:s_emptyArray
+            movk    x14, #0xD1FFAB1E LSL #32
+            ldr     x15, [x14]
+            add     x14, x23, #8
             bl      CORINFO_HELP_ASSIGN_REF
             add     x14, x19, #40
-            mov     x15, x24
+            mov     x15, x23
             bl      CORINFO_HELP_ASSIGN_REF
             movz    x20, #0xD1FFAB1E
             movk    x20, #0xD1FFAB1E LSL #16
             movk    x20, #0xD1FFAB1E LSL #32
             mov     x0, x20
             bl      CORINFO_HELP_NEWSFAST
             mov     x15, x0
             add     x14, x19, #56
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x20
             bl      CORINFO_HELP_NEWSFAST
             mov     x15, x0
             add     x14, x19, #72
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x20
             bl      CORINFO_HELP_NEWSFAST
             mov     x15, x0
             add     x14, x19, #80
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x20
             bl      CORINFO_HELP_NEWSFAST
             mov     x15, x0
             add     x14, x19, #88
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x20
             bl      CORINFO_HELP_NEWSFAST
             mov     x15, x0
             add     x14, x19, #96
             bl      CORINFO_HELP_ASSIGN_REF
             mov     x0, x20
             bl      CORINFO_HELP_NEWSFAST
             mov     x15, x0
             add     x14, x19, #104
             bl      CORINFO_HELP_ASSIGN_REF
-						;; size=156 bbWeight=1 PerfScore 29.00
+						;; size=164 bbWeight=1 PerfScore 30.00
 G_M19575_IG05:
-            ldp     x23, x24, [sp, #0x30]
-            ldp     x21, x22, [sp, #0x20]
-            ldp     x19, x20, [sp, #0x10]
+            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 5.00
+						;; size=20 bbWeight=1 PerfScore 6.00
 G_M19575_IG06:
             mov     x0, x20
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M19575_IG03
 						;; size=12 bbWeight=0 PerfScore 0.00
 G_M19575_IG07:
-            mov     x0, x23
+            mov     x0, x22
             bl      CORINFO_HELP_GET_GCSTATIC_BASE
             b       G_M19575_IG04
 						;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 348, prolog size 20, PerfScore 65.00, instruction count 87, allocated bytes for code 348 (MethodHash=4a89b388) for method Microsoft.CSharp.RuntimeBinder.Semantics.MemberLookup:.ctor():this (FullOpts)
+; Total bytes of code 352, prolog size 20, PerfScore 66.50, instruction count 88, allocated bytes for code 352 (MethodHash=4a89b388) for method Microsoft.CSharp.RuntimeBinder.Semantics.MemberLookup:.ctor():this (FullOpts)
4 (2.56 % of base) - Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedMembers:LoadMethod(int):Microsoft.CSharp.RuntimeBinder.Semantics.MethodSymbol
 ; Assembly listing for method Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedMembers:LoadMethod(int):Microsoft.CSharp.RuntimeBinder.Semantics.MethodSymbol (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; 5 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T01] (  4,  4   )     int  ->   x0         single-def
-;  V01 loc0         [V01,T00] (  7,  7   )     ref  ->  x20         class-hnd exact single-def <Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedMethodInfo>
+;  V01 loc0         [V01,T00] (  7,  7   )     ref  ->  x19         class-hnd exact single-def <Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedMethodInfo>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [sp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V03 tmp1         [V03    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "impAppendStmt" <Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol>
 ;* V04 tmp2         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <int[]>
 ;* V05 tmp3         [V05    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V06 tmp4         [V06    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V07 tmp5         [V07    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V08 tmp6         [V08,T03] (  2,  4   )     ref  ->   x1         single-def "arr expr"
 ;  V09 tmp7         [V09,T04] (  2,  4   )     ref  ->   x3         single-def "arr expr"
 ;  V10 tmp8         [V10,T02] (  3,  6   )     int  ->   x4         "index expr"
 ;  V11 tmp9         [V11,T05] (  2,  4   )     ref  ->   x0         single-def "argument with side effect"
 ;  V12 tmp10        [V12,T06] (  2,  4   )     ref  ->   x1         single-def "argument with side effect"
 ;  V13 tmp11        [V13,T08] (  2,  4   )     int  ->   x2         "argument with side effect"
 ;  V14 tmp12        [V14,T07] (  2,  4   )     ref  ->   x3         single-def "argument with side effect"
 ;  V15 cse0         [V15,T09] (  3,  3   )     int  ->   x6         "CSE #02: aggressive"
-;  V16 cse1         [V16,T10] (  3,  3   )    long  ->  x19         "CSE #01: aggressive"
 ;
-; Lcl frame size = 0
+; Lcl frame size = 8
 
 G_M10893_IG01:
             stp     fp, lr, [sp, #-0x20]!
-            stp     x19, x20, [sp, #0x10]
+            str     x19, [sp, #0x18]
             mov     fp, sp
 						;; size=12 bbWeight=1 PerfScore 2.50
 G_M10893_IG02:
-            movz    x19, #0xD1FFAB1E
-            movk    x19, #0xD1FFAB1E LSL #16
-            movk    x19, #0xD1FFAB1E LSL #32
-            ldr     x1, [x19, #0xD1FFAB1E]
+            movz    x1, #0xD1FFAB1E
+            movk    x1, #0xD1FFAB1E LSL #32
+            ldr     x1, [x1]
             cmp     w0, #81
             bhs     G_M10893_IG04
             add     x1, x1, #16
-            ldr     x20, [x1, w0, UXTW #3]
-            ldr     w0, [x20, #0x14]
+            ldr     x19, [x1, w0, UXTW #3]
+            ldr     w0, [x19, #0x14]
             movz    x1, #0xD1FFAB1E      // code for Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedTypes:GetPredefinedAggregate(uint):Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol
             movk    x1, #0xD1FFAB1E LSL #16
             movk    x1, #0xD1FFAB1E LSL #32
             ldr     x1, [x1]
             blr     x1
-            ldr     x1, [x20, #0x08]
-            ldr     w2, [x20, #0x24]
-            ldr     x3, [x19]
-            ldr     w4, [x20, #0x18]
+            ldr     x1, [x19, #0x08]
+            ldr     w2, [x19, #0x24]
+            movz    x3, #0xD1FFAB1E
+            movk    x3, #0xD1FFAB1E LSL #32
+            ldr     x3, [x3]
+            ldr     w4, [x19, #0x18]
             cmp     w4, #121
             bhs     G_M10893_IG04
             add     x3, x3, #16
             ldr     x3, [x3, w4, UXTW #3]
-            ldp     w6, w4, [x20, #0x1C]
+            ldp     w6, w4, [x19, #0x1C]
             cmp     w6, #0
             cset    x5, eq
             cmp     w6, #1
             cset    x6, eq
             movz    x7, #0xD1FFAB1E      // code for Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedMembers:LoadMethod(Microsoft.CSharp.RuntimeBinder.Semantics.AggregateSymbol,int[],int,Microsoft.CSharp.RuntimeBinder.Syntax.Name,int,ubyte,ubyte):Microsoft.CSharp.RuntimeBinder.Semantics.MethodSymbol
             movk    x7, #0xD1FFAB1E LSL #16
             movk    x7, #0xD1FFAB1E LSL #32
             ldr     x7, [x7]
-						;; size=124 bbWeight=1 PerfScore 44.50
+						;; size=128 bbWeight=1 PerfScore 45.00
 G_M10893_IG03:
-            ldp     x19, x20, [sp, #0x10]
+            ldr     x19, [sp, #0x18]
             ldp     fp, lr, [sp], #0x20
             br      x7
-						;; size=12 bbWeight=1 PerfScore 3.00
+						;; size=12 bbWeight=1 PerfScore 4.00
 G_M10893_IG04:
             bl      CORINFO_HELP_RNGCHKFAIL
             brk_unix #0
 						;; size=8 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 156, prolog size 12, PerfScore 50.00, instruction count 39, allocated bytes for code 156 (MethodHash=e11cd572) for method Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedMembers:LoadMethod(int):Microsoft.CSharp.RuntimeBinder.Semantics.MethodSymbol (FullOpts)
+; Total bytes of code 160, prolog size 12, PerfScore 51.50, instruction count 40, allocated bytes for code 160 (MethodHash=e11cd572) for method Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedMembers:LoadMethod(int):Microsoft.CSharp.RuntimeBinder.Semantics.MethodSymbol (FullOpts)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment