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)