Skip to content

Instantly share code, notes, and snippets.

@MihuBot
Created July 5, 2024 23:40
Show Gist options
  • Save MihuBot/f5886217e57382666ab040e56d8d31a3 to your computer and use it in GitHub Desktop.
Save MihuBot/f5886217e57382666ab040e56d8d31a3 to your computer and use it in GitHub Desktop.

Top method regressions

11 (1.31 % of base) - System.Threading.TimerQueueTimer:get_DisplayString():System.String:this
 ; Assembly listing for method System.Threading.TimerQueueTimer:get_DisplayString():System.String:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 30 single block inlinees; 10 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] (  9,  8   )     ref  ->  rbx         this class-hnd single-def <System.Threading.TimerQueueTimer>
 ;  V01 loc0         [V01,T08] (  4,  3.50)     ref  ->  r15         class-hnd <System.String>
 ;# V02 OutArgs      [V02    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V03 tmp1         [V03,T02] (  4,  6   )     ref  ->  rax         class-hnd single-def "dup spill" <System.Type>
 ;* V04 tmp2         [V04    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;  V05 tmp3         [V05,T17] (  4,  2.50)     ref  ->  rdi        
 ;  V06 tmp4         [V06,T00] ( 12, 24   )     ref  ->  r14         class-hnd exact single-def "dup spill" <System.String[]>
 ;* V07 tmp5         [V07    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V08 tmp6         [V08    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V09 tmp7         [V09    ] (  0,  0   )     int  ->  zero-ref   
 ;* V10 tmp8         [V10    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V11 tmp9         [V11    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V12 tmp10        [V12    ] (  0,  0   )     int  ->  zero-ref   
-;  V13 tmp11        [V13,T09] (  5,  3   )     ref  ->  rdi        
+;  V13 tmp11        [V13,T09] (  4,  3.50)     ref  ->  rdi        
 ;* V14 tmp12        [V14    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V15 tmp13        [V15    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V16 tmp14        [V16    ] (  0,  0   )     int  ->  zero-ref   
 ;* V17 tmp15        [V17    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V18 tmp16        [V18    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V19 tmp17        [V19    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V20 tmp18        [V20    ] (  0,  0   )     int  ->  zero-ref   
-;  V21 tmp19        [V21,T20] (  3,  2   )     ref  ->  rdx        
+;  V21 tmp19        [V21,T21] (  2,  2   )     ref  ->  rdx        
 ;* V22 tmp20        [V22    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V23 tmp21        [V23    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V24 tmp22        [V24    ] (  0,  0   )     int  ->  zero-ref   
 ;* V25 tmp23        [V25    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V26 tmp24        [V26    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V27 tmp25        [V27    ] (  0,  0   )     int  ->  zero-ref   
-;  V28 tmp26        [V28,T10] (  5,  3   )     ref  ->  rdi        
+;  V28 tmp26        [V28,T10] (  4,  3.50)     ref  ->  rdi        
 ;* V29 tmp27        [V29    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V30 tmp28        [V30    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V31 tmp29        [V31    ] (  0,  0   )     int  ->  zero-ref   
 ;* V32 tmp30        [V32    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V33 tmp31        [V33    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V34 tmp32        [V34    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V35 tmp33        [V35    ] (  0,  0   )     int  ->  zero-ref   
-;  V36 tmp34        [V36,T21] (  3,  2   )     ref  ->  rdx        
+;  V36 tmp34        [V36,T22] (  2,  2   )     ref  ->  rdx        
 ;  V37 tmp35        [V37,T03] (  4,  6   )     ref  ->  rdi         class-hnd single-def "dup spill" <System.Object>
 ;* V38 tmp36        [V38    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V39 tmp37        [V39    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V40 tmp38        [V40    ] (  0,  0   )     int  ->  zero-ref   
 ;* V41 tmp39        [V41    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V42 tmp40        [V42    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V43 tmp41        [V43    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V44 tmp42        [V44    ] (  0,  0   )     int  ->  zero-ref   
-;  V45 tmp43        [V45,T22] (  3,  2   )     ref  ->  rdx        
+;  V45 tmp43        [V45,T20] (  3,  2   )     ref  ->  rdx        
 ;* V46 tmp44        [V46    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V47 tmp45        [V47    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V48 tmp46        [V48    ] (  0,  0   )     int  ->  zero-ref   
 ;  V49 tmp47        [V49,T06] (  5,  5   )     ref  ->  rdx        
 ;  V50 tmp48        [V50,T11] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Single-def Box Helper" <System.TimeSpan>
 ;  V51 tmp49        [V51,T12] (  3,  3   )     ref  ->  rdi         class-hnd exact single-def "Single-def Box Helper" <System.TimeSpan>
 ;* V52 tmp50        [V52    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.TimerCallback>
 ;  V53 tmp51        [V53,T13] (  3,  3   )    long  ->  rdx         "Inlining Arg"
 ;* V54 tmp52        [V54    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.Int128>
 ;* V55 tmp53        [V55    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Int128>
 ;* V56 tmp54        [V56    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Int128>
 ;* V57 tmp55        [V57    ] (  0,  0   )    long  ->  zero-ref    ld-addr-op "Inline ldloca(s) first use temp"
 ;* V58 tmp56        [V58    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Int128>
-;  V59 tmp57        [V59,T18] (  4,  2   )    long  ->  rax         ld-addr-op "Inline ldloca(s) first use temp"
+;  V59 tmp57        [V59,T18] (  4,  2   )    long  ->  r13         ld-addr-op "Inline ldloca(s) first use temp"
 ;* V60 tmp58        [V60    ] (  0,  0   )    long  ->  zero-ref    "impAppendStmt"
-;  V61 tmp59        [V61    ] (  2,  1   )    long  ->  [rbp-0x28]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
-;  V62 tmp60        [V62,T23] (  2,  2   )    long  ->  rdi         "impAppendStmt"
+;  V61 tmp59        [V61    ] (  2,  1   )    long  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V62 tmp60        [V62,T23] (  2,  2   )    long  ->  rsi         "impAppendStmt"
 ;* V63 tmp61        [V63    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V64 tmp62        [V64    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V65 tmp63        [V65    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V66 tmp64        [V66    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Int128>
 ;* V67 tmp65        [V67    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V68 tmp66        [V68    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V69 tmp67        [V69    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V70 tmp68        [V70    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Int128>
 ;* V71 tmp69        [V71    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V72 tmp70        [V72    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Int128>
 ;* V73 tmp71        [V73    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Int128>
 ;* V74 tmp72        [V74    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V75 tmp73        [V75    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Int128>
 ;* V76 tmp74        [V76    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V77 tmp75        [V77,T27] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V78 tmp76        [V78    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V79 tmp77        [V79    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Int128>
 ;* V80 tmp78        [V80    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V81 tmp79        [V81,T28] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V82 tmp80        [V82    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V83 tmp81        [V83    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.TimeSpan>
 ;  V84 tmp82        [V84,T14] (  3,  3   )    long  ->  rdx         "Inlining Arg"
 ;* V85 tmp83        [V85    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.Int128>
 ;* V86 tmp84        [V86    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Int128>
 ;* V87 tmp85        [V87    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Int128>
 ;* V88 tmp86        [V88    ] (  0,  0   )    long  ->  zero-ref    ld-addr-op "Inline ldloca(s) first use temp"
 ;* V89 tmp87        [V89    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Int128>
-;  V90 tmp88        [V90,T19] (  4,  2   )    long  ->  rax         ld-addr-op "Inline ldloca(s) first use temp"
+;  V90 tmp88        [V90,T19] (  4,  2   )    long  ->  r12         ld-addr-op "Inline ldloca(s) first use temp"
 ;* V91 tmp89        [V91    ] (  0,  0   )    long  ->  zero-ref    "impAppendStmt"
-;  V92 tmp90        [V92    ] (  2,  1   )    long  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
-;  V93 tmp91        [V93,T24] (  2,  2   )    long  ->  rdi         "impAppendStmt"
+;  V92 tmp90        [V92    ] (  2,  1   )    long  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed ld-addr-op "Inline ldloca(s) first use temp"
+;  V93 tmp91        [V93,T24] (  2,  2   )    long  ->  rsi         "impAppendStmt"
 ;* V94 tmp92        [V94    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V95 tmp93        [V95    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V96 tmp94        [V96    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V97 tmp95        [V97    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Int128>
 ;* V98 tmp96        [V98    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V99 tmp97        [V99    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V100 tmp98       [V100    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V101 tmp99       [V101    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Int128>
 ;* V102 tmp100      [V102    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V103 tmp101      [V103    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Int128>
 ;* V104 tmp102      [V104    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Int128>
 ;* V105 tmp103      [V105    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V106 tmp104      [V106    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Int128>
 ;* V107 tmp105      [V107    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V108 tmp106      [V108,T29] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V109 tmp107      [V109    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V110 tmp108      [V110    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Int128>
 ;* V111 tmp109      [V111    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V112 tmp110      [V112,T30] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V113 tmp111      [V113    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V114 tmp112      [V114    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.TimeSpan>
 ;* V115 tmp113      [V115    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.TimerCallback>
 ;* V116 tmp114      [V116    ] (  0,  0   )    long  ->  zero-ref    "field V54._lower (fldOffset=0x0)" P-INDEP
 ;* V117 tmp115      [V117    ] (  0,  0   )    long  ->  zero-ref    "field V54._upper (fldOffset=0x8)" P-INDEP
 ;* V118 tmp116      [V118    ] (  0,  0   )    long  ->  zero-ref    "field V55._lower (fldOffset=0x0)" P-INDEP
 ;* V119 tmp117      [V119    ] (  0,  0   )    long  ->  zero-ref    "field V55._upper (fldOffset=0x8)" P-INDEP
 ;* V120 tmp118      [V120    ] (  0,  0   )    long  ->  zero-ref    "field V56._lower (fldOffset=0x0)" P-INDEP
 ;* V121 tmp119      [V121    ] (  0,  0   )    long  ->  zero-ref    "field V56._upper (fldOffset=0x8)" P-INDEP
 ;* V122 tmp120      [V122    ] (  0,  0   )    long  ->  zero-ref    "field V58._lower (fldOffset=0x0)" P-INDEP
-;  V123 tmp121      [V123,T15] (  5,  2.50)    long  ->  rdi         "field V58._upper (fldOffset=0x8)" P-INDEP
+;  V123 tmp121      [V123,T15] (  5,  2.50)    long  ->  rsi         "field V58._upper (fldOffset=0x8)" P-INDEP
 ;* V124 tmp122      [V124    ] (  0,  0   )    long  ->  zero-ref    "field V66._lower (fldOffset=0x0)" P-INDEP
 ;* V125 tmp123      [V125    ] (  0,  0   )    long  ->  zero-ref    "field V66._upper (fldOffset=0x8)" P-INDEP
 ;* V126 tmp124      [V126    ] (  0,  0   )    long  ->  zero-ref    "field V70._lower (fldOffset=0x0)" P-INDEP
 ;* V127 tmp125      [V127    ] (  0,  0   )    long  ->  zero-ref    "field V70._upper (fldOffset=0x8)" P-INDEP
 ;* V128 tmp126      [V128    ] (  0,  0   )    long  ->  zero-ref    "field V72._lower (fldOffset=0x0)" P-INDEP
 ;* V129 tmp127      [V129    ] (  0,  0   )    long  ->  zero-ref    "field V72._upper (fldOffset=0x8)" P-INDEP
 ;* V130 tmp128      [V130    ] (  0,  0   )    long  ->  zero-ref    "field V73._lower (fldOffset=0x0)" P-INDEP
 ;* V131 tmp129      [V131    ] (  0,  0   )    long  ->  zero-ref    "field V73._upper (fldOffset=0x8)" P-INDEP
 ;* V132 tmp130      [V132    ] (  0,  0   )    long  ->  zero-ref    "field V75._lower (fldOffset=0x0)" P-INDEP
 ;* V133 tmp131      [V133    ] (  0,  0   )    long  ->  zero-ref    "field V75._upper (fldOffset=0x8)" P-INDEP
 ;* V134 tmp132      [V134    ] (  0,  0   )    long  ->  zero-ref    "field V79._lower (fldOffset=0x0)" P-INDEP
 ;* V135 tmp133      [V135    ] (  0,  0   )    long  ->  zero-ref    "field V79._upper (fldOffset=0x8)" P-INDEP
-;  V136 tmp134      [V136,T25] (  2,  1   )    long  ->  r13         "field V83._ticks (fldOffset=0x0)" P-INDEP
+;  V136 tmp134      [V136,T25] (  2,  1   )    long  ->  r12         "field V83._ticks (fldOffset=0x0)" P-INDEP
 ;* V137 tmp135      [V137    ] (  0,  0   )    long  ->  zero-ref    "field V85._lower (fldOffset=0x0)" P-INDEP
 ;* V138 tmp136      [V138    ] (  0,  0   )    long  ->  zero-ref    "field V85._upper (fldOffset=0x8)" P-INDEP
 ;* V139 tmp137      [V139    ] (  0,  0   )    long  ->  zero-ref    "field V86._lower (fldOffset=0x0)" P-INDEP
 ;* V140 tmp138      [V140    ] (  0,  0   )    long  ->  zero-ref    "field V86._upper (fldOffset=0x8)" P-INDEP
 ;* V141 tmp139      [V141    ] (  0,  0   )    long  ->  zero-ref    "field V87._lower (fldOffset=0x0)" P-INDEP
 ;* V142 tmp140      [V142    ] (  0,  0   )    long  ->  zero-ref    "field V87._upper (fldOffset=0x8)" P-INDEP
 ;* V143 tmp141      [V143    ] (  0,  0   )    long  ->  zero-ref    "field V89._lower (fldOffset=0x0)" P-INDEP
-;  V144 tmp142      [V144,T16] (  5,  2.50)    long  ->  rdi         "field V89._upper (fldOffset=0x8)" P-INDEP
+;  V144 tmp142      [V144,T16] (  5,  2.50)    long  ->  rsi         "field V89._upper (fldOffset=0x8)" P-INDEP
 ;* V145 tmp143      [V145    ] (  0,  0   )    long  ->  zero-ref    "field V97._lower (fldOffset=0x0)" P-INDEP
 ;* V146 tmp144      [V146    ] (  0,  0   )    long  ->  zero-ref    "field V97._upper (fldOffset=0x8)" P-INDEP
 ;* V147 tmp145      [V147    ] (  0,  0   )    long  ->  zero-ref    "field V101._lower (fldOffset=0x0)" P-INDEP
 ;* V148 tmp146      [V148    ] (  0,  0   )    long  ->  zero-ref    "field V101._upper (fldOffset=0x8)" P-INDEP
 ;* V149 tmp147      [V149    ] (  0,  0   )    long  ->  zero-ref    "field V103._lower (fldOffset=0x0)" P-INDEP
 ;* V150 tmp148      [V150    ] (  0,  0   )    long  ->  zero-ref    "field V103._upper (fldOffset=0x8)" P-INDEP
 ;* V151 tmp149      [V151    ] (  0,  0   )    long  ->  zero-ref    "field V104._lower (fldOffset=0x0)" P-INDEP
 ;* V152 tmp150      [V152    ] (  0,  0   )    long  ->  zero-ref    "field V104._upper (fldOffset=0x8)" P-INDEP
 ;* V153 tmp151      [V153    ] (  0,  0   )    long  ->  zero-ref    "field V106._lower (fldOffset=0x0)" P-INDEP
 ;* V154 tmp152      [V154    ] (  0,  0   )    long  ->  zero-ref    "field V106._upper (fldOffset=0x8)" P-INDEP
 ;* V155 tmp153      [V155    ] (  0,  0   )    long  ->  zero-ref    "field V110._lower (fldOffset=0x0)" P-INDEP
 ;* V156 tmp154      [V156    ] (  0,  0   )    long  ->  zero-ref    "field V110._upper (fldOffset=0x8)" P-INDEP
 ;  V157 tmp155      [V157,T26] (  2,  1   )    long  ->  r13         "field V114._ticks (fldOffset=0x0)" P-INDEP
 ;  V158 tmp156      [V158,T04] (  3,  6   )     ref  ->  rax         single-def "argument with side effect"
 ;  V159 tmp157      [V159,T05] (  3,  6   )     ref  ->  rax         single-def "argument with side effect"
 ;  V160 tmp158      [V160,T07] (  2,  4   )     ref  ->  rdx         single-def "argument with side effect"
 ;
-; Lcl frame size = 16
+; Lcl frame size = 24
 
 G_M46469_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
+       push     r12
        push     rbx
-       sub      rsp, 16
-       lea      rbp, [rsp+0x30]
+       sub      rsp, 24
+       lea      rbp, [rsp+0x40]
        mov      rbx, rdi
-						;; size=20 bbWeight=1 PerfScore 6.00
+						;; size=22 bbWeight=1 PerfScore 7.00
 G_M46469_IG02:
        mov      rdi, gword ptr [rbx+0x20]
        mov      rax, 0xD1FFAB1E      ; code for System.MulticastDelegate:GetMethodImpl():System.Reflection.MethodInfo:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.MulticastDelegate:GetMethodImpl():System.Reflection.MethodInfo:this
        mov      rdi, rax
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x38]System.Reflection.MemberInfo:get_DeclaringType():System.Type:this
        test     rax, rax
        jne      SHORT G_M46469_IG04
 						;; size=36 bbWeight=1 PerfScore 16.75
 G_M46469_IG03:
        xor      rdi, rdi
        jmp      SHORT G_M46469_IG05
 						;; size=4 bbWeight=0.50 PerfScore 1.12
 G_M46469_IG04:
        mov      rdi, rax
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x50]
        call     [rax+0x20]System.Type:get_FullName():System.String:this
        mov      rdi, rax
 						;; size=16 bbWeight=0.50 PerfScore 3.75
 G_M46469_IG05:
        mov      r15, rdi
        test     r15, r15
        je       SHORT G_M46469_IG07
 						;; size=8 bbWeight=1 PerfScore 1.50
 G_M46469_IG06:
        mov      rsi, 0xD1FFAB1E      ; '.'
        mov      rax, 0xD1FFAB1E      ; code for System.String:Concat(System.String,System.String):System.String
        call     [rax]System.String:Concat(System.String,System.String):System.String
        mov      r15, rax
 						;; size=25 bbWeight=0.50 PerfScore 1.88
 G_M46469_IG07:
        mov      rdi, 0xD1FFAB1E      ; System.String[]
        mov      esi, 10
        call     CORINFO_HELP_NEWARR_1_OBJ
        mov      r14, rax
        mov      rdx, 0xD1FFAB1E      ; 'DueTime = '
        mov      gword ptr [r14+0x10], rdx
        cmp      dword ptr [rbx+0x48], -1
        je       SHORT G_M46469_IG09
 						;; size=43 bbWeight=1 PerfScore 7.00
 G_M46469_IG08:
        mov      edx, dword ptr [rbx+0x48]
        mov      edi, 0x3E8
-       lea      rax, [rbp-0x28]
-       mulx     rdi, rcx, rdi
+       lea      rax, [rbp-0x30]
+       mulx     rsi, rcx, rdi
        mov      qword ptr [rax], rcx
-       mov      rax, qword ptr [rbp-0x28]
+       mov      r13, qword ptr [rbp-0x30]
        sar      rdx, 63
        and      rdx, 0x3E8
-       sub      rdi, rdx
-       test     rdi, rdi
-       jg       G_M46469_IG28
-       test     rdi, rdi
-       jne      SHORT G_M46469_IG10
-       mov      rcx, 0xD1FFAB1E
-       cmp      rax, rcx
-       ja       G_M46469_IG28
-       jmp      SHORT G_M46469_IG10
-						;; size=73 bbWeight=0.50 PerfScore 7.38
+       sub      rsi, rdx
+       test     rsi, rsi
+       jg       G_M46469_IG22
+       test     rsi, rsi
+       jne      G_M46469_IG12
+       mov      rdi, 0xD1FFAB1E
+       cmp      r13, rdi
+       ja       G_M46469_IG22
+       jmp      G_M46469_IG12
+						;; size=80 bbWeight=0.50 PerfScore 7.38
 G_M46469_IG09:
        mov      rdi, 0xD1FFAB1E      ; '(not set)'
-       jmp      SHORT G_M46469_IG12
-						;; size=12 bbWeight=0.50 PerfScore 1.12
+						;; size=10 bbWeight=1 PerfScore 0.25
 G_M46469_IG10:
-       cmp      rdi, -1
-       jl       G_M46469_IG28
-       cmp      rdi, -1
-       jne      SHORT G_M46469_IG11
-       mov      rdi, 0xD1FFAB1E
-       cmp      rax, rdi
-       jb       G_M46469_IG28
-						;; size=35 bbWeight=0.50 PerfScore 2.00
-G_M46469_IG11:
-       lea      r13, [rax+4*rax]
-       add      r13, r13
-       mov      rdi, 0xD1FFAB1E      ; System.TimeSpan
-       call     CORINFO_HELP_NEWSFAST
-       mov      rdi, rax
-       mov      qword ptr [rdi+0x08], r13
-						;; size=29 bbWeight=0.50 PerfScore 1.62
-G_M46469_IG12:
-       test     rdi, rdi
-       jne      SHORT G_M46469_IG14
-						;; size=5 bbWeight=1 PerfScore 1.25
-G_M46469_IG13:
-       xor      rdx, rdx
-       jmp      SHORT G_M46469_IG15
-						;; size=4 bbWeight=0.50 PerfScore 1.12
-G_M46469_IG14:
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x08]System.Object:ToString():System.String:this
        mov      rdx, rax
-						;; size=13 bbWeight=0.50 PerfScore 3.62
-G_M46469_IG15:
        mov      rdi, r14
        mov      esi, 1
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        mov      rdi, r14
        mov      esi, 2
        mov      rdx, 0xD1FFAB1E      ; ', Period = '
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        cmp      dword ptr [rbx+0x4C], -1
-       je       SHORT G_M46469_IG17
-						;; size=56 bbWeight=1 PerfScore 11.75
-G_M46469_IG16:
+       je       G_M46469_IG14
+						;; size=73 bbWeight=1 PerfScore 19.00
+G_M46469_IG11:
        mov      edx, dword ptr [rbx+0x4C]
        mov      edi, 0x3E8
-       lea      rax, [rbp-0x30]
-       mulx     rdi, rcx, rdi
+       lea      rax, [rbp-0x38]
+       mulx     rsi, rcx, rdi
        mov      qword ptr [rax], rcx
-       mov      rax, qword ptr [rbp-0x30]
+       mov      r12, qword ptr [rbp-0x38]
        sar      rdx, 63
        and      rdx, 0x3E8
-       sub      rdi, rdx
-       test     rdi, rdi
-       jg       G_M46469_IG28
-       test     rdi, rdi
-       jne      SHORT G_M46469_IG18
-       mov      rcx, 0xD1FFAB1E
-       cmp      rax, rcx
-       ja       G_M46469_IG28
-       jmp      SHORT G_M46469_IG18
-						;; size=73 bbWeight=0.50 PerfScore 7.38
-G_M46469_IG17:
-       mov      rdi, 0xD1FFAB1E      ; '(not set)'
-       jmp      SHORT G_M46469_IG20
-						;; size=12 bbWeight=0.50 PerfScore 1.12
-G_M46469_IG18:
-       cmp      rdi, -1
-       jl       G_M46469_IG28
-       cmp      rdi, -1
-       jne      SHORT G_M46469_IG19
+       sub      rsi, rdx
+       test     rsi, rsi
+       jg       G_M46469_IG22
+       test     rsi, rsi
+       jne      G_M46469_IG17
+       mov      rdi, 0xD1FFAB1E
+       cmp      r12, rdi
+       ja       G_M46469_IG22
+       jmp      G_M46469_IG17
+						;; size=80 bbWeight=0.50 PerfScore 7.38
+G_M46469_IG12:
+       cmp      rsi, -1
+       jl       G_M46469_IG22
+       cmp      rsi, -1
+       jne      SHORT G_M46469_IG13
        mov      rdi, 0xD1FFAB1E
-       cmp      rax, rdi
-       jb       G_M46469_IG28
+       cmp      r13, rdi
+       jb       G_M46469_IG22
 						;; size=35 bbWeight=0.50 PerfScore 2.00
-G_M46469_IG19:
-       lea      r13, [rax+4*rax]
-       add      r13, r13
+G_M46469_IG13:
+       lea      r12, [r13+4*r13]
+       add      r12, r12
        mov      rdi, 0xD1FFAB1E      ; System.TimeSpan
        call     CORINFO_HELP_NEWSFAST
        mov      rdi, rax
-       mov      qword ptr [rdi+0x08], r13
-						;; size=29 bbWeight=0.50 PerfScore 1.62
-G_M46469_IG20:
-       test     rdi, rdi
-       jne      SHORT G_M46469_IG22
-						;; size=5 bbWeight=1 PerfScore 1.25
-G_M46469_IG21:
-       xor      rdx, rdx
-       jmp      SHORT G_M46469_IG23
-						;; size=4 bbWeight=0.50 PerfScore 1.12
-G_M46469_IG22:
+       mov      qword ptr [rdi+0x08], r12
+       jmp      G_M46469_IG10
+						;; size=35 bbWeight=0.50 PerfScore 3.38
+G_M46469_IG14:
+       mov      rdi, 0xD1FFAB1E      ; '(not set)'
+						;; size=10 bbWeight=1 PerfScore 0.25
+G_M46469_IG15:
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x08]System.Object:ToString():System.String:this
        mov      rdx, rax
-						;; size=13 bbWeight=0.50 PerfScore 3.62
-G_M46469_IG23:
        mov      rdi, r14
        mov      esi, 3
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        mov      rdi, r14
        mov      esi, 4
        mov      rdx, 0xD1FFAB1E      ; ', '
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        mov      rdi, r14
        mov      rdx, r15
        mov      esi, 5
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        mov      rdi, gword ptr [rbx+0x20]
        mov      rax, 0xD1FFAB1E      ; code for System.MulticastDelegate:GetMethodImpl():System.Reflection.MethodInfo:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.MulticastDelegate:GetMethodImpl():System.Reflection.MethodInfo:this
        mov      rdi, rax
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x30]System.Reflection.MemberInfo:get_Name():System.String:this
        mov      rdx, rax
        mov      rdi, r14
        mov      esi, 6
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        mov      rdi, r14
        mov      esi, 7
        mov      rdx, 0xD1FFAB1E      ; '('
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        mov      rdi, gword ptr [rbx+0x28]
        test     rdi, rdi
-       jne      SHORT G_M46469_IG25
-						;; size=166 bbWeight=1 PerfScore 38.50
-G_M46469_IG24:
+       jne      SHORT G_M46469_IG19
+						;; size=179 bbWeight=1 PerfScore 45.75
+G_M46469_IG16:
        xor      rdx, rdx
-       jmp      SHORT G_M46469_IG26
+       jmp      SHORT G_M46469_IG20
 						;; size=4 bbWeight=0.50 PerfScore 1.12
-G_M46469_IG25:
+G_M46469_IG17:
+       cmp      rsi, -1
+       jl       G_M46469_IG22
+       cmp      rsi, -1
+       jne      SHORT G_M46469_IG18
+       mov      rdi, 0xD1FFAB1E
+       cmp      r12, rdi
+       jb       G_M46469_IG22
+						;; size=35 bbWeight=0.50 PerfScore 2.00
+G_M46469_IG18:
+       lea      r13, [r12+4*r12]
+       add      r13, r13
+       mov      rdi, 0xD1FFAB1E      ; System.TimeSpan
+       call     CORINFO_HELP_NEWSFAST
+       mov      rdi, rax
+       mov      qword ptr [rdi+0x08], r13
+       jmp      G_M46469_IG15
+						;; size=34 bbWeight=0.50 PerfScore 2.62
+G_M46469_IG19:
        mov      rax, qword ptr [rdi]
        mov      rax, qword ptr [rax+0x40]
        call     [rax+0x08]System.Object:ToString():System.String:this
        mov      rdx, rax
 						;; size=13 bbWeight=0.50 PerfScore 3.62
-G_M46469_IG26:
+G_M46469_IG20:
        mov      rdi, 0xD1FFAB1E      ; 'null'
        test     rdx, rdx
        cmove    rdx, rdi
        mov      rdi, r14
        mov      esi, 8
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        mov      rdi, r14
        mov      esi, 9
        mov      rdx, 0xD1FFAB1E      ; ')'
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.String:Concat(System.String[]):System.String
        call     [rax]System.String:Concat(System.String[]):System.String
        nop      
 						;; size=83 bbWeight=1 PerfScore 12.25
-G_M46469_IG27:
-       add      rsp, 16
+G_M46469_IG21:
+       add      rsp, 24
        pop      rbx
+       pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
-						;; size=13 bbWeight=1 PerfScore 3.75
-G_M46469_IG28:
+						;; size=15 bbWeight=1 PerfScore 4.25
+G_M46469_IG22:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRange_TimeSpanTooLong()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRange_TimeSpanTooLong()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 842, prolog size 17, PerfScore 145.25, instruction count 198, allocated bytes for code 842 (MethodHash=7db84a7a) for method System.Threading.TimerQueueTimer:get_DisplayString():System.String:this (FullOpts)
+; Total bytes of code 853, prolog size 19, PerfScore 150.25, instruction count 192, allocated bytes for code 853 (MethodHash=7db84a7a) for method System.Threading.TimerQueueTimer:get_DisplayString():System.String:this (FullOpts)
7 (0.18 % of base) - System.Linq.Expressions.Compiler.StackSpiller:RewriteListInitExpression(System.Linq.Expressions.Expression,int):System.Linq.Expressions.Compiler.StackSpiller+Result:this
 ; Assembly listing for method System.Linq.Expressions.Compiler.StackSpiller:RewriteListInitExpression(System.Linq.Expressions.Expression,int):System.Linq.Expressions.Compiler.StackSpiller+Result:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX512 - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 71 single block inlinees; 16 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T30] (  7,  8   )     ref  ->  rbx         this class-hnd single-def <System.Linq.Expressions.Compiler.StackSpiller>
 ;  V01 arg1         [V01,T31] (  9,  7   )     ref  ->  r15         class-hnd <System.Linq.Expressions.Expression>
 ;  V02 arg2         [V02,T49] (  3,  3   )     int  ->  rdx         single-def
 ;  V03 loc0         [V03,T74] (  2,  1.50)     ref  ->  r14         class-hnd exact single-def <System.Linq.Expressions.ListInitExpression>
 ;  V04 loc1         [V04,T57] (  6,  3.12)     ref  ->  r13         class-hnd single-def <System.Linq.Expressions.Expression>
 ;  V05 loc2         [V05,T29] (  8, 11.80)     int  ->  r12        
 ;  V06 loc3         [V06,T18] ( 10, 14   )     ref  ->  [rbp-0x50]  class-hnd spill-single-def <System.Collections.ObjectModel.ReadOnlyCollection`1[System.Linq.Expressions.ElementInit]>
 ;  V07 loc4         [V07,T10] ( 17, 18   )     int  ->  [rbp-0x2C]  spill-single-def
 ;  V08 loc5         [V08,T20] ( 13, 13.87)     ref  ->  [rbp-0x58]  class-hnd exact spill-single-def <System.Linq.Expressions.Compiler.StackSpiller+ChildRewriter[]>
 ;  V09 loc6         [V09,T06] ( 12, 21.04)     int  ->  [rbp-0x30] 
 ;  V10 loc7         [V10,T23] (  6, 12   )     ref  ->  [rbp-0x60]  class-hnd exact <System.Linq.Expressions.ElementInit>
 ;* V11 loc8         [V11    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact <System.Linq.Expressions.Compiler.StackSpiller+ChildRewriter>
 ;  V12 loc9         [V12,T48] (  9,  5.29)     ref  ->  rbx         class-hnd exact single-def <System.Linq.Expressions.ElementInit[]>
 ;  V13 loc10        [V13,T72] (  3,  1.50)   ubyte  ->  r15        
 ;* V14 loc11        [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Collections.Generic.ArrayBuilder`1[System.Linq.Expressions.Expression]>
 ;  V15 loc12        [V15,T56] (  7,  3.50)     ref  ->  [rbp-0x68]  class-hnd spill-single-def <System.Linq.Expressions.ParameterExpression>
 ;  V16 loc13        [V16,T47] (  5,  5.50)     ref  ->  [rbp-0x70]  class-hnd <System.Linq.Expressions.ParameterExpression>
 ;  V17 loc14        [V17,T04] ( 20, 24.58)     int  ->  r15        
 ;  V18 loc15        [V18,T19] ( 10, 14   )     ref  ->  [rbp-0x78]  class-hnd exact <System.Linq.Expressions.Compiler.StackSpiller+ChildRewriter>
 ;  V19 loc16        [V19,T07] ( 12, 20.54)     int  ->  rbx        
-;  V20 loc17        [V20,T02] ( 20, 32.04)     ref  ->  [rbp-0x80]  class-hnd exact <System.Linq.Expressions.Compiler.StackSpiller+ChildRewriter>
+;  V20 loc17        [V20,T02] ( 21, 32.08)     ref  ->  [rbp-0x80]  class-hnd exact <System.Linq.Expressions.Compiler.StackSpiller+ChildRewriter>
 ;* V21 loc18        [V21    ] (  0,  0   )  struct (16) zero-ref    <System.Linq.Expressions.Compiler.StackSpiller+Result>
 ;# V22 OutArgs      [V22    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V23 tmp1         [V23    ] (  0,  0   )  struct (16) zero-ref    multireg-ret "Return value temp for multireg return" <System.Linq.Expressions.Compiler.StackSpiller+Result>
 ;  V24 tmp2         [V24,T00] ( 14, 56   )     ref  ->  [rbp-0x88]  class-hnd exact "NewObj constructor temp" <System.Linq.Expressions.Compiler.StackSpiller+ChildRewriter>
 ;  V25 tmp3         [V25,T52] (  4,  4   )     ref  ->  [rbp-0x90]  class-hnd exact spill-single-def "NewObj constructor temp" <System.Linq.Expressions.AssignBinaryExpression>
 ;  V26 tmp4         [V26,T12] (  4, 16   )     ref  ->  [rbp-0x98]  class-hnd "impAppendStmt" <System.Reflection.MethodInfo>
 ;  V27 tmp5         [V27,T01] ( 14, 48   )     ref  ->  [rbp-0xA0]  class-hnd exact "NewObj constructor temp" <System.Linq.Expressions.InstanceMethodCallExpressionN>
 ;  V28 tmp6         [V28,T53] (  4,  4   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Linq.Expressions.ByRefAssignBinaryExpression>
 ;  V29 tmp7         [V29,T35] (  4,  8   )     ref  ->  [rbp-0xA8]  class-hnd "impAppendStmt" <System.Reflection.MethodInfo>
 ;  V30 tmp8         [V30,T24] (  6, 12   )     ref  ->  [rbp-0xB0]  class-hnd exact "NewObj constructor temp" <System.Runtime.CompilerServices.TrueReadOnlyCollection`1[System.Linq.Expressions.Expression]>
 ;  V31 tmp9         [V31,T11] (  8, 16   )     ref  ->  [rbp-0xB8]  class-hnd exact "NewObj constructor temp" <System.Linq.Expressions.ElementInit>
 ;  V32 tmp10        [V32,T36] (  4,  8   )     ref  ->  rax         class-hnd exact "Strict ordering of exceptions for Array store" <System.Linq.Expressions.ElementInit>
 ;  V33 tmp11        [V33,T58] (  3,  3   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Runtime.CompilerServices.TrueReadOnlyCollection`1[System.Linq.Expressions.ElementInit]>
 ;  V34 tmp12        [V34,T64] (  2,  2   )     ref  ->  r14         class-hnd single-def "impAppendStmt" <System.Linq.Expressions.NewExpression>
 ;  V35 tmp13        [V35,T54] (  4,  4   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Linq.Expressions.ListInitExpression>
 ;* V36 tmp14        [V36    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "NewObj constructor temp" <System.Linq.Expressions.Compiler.StackSpiller+Result>
 ;  V37 tmp15        [V37,T13] (  4, 16   )     ref  ->  [rbp-0xC0]  class-hnd "Inlining Arg" <System.Collections.ObjectModel.ReadOnlyCollection`1[System.Linq.Expressions.Expression]>
 ;  V38 tmp16        [V38,T15] (  4, 16   )     int  ->  [rbp-0x34]  "Inlining Arg"
 ;* V39 tmp17        [V39    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon>
 ;  V40 tmp18        [V40,T32] (  8,  8   )     ref  ->  [rbp-0xC8]  class-hnd "Inline return value spill temp" <System.Linq.Expressions.Expression[]>
 ;  V41 tmp19        [V41,T39] (  4,  8   )     int  ->  rcx         "Inlining Arg"
 ;  V42 tmp20        [V42,T17] ( 14, 12   )     int  ->  [rbp-0x38]  "Inline stloc first use temp"
 ;  V43 tmp21        [V43,T43] (  6,  6   )     ref  ->  [rbp-0xD0]  class-hnd exact "Inline stloc first use temp" <System.Linq.Expressions.Expression[]>
 ;  V44 tmp22        [V44,T37] (  4,  8   )     ref  ->  rdi         class-hnd "Inlining Arg" <System.Linq.Expressions.Expression[]>
 ;  V45 tmp23        [V45,T22] (  5,  8   )     int  ->  [rbp-0x3C]  ld-addr-op "Inlining Arg"
 ;* V46 tmp24        [V46,T50] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;  V47 tmp25        [V47,T61] (  3,  3   )     int  ->  rsi         "Inlining Arg"
 ;  V48 tmp26        [V48,T65] (  2,  2   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Type>
 ;* V49 tmp27        [V49    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V50 tmp28        [V50    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "impAppendStmt" <System.__Canon[]>
 ;  V51 tmp29        [V51,T66] (  2,  2   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Type>
 ;* V52 tmp30        [V52    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V53 tmp31        [V53    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "impAppendStmt" <System.__Canon[]>
 ;* V54 tmp32        [V54    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.__Canon>
 ;  V55 tmp33        [V55,T34] (  6,  8   )     ref  ->  [rbp-0xD8]  class-hnd "Inline return value spill temp" <System.Linq.Expressions.Expression[]>
 ;  V56 tmp34        [V56,T16] (  4, 16   )     int  ->  rcx         "Inlining Arg"
 ;  V57 tmp35        [V57,T05] ( 14, 20   )     int  ->  [rbp-0x40]  "Inline stloc first use temp"
 ;  V58 tmp36        [V58,T44] (  6,  6   )     ref  ->  [rbp-0xE0]  class-hnd exact "Inline stloc first use temp" <System.Linq.Expressions.Expression[]>
 ;  V59 tmp37        [V59,T14] (  4, 16   )     ref  ->  rdi         class-hnd "Inlining Arg" <System.Linq.Expressions.Expression[]>
 ;  V60 tmp38        [V60,T08] (  5, 16   )     int  ->  [rbp-0x44]  ld-addr-op "Inlining Arg"
 ;* V61 tmp39        [V61,T51] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;  V62 tmp40        [V62,T09] (  6, 20   )     ref  ->  [rbp-0xE8]  class-hnd "Inlining Arg" <System.Linq.Expressions.Expression>
 ;* V63 tmp41        [V63    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Linq.Expressions.Compiler.StackSpiller+Result>
 ;  V64 tmp42        [V64,T03] ( 14, 28   )     ref  ->  rdi         class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Linq.Expressions.Expression]>
 ;  V65 tmp43        [V65,T45] (  6,  6   )     ref  ->  rcx         class-hnd "Inline stloc first use temp" <System.Linq.Expressions.Expression[]>
 ;  V66 tmp44        [V66,T33] (  8,  8   )     int  ->   r8         "Inline stloc first use temp"
 ;  V67 tmp45        [V67,T38] (  4,  8   )     ref  ->  [rbp-0xF0]  class-hnd "Inlining Arg" <System.Collections.Generic.List`1[System.Linq.Expressions.Expression]>
 ;  V68 tmp46        [V68,T25] (  6, 12   )     ref  ->  [rbp-0xF8]  class-hnd exact "NewObj constructor temp" <System.Linq.Expressions.Compiler.SpilledExpressionBlock>
 ;* V69 tmp47        [V69    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V70 tmp48        [V70,T26] (  6, 12   )     int  ->  r13         "Inline stloc first use temp"
 ;* V71 tmp49        [V71    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.__Canon[]>
 ;* V72 tmp50        [V72    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Linq.Expressions.Expression>
 ;  V73 tmp51        [V73,T73] (  3,  1.50)     int  ->  rsi         "Inline stloc first use temp"
 ;* V74 tmp52        [V74    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def "impAppendStmt" <System.__Canon[]>
 ;* V75 tmp53        [V75    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Collections.Generic.ArrayBuilder`1[System.Linq.Expressions.Expression]>
 ;  V76 tmp54        [V76,T59] (  3,  3   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Linq.Expressions.Compiler.SpilledExpressionBlock>
 ;  V77 tmp55        [V77,T71] (  3,  1.50)     ref  ->  r14         class-hnd "Inline return value spill temp" <System.Linq.Expressions.Expression[]>
 ;  V78 tmp56        [V78,T62] (  5,  2.50)     ref  ->  r15         class-hnd "Inline stloc first use temp" <System.Linq.Expressions.Expression[]>
 ;  V79 tmp57        [V79,T79] (  4,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Diagnostics.UnreachableException>
 ;  V80 tmp58        [V80,T80] (  2,  0   )     ref  ->  r15         class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V81 tmp59        [V81,T41] (  9,  7.50)     ref  ->  [rbp-0x100]  "field V14._array (fldOffset=0x0)" P-INDEP
 ;  V82 tmp60        [V82,T21] ( 12, 12   )     int  ->  [rbp-0x48]  "field V14._count (fldOffset=0x8)" P-INDEP
 ;* V83 tmp61        [V83    ] (  0,  0   )     ref  ->  zero-ref    "field V21.Node (fldOffset=0x0)" P-INDEP
 ;* V84 tmp62        [V84    ] (  0,  0   )     int  ->  zero-ref    "field V21.Action (fldOffset=0x8)" P-INDEP
 ;  V85 tmp63        [V85,T67] (  2,  2   )     ref  ->  r13         "field V23.Node (fldOffset=0x0)" P-INDEP
 ;  V86 tmp64        [V86,T69] (  2,  2   )     int  ->  r12         "field V23.Action (fldOffset=0x8)" P-INDEP
 ;  V87 tmp65        [V87,T68] (  2,  2   )     ref  ->  rax         single-def "field V36.Node (fldOffset=0x0)" P-INDEP
 ;  V88 tmp66        [V88,T70] (  2,  2   )     int  ->  rdx         "field V36.Action (fldOffset=0x8)" P-INDEP
 ;* V89 tmp67        [V89    ] (  0,  0   )     ref  ->  zero-ref    "field V63.Node (fldOffset=0x0)" P-INDEP
 ;* V90 tmp68        [V90    ] (  0,  0   )     int  ->  zero-ref    "field V63.Action (fldOffset=0x8)" P-INDEP
 ;* V91 tmp69        [V91    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V75._array (fldOffset=0x0)" P-INDEP
 ;* V92 tmp70        [V92    ] (  0,  0   )     int  ->  zero-ref    "field V75._count (fldOffset=0x8)" P-INDEP
 ;  V93 tmp71        [V93,T60] (  3,  3   )     ref  ->  rax         single-def "argument with side effect"
 ;  V94 tmp72        [V94,T81] (  2,  0   )     ref  ->  rsi         "argument with side effect"
 ;  V95 tmp73        [V95,T82] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;  V96 tmp74        [V96,T83] (  2,  0   )     ref  ->  rsi         "argument with side effect"
 ;  V97 tmp75        [V97,T84] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;  V98 cse0         [V98,T40] (  4,  7.92)     ref  ->  [rbp-0x108]  spill-single-def "CSE #08: conservative"
 ;  V99 cse1         [V99,T28] (  3, 11.88)     ref  ->  rdi         "CSE #17: moderate"
 ;  V100 cse2        [V100,T27] (  4, 11.88)     ref  ->  [rbp-0x110]  spill-single-def "CSE #18: moderate"
 ;  V101 cse3        [V101,T46] (  3,  5.94)     ref  ->  rdi         "CSE #07: conservative"
 ;  V102 cse4        [V102,T77] (  4,  0.08)     ref  ->  [rbp-0x118]  spill-single-def "CSE #13: conservative"
 ;  V103 cse5        [V103,T76] (  3,  0.12)     ref  ->  rdi         "CSE #19: conservative"
 ;  V104 cse6        [V104,T78] (  3,  0.06)     ref  ->  rdi         "CSE #12: conservative"
 ;  V105 rat0        [V105,T42] (  4,  7   )     ref  ->  r14         "replacement local"
 ;  V106 rat1        [V106,T63] (  3,  2   )    long  ->  rdi         "CSE for expectedClsNode"
 ;  V107 rat2        [V107,T55] (  5,  3.75)     ref  ->  r14         "replacement local"
 ;  V108 rat3        [V108,T75] (  3,  1.25)    long  ->  rdi         "CSE for expectedClsNode"
 ;
 ; Lcl frame size = 248
 
 G_M41208_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 248
        lea      rbp, [rsp+0x120]
        mov      rbx, rdi
        mov      r15, rsi
 						;; size=31 bbWeight=1 PerfScore 7.25
 G_M41208_IG02:
        mov      r14, r15
        test     r14, r14
        je       SHORT G_M41208_IG04
 						;; size=8 bbWeight=1 PerfScore 1.50
 G_M41208_IG03:
        mov      rdi, 0xD1FFAB1E      ; System.Linq.Expressions.ListInitExpression
        cmp      qword ptr [r14], rdi
        jne      G_M41208_IG79
 						;; size=19 bbWeight=0.50 PerfScore 2.12
 G_M41208_IG04:
        mov      rsi, gword ptr [r15+0x08]
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Linq.Expressions.Compiler.StackSpiller:RewriteExpression(System.Linq.Expressions.Expression,int):System.Linq.Expressions.Compiler.StackSpiller+Result:this
        call     [rax]System.Linq.Expressions.Compiler.StackSpiller:RewriteExpression(System.Linq.Expressions.Expression,int):System.Linq.Expressions.Compiler.StackSpiller+Result:this
        mov      r13, rax
        mov      r12d, edx
        mov      rax, gword ptr [r15+0x10]
        mov      gword ptr [rbp-0x50], rax
        mov      rdi, gword ptr [rax+0x08]
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.ICollection`1[System.__Canon]:get_Count():int:this
        call     [r11]System.Collections.Generic.ICollection`1[System.__Canon]:get_Count():int:this
        mov      dword ptr [rbp-0x2C], eax
        movsxd   rsi, eax
        mov      rdi, 0xD1FFAB1E      ; System.Linq.Expressions.Compiler.StackSpiller+ChildRewriter[]
        call     CORINFO_HELP_NEWARR_1_OBJ
        mov      gword ptr [rbp-0x58], rax
        xor      ecx, ecx
        mov      edx, dword ptr [rbp-0x2C]
        test     edx, edx
        jle      G_M41208_IG10
 						;; size=88 bbWeight=1 PerfScore 20.25
 G_M41208_IG05:
        cmp      dword ptr [rax+0x08], edx
        jl       G_M41208_IG11
 						;; size=9 bbWeight=0.25 PerfScore 1.00
 G_M41208_IG06:
        mov      r8, gword ptr [rbp-0x50]
        mov      rdi, gword ptr [r8+0x08]
        mov      dword ptr [rbp-0x30], ecx
        mov      esi, ecx
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IList`1[System.__Canon]:get_Item(int):System.__Canon:this
        call     [r11]System.Collections.Generic.IList`1[System.__Canon]:get_Item(int):System.__Canon:this
        mov      gword ptr [rbp-0x60], rax
        mov      rcx, gword ptr [rax+0x10]
        mov      gword ptr [rbp-0xC0], rcx
        mov      rdi, 0xD1FFAB1E      ; System.Linq.Expressions.Compiler.StackSpiller+ChildRewriter
        call     CORINFO_HELP_NEWSFAST
        mov      gword ptr [rbp-0x88], rax
        mov      rcx, gword ptr [rbp-0xC0]
        mov      rdi, gword ptr [rcx+0x08]
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.ICollection`1[System.__Canon]:get_Count():int:this
        call     [r11]System.Collections.Generic.ICollection`1[System.__Canon]:get_Count():int:this
        mov      dword ptr [rbp-0x34], eax
        mov      rcx, gword ptr [rbp-0x88]
        lea      rdi, bword ptr [rcx+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rax, gword ptr [rbp-0x88]
        mov      dword ptr [rax+0x34], 1
        movsxd   rsi, dword ptr [rbp-0x34]
        mov      rdi, 0xD1FFAB1E      ; System.Linq.Expressions.Expression[]
        call     CORINFO_HELP_NEWARR_1_OBJ
        mov      rcx, gword ptr [rbp-0x88]
        lea      rdi, bword ptr [rcx+0x10]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
        mov      rax, gword ptr [rbp-0x60]
        mov      rsi, gword ptr [rax+0x10]
        mov      rdi, gword ptr [rbp-0x88]
        mov      rax, 0xD1FFAB1E      ; code for System.Linq.Expressions.Compiler.StackSpiller+ChildRewriter:Add(System.Collections.ObjectModel.ReadOnlyCollection`1[System.Linq.Expressions.Expression]):this
        call     [rax]System.Linq.Expressions.Compiler.StackSpiller+ChildRewriter:Add(System.Collections.ObjectModel.ReadOnlyCollection`1[System.Linq.Expressions.Expression]):this
        mov      rax, gword ptr [rbp-0x88]
        or       r12d, dword ptr [rax+0x30]
        mov      edi, dword ptr [rbp-0x30]
        mov      rdx, gword ptr [rbp-0x58]
        lea      rdi, bword ptr [rdx+8*rdi+0x10]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
        mov      ecx, dword ptr [rbp-0x30]
        inc      ecx
        cmp      ecx, dword ptr [rbp-0x2C]
 						;; size=227 bbWeight=3.96 PerfScore 203.94
 G_M41208_IG07:
        jl       G_M41208_IG06
 						;; size=6 bbWeight=3.96 PerfScore 3.96
 G_M41208_IG08:
        cmp      r12d, 3
        ja       G_M41208_IG75
 						;; size=10 bbWeight=1 PerfScore 1.25
 G_M41208_IG09:
        mov      edi, r12d
        lea      rcx, [reloc @RWD00]
        mov      ecx, dword ptr [rcx+4*rdi]
        lea      rdx, G_M41208_IG02
        add      rcx, rdx
        jmp      rcx
 						;; size=25 bbWeight=0.80 PerfScore 4.80
 G_M41208_IG10:
        jmp      SHORT G_M41208_IG08
 						;; size=2 bbWeight=0.50 PerfScore 1.00
 G_M41208_IG11:
        mov      r8, gword ptr [rbp-0x50]
        mov      rdi, gword ptr [r8+0x08]
        mov      dword ptr [rbp-0x30], ecx
        mov      esi, ecx
        mov      r11, 0xD1FFAB1E      ; function address
        call     [r11]System.Collections.Generic.IList`1[System.__Canon]:get_Item(int):System.__Canon:this
        mov      gword ptr [rbp-0x60], rax
        mov      rcx, gword ptr [rax+0x10]
        mov      gword ptr [rbp-0xC0], rcx
        mov      rdi, 0xD1FFAB1E      ; System.Linq.Expressions.Compiler.StackSpiller+ChildRewriter
        call     CORINFO_HELP_NEWSFAST
        mov      gword ptr [rbp-0x88], rax
        mov      rdi, gword ptr [rbp-0xC0]
        mov      rdi, gword ptr [rdi+0x08]
        mov      r11, 0xD1FFAB1E      ; function address
        call     [r11]System.Collections.Generic.ICollection`1[System.__Canon]:get_Count():int:this
        mov      dword ptr [rbp-0x34], eax
        mov      rcx, gword ptr [rbp-0x88]
        lea      rdi, bword ptr [rcx+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rax, gword ptr [rbp-0x88]
        mov      dword ptr [rax+0x34], 1
        movsxd   rsi, dword ptr [rbp-0x34]
        mov      rdi, 0xD1FFAB1E      ; System.Linq.Expressions.Expression[]
        call     CORINFO_HELP_NEWARR_1_OBJ
        mov      rcx, gword ptr [rbp-0x88]
        lea      rdi, bword ptr [rcx+0x10]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
        mov      rsi, gword ptr [rbp-0x60]
        mov      rsi, gword ptr [rsi+0x10]
        mov      rdi, gword ptr [rbp-0x88]
        mov      rax, 0xD1FFAB1E      ; code for System.Linq.Expressions.Compiler.StackSpiller+ChildRewriter:Add(System.Collections.ObjectModel.ReadOnlyCollection`1[System.Linq.Expressions.Expression]):this
        call     [rax]System.Linq.Expressions.Compiler.StackSpiller+ChildRewriter:Add(System.Collections.ObjectModel.ReadOnlyCollection`1[System.Linq.Expressions.Expression]):this
        mov      rax, gword ptr [rbp-0x88]
        or       r12d, dword ptr [rax+0x30]
        mov      ecx, dword ptr [rbp-0x30]
        mov      rdx, gword ptr [rbp-0x58]
        cmp      ecx, dword ptr [rdx+0x08]
        jae      G_M41208_IG80
        mov      dword ptr [rbp-0x30], ecx
        mov      edi, ecx
        lea      rdi, bword ptr [rdx+8*rdi+0x10]
        mov      rsi, rax
 						;; size=228 bbWeight=0.04 PerfScore 2.10
 G_M41208_IG12:
        call     CORINFO_HELP_ASSIGN_REF
        mov      edi, dword ptr [rbp-0x30]
        inc      edi
        cmp      edi, dword ptr [rbp-0x2C]
        mov      ecx, edi
        jl       G_M41208_IG11
        jmp      G_M41208_IG08
 						;; size=26 bbWeight=0.04 PerfScore 0.30
 G_M41208_IG13:
        mov      rdi, gword ptr [r14+0x08]
        mov      rcx, 0xD1FFAB1E      ; code for System.Linq.Expressions.Compiler.StackSpiller:IsRefInstance(System.Linq.Expressions.Expression):ubyte
        call     [rcx]System.Linq.Expressions.Compiler.StackSpiller:IsRefInstance(System.Linq.Expressions.Expression):ubyte
        mov      r15d, eax
        test     r15d, r15d
        setne    sil
        movzx    rsi, sil
        mov      r14d, dword ptr [rbp-0x2C]
        lea      esi, [r14+rsi+0x02]
        xor      rax, rax
        test     esi, esi
        mov      gword ptr [rbp-0x100], rax
        jle      SHORT G_M41208_IG14
        movsxd   rsi, esi
        mov      rdi, 0xD1FFAB1E      ; System.Linq.Expressions.Expression[]
        call     CORINFO_HELP_NEWARR_1_OBJ
        mov      gword ptr [rbp-0x100], rax
 						;; size=77 bbWeight=0.50 PerfScore 7.00
 G_M41208_IG14:
        mov      rdi, r13
        mov      rcx, qword ptr [r13]
        mov      rcx, qword ptr [rcx+0x40]
        call     [rcx+0x28]System.Linq.Expressions.Expression:get_Type():System.Type:this
        mov      rsi, rax
        mov      rdi, gword ptr [rbx+0x10]
        mov      rax, 0xD1FFAB1E      ; code for System.Linq.Expressions.Compiler.StackSpiller+TempMaker:Temp(System.Type):System.Linq.Expressions.ParameterExpression:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Linq.Expressions.Compiler.StackSpiller+TempMaker:Temp(System.Type):System.Linq.Expressions.ParameterExpression:this
        mov      gword ptr [rbp-0x68], rax
        mov      rdi, 0xD1FFAB1E      ; System.Linq.Expressions.AssignBinaryExpression
        call     CORINFO_HELP_NEWSFAST
        mov      gword ptr [rbp-0x90], rax
        lea      rdi, bword ptr [rax+0x10]
        mov      rsi, gword ptr [rbp-0x68]
        call     CORINFO_HELP_ASSIGN_REF
        mov      rax, gword ptr [rbp-0x90]
        lea      rdi, bword ptr [rax+0x08]
        mov      rsi, r13
        call     CORINFO_HELP_ASSIGN_REF
        mov      r13d, 1
        mov      rdi, gword ptr [rbp-0x100]
        mov      rdx, gword ptr [rbp-0x90]
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        mov      rax, gword ptr [rbp-0x68]
        mov      rcx, rax
        test     r15d, r15d
        je       G_M41208_IG16
        mov      rdi, rax
        mov      rcx, qword ptr [rax]
        mov      rcx, qword ptr [rcx+0x40]
        call     [rcx+0x28]System.Linq.Expressions.Expression:get_Type():System.Type:this
        mov      rdi, rax
        mov      rax, qword ptr [rax]
        mov      rax, qword ptr [rax+0xA8]
        call     [rax]System.Type:MakeByRefType():System.Type:this
        mov      rsi, rax
        mov      rdi, gword ptr [rbx+0x10]
        mov      rax, 0xD1FFAB1E      ; code for System.Linq.Expressions.Compiler.StackSpiller+TempMaker:Temp(System.Type):System.Linq.Expressions.ParameterExpression:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Linq.Expressions.Compiler.StackSpiller+TempMaker:Temp(System.Type):System.Linq.Expressions.ParameterExpression:this
        mov      rbx, rax
 						;; size=195 bbWeight=0.50 PerfScore 27.88
 G_M41208_IG15:
        mov      rdi, 0xD1FFAB1E      ; System.Linq.Expressions.ByRefAssignBinaryExpression
        call     CORINFO_HELP_NEWSFAST
        mov      r15, rax
        lea      rdi, bword ptr [r15+0x10]
        mov      gword ptr [rbp-0x70], rbx
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        lea      rdi, bword ptr [r15+0x08]
        mov      rsi, gword ptr [rbp-0x68]
        call     CORINFO_HELP_ASSIGN_REF
        mov      r13d, 2
        mov      rdi, gword ptr [rbp-0x100]
        mov      rdx, r15
        mov      esi, 1
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        mov      rax, gword ptr [rbp-0x68]
        mov      rcx, gword ptr [rbp-0x70]
 						;; size=88 bbWeight=0.50 PerfScore 6.88
 G_M41208_IG16:
        xor      ebx, ebx
        test     r14d, r14d
        jle      SHORT G_M41208_IG19
 						;; size=7 bbWeight=0.50 PerfScore 0.75
 G_M41208_IG17:
        mov      r15, gword ptr [rbp-0x58]
        cmp      dword ptr [r15+0x08], r14d
        mov      gword ptr [rbp-0x70], rcx
        jl       G_M41208_IG35
 						;; size=18 bbWeight=0.25 PerfScore 1.50
 G_M41208_IG18:
        mov      edi, ebx
        mov      rdx, gword ptr [r15+8*rdi+0x10]
        mov      gword ptr [rbp-0x80], rdx
        mov      r8, gword ptr [rbp-0x50]
        mov      rdi, gword ptr [r8+0x08]
        mov      esi, ebx
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IList`1[System.__Canon]:get_Item(int):System.__Canon:this
        call     [r11]System.Collections.Generic.IList`1[System.__Canon]:get_Item(int):System.__Canon:this
        mov      rax, gword ptr [rax+0x08]
        mov      gword ptr [rbp-0x98], rax
        mov      rcx, gword ptr [rbp-0x80]
        cmp      byte  ptr [rcx], cl
        mov      gword ptr [rbp-0x80], rcx
        mov      rdi, rcx
        mov      rdx, 0xD1FFAB1E      ; code for System.Linq.Expressions.Compiler.StackSpiller+ChildRewriter:EnsureDone():this
        call     [rdx]System.Linq.Expressions.Compiler.StackSpiller+ChildRewriter:EnsureDone():this
        mov      rax, gword ptr [rbp-0x80]
        mov      rdi, gword ptr [rax+0x10]
        mov      ecx, dword ptr [rdi+0x08]
        dec      ecx
        lea      edx, [rcx+0x01]
        mov      dword ptr [rbp-0x40], edx
        test     edx, edx
        jge      SHORT G_M41208_IG20
        jmp      G_M41208_IG74
 						;; size=98 bbWeight=3.96 PerfScore 123.75
 G_M41208_IG19:
        mov      dword ptr [rbp-0x48], r13d
        jmp      G_M41208_IG31
 						;; size=9 bbWeight=0.25 PerfScore 0.75
 G_M41208_IG20:
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.ICollection`1[System.__Canon]:get_Count():int:this
        call     [r11]System.Collections.Generic.ICollection`1[System.__Canon]:get_Count():int:this
        mov      ecx, dword ptr [rbp-0x40]
        cmp      eax, ecx
        mov      dword ptr [rbp-0x44], eax
        jge      SHORT G_M41208_IG22
 						;; size=23 bbWeight=3.96 PerfScore 25.74
 G_M41208_IG21:
        mov      dword ptr [rbp-0x40], ecx
        jmp      G_M41208_IG73
 						;; size=8 bbWeight=1.98 PerfScore 5.94
 G_M41208_IG22:
        mov      rdx, gword ptr [rbp-0x80]
        mov      r8, gword ptr [rdx+0x10]
        mov      gword ptr [rbp-0x110], r8
        cmp      dword ptr [r8+0x08], ecx
        jne      SHORT G_M41208_IG24
 						;; size=21 bbWeight=3.96 PerfScore 31.68
 G_M41208_IG23:
        mov      r9, r8
        mov      gword ptr [rbp-0xD8], r9
        jmp      SHORT G_M41208_IG25
 						;; size=12 bbWeight=1.98 PerfScore 6.44
 G_M41208_IG24:
        mov      dword ptr [rbp-0x40], ecx
        movsxd   rsi, ecx
        mov      rdi, 0xD1FFAB1E      ; System.Linq.Expressions.Expression[]
        call     CORINFO_HELP_NEWARR_1_OBJ
        mov      r9, rax
        mov      rdi, gword ptr [rbp-0x110]
        mov      r8d, dword ptr [rbp-0x40]
        mov      gword ptr [rbp-0xE0], r9
        mov      rdx, r9
        xor      esi, esi
        xor      ecx, ecx
        mov      rax, 0xD1FFAB1E      ; code for System.Array:Copy(System.Array,int,System.Array,int,int)
        call     [rax]System.Array:Copy(System.Array,int,System.Array,int,int)
        mov      r9, gword ptr [rbp-0xE0]
        mov      gword ptr [rbp-0xD8], r9
 						;; size=75 bbWeight=1.98 PerfScore 23.27
 G_M41208_IG25:
        mov      rdi, 0xD1FFAB1E      ; System.Linq.Expressions.InstanceMethodCallExpressionN
        call     CORINFO_HELP_NEWSFAST
        mov      gword ptr [rbp-0xA0], rax
        lea      rdi, bword ptr [rax+0x08]
        mov      rsi, gword ptr [rbp-0x98]
        call     CORINFO_HELP_ASSIGN_REF
        mov      rax, gword ptr [rbp-0xA0]
        lea      rdi, bword ptr [rax+0x10]
        mov      rsi, gword ptr [rbp-0x70]
        call     CORINFO_HELP_ASSIGN_REF
        mov      rax, gword ptr [rbp-0xA0]
        lea      rdi, bword ptr [rax+0x18]
        mov      rsi, gword ptr [rbp-0xD8]
        call     CORINFO_HELP_ASSIGN_REF
        mov      rax, gword ptr [rbp-0xA0]
        mov      gword ptr [rbp-0xE8], rax
        mov      rdi, gword ptr [rbp-0x80]
        mov      rdx, 0xD1FFAB1E      ; code for System.Linq.Expressions.Compiler.StackSpiller+ChildRewriter:EnsureDone():this
        call     [rdx]System.Linq.Expressions.Compiler.StackSpiller+ChildRewriter:EnsureDone():this
        mov      rax, gword ptr [rbp-0x80]
        cmp      dword ptr [rax+0x30], 3
        jne      SHORT G_M41208_IG27
 						;; size=121 bbWeight=3.96 PerfScore 91.08
 G_M41208_IG26:
        mov      gword ptr [rbp-0x80], rax
        mov      rdi, gword ptr [rax+0x18]
        inc      dword ptr [rdi+0x14]
        mov      rcx, gword ptr [rdi+0x08]
        mov      r8d, dword ptr [rdi+0x10]
        cmp      dword ptr [rcx+0x08], r8d
        jbe      SHORT G_M41208_IG28
        lea      esi, [r8+0x01]
        mov      dword ptr [rdi+0x10], esi
        movsxd   rsi, r8d
        mov      rdi, rcx
        mov      rdx, gword ptr [rbp-0xA0]
        mov      rcx, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rcx]CORINFO_HELP_ARRADDR_ST
        jmp      SHORT G_M41208_IG29
 						;; size=59 bbWeight=1.98 PerfScore 44.05
 G_M41208_IG27:
        mov      rax, gword ptr [rbp-0xE8]
        jmp      SHORT G_M41208_IG30
 						;; size=9 bbWeight=1.98 PerfScore 5.94
 G_M41208_IG28:
        mov      rsi, gword ptr [rbp-0xA0]
        mov      rcx, 0xD1FFAB1E      ; code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
        call     [rcx]System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
 						;; size=19 bbWeight=1.98 PerfScore 8.41
 G_M41208_IG29:
        mov      rax, gword ptr [rbp-0x80]
        mov      rcx, gword ptr [rax+0x18]
        mov      gword ptr [rbp-0xF0], rcx
        mov      rdi, 0xD1FFAB1E      ; System.Linq.Expressions.Compiler.SpilledExpressionBlock
        call     CORINFO_HELP_NEWSFAST
        mov      rcx, rax
        mov      gword ptr [rbp-0xF8], rcx
        lea      rdi, bword ptr [rcx+0x08]
        mov      rsi, gword ptr [rbp-0xF0]
        call     CORINFO_HELP_ASSIGN_REF
        mov      rcx, gword ptr [rbp-0xF8]
        mov      rax, rcx
 						;; size=66 bbWeight=1.98 PerfScore 20.30
 G_M41208_IG30:
        lea      esi, [r13+0x01]
        mov      dword ptr [rbp-0x48], esi
        movsxd   rsi, r13d
        mov      rdi, gword ptr [rbp-0x100]
        mov      rdx, rax
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        inc      ebx
        cmp      ebx, r14d
        jl       SHORT G_M41208_IG32
 						;; size=39 bbWeight=3.96 PerfScore 30.69
 G_M41208_IG31:
        mov      r13d, dword ptr [rbp-0x48]
        mov      esi, r13d
        lea      r13d, [rsi+0x01]
        movsxd   rsi, esi
        mov      rdi, gword ptr [rbp-0x100]
        mov      rdx, gword ptr [rbp-0x68]
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        test     r13d, r13d
        jne      G_M41208_IG46
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        jne      SHORT G_M41208_IG33
        jmp      G_M41208_IG72
 						;; size=66 bbWeight=0.50 PerfScore 7.38
 G_M41208_IG32:
        mov      r13d, dword ptr [rbp-0x48]
        jmp      G_M41208_IG18
 						;; size=9 bbWeight=1.98 PerfScore 5.94
 G_M41208_IG33:
        mov      rdi, 0xD1FFAB1E      ; data for System.Array+EmptyArray`1[System.Linq.Expressions.Expression]:Value
        mov      r14, gword ptr [rdi]
 						;; size=13 bbWeight=0.50 PerfScore 1.12
 G_M41208_IG34:
        mov      rdi, 0xD1FFAB1E      ; System.Linq.Expressions.Compiler.SpilledExpressionBlock
        call     CORINFO_HELP_NEWSFAST
        mov      r15, rax
        lea      rdi, bword ptr [r15+0x08]
        mov      rsi, r14
        call     CORINFO_HELP_ASSIGN_REF
        jmp      G_M41208_IG57
 						;; size=35 bbWeight=0.50 PerfScore 2.62
 G_M41208_IG35:
        cmp      ebx, dword ptr [r15+0x08]
        jae      G_M41208_IG80
        mov      edi, ebx
        mov      rdi, gword ptr [r15+8*rdi+0x10]
        mov      gword ptr [rbp-0x80], rdi
        mov      r8, gword ptr [rbp-0x50]
        mov      rdi, gword ptr [r8+0x08]
        mov      esi, ebx
        mov      r11, 0xD1FFAB1E      ; function address
        call     [r11]System.Collections.Generic.IList`1[System.__Canon]:get_Item(int):System.__Canon:this
        mov      rsi, gword ptr [rax+0x08]
        mov      gword ptr [rbp-0x98], rsi
        mov      rcx, gword ptr [rbp-0x80]
        cmp      byte  ptr [rcx], cl
        mov      gword ptr [rbp-0x80], rcx
        mov      rdi, rcx
        mov      rdx, 0xD1FFAB1E      ; code for System.Linq.Expressions.Compiler.StackSpiller+ChildRewriter:EnsureDone():this
        call     [rdx]System.Linq.Expressions.Compiler.StackSpiller+ChildRewriter:EnsureDone():this
        mov      rax, gword ptr [rbp-0x80]
        mov      rdi, gword ptr [rax+0x10]
        mov      ecx, dword ptr [rdi+0x08]
        dec      ecx
        lea      r8d, [rcx+0x01]
        mov      ecx, r8d
        mov      dword ptr [rbp-0x40], ecx
        test     ecx, ecx
        jl       G_M41208_IG74
        mov      r11, 0xD1FFAB1E      ; function address
        call     [r11]System.Collections.Generic.ICollection`1[System.__Canon]:get_Count():int:this
        mov      dword ptr [rbp-0x44], eax
        mov      ecx, dword ptr [rbp-0x40]
        cmp      eax, ecx
        jge      SHORT G_M41208_IG37
 						;; size=134 bbWeight=0.04 PerfScore 1.60
 G_M41208_IG36:
        mov      dword ptr [rbp-0x40], ecx
        jmp      G_M41208_IG73
 						;; size=8 bbWeight=0.02 PerfScore 0.06
 G_M41208_IG37:
        mov      rax, gword ptr [rbp-0x80]
        mov      rsi, gword ptr [rax+0x10]
        cmp      dword ptr [rsi+0x08], ecx
        jne      SHORT G_M41208_IG39
 						;; size=13 bbWeight=0.04 PerfScore 0.28
 G_M41208_IG38:
        mov      gword ptr [rbp-0x80], rax
        mov      rsi, gword ptr [rax+0x10]
        mov      rdx, rsi
        mov      gword ptr [rbp-0xD8], rdx
        jmp      SHORT G_M41208_IG40
 						;; size=20 bbWeight=0.02 PerfScore 0.13
 G_M41208_IG39:
        mov      gword ptr [rbp-0x80], rax
        mov      dword ptr [rbp-0x40], ecx
        movsxd   rsi, ecx
        mov      rdi, 0xD1FFAB1E      ; System.Linq.Expressions.Expression[]
        call     CORINFO_HELP_NEWARR_1_OBJ
        mov      rdx, rax
        mov      rax, gword ptr [rbp-0x80]
        mov      rdi, gword ptr [rax+0x10]
        mov      r8d, dword ptr [rbp-0x40]
        mov      gword ptr [rbp-0xE0], rdx
        xor      esi, esi
        xor      ecx, ecx
        mov      r9, 0xD1FFAB1E      ; code for System.Array:Copy(System.Array,int,System.Array,int,int)
        call     [r9]System.Array:Copy(System.Array,int,System.Array,int,int)
        mov      rdx, gword ptr [rbp-0xE0]
        mov      gword ptr [rbp-0xD8], rdx
 						;; size=78 bbWeight=0.02 PerfScore 0.29
 G_M41208_IG40:
        mov      rdi, 0xD1FFAB1E      ; System.Linq.Expressions.InstanceMethodCallExpressionN
        call     CORINFO_HELP_NEWSFAST
        mov      gword ptr [rbp-0xA0], rax
        lea      rdi, bword ptr [rax+0x08]
        mov      rsi, gword ptr [rbp-0x98]
        call     CORINFO_HELP_ASSIGN_REF
        mov      rax, gword ptr [rbp-0xA0]
        lea      rdi, bword ptr [rax+0x10]
        mov      rsi, gword ptr [rbp-0x70]
        call     CORINFO_HELP_ASSIGN_REF
        mov      rax, gword ptr [rbp-0xA0]
        lea      rdi, bword ptr [rax+0x18]
        mov      rsi, gword ptr [rbp-0xD8]
        call     CORINFO_HELP_ASSIGN_REF
        mov      rax, gword ptr [rbp-0xA0]
        mov      gword ptr [rbp-0xE8], rax
        mov      rdi, gword ptr [rbp-0x80]
        mov      rdx, 0xD1FFAB1E      ; code for System.Linq.Expressions.Compiler.StackSpiller+ChildRewriter:EnsureDone():this
        call     [rdx]System.Linq.Expressions.Compiler.StackSpiller+ChildRewriter:EnsureDone():this
        mov      rax, gword ptr [rbp-0x80]
        cmp      dword ptr [rax+0x30], 3
        jne      G_M41208_IG44
 						;; size=125 bbWeight=0.04 PerfScore 0.92
 G_M41208_IG41:
        mov      gword ptr [rbp-0x80], rax
        mov      rdi, gword ptr [rax+0x18]
        inc      dword ptr [rdi+0x14]
        mov      rcx, gword ptr [rdi+0x08]
        mov      r8d, dword ptr [rdi+0x10]
        cmp      dword ptr [rcx+0x08], r8d
        jbe      SHORT G_M41208_IG42
        lea      esi, [r8+0x01]
        mov      dword ptr [rdi+0x10], esi
        movsxd   rsi, r8d
        mov      rdi, rcx
        mov      rdx, gword ptr [rbp-0xA0]
        mov      rcx, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rcx]CORINFO_HELP_ARRADDR_ST
        jmp      SHORT G_M41208_IG43
 						;; size=59 bbWeight=0.02 PerfScore 0.45
 G_M41208_IG42:
        mov      rsi, gword ptr [rbp-0xA0]
        mov      rcx, 0xD1FFAB1E      ; code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
        call     [rcx]System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
 						;; size=19 bbWeight=0.02 PerfScore 0.09
 G_M41208_IG43:
-       mov      rdi, gword ptr [rbp-0x80]
-       mov      rsi, gword ptr [rdi+0x18]
+       mov      rax, gword ptr [rbp-0x80]
+       mov      rsi, gword ptr [rax+0x18]
        mov      gword ptr [rbp-0xF0], rsi
        mov      rdi, 0xD1FFAB1E      ; System.Linq.Expressions.Compiler.SpilledExpressionBlock
        call     CORINFO_HELP_NEWSFAST
        mov      rcx, rax
        mov      gword ptr [rbp-0xF8], rcx
        lea      rdi, bword ptr [rcx+0x08]
        mov      rsi, gword ptr [rbp-0xF0]
        call     CORINFO_HELP_ASSIGN_REF
        mov      rcx, gword ptr [rbp-0xF8]
        mov      rdx, rcx
        mov      gword ptr [rbp-0xE8], rdx
-						;; size=73 bbWeight=0.02 PerfScore 0.23
+       mov      rax, gword ptr [rbp-0x80]
+						;; size=77 bbWeight=0.02 PerfScore 0.25
 G_M41208_IG44:
+       mov      esi, dword ptr [rax+0x30]
        lea      esi, [r13+0x01]
        mov      dword ptr [rbp-0x48], esi
        movsxd   rsi, r13d
        mov      rdi, gword ptr [rbp-0x100]
        mov      rdx, gword ptr [rbp-0xE8]
        mov      rcx, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rcx]CORINFO_HELP_ARRADDR_ST
        inc      ebx
        cmp      ebx, r14d
        jge      G_M41208_IG31
-						;; size=47 bbWeight=0.04 PerfScore 0.34
+						;; size=50 bbWeight=0.04 PerfScore 0.42
 G_M41208_IG45:
        mov      r13d, dword ptr [rbp-0x48]
        jmp      G_M41208_IG35
 						;; size=9 bbWeight=0.02 PerfScore 0.06
 G_M41208_IG46:
        mov      r14, gword ptr [rbp-0x100]
        mov      r15, r14
        cmp      dword ptr [r15+0x08], r13d
        jle      SHORT G_M41208_IG47
        movsxd   rsi, r13d
        mov      rdi, 0xD1FFAB1E      ; System.Linq.Expressions.Expression[]
        call     CORINFO_HELP_NEWARR_1_OBJ
        mov      r15, rax
        mov      rdi, r14
        mov      rsi, r15
        mov      edx, r13d
        mov      rax, 0xD1FFAB1E      ; code for System.Array:Copy(System.Array,System.Array,int)
        call     [rax]System.Array:Copy(System.Array,System.Array,int)
 						;; size=58 bbWeight=0.50 PerfScore 5.50
 G_M41208_IG47:
        mov      r14, r15
        jmp      G_M41208_IG34
 						;; size=8 bbWeight=0.50 PerfScore 1.12
 G_M41208_IG48:
        movsxd   rsi, dword ptr [rbp-0x2C]
        mov      rdi, 0xD1FFAB1E      ; System.Linq.Expressions.ElementInit[]
        call     CORINFO_HELP_NEWARR_1_OBJ
        mov      rbx, rax
        xor      r15d, r15d
        mov      r14d, dword ptr [rbp-0x2C]
        test     r14d, r14d
        jle      SHORT G_M41208_IG53
 						;; size=34 bbWeight=0.50 PerfScore 3.50
 G_M41208_IG49:
        mov      rax, gword ptr [rbp-0x58]
        cmp      dword ptr [rax+0x08], r14d
        jl       G_M41208_IG64
        cmp      dword ptr [rbx+0x08], r14d
        jl       G_M41208_IG64
 						;; size=24 bbWeight=0.25 PerfScore 2.25
 G_M41208_IG50:
        mov      edi, r15d
        mov      rcx, gword ptr [rax+8*rdi+0x10]
        mov      gword ptr [rbp-0x78], rcx
        cmp      dword ptr [rcx+0x30], 0
        jne      G_M41208_IG59
 						;; size=22 bbWeight=3.96 PerfScore 28.71
 G_M41208_IG51:
        mov      rdx, gword ptr [rbp-0x50]
        mov      rdi, gword ptr [rdx+0x08]
        mov      esi, r15d
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IList`1[System.__Canon]:get_Item(int):System.__Canon:this
        call     [r11]System.Collections.Generic.IList`1[System.__Canon]:get_Item(int):System.__Canon:this
        mov      edi, r15d
        lea      rdi, bword ptr [rbx+8*rdi+0x10]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
 						;; size=40 bbWeight=1.98 PerfScore 17.82
 G_M41208_IG52:
        inc      r15d
        cmp      r15d, r14d
        mov      rax, gword ptr [rbp-0x58]
        jl       SHORT G_M41208_IG50
 						;; size=12 bbWeight=3.96 PerfScore 9.90
 G_M41208_IG53:
        mov      rdi, 0xD1FFAB1E      ; System.Runtime.CompilerServices.TrueReadOnlyCollection`1[System.Linq.Expressions.ElementInit]
        call     CORINFO_HELP_NEWSFAST
        mov      r15, rax
        mov      r14, r13
        test     r14, r14
        je       SHORT G_M41208_IG56
 						;; size=26 bbWeight=0.50 PerfScore 1.50
 G_M41208_IG54:
        mov      rdi, 0xD1FFAB1E      ; System.Linq.Expressions.NewExpression
        cmp      qword ptr [r14], rdi
        je       SHORT G_M41208_IG56
 						;; size=15 bbWeight=0.25 PerfScore 1.06
 G_M41208_IG55:
        mov      rsi, r13
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS_SPECIAL
        call     [rax]CORINFO_HELP_CHKCASTCLASS_SPECIAL
        mov      r14, rax
 						;; size=18 bbWeight=0.12 PerfScore 0.47
 G_M41208_IG56:
        lea      rdi, bword ptr [r15+0x08]
        mov      rsi, rbx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; System.Linq.Expressions.ListInitExpression
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        lea      rdi, bword ptr [rbx+0x08]
        mov      rsi, r14
        call     CORINFO_HELP_ASSIGN_REF
        lea      rdi, bword ptr [rbx+0x10]
        mov      rsi, r15
        call     CORINFO_HELP_ASSIGN_REF
        mov      r15, rbx
 						;; size=57 bbWeight=0.50 PerfScore 3.50
 G_M41208_IG57:
        mov      edx, r12d
        mov      rax, r15
 						;; size=6 bbWeight=1 PerfScore 0.50
 G_M41208_IG58:
        add      rsp, 248
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=1 PerfScore 4.25
 G_M41208_IG59:
        mov      rdx, gword ptr [rbp-0x50]
        mov      rdi, gword ptr [rdx+0x08]
        mov      esi, r15d
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.IList`1[System.__Canon]:get_Item(int):System.__Canon:this
        call     [r11]System.Collections.Generic.IList`1[System.__Canon]:get_Item(int):System.__Canon:this
        mov      rax, gword ptr [rax+0x08]
        mov      gword ptr [rbp-0xA8], rax
        mov      rdi, gword ptr [rbp-0x78]
        mov      rcx, 0xD1FFAB1E      ; code for System.Linq.Expressions.Compiler.StackSpiller+ChildRewriter:EnsureDone():this
        call     [rcx]System.Linq.Expressions.Compiler.StackSpiller+ChildRewriter:EnsureDone():this
        mov      rax, gword ptr [rbp-0x78]
        mov      rdi, gword ptr [rax+0x10]
        mov      ecx, dword ptr [rdi+0x08]
        dec      ecx
        lea      edx, [rcx+0x01]
        mov      dword ptr [rbp-0x38], edx
        test     edx, edx
        jl       G_M41208_IG78
        mov      r11, 0xD1FFAB1E      ; code for System.Collections.Generic.ICollection`1[System.__Canon]:get_Count():int:this
        call     [r11]System.Collections.Generic.ICollection`1[System.__Canon]:get_Count():int:this
        mov      ecx, dword ptr [rbp-0x38]
        cmp      eax, ecx
        mov      dword ptr [rbp-0x3C], eax
        jge      SHORT G_M41208_IG61
 						;; size=101 bbWeight=1.98 PerfScore 55.93
 G_M41208_IG60:
        mov      dword ptr [rbp-0x38], ecx
        jmp      G_M41208_IG77
 						;; size=8 bbWeight=0.99 PerfScore 2.97
 G_M41208_IG61:
        mov      rdx, gword ptr [rbp-0x78]
        mov      r8, gword ptr [rdx+0x10]
        mov      gword ptr [rbp-0x108], r8
        cmp      dword ptr [r8+0x08], ecx
        jne      SHORT G_M41208_IG62
        mov      r9, r8
        mov      gword ptr [rbp-0xC8], r9
        jmp      SHORT G_M41208_IG63
 						;; size=33 bbWeight=1.98 PerfScore 22.28
 G_M41208_IG62:
        mov      dword ptr [rbp-0x38], ecx
        movsxd   rsi, ecx
        mov      rdi, 0xD1FFAB1E      ; System.Linq.Expressions.Expression[]
        call     CORINFO_HELP_NEWARR_1_OBJ
        mov      r9, rax
        mov      rdi, gword ptr [rbp-0x108]
        mov      r8d, dword ptr [rbp-0x38]
        mov      gword ptr [rbp-0xD0], r9
        mov      rdx, r9
        xor      esi, esi
        xor      ecx, ecx
        mov      rax, 0xD1FFAB1E      ; code for System.Array:Copy(System.Array,int,System.Array,int,int)
        call     [rax]System.Array:Copy(System.Array,int,System.Array,int,int)
        mov      r9, gword ptr [rbp-0xD0]
        mov      gword ptr [rbp-0xC8], r9
 						;; size=75 bbWeight=1.98 PerfScore 23.27
 G_M41208_IG63:
        mov      rdi, 0xD1FFAB1E      ; System.Runtime.CompilerServices.TrueReadOnlyCollection`1[System.Linq.Expressions.Expression]
        call     CORINFO_HELP_NEWSFAST
        mov      rcx, gword ptr [rbp-0xC8]
        test     rcx, rcx
        je       G_M41208_IG76
        mov      gword ptr [rbp-0xB0], rax
        lea      rdi, bword ptr [rax+0x08]
        mov      rsi, rcx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; System.Linq.Expressions.ElementInit
        call     CORINFO_HELP_NEWSFAST
        mov      gword ptr [rbp-0xB8], rax
        lea      rdi, bword ptr [rax+0x08]
        mov      rsi, gword ptr [rbp-0xA8]
        call     CORINFO_HELP_ASSIGN_REF
        mov      rax, gword ptr [rbp-0xB8]
        lea      rdi, bword ptr [rax+0x10]
        mov      rsi, gword ptr [rbp-0xB0]
        call     CORINFO_HELP_ASSIGN_REF
        mov      edi, r15d
        lea      rdi, bword ptr [rbx+8*rdi+0x10]
        mov      rsi, gword ptr [rbp-0xB8]
        call     CORINFO_HELP_ASSIGN_REF
        jmp      G_M41208_IG52
 						;; size=136 bbWeight=1.98 PerfScore 39.10
 G_M41208_IG64:
        cmp      r15d, dword ptr [rax+0x08]
        jae      G_M41208_IG80
        mov      edi, r15d
        mov      rdx, gword ptr [rax+8*rdi+0x10]
        mov      rcx, rdx
        mov      gword ptr [rbp-0x78], rcx
        cmp      dword ptr [rcx+0x30], 0
        jne      SHORT G_M41208_IG67
 						;; size=31 bbWeight=0.04 PerfScore 0.46
 G_M41208_IG65:
        mov      rdx, gword ptr [rbp-0x50]
        mov      rdi, gword ptr [rdx+0x08]
        mov      esi, r15d
        mov      r11, 0xD1FFAB1E      ; function address
        call     [r11]System.Collections.Generic.IList`1[System.__Canon]:get_Item(int):System.__Canon:this
        cmp      r15d, dword ptr [rbx+0x08]
        jae      G_M41208_IG80
        mov      edi, r15d
        lea      rdi, bword ptr [rbx+8*rdi+0x10]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
 						;; size=50 bbWeight=0.02 PerfScore 0.26
 G_M41208_IG66:
        inc      r15d
        cmp      r15d, r14d
        mov      rax, gword ptr [rbp-0x58]
        jl       SHORT G_M41208_IG64
        jmp      G_M41208_IG53
 						;; size=17 bbWeight=0.04 PerfScore 0.18
 G_M41208_IG67:
        mov      rdx, gword ptr [rbp-0x50]
        mov      rdi, gword ptr [rdx+0x08]
        mov      esi, r15d
        mov      r11, 0xD1FFAB1E      ; function address
        call     [r11]System.Collections.Generic.IList`1[System.__Canon]:get_Item(int):System.__Canon:this
        mov      rsi, gword ptr [rax+0x08]
        mov      gword ptr [rbp-0xA8], rsi
        mov      rdi, gword ptr [rbp-0x78]
        mov      rcx, 0xD1FFAB1E      ; code for System.Linq.Expressions.Compiler.StackSpiller+ChildRewriter:EnsureDone():this
        call     [rcx]System.Linq.Expressions.Compiler.StackSpiller+ChildRewriter:EnsureDone():this
        mov      rax, gword ptr [rbp-0x78]
        mov      rdi, gword ptr [rax+0x10]
        mov      ecx, dword ptr [rdi+0x08]
        dec      ecx
        lea      r8d, [rcx+0x01]
        mov      ecx, r8d
        mov      dword ptr [rbp-0x38], ecx
        test     ecx, ecx
        jl       G_M41208_IG78
        mov      r11, 0xD1FFAB1E      ; function address
        call     [r11]System.Collections.Generic.ICollection`1[System.__Canon]:get_Count():int:this
        mov      dword ptr [rbp-0x3C], eax
        mov      ecx, dword ptr [rbp-0x38]
        cmp      eax, ecx
        jge      SHORT G_M41208_IG69
 						;; size=105 bbWeight=0.02 PerfScore 0.57
 G_M41208_IG68:
        mov      dword ptr [rbp-0x38], ecx
        jmp      G_M41208_IG77
 						;; size=8 bbWeight=0.01 PerfScore 0.03
 G_M41208_IG69:
        mov      rsi, gword ptr [rbp-0x78]
        mov      rax, gword ptr [rsi+0x10]
        mov      gword ptr [rbp-0x118], rax
        cmp      dword ptr [rax+0x08], ecx
        jne      SHORT G_M41208_IG70
        mov      rdx, rax
        mov      gword ptr [rbp-0xC8], rdx
        jmp      SHORT G_M41208_IG71
 						;; size=32 bbWeight=0.02 PerfScore 0.23
 G_M41208_IG70:
        mov      dword ptr [rbp-0x38], ecx
        movsxd   rsi, ecx
        mov      rdi, 0xD1FFAB1E      ; System.Linq.Expressions.Expression[]
        call     CORINFO_HELP_NEWARR_1_OBJ
        mov      rdx, rax
        mov      rdi, gword ptr [rbp-0x118]
        mov      r8d, dword ptr [rbp-0x38]
        mov      gword ptr [rbp-0xD0], rdx
        xor      esi, esi
        xor      ecx, ecx
        mov      rax, 0xD1FFAB1E      ; code for System.Array:Copy(System.Array,int,System.Array,int,int)
        call     [rax]System.Array:Copy(System.Array,int,System.Array,int,int)
        mov      rdx, gword ptr [rbp-0xD0]
        mov      gword ptr [rbp-0xC8], rdx
 						;; size=72 bbWeight=0.02 PerfScore 0.23
 G_M41208_IG71:
        mov      rdi, 0xD1FFAB1E      ; System.Runtime.CompilerServices.TrueReadOnlyCollection`1[System.Linq.Expressions.Expression]
        call     CORINFO_HELP_NEWSFAST
        mov      rdx, gword ptr [rbp-0xC8]
        test     rdx, rdx
        je       G_M41208_IG76
        mov      gword ptr [rbp-0xB0], rax
        lea      rdi, bword ptr [rax+0x08]
        mov      rsi, rdx
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; System.Linq.Expressions.ElementInit
        call     CORINFO_HELP_NEWSFAST
        mov      gword ptr [rbp-0xB8], rax
        lea      rdi, bword ptr [rax+0x08]
        mov      rsi, gword ptr [rbp-0xA8]
        call     CORINFO_HELP_ASSIGN_REF
        mov      rax, gword ptr [rbp-0xB8]
        lea      rdi, bword ptr [rax+0x10]
        mov      rsi, gword ptr [rbp-0xB0]
        call     CORINFO_HELP_ASSIGN_REF
        cmp      r15d, dword ptr [rbx+0x08]
        jae      G_M41208_IG80
        mov      edi, r15d
        lea      rdi, bword ptr [rbx+8*rdi+0x10]
        mov      rsi, gword ptr [rbp-0xB8]
        call     CORINFO_HELP_ASSIGN_REF
        jmp      G_M41208_IG66
 						;; size=146 bbWeight=0.02 PerfScore 0.48
 G_M41208_IG72:
        mov      rdi, 0xD1FFAB1E      ; System.Array+EmptyArray`1[System.Linq.Expressions.Expression]
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M41208_IG33
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M41208_IG73:
        mov      edi, 0x47FD
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdx, rax
        mov      esi, dword ptr [rbp-0x40]
        mov      edi, dword ptr [rbp-0x44]
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentOutOfRangeException:ThrowLess[int](int,int,System.String)
        call     [rax]System.ArgumentOutOfRangeException:ThrowLess[int](int,int,System.String)
        int3     
 						;; size=42 bbWeight=0 PerfScore 0.00
 G_M41208_IG74:
        mov      edi, 0x4809
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rsi, rax
        mov      edi, dword ptr [rbp-0x40]
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentOutOfRangeException:ThrowNegative[int](int,System.String)
        call     [rax]System.ArgumentOutOfRangeException:ThrowNegative[int](int,System.String)
        int3     
 						;; size=39 bbWeight=0 PerfScore 0.00
 G_M41208_IG75:
        mov      rdi, 0xD1FFAB1E      ; System.Diagnostics.UnreachableException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      edi, 0x4DB7
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:GetResourceString(System.String):System.String
        call     [rax]System.SR:GetResourceString(System.String):System.String
        mov      r15, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Exception:.ctor():this
        call     [rax]System.Exception:.ctor():this
        lea      rdi, bword ptr [rbx+0x10]
        mov      rsi, r15
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=92 bbWeight=0 PerfScore 0.00
 G_M41208_IG76:
        mov      edi, 20
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentNullException(int)
        call     [rax]System.ThrowHelper:ThrowArgumentNullException(int)
        int3     
 						;; size=18 bbWeight=0 PerfScore 0.00
 G_M41208_IG77:
        mov      edi, 0x47FD
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdx, rax
        mov      esi, dword ptr [rbp-0x38]
        mov      edi, dword ptr [rbp-0x3C]
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentOutOfRangeException:ThrowLess[int](int,int,System.String)
        call     [rax]System.ArgumentOutOfRangeException:ThrowLess[int](int,int,System.String)
        int3     
 						;; size=42 bbWeight=0 PerfScore 0.00
 G_M41208_IG78:
        mov      edi, 0x4809
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rsi, rax
        mov      edi, dword ptr [rbp-0x38]
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentOutOfRangeException:ThrowNegative[int](int,System.String)
        call     [rax]System.ArgumentOutOfRangeException:ThrowNegative[int](int,System.String)
        int3     
 						;; size=39 bbWeight=0 PerfScore 0.00
 G_M41208_IG79:
        mov      rsi, r15
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_CHKCASTCLASS
        call     [rax]CORINFO_HELP_CHKCASTCLASS
        int3     
 						;; size=16 bbWeight=0 PerfScore 0.00
 G_M41208_IG80:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 RWD00  	dd	G_M41208_IG57 - G_M41208_IG02
        	dd	G_M41208_IG48 - G_M41208_IG02
        	dd	G_M41208_IG75 - G_M41208_IG02
        	dd	G_M41208_IG13 - G_M41208_IG02
 
 
-; Total bytes of code 3797, prolog size 25, PerfScore 959.07, instruction count 823, allocated bytes for code 3797 (MethodHash=75c85f07) for method System.Linq.Expressions.Compiler.StackSpiller:RewriteListInitExpression(System.Linq.Expressions.Expression,int):System.Linq.Expressions.Compiler.StackSpiller+Result:this (FullOpts)
+; Total bytes of code 3804, prolog size 25, PerfScore 959.17, instruction count 825, allocated bytes for code 3804 (MethodHash=75c85f07) for method System.Linq.Expressions.Compiler.StackSpiller:RewriteListInitExpression(System.Linq.Expressions.Expression,int):System.Linq.Expressions.Compiler.StackSpiller+Result:this (FullOpts)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment