Created
May 24, 2015 20:58
-
-
Save ipeychev/cfb5100753ad6509360f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
begin_compilation | |
name "y" | |
method "y:0" | |
date 1432500821000 | |
end_compilation | |
begin_cfg | |
name "Z_Code generation" | |
begin_block | |
name "B0" | |
from_bci -1 | |
to_bci -1 | |
predecessors | |
successors "B1" | |
xhandlers | |
flags | |
loop_depth 0 | |
first_lir_id 0 | |
last_lir_id 14 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v0 BlockEntry type:Tagged <|@ | |
0 3 t1 Context type:Tagged <|@ | |
0 7 t2 Parameter 0 type:Tagged <|@ | |
0 0 t3 ArgumentsObject t2 type:Tagged <|@ | |
0 0 v5 Simulate id=2 var[1] = t1, var[0] = t2 type:Tagged <|@ | |
0 0 v6 Goto B1 type:Tagged <|@ | |
end_HIR | |
begin_LIR | |
0 label () () () () [hir:v0] <|@ | |
2 gap () () () () [hir:v0] <|@ | |
4 context [rax|R]= [hir:t1] <|@ | |
6 gap ([stack:0] = [rax|R];) () () () [hir:t1] <|@ | |
8 parameter [stack:-1]= [hir:t2] <|@ | |
10 gap () ([stack:-1];) () () [hir:t2] <|@ | |
12 gap () () () () [hir:v6] <|@ | |
14 goto B1 [hir:v6] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B1" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B0" | |
successors | |
xhandlers | |
flags | |
dominator "B0" | |
loop_depth 0 | |
first_lir_id 16 | |
last_lir_id 46 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v7 BlockEntry type:Tagged <|@ | |
0 0 v8 Simulate id=3 type:Tagged <|@ | |
0 0 v9 StackCheck t1 changes[NewSpacePromotion] type:Tagged <|@ | |
0 0 t11 CheckHeapObject t2 pos:16 <|@ | |
0 0 t12 CheckMaps t2 [0x591d200e399] pos:16 <|@ | |
0 1 d13 LoadNamedField t2._y[in-object]@32 type:Tagged pos:16 <|@ | |
0 1 t17 Change d13 d to t changes[NewSpacePromotion] pos:5 <|@ | |
0 1 s18 Constant 0 type:Smi pos:5 <|@ | |
0 0 v15 Return t17 (pop s18 values) type:Tagged pos:5 <|@ | |
end_HIR | |
begin_LIR | |
16 label () () () () [hir:v7] <|@ | |
18 gap () ([rsi|R] = [rax|R];) () () [hir:v7] <|@ | |
20 stack-check = [rsi|R] [id=3|parameters=1|arguments_stack_height=0|[stack:-1];[stack:0]] {[rsi|R];[stack:0]} [hir:v9] <|@ | |
22 gap () () () () [hir:v9] <|@ | |
24 lazy-bailout = [id=3|deopt_id=0|parameters=1|arguments_stack_height=0|[stack:-1];[stack:0]] [hir:v9] <|@ | |
26 gap () () ([rax|R] = [stack:-1];) () [hir:v9] <|@ | |
28 check-non-smi = [rax|R] [id=3|deopt_id=1|parameters=1|arguments_stack_height=0|[rax|R];[stack:0]] [hir:t11] <|@ | |
30 gap () () () () [hir:t11] <|@ | |
32 check-maps = [rax|R] [id=3|deopt_id=2|parameters=1|arguments_stack_height=0|[rax|R];[stack:0]] [hir:t12] <|@ | |
34 gap () () () () [hir:t12] <|@ | |
36 load-named-field [xmm1|R]= [rax|R] [hir:d13] <|@ | |
38 gap ((0) = [xmm1|R];) () () () [hir:d13] <|@ | |
40 number-tag-d [rbx|R]= [xmm1|R] {[rbx|R]} [hir:t17] <|@ | |
42 gap ((0) = [rbx|R];) ([rax|R] = [rbx|R];) () () [hir:t17] <|@ | |
44 return = [rax|R] NULL [constant:18] [hir:v15] <|@ | |
46 gap () () () () [hir:v15] <|@ | |
end_LIR | |
end_block | |
end_cfg | |
begin_compilation | |
name "len" | |
method "len:1" | |
date 1432500821000 | |
end_compilation | |
begin_cfg | |
name "Z_Code generation" | |
begin_block | |
name "B0" | |
from_bci -1 | |
to_bci -1 | |
predecessors | |
successors "B1" | |
xhandlers | |
flags | |
loop_depth 0 | |
first_lir_id 0 | |
last_lir_id 18 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v0 BlockEntry type:Tagged <|@ | |
0 0 t5 Constant 0x72389304121 <undefined> [map 0x371978043c1] <|@ | |
0 3 t1 Context type:Tagged <|@ | |
0 2 t2 Parameter 0 type:Tagged <|@ | |
0 21 t3 Parameter 1 type:Tagged <|@ | |
0 0 t4 ArgumentsObject t2 t3 type:Tagged <|@ | |
0 0 v6 Simulate id=2 var[2] = t1, var[1] = t3, var[0] = t2 type:Tagged <|@ | |
0 0 v7 Goto B1 type:Tagged <|@ | |
end_HIR | |
begin_LIR | |
0 label () () () () [hir:v0] <|@ | |
2 gap () () () () [hir:v0] <|@ | |
4 context [rax|R]= [hir:t1] <|@ | |
6 gap ([stack:0] = [rax|R];) () () () [hir:t1] <|@ | |
8 parameter [stack:-2]= [hir:t2] <|@ | |
10 gap () ([stack:-2];) () () [hir:t2] <|@ | |
12 parameter [stack:-1]= [hir:t3] <|@ | |
14 gap () ([stack:-1];) () () [hir:t3] <|@ | |
16 gap () () () () [hir:v7] <|@ | |
18 goto B1 [hir:v7] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B1" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B0" | |
successors "B2" | |
xhandlers | |
flags | |
dominator "B0" | |
loop_depth 0 | |
first_lir_id 20 | |
last_lir_id 54 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v8 BlockEntry type:Tagged <|@ | |
0 0 v9 Simulate id=3 type:Tagged <|@ | |
0 0 v10 StackCheck t1 changes[NewSpacePromotion] type:Tagged <|@ | |
0 0 t12 CheckHeapObject t3 pos:247 <|@ | |
0 0 t13 CheckMaps t3 [0x591d200e399] pos:247 <|@ | |
0 2 t14 Constant 0x24b8160d0f09 <an Object with map 0x591d200e291> [map 0x591d200e291] [new space] pos:247 <|@ | |
0 0 t15 CheckMaps t14 [0x591d200e291](stability-check) pos:247 <|@ | |
0 1 t16 Constant 0x19d452643469 <JS Function Vec2.len (SharedFunctionInfo 0x19d452642ee9)> pos:247 <|@ | |
0 6 t17 Constant 0x72389374189 <FixedArray[115]> pos:1_0 <|@ | |
0 0 t18 ArgumentsObject t3 type:Tagged pos:1_0 <|@ | |
0 0 v19 Simulate id=-1 push t16, push t3 type:Tagged pos:1_0 <|@ | |
0 0 v20 EnterInlined Vec2.len type:Tagged pos:1_0 <|@ | |
0 3 t21 Constant 0x72389394509 <a MathConstructor with map 0x3719780a3a9> [map 0x3719780a3a9] pos:1_16 <|@ | |
0 0 t22 CheckMaps t21 [0x3719780a3a9](stability-check) pos:1_21 <|@ | |
0 1 t23 Constant 0x72389394c31 <JS Function sqrt (SharedFunctionInfo 0x7238934adb9)> [map 0x371978069e9] pos:1_21 <|@ | |
0 1 t28 Constant 0x19d452643421 <JS Function Vec2.len2 (SharedFunctionInfo 0x19d452642e59)> pos:1_31 <|@ | |
0 0 t30 ArgumentsObject t3 type:Tagged pos:2_0 <|@ | |
0 0 v31 Simulate id=-1 var[1] = t17, push t23, push t21, push t28, push t3 type:Tagged pos:2_0 <|@ | |
0 0 v32 EnterInlined Vec2.len2 type:Tagged pos:2_0 <|@ | |
0 0 t38 ArgumentsObject t3 type:Tagged pos:3_0 <|@ | |
0 0 v39 Simulate id=-1 var[1] = t17, push t3 type:Tagged pos:3_0 <|@ | |
0 0 v40 EnterInlined x type:Tagged pos:3_0 <|@ | |
0 4 d42 LoadNamedField t3._x[in-object]@24 type:Tagged pos:3_16 <|@ | |
0 0 v43 LeaveInlined type:Tagged pos:3_5 <|@ | |
0 0 v44 Simulate id=12 push d42 type:Tagged pos:3_5 <|@ | |
0 0 v45 Goto B2 type:Tagged pos:3_5 <|@ | |
end_HIR | |
begin_LIR | |
20 label () () () () [hir:v8] <|@ | |
22 gap () ([rsi|R] = [rax|R];) () () [hir:v8] <|@ | |
24 stack-check = [rsi|R] [id=3|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0]] {[rsi|R];[stack:0]} [hir:v10] <|@ | |
26 gap () () () () [hir:v10] <|@ | |
28 lazy-bailout = [id=3|deopt_id=0|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0]] [hir:v10] <|@ | |
30 gap () () ([rax|R] = [stack:-1];) () [hir:v10] <|@ | |
32 check-non-smi = [rax|R] [id=3|deopt_id=1|parameters=2|arguments_stack_height=0|[stack:-2];[rax|R];[stack:0]] [hir:t12] <|@ | |
34 gap () () () () [hir:t12] <|@ | |
36 check-maps = [rax|R] [id=3|deopt_id=2|parameters=2|arguments_stack_height=0|[stack:-2];[rax|R];[stack:0]] [hir:t13] <|@ | |
38 gap () () () () [hir:t13] <|@ | |
40 check-maps = NULL [hir:t15] <|@ | |
42 gap () () () () [hir:t15] <|@ | |
44 check-maps = NULL [hir:t22] <|@ | |
46 gap () () () () [hir:t22] <|@ | |
48 load-named-field [xmm1|R]= [rax|R] [hir:d42] <|@ | |
50 gap ((0) = [xmm1|R];) () () () [hir:d42] <|@ | |
52 gap () () () () [hir:v45] <|@ | |
54 goto B2 [hir:v45] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B2" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B1" | |
successors "B3" | |
xhandlers | |
flags | |
dominator "B1" | |
loop_depth 0 | |
first_lir_id 56 | |
last_lir_id 62 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v46 BlockEntry type:Tagged pos:2_29 <|@ | |
0 0 t52 ArgumentsObject t3 type:Tagged pos:4_0 <|@ | |
0 0 v53 Simulate id=-1 push t3 type:Tagged pos:4_0 <|@ | |
0 0 v54 EnterInlined x type:Tagged pos:4_0 <|@ | |
0 0 v57 LeaveInlined type:Tagged pos:4_5 <|@ | |
0 0 v58 Simulate id=21 push d42 type:Tagged pos:4_5 <|@ | |
0 0 v59 Goto B3 type:Tagged pos:4_5 <|@ | |
end_HIR | |
begin_LIR | |
56 label () () () () Dead block replaced with B3 [hir:v46] <|@ | |
58 gap () () () () [hir:v46] <|@ | |
60 gap () () () () [hir:v59] <|@ | |
62 goto B3 [hir:v59] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B3" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B2" | |
successors "B4" | |
xhandlers | |
flags | |
dominator "B2" | |
loop_depth 0 | |
first_lir_id 64 | |
last_lir_id 78 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v60 BlockEntry type:Tagged pos:2_23 <|@ | |
0 3 d61 Mul d42 d42 ! type:TaggedNumber pos:2_23 <|@ | |
0 0 v62 Simulate id=8 pop 2 / push d61 type:Tagged pos:2_23 <|@ | |
0 0 t68 ArgumentsObject t3 type:Tagged pos:5_0 <|@ | |
0 0 v69 Simulate id=-1 pop 1 / push d61, push t3 type:Tagged pos:5_0 <|@ | |
0 0 v70 EnterInlined y type:Tagged pos:5_0 <|@ | |
0 4 d72 LoadNamedField t3._y[in-object]@32 type:Tagged pos:5_16 <|@ | |
0 0 v73 LeaveInlined type:Tagged pos:5_5 <|@ | |
0 0 v74 Simulate id=34 push d72 type:Tagged pos:5_5 <|@ | |
0 0 v75 Goto B4 type:Tagged pos:5_5 <|@ | |
end_HIR | |
begin_LIR | |
64 label () () () () [hir:v60] <|@ | |
66 gap () ([xmm2|R] = [xmm1|R];) () () [hir:v60] <|@ | |
68 mul-d [xmm2|R]= [xmm2|R] [xmm1|R] [hir:d61] <|@ | |
70 gap ((0) = [xmm2|R];) () () () [hir:d61] <|@ | |
72 load-named-field [xmm1|R]= [rax|R] [hir:d72] <|@ | |
74 gap ((0) = [xmm1|R];) () () () [hir:d72] <|@ | |
76 gap () () () () [hir:v75] <|@ | |
78 goto B4 [hir:v75] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B4" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B3" | |
successors "B5" | |
xhandlers | |
flags | |
dominator "B3" | |
loop_depth 0 | |
first_lir_id 80 | |
last_lir_id 86 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v76 BlockEntry type:Tagged pos:2_47 <|@ | |
0 0 t82 ArgumentsObject t3 type:Tagged pos:6_0 <|@ | |
0 0 v83 Simulate id=-1 push t3 type:Tagged pos:6_0 <|@ | |
0 0 v84 EnterInlined y type:Tagged pos:6_0 <|@ | |
0 0 v87 LeaveInlined type:Tagged pos:6_5 <|@ | |
0 0 v88 Simulate id=43 push d72 type:Tagged pos:6_5 <|@ | |
0 0 v89 Goto B5 type:Tagged pos:6_5 <|@ | |
end_HIR | |
begin_LIR | |
80 label () () () () Dead block replaced with B5 [hir:v76] <|@ | |
82 gap () () () () [hir:v76] <|@ | |
84 gap () () () () [hir:v89] <|@ | |
86 goto B5 [hir:v89] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B5" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B4" | |
successors "B6" | |
xhandlers | |
flags | |
dominator "B4" | |
loop_depth 0 | |
first_lir_id 88 | |
last_lir_id 102 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v90 BlockEntry type:Tagged pos:2_41 <|@ | |
0 2 d91 Mul d72 d72 ! type:TaggedNumber pos:2_41 <|@ | |
0 0 v92 Simulate id=30 pop 2 / push d91 type:Tagged pos:2_41 <|@ | |
0 2 d93 Add d61 d91 ! type:TaggedNumber pos:2_32 <|@ | |
0 0 v95 LeaveInlined type:Tagged pos:2_9 <|@ | |
0 0 v96 Simulate id=17 pop 1 / push d93 type:Tagged pos:2_9 <|@ | |
0 0 v97 Goto B6 type:Tagged pos:2_9 <|@ | |
end_HIR | |
begin_LIR | |
88 label () () () () [hir:v90] <|@ | |
90 gap () ([xmm3|R] = [xmm1|R];) () () [hir:v90] <|@ | |
92 mul-d [xmm3|R]= [xmm3|R] [xmm1|R] [hir:d91] <|@ | |
94 gap ((0) = [xmm3|R];) ([xmm2|R];) () () [hir:d91] <|@ | |
96 add-d [xmm2|R]= [xmm2|R] [xmm3|R] [hir:d93] <|@ | |
98 gap ((0) = [xmm2|R];) () () () [hir:d93] <|@ | |
100 gap () () () () [hir:v97] <|@ | |
102 goto B6 [hir:v97] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B6" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B5" | |
successors "B7" | |
xhandlers | |
flags | |
dominator "B5" | |
loop_depth 0 | |
first_lir_id 104 | |
last_lir_id 114 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v98 BlockEntry type:Tagged pos:1_21 <|@ | |
0 2 d99 UnaryMathOperation sqrt d93 type:TaggedNumber pos:1_21 <|@ | |
0 0 v100 LeaveInlined type:Tagged pos:1_9 <|@ | |
0 0 v101 Simulate id=4 pop 1 / push d99 type:Tagged pos:1_9 <|@ | |
0 0 v102 Goto B7 type:Tagged pos:1_9 <|@ | |
end_HIR | |
begin_LIR | |
104 label () () () () [hir:v98] <|@ | |
106 gap () () () () [hir:v98] <|@ | |
108 math-sqrt [xmm1|R]= [xmm2|R] [hir:d99] <|@ | |
110 gap ((0) = [xmm1|R];) () () () [hir:d99] <|@ | |
112 gap () () () () [hir:v102] <|@ | |
114 goto B7 [hir:v102] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B7" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B6" | |
successors | |
xhandlers | |
flags | |
dominator "B6" | |
loop_depth 0 | |
first_lir_id 116 | |
last_lir_id 126 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v103 BlockEntry type:Tagged pos:238 <|@ | |
0 1 t107 Change d99 d to t changes[NewSpacePromotion] pos:238 <|@ | |
0 1 s108 Constant 1 type:Smi pos:238 <|@ | |
0 0 v105 Return t107 (pop s108 values) type:Tagged pos:238 <|@ | |
end_HIR | |
begin_LIR | |
116 label () () () () [hir:v103] <|@ | |
118 gap () () () () [hir:v103] <|@ | |
120 number-tag-d [rbx|R]= [xmm1|R] {[rbx|R]} [hir:t107] <|@ | |
122 gap ((0) = [rbx|R];) ([rax|R] = [rbx|R];) () () [hir:t107] <|@ | |
124 return = [rax|R] NULL [constant:108] [hir:v105] <|@ | |
126 gap () () () () [hir:v105] <|@ | |
end_LIR | |
end_block | |
end_cfg | |
begin_compilation | |
name "loop" | |
method "loop:2" | |
date 1432500821000 | |
end_compilation | |
begin_cfg | |
name "Z_Code generation" | |
begin_block | |
name "B0" | |
from_bci -1 | |
to_bci -1 | |
predecessors | |
successors "B1" | |
xhandlers | |
flags | |
loop_depth 0 | |
first_lir_id 0 | |
last_lir_id 18 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v0 BlockEntry type:Tagged <|@ | |
0 1 i166 Constant 1 type:Smi <|@ | |
0 1 t15 Constant 0x72389304161 <true> [map 0x371978044c9] <|@ | |
0 4 t5 Constant 0x72389304121 <undefined> [map 0x371978043c1] <|@ | |
0 3 t1 Context type:Tagged <|@ | |
0 3 t2 Parameter 0 type:Tagged <|@ | |
0 3 t3 Parameter 1 type:Tagged <|@ | |
0 0 t4 ArgumentsObject t2 t3 type:Tagged <|@ | |
0 0 v6 Simulate id=2 var[4] = t5, var[3] = t5, var[2] = t1, var[1] = t3, var[0] = t2 type:Tagged <|@ | |
0 0 v7 Goto B1 type:Tagged <|@ | |
end_HIR | |
begin_LIR | |
0 label () () () () [hir:v0] <|@ | |
2 gap () () () () [hir:v0] <|@ | |
4 context [rax|R]= [hir:t1] <|@ | |
6 gap ([stack:2] = [rax|R];) () () () [hir:t1] <|@ | |
8 parameter [stack:-2]= [hir:t2] <|@ | |
10 gap () ([stack:-2];) () () [hir:t2] <|@ | |
12 parameter [stack:-1]= [hir:t3] <|@ | |
14 gap () ([stack:-1];) () () [hir:t3] <|@ | |
16 gap () () () () [hir:v7] <|@ | |
18 goto B1 [hir:v7] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B1" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B0" | |
successors "B3" "B2" | |
xhandlers | |
flags | |
dominator "B0" | |
loop_depth 0 | |
first_lir_id 20 | |
last_lir_id 34 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v8 BlockEntry type:Tagged <|@ | |
0 0 v9 Simulate id=3 type:Tagged <|@ | |
0 0 v10 StackCheck t1 changes[NewSpacePromotion] type:Tagged <|@ | |
0 3 i11 Constant 0 type:Smi pos:18 <|@ | |
0 0 v16 Branch t15 goto (B3, B2) (None) type:Tagged pos:23 <|@ | |
end_HIR | |
begin_LIR | |
20 label () () () () [hir:v8] <|@ | |
22 gap () ([rsi|R] = [rax|R];) () () [hir:v8] <|@ | |
24 stack-check = [rsi|R] [id=3|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:2];[constant:5];[constant:5]] {[rsi|R];[stack:2]} [hir:v10] <|@ | |
26 gap () () () () [hir:v10] <|@ | |
28 lazy-bailout = [id=3|deopt_id=0|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:2];[constant:5];[constant:5]] [hir:v10] <|@ | |
30 gap () () () () [hir:v10] <|@ | |
32 gap () () () () [hir:v16] <|@ | |
34 goto B3 [hir:v16] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B2" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B1" | |
successors "B4" | |
xhandlers | |
flags "osr" | |
dominator "B1" | |
loop_depth 0 | |
first_lir_id 36 | |
last_lir_id 78 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v20 BlockEntry type:Tagged pos:23 <|@ | |
0 2 t21 UnknownOSRValue parameter @ 0 type:Tagged pos:23 <|@ | |
0 2 t22 UnknownOSRValue parameter @ 1 type:Tagged pos:23 <|@ | |
0 1 t23 UnknownOSRValue special @ 2 type:Tagged pos:23 <|@ | |
0 2 t24 UnknownOSRValue local @ 3 type:Tagged pos:23 <|@ | |
0 2 t25 UnknownOSRValue local @ 4 type:Tagged pos:23 <|@ | |
0 0 v26 Simulate id=22 var[4] = t25, var[3] = t24, var[2] = t23, var[1] = t22, var[0] = t21 type:Tagged pos:23 <|@ | |
0 0 v27 OsrEntry changes[NewSpacePromotion,OsrEntries] type:Tagged pos:23 <|@ | |
0 2 t28 Context type:Tagged pos:23 <|@ | |
0 0 v29 Simulate id=20 var[2] = t28 type:Tagged pos:23 <|@ | |
0 1 d177 Change t24 t to d type:TaggedNumber pos:23 <|@ | |
0 1 i178 Change t25 t to i type:TaggedNumber pos:23 <|@ | |
0 0 v30 Goto B4 type:Tagged pos:23 <|@ | |
end_HIR | |
begin_LIR | |
36 label () () () () [hir:v20] <|@ | |
38 gap () () () () [hir:v20] <|@ | |
40 unknown-osr-value [stack:-2]= [hir:t21] <|@ | |
42 gap () ([stack:-2];) () () [hir:t21] <|@ | |
44 unknown-osr-value [stack:-1]= [hir:t22] <|@ | |
46 gap () ([stack:-1];) () () [hir:t22] <|@ | |
48 unknown-osr-value [stack:-1]= [hir:t23] <|@ | |
50 gap () ([stack:-1];) () () [hir:t23] <|@ | |
52 unknown-osr-value [stack:0]= [hir:t24] <|@ | |
54 gap () ([stack:0];) () () [hir:t24] <|@ | |
56 unknown-osr-value [stack:1]= [hir:t25] <|@ | |
58 gap () ([stack:1];) () () [hir:t25] <|@ | |
60 osr-entry = [id=22|deopt_id=1|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:-1];[stack:0];[stack:1]] [hir:v27] <|@ | |
62 gap () () () () [hir:v27] <|@ | |
64 context [rax|R]= [hir:t28] <|@ | |
66 gap ((0) = [rax|R];) () ([rbx|R] = [stack:0];) () [hir:t28] <|@ | |
68 double-untag [xmm2|R]= [rbx|R] [id=20|deopt_id=2|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[rax|R];[rbx|R];[stack:1]] [hir:d177] <|@ | |
70 gap ((0) = [xmm2|R];) ([rdx|R] = [stack:1];) () () [hir:d177] <|@ | |
72 tagged-to-i [rdx|R]= [rdx|R] [id=20|deopt_id=6|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[rax|R];[rbx|R];[stack:1]] [hir:i178] <|@ | |
74 gap ((0) = [rdx|R];) () () () [hir:i178] <|@ | |
76 gap () ([rcx|R] = [stack:-2]; [rdx|R] = [stack:-1]; [rbx|R] = [rax|R]; [xmm1|R] = [xmm2|R]; [rax|R] = [rdx|R];) () () [hir:v30] <|@ | |
78 goto B4 [hir:v30] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B3" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B1" | |
successors "B4" | |
xhandlers | |
flags | |
dominator "B1" | |
loop_depth 0 | |
first_lir_id 80 | |
last_lir_id 90 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v17 BlockEntry type:Tagged pos:23 <|@ | |
0 0 v18 Simulate id=20 var[4] = i11, var[3] = i11 type:Tagged pos:23 <|@ | |
0 1 d176 Constant 0 type:Smi pos:23 <|@ | |
0 0 v19 Goto B4 type:Tagged pos:23 <|@ | |
end_HIR | |
begin_LIR | |
80 label () () () () [hir:v17] <|@ | |
82 gap () () () () [hir:v17] <|@ | |
84 constant-d [xmm1|R]= [hir:d176] <|@ | |
86 gap ((0) = [xmm1|R];) () () () [hir:d176] <|@ | |
88 gap () ([rcx|R] = [stack:-2]; [rdx|R] = [stack:-1]; [rbx|R] = [stack:2]; [xmm1|R]; [rax|R] = [constant:11];) () () [hir:v19] <|@ | |
90 goto B4 [hir:v19] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B4" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B3" "B2" | |
successors "B5" | |
xhandlers | |
flags | |
dominator "B1" | |
loop_depth 0 | |
first_lir_id 92 | |
last_lir_id 138 | |
begin_states | |
begin_locals | |
size 5 | |
method "None" | |
0 t31 [ t2 t21 uses:0_0s_0i_0d_0t type:Tagged] | |
1 t32 [ t3 t22 uses:21_0s_0i_0d_0t type:Tagged] | |
2 t33 [ t1 t28 uses:4_0s_0i_0d_2t type:Tagged] | |
3 d34 [ d176 d177 uses:1_0s_0i_1d_0t type:TaggedNumber] | |
4 i35 [ i11 i178 uses:1_2s_0i_0d_0t type:TaggedNumber] | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v41 BlockEntry type:Tagged pos:23 <|@ | |
0 0 v42 Simulate id=20 type:Tagged pos:23 <|@ | |
0 1 i47 Constant 100000 type:Smi pos:43 <|@ | |
0 1 t59 Constant 0x19d452643261 <JS Function len (SharedFunctionInfo 0x19d452642c89)> pos:60 <|@ | |
0 2 t61 Constant 0x24b8170041a1 <JS Global Object> [map 0x3719780bf81] [new space] pos:60 <|@ | |
0 7 t62 Constant 0x72389374189 <FixedArray[115]> pos:1_0 <|@ | |
0 0 t66 CheckHeapObject t32 pos:1_247 <|@ | |
0 0 t67 CheckMaps t32 [0x591d200e399] pos:1_247 <|@ | |
0 2 t68 Constant 0x24b817077a99 <an Object with map 0x591d200e291> [map 0x591d200e291] [new space] pos:1_247 <|@ | |
0 0 t69 CheckMaps t68 [0x591d200e291](stability-check) pos:1_247 <|@ | |
0 1 t70 Constant 0x19d452643469 <JS Function Vec2.len (SharedFunctionInfo 0x19d452642ee9)> pos:1_247 <|@ | |
0 3 t75 Constant 0x72389394509 <a MathConstructor with map 0x3719780a3a9> [map 0x3719780a3a9] pos:2_16 <|@ | |
0 0 t76 CheckMaps t75 [0x3719780a3a9](stability-check) pos:2_21 <|@ | |
0 1 t77 Constant 0x72389394c31 <JS Function sqrt (SharedFunctionInfo 0x7238934adb9)> [map 0x371978069e9] pos:2_21 <|@ | |
0 1 t82 Constant 0x19d452643421 <JS Function Vec2.len2 (SharedFunctionInfo 0x19d452642e59)> pos:2_31 <|@ | |
0 4 d96 LoadNamedField t32._x[in-object]@24 type:Tagged pos:4_16 <|@ | |
0 3 d115 Mul d96 d96 ! type:TaggedNumber pos:3_23 <|@ | |
0 4 d126 LoadNamedField t32._y[in-object]@32 type:Tagged pos:6_16 <|@ | |
0 2 d145 Mul d126 d126 ! type:TaggedNumber pos:3_41 <|@ | |
0 2 d147 Add d115 d145 ! type:TaggedNumber pos:3_32 <|@ | |
0 3 d153 UnaryMathOperation sqrt d147 type:TaggedNumber pos:2_21 <|@ | |
0 0 v43 Goto B5 type:Tagged pos:23 <|@ | |
end_HIR | |
begin_LIR | |
92 label () ((0) = [rcx|R]; (0) = [rdx|R]; (0) = [rbx|R]; (0) = [xmm1|R]; (0) = [rax|R];) () () [hir:v41] <|@ | |
94 gap () () () () [hir:v41] <|@ | |
96 check-non-smi = [rdx|R] [id=20|deopt_id=3|parameters=2|arguments_stack_height=0|[rcx|R];[rdx|R];[rbx|R];[xmm1|R];[rax|R]] [hir:t66] <|@ | |
98 gap () () () () [hir:t66] <|@ | |
100 check-maps = [rdx|R] [id=20|deopt_id=4|parameters=2|arguments_stack_height=0|[rcx|R];[rdx|R];[rbx|R];[xmm1|R];[rax|R]] [hir:t67] <|@ | |
102 gap () () () () [hir:t67] <|@ | |
104 check-maps = NULL [hir:t69] <|@ | |
106 gap () () () () [hir:t69] <|@ | |
108 check-maps = NULL [hir:t76] <|@ | |
110 gap () () () () [hir:t76] <|@ | |
112 load-named-field [xmm2|R]= [rdx|R] [hir:d96] <|@ | |
114 gap ((0) = [xmm2|R];) ([xmm3|R] = [xmm2|R];) () () [hir:d96] <|@ | |
116 mul-d [xmm3|R]= [xmm3|R] [xmm2|R] [hir:d115] <|@ | |
118 gap ((0) = [xmm3|R];) () () () [hir:d115] <|@ | |
120 load-named-field [xmm2|R]= [rdx|R] [hir:d126] <|@ | |
122 gap ((0) = [xmm2|R];) ([xmm4|R] = [xmm2|R];) () () [hir:d126] <|@ | |
124 mul-d [xmm4|R]= [xmm4|R] [xmm2|R] [hir:d145] <|@ | |
126 gap ((0) = [xmm4|R];) ([xmm3|R];) () () [hir:d145] <|@ | |
128 add-d [xmm3|R]= [xmm3|R] [xmm4|R] [hir:d147] <|@ | |
130 gap ((0) = [xmm3|R];) () () () [hir:d147] <|@ | |
132 math-sqrt [xmm2|R]= [xmm3|R] [hir:d153] <|@ | |
134 gap ((0) = [xmm2|R];) () () () [hir:d153] <|@ | |
136 gap () ([xmm1|R]; [rax|R];) () () [hir:v43] <|@ | |
138 goto B5 [hir:v43] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B5" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B4" "B14" | |
successors "B6" "B15" | |
xhandlers | |
flags "dom-loop-succ" | |
dominator "B4" | |
loop_depth 1 | |
first_lir_id 140 | |
last_lir_id 146 | |
begin_states | |
begin_locals | |
size 2 | |
method "None" | |
3 d39 [ d34 d162 uses:3_0s_0i_1d_0t type:TaggedNumber] | |
4 i40 [ i35 i167 uses:2_2s_0i_0d_0t type:TaggedNumber] | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v44 BlockEntry type:Tagged pos:39 <|@ | |
0 0 i48 CompareNumericAndBranch LT i40 i47 goto (B6, B15) type:Tagged pos:41 <|@ | |
end_HIR | |
begin_LIR | |
140 label () ((0) = [xmm1|R]; (0) = [rax|R];) () () [hir:v44] <|@ | |
142 gap () () () () [hir:v44] <|@ | |
144 gap () () () () [hir:i48] <|@ | |
146 compare-numeric-and-branch if [rax|R] < [constant:47] then B6 else B15 [hir:i48] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B6" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B5" | |
successors "B7" | |
xhandlers | |
flags "dom-loop-succ" | |
dominator "B5" | |
loop_depth 1 | |
first_lir_id 148 | |
last_lir_id 154 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v49 BlockEntry type:Tagged pos:41 <|@ | |
0 0 v50 Simulate id=24 type:Tagged pos:41 <|@ | |
0 0 v51 Goto B7 type:Tagged pos:41 <|@ | |
end_HIR | |
begin_LIR | |
148 label () () () () Dead block replaced with B7 [hir:v49] <|@ | |
150 gap () () () () [hir:v49] <|@ | |
152 gap () () () () [hir:v51] <|@ | |
154 goto B7 [hir:v51] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B7" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B6" | |
successors "B8" | |
xhandlers | |
flags "dom-loop-succ" | |
dominator "B6" | |
loop_depth 1 | |
first_lir_id 156 | |
last_lir_id 166 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v55 BlockEntry type:Tagged pos:23 <|@ | |
0 0 v56 Simulate id=24 type:Tagged pos:23 <|@ | |
0 0 v57 StackCheck t33 changes[NewSpacePromotion] type:Tagged pos:23 <|@ | |
0 0 t63 ArgumentsObject t61 t32 type:Tagged pos:1_0 <|@ | |
0 0 v64 Simulate id=-1 var[3] = t5, push d39, push t59, push t61, push t32 type:Tagged pos:1_0 <|@ | |
0 0 v65 EnterInlined len type:Tagged pos:1_0 <|@ | |
0 0 t72 ArgumentsObject t32 type:Tagged pos:2_0 <|@ | |
0 0 v73 Simulate id=-1 var[2] = t62, push t70, push t32 type:Tagged pos:2_0 <|@ | |
0 0 v74 EnterInlined Vec2.len type:Tagged pos:2_0 <|@ | |
0 0 t84 ArgumentsObject t32 type:Tagged pos:3_0 <|@ | |
0 0 v85 Simulate id=-1 var[1] = t62, push t77, push t75, push t82, push t32 type:Tagged pos:3_0 <|@ | |
0 0 v86 EnterInlined Vec2.len2 type:Tagged pos:3_0 <|@ | |
0 0 t92 ArgumentsObject t32 type:Tagged pos:4_0 <|@ | |
0 0 v93 Simulate id=-1 var[1] = t62, push t32 type:Tagged pos:4_0 <|@ | |
0 0 v94 EnterInlined x type:Tagged pos:4_0 <|@ | |
0 0 v97 LeaveInlined type:Tagged pos:4_5 <|@ | |
0 0 v98 Simulate id=12 push d96 type:Tagged pos:4_5 <|@ | |
0 0 v99 Goto B8 type:Tagged pos:4_5 <|@ | |
end_HIR | |
begin_LIR | |
156 label () () () () [hir:v55] <|@ | |
158 gap () () () () [hir:v55] <|@ | |
160 stack-check = [rbx|R] [id=24|deopt_id=5|parameters=2|arguments_stack_height=0|[rcx|R];[rdx|R];[rbx|R];[xmm1|R];[rax|R]] {[rcx|R];[rdx|R];[rbx|R]} [hir:v57] <|@ | |
162 gap () () () () [hir:v57] <|@ | |
164 gap () () () () [hir:v99] <|@ | |
166 goto B8 [hir:v99] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B8" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B7" | |
successors "B9" | |
xhandlers | |
flags "dom-loop-succ" | |
dominator "B7" | |
loop_depth 1 | |
first_lir_id 168 | |
last_lir_id 174 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v100 BlockEntry type:Tagged pos:3_29 <|@ | |
0 0 t106 ArgumentsObject t32 type:Tagged pos:5_0 <|@ | |
0 0 v107 Simulate id=-1 push t32 type:Tagged pos:5_0 <|@ | |
0 0 v108 EnterInlined x type:Tagged pos:5_0 <|@ | |
0 0 v111 LeaveInlined type:Tagged pos:5_5 <|@ | |
0 0 v112 Simulate id=21 push d96 type:Tagged pos:5_5 <|@ | |
0 0 v113 Goto B9 type:Tagged pos:5_5 <|@ | |
end_HIR | |
begin_LIR | |
168 label () () () () Dead block replaced with B9 [hir:v100] <|@ | |
170 gap () () () () [hir:v100] <|@ | |
172 gap () () () () [hir:v113] <|@ | |
174 goto B9 [hir:v113] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B9" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B8" | |
successors "B10" | |
xhandlers | |
flags "dom-loop-succ" | |
dominator "B8" | |
loop_depth 1 | |
first_lir_id 176 | |
last_lir_id 182 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v114 BlockEntry type:Tagged pos:3_23 <|@ | |
0 0 v116 Simulate id=8 pop 2 / push d115 type:Tagged pos:3_23 <|@ | |
0 0 t122 ArgumentsObject t32 type:Tagged pos:6_0 <|@ | |
0 0 v123 Simulate id=-1 pop 1 / push d115, push t32 type:Tagged pos:6_0 <|@ | |
0 0 v124 EnterInlined y type:Tagged pos:6_0 <|@ | |
0 0 v127 LeaveInlined type:Tagged pos:6_5 <|@ | |
0 0 v128 Simulate id=34 push d126 type:Tagged pos:6_5 <|@ | |
0 0 v129 Goto B10 type:Tagged pos:6_5 <|@ | |
end_HIR | |
begin_LIR | |
176 label () () () () Dead block replaced with B10 [hir:v114] <|@ | |
178 gap () () () () [hir:v114] <|@ | |
180 gap () () () () [hir:v129] <|@ | |
182 goto B10 [hir:v129] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B10" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B9" | |
successors "B11" | |
xhandlers | |
flags "dom-loop-succ" | |
dominator "B9" | |
loop_depth 1 | |
first_lir_id 184 | |
last_lir_id 190 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v130 BlockEntry type:Tagged pos:3_47 <|@ | |
0 0 t136 ArgumentsObject t32 type:Tagged pos:7_0 <|@ | |
0 0 v137 Simulate id=-1 push t32 type:Tagged pos:7_0 <|@ | |
0 0 v138 EnterInlined y type:Tagged pos:7_0 <|@ | |
0 0 v141 LeaveInlined type:Tagged pos:7_5 <|@ | |
0 0 v142 Simulate id=43 push d126 type:Tagged pos:7_5 <|@ | |
0 0 v143 Goto B11 type:Tagged pos:7_5 <|@ | |
end_HIR | |
begin_LIR | |
184 label () () () () Dead block replaced with B11 [hir:v130] <|@ | |
186 gap () () () () [hir:v130] <|@ | |
188 gap () () () () [hir:v143] <|@ | |
190 goto B11 [hir:v143] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B11" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B10" | |
successors "B12" | |
xhandlers | |
flags "dom-loop-succ" | |
dominator "B10" | |
loop_depth 1 | |
first_lir_id 192 | |
last_lir_id 198 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v144 BlockEntry type:Tagged pos:3_41 <|@ | |
0 0 v146 Simulate id=30 pop 2 / push d145 type:Tagged pos:3_41 <|@ | |
0 0 v149 LeaveInlined type:Tagged pos:3_9 <|@ | |
0 0 v150 Simulate id=17 pop 1 / push d147 type:Tagged pos:3_9 <|@ | |
0 0 v151 Goto B12 type:Tagged pos:3_9 <|@ | |
end_HIR | |
begin_LIR | |
192 label () () () () Dead block replaced with B12 [hir:v144] <|@ | |
194 gap () () () () [hir:v144] <|@ | |
196 gap () () () () [hir:v151] <|@ | |
198 goto B12 [hir:v151] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B12" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B11" | |
successors "B13" | |
xhandlers | |
flags "dom-loop-succ" | |
dominator "B11" | |
loop_depth 1 | |
first_lir_id 200 | |
last_lir_id 206 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v152 BlockEntry type:Tagged pos:2_21 <|@ | |
0 0 v154 LeaveInlined type:Tagged pos:2_9 <|@ | |
0 0 v155 Simulate id=4 pop 1 / push d153 type:Tagged pos:2_9 <|@ | |
0 0 v156 Goto B13 type:Tagged pos:2_9 <|@ | |
end_HIR | |
begin_LIR | |
200 label () () () () Dead block replaced with B13 [hir:v152] <|@ | |
202 gap () () () () [hir:v152] <|@ | |
204 gap () () () () [hir:v156] <|@ | |
206 goto B13 [hir:v156] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B13" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B12" | |
successors "B14" | |
xhandlers | |
flags "dom-loop-succ" | |
dominator "B12" | |
loop_depth 1 | |
first_lir_id 208 | |
last_lir_id 214 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v157 BlockEntry type:Tagged pos:1_238 <|@ | |
0 0 v158 LeaveInlined type:Tagged pos:1_238 <|@ | |
0 0 v159 Simulate id=73 pop 1 / push d153 type:Tagged pos:1_238 <|@ | |
0 0 v160 Goto B14 type:Tagged pos:1_238 <|@ | |
end_HIR | |
begin_LIR | |
208 label () () () () Dead block replaced with B14 [hir:v157] <|@ | |
210 gap () () () () [hir:v157] <|@ | |
212 gap () () () () [hir:v160] <|@ | |
214 goto B14 [hir:v160] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B14" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B13" | |
successors "B5" | |
xhandlers | |
flags "dom-loop-succ" | |
dominator "B13" | |
loop_depth 1 | |
first_lir_id 216 | |
last_lir_id 230 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v161 BlockEntry type:Tagged pos:58 <|@ | |
0 3 d162 Add d39 d153 ! type:TaggedNumber pos:58 <|@ | |
0 0 v163 Simulate id=57 pop 2 / push d162 type:Tagged pos:58 <|@ | |
0 2 i167 Add i40 i166 type:TaggedNumber pos:49 <|@ | |
0 0 v169 Simulate id=20 pop 1 / var[4] = i167, var[3] = d162 type:Tagged pos:23 <|@ | |
0 0 v170 Goto B5 type:Tagged pos:23 <|@ | |
end_HIR | |
begin_LIR | |
216 label () () () () [hir:v161] <|@ | |
218 gap () ([xmm1|R];) () () [hir:v161] <|@ | |
220 add-d [xmm1|R]= [xmm1|R] [xmm2|R] [hir:d162] <|@ | |
222 gap ((0) = [xmm1|R];) () () () [hir:d162] <|@ | |
224 add-i [rax|R]= [rax|R] [constant:166] [hir:i167] <|@ | |
226 gap ((0) = [rax|R];) () () () [hir:i167] <|@ | |
228 gap () ([xmm1|R]; [rax|R];) () () [hir:v170] <|@ | |
230 goto B5 [hir:v170] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B15" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B5" | |
successors "B16" | |
xhandlers | |
flags | |
dominator "B5" | |
loop_depth 0 | |
first_lir_id 232 | |
last_lir_id 238 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v52 BlockEntry type:Tagged pos:41 <|@ | |
0 0 v53 Simulate id=21 var[4] = t5 type:Tagged pos:41 <|@ | |
0 0 v54 Goto B16 type:Tagged pos:41 <|@ | |
end_HIR | |
begin_LIR | |
232 label () () () () Dead block replaced with B16 [hir:v52] <|@ | |
234 gap () () () () [hir:v52] <|@ | |
236 gap () () () () [hir:v54] <|@ | |
238 goto B16 [hir:v54] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B16" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B15" | |
successors | |
xhandlers | |
flags | |
dominator "B15" | |
loop_depth 0 | |
first_lir_id 240 | |
last_lir_id 250 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v171 BlockEntry type:Tagged pos:77 <|@ | |
0 1 t179 Change d39 d to t changes[NewSpacePromotion] pos:70 <|@ | |
0 1 s180 Constant 1 type:Smi pos:70 <|@ | |
0 0 v174 Return t179 (pop s180 values) type:Tagged pos:70 <|@ | |
end_HIR | |
begin_LIR | |
240 label () () () () [hir:v171] <|@ | |
242 gap () () () () [hir:v171] <|@ | |
244 number-tag-d [rbx|R]= [xmm1|R] {[rbx|R]} [hir:t179] <|@ | |
246 gap ((0) = [rbx|R];) ([rax|R] = [rbx|R];) () () [hir:t179] <|@ | |
248 return = [rax|R] NULL [constant:180] [hir:v174] <|@ | |
250 gap () () () () [hir:v174] <|@ | |
end_LIR | |
end_block | |
end_cfg | |
begin_compilation | |
name "Vec2.len" | |
method "Vec2.len:3" | |
date 1432500821000 | |
end_compilation | |
begin_cfg | |
name "Z_Code generation" | |
begin_block | |
name "B0" | |
from_bci -1 | |
to_bci -1 | |
predecessors | |
successors "B1" | |
xhandlers | |
flags | |
loop_depth 0 | |
first_lir_id 0 | |
last_lir_id 14 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v0 BlockEntry type:Tagged <|@ | |
0 0 t4 Constant 0x72389304121 <undefined> [map 0x371978043c1] <|@ | |
0 4 t1 Context type:Tagged <|@ | |
0 19 t2 Parameter 0 type:Tagged <|@ | |
0 0 t3 ArgumentsObject t2 type:Tagged <|@ | |
0 0 v5 Simulate id=2 var[1] = t1, var[0] = t2 type:Tagged <|@ | |
0 0 v6 Goto B1 type:Tagged <|@ | |
end_HIR | |
begin_LIR | |
0 label () () () () [hir:v0] <|@ | |
2 gap () () () () [hir:v0] <|@ | |
4 context [rax|R]= [hir:t1] <|@ | |
6 gap ([stack:0] = [rax|R];) () () () [hir:t1] <|@ | |
8 parameter [stack:-1]= [hir:t2] <|@ | |
10 gap () ([stack:-1];) () () [hir:t2] <|@ | |
12 gap () () () () [hir:v6] <|@ | |
14 goto B1 [hir:v6] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B1" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B0" | |
successors "B2" | |
xhandlers | |
flags | |
dominator "B0" | |
loop_depth 0 | |
first_lir_id 16 | |
last_lir_id 50 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v7 BlockEntry type:Tagged <|@ | |
0 0 v8 Simulate id=3 type:Tagged <|@ | |
0 0 v9 StackCheck t1 changes[NewSpacePromotion] type:Tagged <|@ | |
0 3 t10 Constant 0x72389394509 <a MathConstructor with map 0x3719780a3a9> [map 0x3719780a3a9] pos:16 <|@ | |
0 0 t11 CheckMaps t10 [0x3719780a3a9](stability-check) pos:21 <|@ | |
0 1 t12 Constant 0x72389394c31 <JS Function sqrt (SharedFunctionInfo 0x7238934adb9)> [map 0x371978069e9] pos:21 <|@ | |
0 0 t14 CheckHeapObject t2 pos:31 <|@ | |
0 0 t15 CheckMaps t2 [0x591d200e399] pos:31 <|@ | |
0 2 t16 Constant 0x24b817077a99 <an Object with map 0x591d200e291> [map 0x591d200e291] [new space] pos:31 <|@ | |
0 0 t17 CheckMaps t16 [0x591d200e291](stability-check) pos:31 <|@ | |
0 1 t18 Constant 0x19d452643421 <JS Function Vec2.len2 (SharedFunctionInfo 0x19d452642e59)> pos:31 <|@ | |
0 4 t19 Constant 0x72389374189 <FixedArray[115]> pos:1_0 <|@ | |
0 0 t20 ArgumentsObject t2 type:Tagged pos:1_0 <|@ | |
0 0 v21 Simulate id=-1 push t12, push t10, push t18, push t2 type:Tagged pos:1_0 <|@ | |
0 0 v22 EnterInlined Vec2.len2 type:Tagged pos:1_0 <|@ | |
0 0 t28 ArgumentsObject t2 type:Tagged pos:2_0 <|@ | |
0 0 v29 Simulate id=-1 var[1] = t19, push t2 type:Tagged pos:2_0 <|@ | |
0 0 v30 EnterInlined x type:Tagged pos:2_0 <|@ | |
0 4 d32 LoadNamedField t2._x[in-object]@24 type:Tagged pos:2_16 <|@ | |
0 0 v33 LeaveInlined type:Tagged pos:2_5 <|@ | |
0 0 v34 Simulate id=12 push d32 type:Tagged pos:2_5 <|@ | |
0 0 v35 Goto B2 type:Tagged pos:2_5 <|@ | |
end_HIR | |
begin_LIR | |
16 label () () () () [hir:v7] <|@ | |
18 gap () ([rsi|R] = [rax|R];) () () [hir:v7] <|@ | |
20 stack-check = [rsi|R] [id=3|parameters=1|arguments_stack_height=0|[stack:-1];[stack:0]] {[rsi|R];[stack:0]} [hir:v9] <|@ | |
22 gap () () () () [hir:v9] <|@ | |
24 lazy-bailout = [id=3|deopt_id=0|parameters=1|arguments_stack_height=0|[stack:-1];[stack:0]] [hir:v9] <|@ | |
26 gap () () () () [hir:v9] <|@ | |
28 check-maps = NULL [hir:t11] <|@ | |
30 gap () () ([rax|R] = [stack:-1];) () [hir:t11] <|@ | |
32 check-non-smi = [rax|R] [id=3|deopt_id=1|parameters=1|arguments_stack_height=0|[rax|R];[stack:0]] [hir:t14] <|@ | |
34 gap () () () () [hir:t14] <|@ | |
36 check-maps = [rax|R] [id=3|deopt_id=2|parameters=1|arguments_stack_height=0|[rax|R];[stack:0]] [hir:t15] <|@ | |
38 gap () () () () [hir:t15] <|@ | |
40 check-maps = NULL [hir:t17] <|@ | |
42 gap () () () () [hir:t17] <|@ | |
44 load-named-field [xmm1|R]= [rax|R] [hir:d32] <|@ | |
46 gap ((0) = [xmm1|R];) () () () [hir:d32] <|@ | |
48 gap () () () () [hir:v35] <|@ | |
50 goto B2 [hir:v35] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B2" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B1" | |
successors "B3" | |
xhandlers | |
flags | |
dominator "B1" | |
loop_depth 0 | |
first_lir_id 52 | |
last_lir_id 58 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v36 BlockEntry type:Tagged pos:1_29 <|@ | |
0 0 t42 ArgumentsObject t2 type:Tagged pos:3_0 <|@ | |
0 0 v43 Simulate id=-1 push t2 type:Tagged pos:3_0 <|@ | |
0 0 v44 EnterInlined x type:Tagged pos:3_0 <|@ | |
0 0 v47 LeaveInlined type:Tagged pos:3_5 <|@ | |
0 0 v48 Simulate id=21 push d32 type:Tagged pos:3_5 <|@ | |
0 0 v49 Goto B3 type:Tagged pos:3_5 <|@ | |
end_HIR | |
begin_LIR | |
52 label () () () () Dead block replaced with B3 [hir:v36] <|@ | |
54 gap () () () () [hir:v36] <|@ | |
56 gap () () () () [hir:v49] <|@ | |
58 goto B3 [hir:v49] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B3" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B2" | |
successors "B4" | |
xhandlers | |
flags | |
dominator "B2" | |
loop_depth 0 | |
first_lir_id 60 | |
last_lir_id 74 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v50 BlockEntry type:Tagged pos:1_23 <|@ | |
0 3 d51 Mul d32 d32 ! type:TaggedNumber pos:1_23 <|@ | |
0 0 v52 Simulate id=8 pop 2 / push d51 type:Tagged pos:1_23 <|@ | |
0 0 t58 ArgumentsObject t2 type:Tagged pos:4_0 <|@ | |
0 0 v59 Simulate id=-1 pop 1 / push d51, push t2 type:Tagged pos:4_0 <|@ | |
0 0 v60 EnterInlined y type:Tagged pos:4_0 <|@ | |
0 4 d62 LoadNamedField t2._y[in-object]@32 type:Tagged pos:4_16 <|@ | |
0 0 v63 LeaveInlined type:Tagged pos:4_5 <|@ | |
0 0 v64 Simulate id=34 push d62 type:Tagged pos:4_5 <|@ | |
0 0 v65 Goto B4 type:Tagged pos:4_5 <|@ | |
end_HIR | |
begin_LIR | |
60 label () () () () [hir:v50] <|@ | |
62 gap () ([xmm2|R] = [xmm1|R];) () () [hir:v50] <|@ | |
64 mul-d [xmm2|R]= [xmm2|R] [xmm1|R] [hir:d51] <|@ | |
66 gap ((0) = [xmm2|R];) () () () [hir:d51] <|@ | |
68 load-named-field [xmm1|R]= [rax|R] [hir:d62] <|@ | |
70 gap ((0) = [xmm1|R];) () () () [hir:d62] <|@ | |
72 gap () () () () [hir:v65] <|@ | |
74 goto B4 [hir:v65] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B4" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B3" | |
successors "B5" | |
xhandlers | |
flags | |
dominator "B3" | |
loop_depth 0 | |
first_lir_id 76 | |
last_lir_id 82 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v66 BlockEntry type:Tagged pos:1_47 <|@ | |
0 0 t72 ArgumentsObject t2 type:Tagged pos:5_0 <|@ | |
0 0 v73 Simulate id=-1 push t2 type:Tagged pos:5_0 <|@ | |
0 0 v74 EnterInlined y type:Tagged pos:5_0 <|@ | |
0 0 v77 LeaveInlined type:Tagged pos:5_5 <|@ | |
0 0 v78 Simulate id=43 push d62 type:Tagged pos:5_5 <|@ | |
0 0 v79 Goto B5 type:Tagged pos:5_5 <|@ | |
end_HIR | |
begin_LIR | |
76 label () () () () Dead block replaced with B5 [hir:v66] <|@ | |
78 gap () () () () [hir:v66] <|@ | |
80 gap () () () () [hir:v79] <|@ | |
82 goto B5 [hir:v79] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B5" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B4" | |
successors "B6" | |
xhandlers | |
flags | |
dominator "B4" | |
loop_depth 0 | |
first_lir_id 84 | |
last_lir_id 98 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v80 BlockEntry type:Tagged pos:1_41 <|@ | |
0 2 d81 Mul d62 d62 ! type:TaggedNumber pos:1_41 <|@ | |
0 0 v82 Simulate id=30 pop 2 / push d81 type:Tagged pos:1_41 <|@ | |
0 2 d83 Add d51 d81 ! type:TaggedNumber pos:1_32 <|@ | |
0 0 v85 LeaveInlined type:Tagged pos:1_9 <|@ | |
0 0 v86 Simulate id=17 pop 1 / push d83 type:Tagged pos:1_9 <|@ | |
0 0 v87 Goto B6 type:Tagged pos:1_9 <|@ | |
end_HIR | |
begin_LIR | |
84 label () () () () [hir:v80] <|@ | |
86 gap () ([xmm3|R] = [xmm1|R];) () () [hir:v80] <|@ | |
88 mul-d [xmm3|R]= [xmm3|R] [xmm1|R] [hir:d81] <|@ | |
90 gap ((0) = [xmm3|R];) ([xmm2|R];) () () [hir:d81] <|@ | |
92 add-d [xmm2|R]= [xmm2|R] [xmm3|R] [hir:d83] <|@ | |
94 gap ((0) = [xmm2|R];) () () () [hir:d83] <|@ | |
96 gap () () () () [hir:v87] <|@ | |
98 goto B6 [hir:v87] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B6" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B5" | |
successors | |
xhandlers | |
flags | |
dominator "B5" | |
loop_depth 0 | |
first_lir_id 100 | |
last_lir_id 114 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v88 BlockEntry type:Tagged pos:21 <|@ | |
0 1 d89 UnaryMathOperation sqrt d83 type:TaggedNumber pos:21 <|@ | |
0 1 t93 Change d89 d to t changes[NewSpacePromotion] pos:9 <|@ | |
0 1 s94 Constant 0 type:Smi pos:9 <|@ | |
0 0 v91 Return t93 (pop s94 values) type:Tagged pos:9 <|@ | |
end_HIR | |
begin_LIR | |
100 label () () () () [hir:v88] <|@ | |
102 gap () () () () [hir:v88] <|@ | |
104 math-sqrt [xmm1|R]= [xmm2|R] [hir:d89] <|@ | |
106 gap ((0) = [xmm1|R];) () () () [hir:d89] <|@ | |
108 number-tag-d [rbx|R]= [xmm1|R] {[rbx|R]} [hir:t93] <|@ | |
110 gap ((0) = [rbx|R];) ([rax|R] = [rbx|R];) () () [hir:t93] <|@ | |
112 return = [rax|R] NULL [constant:94] [hir:v91] <|@ | |
114 gap () () () () [hir:v91] <|@ | |
end_LIR | |
end_block | |
end_cfg | |
begin_compilation | |
name "Vec2.len2" | |
method "Vec2.len2:4" | |
date 1432500821000 | |
end_compilation | |
begin_cfg | |
name "Z_Code generation" | |
begin_block | |
name "B0" | |
from_bci -1 | |
to_bci -1 | |
predecessors | |
successors "B1" | |
xhandlers | |
flags | |
loop_depth 0 | |
first_lir_id 0 | |
last_lir_id 14 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v0 BlockEntry type:Tagged <|@ | |
0 0 t4 Constant 0x72389304121 <undefined> [map 0x371978043c1] <|@ | |
0 6 t1 Context type:Tagged <|@ | |
0 17 t2 Parameter 0 type:Tagged <|@ | |
0 0 t3 ArgumentsObject t2 type:Tagged <|@ | |
0 0 v5 Simulate id=2 var[1] = t1, var[0] = t2 type:Tagged <|@ | |
0 0 v6 Goto B1 type:Tagged <|@ | |
end_HIR | |
begin_LIR | |
0 label () () () () [hir:v0] <|@ | |
2 gap () () () () [hir:v0] <|@ | |
4 context [rax|R]= [hir:t1] <|@ | |
6 gap ([stack:0] = [rax|R];) () () () [hir:t1] <|@ | |
8 parameter [stack:-1]= [hir:t2] <|@ | |
10 gap () ([stack:-1];) () () [hir:t2] <|@ | |
12 gap () () () () [hir:v6] <|@ | |
14 goto B1 [hir:v6] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B1" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B0" | |
successors "B2" | |
xhandlers | |
flags | |
dominator "B0" | |
loop_depth 0 | |
first_lir_id 16 | |
last_lir_id 46 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v7 BlockEntry type:Tagged <|@ | |
0 0 v8 Simulate id=3 type:Tagged <|@ | |
0 0 v9 StackCheck t1 changes[NewSpacePromotion] type:Tagged <|@ | |
0 0 t11 CheckHeapObject t2 pos:20 <|@ | |
0 0 t12 CheckMaps t2 [0x591d200e399] pos:20 <|@ | |
0 2 t13 Constant 0x24b817077a99 <an Object with map 0x591d200e291> [map 0x591d200e291] [new space] pos:20 <|@ | |
0 0 t14 CheckMaps t13 [0x591d200e291](stability-check) pos:20 <|@ | |
0 0 t16 ArgumentsObject t2 type:Tagged pos:1_0 <|@ | |
0 0 v17 Simulate id=-1 push t2 type:Tagged pos:1_0 <|@ | |
0 0 v18 EnterInlined x type:Tagged pos:1_0 <|@ | |
0 4 d20 LoadNamedField t2._x[in-object]@24 type:Tagged pos:1_16 <|@ | |
0 0 v21 LeaveInlined type:Tagged pos:1_5 <|@ | |
0 0 v22 Simulate id=12 push d20 type:Tagged pos:1_5 <|@ | |
0 0 v23 Goto B2 type:Tagged pos:1_5 <|@ | |
end_HIR | |
begin_LIR | |
16 label () () () () [hir:v7] <|@ | |
18 gap () ([rsi|R] = [rax|R];) () () [hir:v7] <|@ | |
20 stack-check = [rsi|R] [id=3|parameters=1|arguments_stack_height=0|[stack:-1];[stack:0]] {[rsi|R];[stack:0]} [hir:v9] <|@ | |
22 gap () () () () [hir:v9] <|@ | |
24 lazy-bailout = [id=3|deopt_id=0|parameters=1|arguments_stack_height=0|[stack:-1];[stack:0]] [hir:v9] <|@ | |
26 gap () () ([rax|R] = [stack:-1];) () [hir:v9] <|@ | |
28 check-non-smi = [rax|R] [id=3|deopt_id=1|parameters=1|arguments_stack_height=0|[rax|R];[stack:0]] [hir:t11] <|@ | |
30 gap () () () () [hir:t11] <|@ | |
32 check-maps = [rax|R] [id=3|deopt_id=2|parameters=1|arguments_stack_height=0|[rax|R];[stack:0]] [hir:t12] <|@ | |
34 gap () () () () [hir:t12] <|@ | |
36 check-maps = NULL [hir:t14] <|@ | |
38 gap () () () () [hir:t14] <|@ | |
40 load-named-field [xmm1|R]= [rax|R] [hir:d20] <|@ | |
42 gap ((0) = [xmm1|R];) () () () [hir:d20] <|@ | |
44 gap () () () () [hir:v23] <|@ | |
46 goto B2 [hir:v23] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B2" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B1" | |
successors "B3" | |
xhandlers | |
flags | |
dominator "B1" | |
loop_depth 0 | |
first_lir_id 48 | |
last_lir_id 54 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v24 BlockEntry type:Tagged pos:29 <|@ | |
0 0 t30 ArgumentsObject t2 type:Tagged pos:2_0 <|@ | |
0 0 v31 Simulate id=-1 push t2 type:Tagged pos:2_0 <|@ | |
0 0 v32 EnterInlined x type:Tagged pos:2_0 <|@ | |
0 0 v35 LeaveInlined type:Tagged pos:2_5 <|@ | |
0 0 v36 Simulate id=21 push d20 type:Tagged pos:2_5 <|@ | |
0 0 v37 Goto B3 type:Tagged pos:2_5 <|@ | |
end_HIR | |
begin_LIR | |
48 label () () () () Dead block replaced with B3 [hir:v24] <|@ | |
50 gap () () () () [hir:v24] <|@ | |
52 gap () () () () [hir:v37] <|@ | |
54 goto B3 [hir:v37] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B3" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B2" | |
successors "B4" | |
xhandlers | |
flags | |
dominator "B2" | |
loop_depth 0 | |
first_lir_id 56 | |
last_lir_id 70 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v38 BlockEntry type:Tagged pos:23 <|@ | |
0 3 d39 Mul d20 d20 ! type:TaggedNumber pos:23 <|@ | |
0 0 v40 Simulate id=8 pop 2 / push d39 type:Tagged pos:23 <|@ | |
0 0 t46 ArgumentsObject t2 type:Tagged pos:3_0 <|@ | |
0 0 v47 Simulate id=-1 pop 1 / push d39, push t2 type:Tagged pos:3_0 <|@ | |
0 0 v48 EnterInlined y type:Tagged pos:3_0 <|@ | |
0 4 d50 LoadNamedField t2._y[in-object]@32 type:Tagged pos:3_16 <|@ | |
0 0 v51 LeaveInlined type:Tagged pos:3_5 <|@ | |
0 0 v52 Simulate id=34 push d50 type:Tagged pos:3_5 <|@ | |
0 0 v53 Goto B4 type:Tagged pos:3_5 <|@ | |
end_HIR | |
begin_LIR | |
56 label () () () () [hir:v38] <|@ | |
58 gap () ([xmm2|R] = [xmm1|R];) () () [hir:v38] <|@ | |
60 mul-d [xmm2|R]= [xmm2|R] [xmm1|R] [hir:d39] <|@ | |
62 gap ((0) = [xmm2|R];) () () () [hir:d39] <|@ | |
64 load-named-field [xmm1|R]= [rax|R] [hir:d50] <|@ | |
66 gap ((0) = [xmm1|R];) () () () [hir:d50] <|@ | |
68 gap () () () () [hir:v53] <|@ | |
70 goto B4 [hir:v53] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B4" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B3" | |
successors "B5" | |
xhandlers | |
flags | |
dominator "B3" | |
loop_depth 0 | |
first_lir_id 72 | |
last_lir_id 78 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v54 BlockEntry type:Tagged pos:47 <|@ | |
0 0 t60 ArgumentsObject t2 type:Tagged pos:4_0 <|@ | |
0 0 v61 Simulate id=-1 push t2 type:Tagged pos:4_0 <|@ | |
0 0 v62 EnterInlined y type:Tagged pos:4_0 <|@ | |
0 0 v65 LeaveInlined type:Tagged pos:4_5 <|@ | |
0 0 v66 Simulate id=43 push d50 type:Tagged pos:4_5 <|@ | |
0 0 v67 Goto B5 type:Tagged pos:4_5 <|@ | |
end_HIR | |
begin_LIR | |
72 label () () () () Dead block replaced with B5 [hir:v54] <|@ | |
74 gap () () () () [hir:v54] <|@ | |
76 gap () () () () [hir:v67] <|@ | |
78 goto B5 [hir:v67] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B5" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B4" | |
successors | |
xhandlers | |
flags | |
dominator "B4" | |
loop_depth 0 | |
first_lir_id 80 | |
last_lir_id 98 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v68 BlockEntry type:Tagged pos:41 <|@ | |
0 2 d69 Mul d50 d50 ! type:TaggedNumber pos:41 <|@ | |
0 0 v70 Simulate id=30 pop 2 / push d69 type:Tagged pos:41 <|@ | |
0 1 d71 Add d39 d69 ! type:TaggedNumber pos:32 <|@ | |
0 1 t76 Change d71 d to t changes[NewSpacePromotion] pos:9 <|@ | |
0 1 s77 Constant 0 type:Smi pos:9 <|@ | |
0 0 v74 Return t76 (pop s77 values) type:Tagged pos:9 <|@ | |
end_HIR | |
begin_LIR | |
80 label () () () () [hir:v68] <|@ | |
82 gap () ([xmm3|R] = [xmm1|R];) () () [hir:v68] <|@ | |
84 mul-d [xmm3|R]= [xmm3|R] [xmm1|R] [hir:d69] <|@ | |
86 gap ((0) = [xmm3|R];) ([xmm2|R];) () () [hir:d69] <|@ | |
88 add-d [xmm2|R]= [xmm2|R] [xmm3|R] [hir:d71] <|@ | |
90 gap ((0) = [xmm2|R];) () () () [hir:d71] <|@ | |
92 number-tag-d [rbx|R]= [xmm2|R] {[rbx|R]} [hir:t76] <|@ | |
94 gap ((0) = [rbx|R];) ([rax|R] = [rbx|R];) () () [hir:t76] <|@ | |
96 return = [rax|R] NULL [constant:77] [hir:v74] <|@ | |
98 gap () () () () [hir:v74] <|@ | |
end_LIR | |
end_block | |
end_cfg | |
begin_compilation | |
name "x" | |
method "x:5" | |
date 1432500821000 | |
end_compilation | |
begin_cfg | |
name "Z_Code generation" | |
begin_block | |
name "B0" | |
from_bci -1 | |
to_bci -1 | |
predecessors | |
successors "B1" | |
xhandlers | |
flags | |
loop_depth 0 | |
first_lir_id 0 | |
last_lir_id 14 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v0 BlockEntry type:Tagged <|@ | |
0 3 t1 Context type:Tagged <|@ | |
0 7 t2 Parameter 0 type:Tagged <|@ | |
0 0 t3 ArgumentsObject t2 type:Tagged <|@ | |
0 0 v5 Simulate id=2 var[1] = t1, var[0] = t2 type:Tagged <|@ | |
0 0 v6 Goto B1 type:Tagged <|@ | |
end_HIR | |
begin_LIR | |
0 label () () () () [hir:v0] <|@ | |
2 gap () () () () [hir:v0] <|@ | |
4 context [rax|R]= [hir:t1] <|@ | |
6 gap ([stack:0] = [rax|R];) () () () [hir:t1] <|@ | |
8 parameter [stack:-1]= [hir:t2] <|@ | |
10 gap () ([stack:-1];) () () [hir:t2] <|@ | |
12 gap () () () () [hir:v6] <|@ | |
14 goto B1 [hir:v6] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B1" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B0" | |
successors | |
xhandlers | |
flags | |
dominator "B0" | |
loop_depth 0 | |
first_lir_id 16 | |
last_lir_id 46 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v7 BlockEntry type:Tagged <|@ | |
0 0 v8 Simulate id=3 type:Tagged <|@ | |
0 0 v9 StackCheck t1 changes[NewSpacePromotion] type:Tagged <|@ | |
0 0 t11 CheckHeapObject t2 pos:16 <|@ | |
0 0 t12 CheckMaps t2 [0x591d200e399] pos:16 <|@ | |
0 1 d13 LoadNamedField t2._x[in-object]@24 type:Tagged pos:16 <|@ | |
0 1 t17 Change d13 d to t changes[NewSpacePromotion] pos:5 <|@ | |
0 1 s18 Constant 0 type:Smi pos:5 <|@ | |
0 0 v15 Return t17 (pop s18 values) type:Tagged pos:5 <|@ | |
end_HIR | |
begin_LIR | |
16 label () () () () [hir:v7] <|@ | |
18 gap () ([rsi|R] = [rax|R];) () () [hir:v7] <|@ | |
20 stack-check = [rsi|R] [id=3|parameters=1|arguments_stack_height=0|[stack:-1];[stack:0]] {[rsi|R];[stack:0]} [hir:v9] <|@ | |
22 gap () () () () [hir:v9] <|@ | |
24 lazy-bailout = [id=3|deopt_id=0|parameters=1|arguments_stack_height=0|[stack:-1];[stack:0]] [hir:v9] <|@ | |
26 gap () () ([rax|R] = [stack:-1];) () [hir:v9] <|@ | |
28 check-non-smi = [rax|R] [id=3|deopt_id=1|parameters=1|arguments_stack_height=0|[rax|R];[stack:0]] [hir:t11] <|@ | |
30 gap () () () () [hir:t11] <|@ | |
32 check-maps = [rax|R] [id=3|deopt_id=2|parameters=1|arguments_stack_height=0|[rax|R];[stack:0]] [hir:t12] <|@ | |
34 gap () () () () [hir:t12] <|@ | |
36 load-named-field [xmm1|R]= [rax|R] [hir:d13] <|@ | |
38 gap ((0) = [xmm1|R];) () () () [hir:d13] <|@ | |
40 number-tag-d [rbx|R]= [xmm1|R] {[rbx|R]} [hir:t17] <|@ | |
42 gap ((0) = [rbx|R];) ([rax|R] = [rbx|R];) () () [hir:t17] <|@ | |
44 return = [rax|R] NULL [constant:18] [hir:v15] <|@ | |
46 gap () () () () [hir:v15] <|@ | |
end_LIR | |
end_block | |
end_cfg | |
begin_compilation | |
name "sqrt" | |
method "sqrt:6" | |
date 1432500821000 | |
end_compilation | |
begin_cfg | |
name "Z_Code generation" | |
begin_block | |
name "B0" | |
from_bci -1 | |
to_bci -1 | |
predecessors | |
successors "B1" | |
xhandlers | |
flags | |
loop_depth 0 | |
first_lir_id 0 | |
last_lir_id 18 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v0 BlockEntry type:Tagged <|@ | |
0 4 t1 Context type:Tagged <|@ | |
0 2 t2 Parameter 0 type:Tagged <|@ | |
0 3 t3 Parameter 1 type:Tagged <|@ | |
0 0 t4 ArgumentsObject t2 t3 type:Tagged <|@ | |
0 0 v6 Simulate id=2 var[2] = t1, var[1] = t3, var[0] = t2 type:Tagged <|@ | |
0 0 v7 Goto B1 type:Tagged <|@ | |
end_HIR | |
begin_LIR | |
0 label () () () () [hir:v0] <|@ | |
2 gap () () () () [hir:v0] <|@ | |
4 context [rax|R]= [hir:t1] <|@ | |
6 gap ([stack:0] = [rax|R];) () () () [hir:t1] <|@ | |
8 parameter [stack:-2]= [hir:t2] <|@ | |
10 gap () ([stack:-2];) () () [hir:t2] <|@ | |
12 parameter [stack:-1]= [hir:t3] <|@ | |
14 gap () ([stack:-1];) () () [hir:t3] <|@ | |
16 gap () () () () [hir:v7] <|@ | |
18 goto B1 [hir:v7] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B1" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B0" | |
successors | |
xhandlers | |
flags | |
dominator "B0" | |
loop_depth 0 | |
first_lir_id 20 | |
last_lir_id 46 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v8 BlockEntry type:Tagged <|@ | |
0 0 v9 Simulate id=3 type:Tagged <|@ | |
0 0 v10 StackCheck t1 changes[NewSpacePromotion] type:Tagged <|@ | |
0 1 d19 Change t3 t to d allow-undefined-as-nan type:TaggedNumber pos:24 <|@ | |
0 1 d15 UnaryMathOperation sqrt d19 type:TaggedNumber pos:12 <|@ | |
0 1 t21 Change d15 d to t changes[NewSpacePromotion] pos:5 <|@ | |
0 1 s22 Constant 1 type:Smi pos:5 <|@ | |
0 0 v17 Return t21 (pop s22 values) type:Tagged pos:5 <|@ | |
end_HIR | |
begin_LIR | |
20 label () () () () [hir:v8] <|@ | |
22 gap () ([rsi|R] = [rax|R];) () () [hir:v8] <|@ | |
24 stack-check = [rsi|R] [id=3|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0]] {[rsi|R];[stack:0]} [hir:v10] <|@ | |
26 gap () () () () [hir:v10] <|@ | |
28 lazy-bailout = [id=3|deopt_id=0|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0]] [hir:v10] <|@ | |
30 gap () () ([rax|R] = [stack:-1];) () [hir:v10] <|@ | |
32 double-untag [xmm1|R]= [rax|R] [id=3|deopt_id=1|parameters=2|arguments_stack_height=0|[stack:-2];[rax|R];[stack:0]] [hir:d19] <|@ | |
34 gap ((0) = [xmm1|R];) () () () [hir:d19] <|@ | |
36 math-sqrt [xmm1|R]= [xmm1|R] [hir:d15] <|@ | |
38 gap ((0) = [xmm1|R];) () () () [hir:d15] <|@ | |
40 number-tag-d [rbx|R]= [xmm1|R] {[rbx|R]} [hir:t21] <|@ | |
42 gap ((0) = [rbx|R];) ([rax|R] = [rbx|R];) () () [hir:t21] <|@ | |
44 return = [rax|R] NULL [constant:22] [hir:v17] <|@ | |
46 gap () () () () [hir:v17] <|@ | |
end_LIR | |
end_block | |
end_cfg | |
begin_compilation | |
name "y" | |
method "y:7" | |
date 1432500821000 | |
end_compilation | |
begin_cfg | |
name "Z_Code generation" | |
begin_block | |
name "B0" | |
from_bci -1 | |
to_bci -1 | |
predecessors | |
successors "B1" | |
xhandlers | |
flags | |
loop_depth 0 | |
first_lir_id 0 | |
last_lir_id 14 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v0 BlockEntry type:Tagged <|@ | |
0 3 t1 Context type:Tagged <|@ | |
0 7 t2 Parameter 0 type:Tagged <|@ | |
0 0 t3 ArgumentsObject t2 type:Tagged <|@ | |
0 0 v5 Simulate id=2 var[1] = t1, var[0] = t2 type:Tagged <|@ | |
0 0 v6 Goto B1 type:Tagged <|@ | |
end_HIR | |
begin_LIR | |
0 label () () () () [hir:v0] <|@ | |
2 gap () () () () [hir:v0] <|@ | |
4 context [rax|R]= [hir:t1] <|@ | |
6 gap ([stack:0] = [rax|R];) () () () [hir:t1] <|@ | |
8 parameter [stack:-1]= [hir:t2] <|@ | |
10 gap () ([stack:-1];) () () [hir:t2] <|@ | |
12 gap () () () () [hir:v6] <|@ | |
14 goto B1 [hir:v6] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B1" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B0" | |
successors | |
xhandlers | |
flags | |
dominator "B0" | |
loop_depth 0 | |
first_lir_id 16 | |
last_lir_id 46 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v7 BlockEntry type:Tagged <|@ | |
0 0 v8 Simulate id=3 type:Tagged <|@ | |
0 0 v9 StackCheck t1 changes[NewSpacePromotion] type:Tagged <|@ | |
0 0 t11 CheckHeapObject t2 pos:16 <|@ | |
0 0 t12 CheckMaps t2 [0x591d200e399,0x591d200e3f1] pos:16 <|@ | |
0 1 d13 LoadNamedField t2._y[in-object]@32 type:Tagged pos:16 <|@ | |
0 1 t17 Change d13 d to t changes[NewSpacePromotion] pos:5 <|@ | |
0 1 s18 Constant 0 type:Smi pos:5 <|@ | |
0 0 v15 Return t17 (pop s18 values) type:Tagged pos:5 <|@ | |
end_HIR | |
begin_LIR | |
16 label () () () () [hir:v7] <|@ | |
18 gap () ([rsi|R] = [rax|R];) () () [hir:v7] <|@ | |
20 stack-check = [rsi|R] [id=3|parameters=1|arguments_stack_height=0|[stack:-1];[stack:0]] {[rsi|R];[stack:0]} [hir:v9] <|@ | |
22 gap () () () () [hir:v9] <|@ | |
24 lazy-bailout = [id=3|deopt_id=0|parameters=1|arguments_stack_height=0|[stack:-1];[stack:0]] [hir:v9] <|@ | |
26 gap () () ([rax|R] = [stack:-1];) () [hir:v9] <|@ | |
28 check-non-smi = [rax|R] [id=3|deopt_id=1|parameters=1|arguments_stack_height=0|[rax|R];[stack:0]] [hir:t11] <|@ | |
30 gap () () () () [hir:t11] <|@ | |
32 check-maps = [rax|R] [id=3|deopt_id=2|parameters=1|arguments_stack_height=0|[rax|R];[stack:0]] [hir:t12] <|@ | |
34 gap () () () () [hir:t12] <|@ | |
36 load-named-field [xmm1|R]= [rax|R] [hir:d13] <|@ | |
38 gap ((0) = [xmm1|R];) () () () [hir:d13] <|@ | |
40 number-tag-d [rbx|R]= [xmm1|R] {[rbx|R]} [hir:t17] <|@ | |
42 gap ((0) = [rbx|R];) ([rax|R] = [rbx|R];) () () [hir:t17] <|@ | |
44 return = [rax|R] NULL [constant:18] [hir:v15] <|@ | |
46 gap () () () () [hir:v15] <|@ | |
end_LIR | |
end_block | |
end_cfg | |
begin_compilation | |
name "len" | |
method "len:8" | |
date 1432500821000 | |
end_compilation | |
begin_cfg | |
name "Z_Code generation" | |
begin_block | |
name "B0" | |
from_bci -1 | |
to_bci -1 | |
predecessors | |
successors "B1" | |
xhandlers | |
flags | |
loop_depth 0 | |
first_lir_id 0 | |
last_lir_id 18 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v0 BlockEntry type:Tagged <|@ | |
0 0 t5 Constant 0x72389304121 <undefined> [map 0x371978043c1] <|@ | |
0 3 t1 Context type:Tagged <|@ | |
0 2 t2 Parameter 0 type:Tagged <|@ | |
0 21 t3 Parameter 1 type:Tagged <|@ | |
0 0 t4 ArgumentsObject t2 t3 type:Tagged <|@ | |
0 0 v6 Simulate id=2 var[2] = t1, var[1] = t3, var[0] = t2 type:Tagged <|@ | |
0 0 v7 Goto B1 type:Tagged <|@ | |
end_HIR | |
begin_LIR | |
0 label () () () () [hir:v0] <|@ | |
2 gap () () () () [hir:v0] <|@ | |
4 context [rax|R]= [hir:t1] <|@ | |
6 gap ([stack:0] = [rax|R];) () () () [hir:t1] <|@ | |
8 parameter [stack:-2]= [hir:t2] <|@ | |
10 gap () ([stack:-2];) () () [hir:t2] <|@ | |
12 parameter [stack:-1]= [hir:t3] <|@ | |
14 gap () ([stack:-1];) () () [hir:t3] <|@ | |
16 gap () () () () [hir:v7] <|@ | |
18 goto B1 [hir:v7] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B1" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B0" | |
successors "B2" | |
xhandlers | |
flags | |
dominator "B0" | |
loop_depth 0 | |
first_lir_id 20 | |
last_lir_id 54 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v8 BlockEntry type:Tagged <|@ | |
0 0 v9 Simulate id=3 type:Tagged <|@ | |
0 0 v10 StackCheck t1 changes[NewSpacePromotion] type:Tagged <|@ | |
0 0 t12 CheckHeapObject t3 pos:247 <|@ | |
0 0 t13 CheckMaps t3 [0x591d200e399,0x591d200e3f1] pos:247 <|@ | |
0 2 t14 Constant 0x24b817077a99 <an Object with map 0x591d200e291> [map 0x591d200e291] [new space] pos:247 <|@ | |
0 0 t15 CheckMaps t14 [0x591d200e291](stability-check) pos:247 <|@ | |
0 1 t16 Constant 0x19d452643469 <JS Function Vec2.len (SharedFunctionInfo 0x19d452642ee9)> pos:247 <|@ | |
0 6 t17 Constant 0x72389374189 <FixedArray[115]> pos:1_0 <|@ | |
0 0 t18 ArgumentsObject t3 type:Tagged pos:1_0 <|@ | |
0 0 v19 Simulate id=-1 push t16, push t3 type:Tagged pos:1_0 <|@ | |
0 0 v20 EnterInlined Vec2.len type:Tagged pos:1_0 <|@ | |
0 3 t21 Constant 0x72389394509 <a MathConstructor with map 0x3719780a3a9> [map 0x3719780a3a9] pos:1_16 <|@ | |
0 0 t22 CheckMaps t21 [0x3719780a3a9](stability-check) pos:1_21 <|@ | |
0 1 t23 Constant 0x72389394c31 <JS Function sqrt (SharedFunctionInfo 0x7238934adb9)> [map 0x371978069e9] pos:1_21 <|@ | |
0 1 t28 Constant 0x19d452643421 <JS Function Vec2.len2 (SharedFunctionInfo 0x19d452642e59)> pos:1_31 <|@ | |
0 0 t30 ArgumentsObject t3 type:Tagged pos:2_0 <|@ | |
0 0 v31 Simulate id=-1 var[1] = t17, push t23, push t21, push t28, push t3 type:Tagged pos:2_0 <|@ | |
0 0 v32 EnterInlined Vec2.len2 type:Tagged pos:2_0 <|@ | |
0 0 t38 ArgumentsObject t3 type:Tagged pos:3_0 <|@ | |
0 0 v39 Simulate id=-1 var[1] = t17, push t3 type:Tagged pos:3_0 <|@ | |
0 0 v40 EnterInlined x type:Tagged pos:3_0 <|@ | |
0 4 d42 LoadNamedField t3._x[in-object]@24 type:Tagged pos:3_16 <|@ | |
0 0 v43 LeaveInlined type:Tagged pos:3_5 <|@ | |
0 0 v44 Simulate id=12 push d42 type:Tagged pos:3_5 <|@ | |
0 0 v45 Goto B2 type:Tagged pos:3_5 <|@ | |
end_HIR | |
begin_LIR | |
20 label () () () () [hir:v8] <|@ | |
22 gap () ([rsi|R] = [rax|R];) () () [hir:v8] <|@ | |
24 stack-check = [rsi|R] [id=3|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0]] {[rsi|R];[stack:0]} [hir:v10] <|@ | |
26 gap () () () () [hir:v10] <|@ | |
28 lazy-bailout = [id=3|deopt_id=0|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:0]] [hir:v10] <|@ | |
30 gap () () ([rax|R] = [stack:-1];) () [hir:v10] <|@ | |
32 check-non-smi = [rax|R] [id=3|deopt_id=1|parameters=2|arguments_stack_height=0|[stack:-2];[rax|R];[stack:0]] [hir:t12] <|@ | |
34 gap () () () () [hir:t12] <|@ | |
36 check-maps = [rax|R] [id=3|deopt_id=2|parameters=2|arguments_stack_height=0|[stack:-2];[rax|R];[stack:0]] [hir:t13] <|@ | |
38 gap () () () () [hir:t13] <|@ | |
40 check-maps = NULL [hir:t15] <|@ | |
42 gap () () () () [hir:t15] <|@ | |
44 check-maps = NULL [hir:t22] <|@ | |
46 gap () () () () [hir:t22] <|@ | |
48 load-named-field [xmm1|R]= [rax|R] [hir:d42] <|@ | |
50 gap ((0) = [xmm1|R];) () () () [hir:d42] <|@ | |
52 gap () () () () [hir:v45] <|@ | |
54 goto B2 [hir:v45] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B2" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B1" | |
successors "B3" | |
xhandlers | |
flags | |
dominator "B1" | |
loop_depth 0 | |
first_lir_id 56 | |
last_lir_id 62 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v46 BlockEntry type:Tagged pos:2_29 <|@ | |
0 0 t52 ArgumentsObject t3 type:Tagged pos:4_0 <|@ | |
0 0 v53 Simulate id=-1 push t3 type:Tagged pos:4_0 <|@ | |
0 0 v54 EnterInlined x type:Tagged pos:4_0 <|@ | |
0 0 v57 LeaveInlined type:Tagged pos:4_5 <|@ | |
0 0 v58 Simulate id=21 push d42 type:Tagged pos:4_5 <|@ | |
0 0 v59 Goto B3 type:Tagged pos:4_5 <|@ | |
end_HIR | |
begin_LIR | |
56 label () () () () Dead block replaced with B3 [hir:v46] <|@ | |
58 gap () () () () [hir:v46] <|@ | |
60 gap () () () () [hir:v59] <|@ | |
62 goto B3 [hir:v59] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B3" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B2" | |
successors "B4" | |
xhandlers | |
flags | |
dominator "B2" | |
loop_depth 0 | |
first_lir_id 64 | |
last_lir_id 78 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v60 BlockEntry type:Tagged pos:2_23 <|@ | |
0 3 d61 Mul d42 d42 ! type:TaggedNumber pos:2_23 <|@ | |
0 0 v62 Simulate id=8 pop 2 / push d61 type:Tagged pos:2_23 <|@ | |
0 0 t68 ArgumentsObject t3 type:Tagged pos:5_0 <|@ | |
0 0 v69 Simulate id=-1 pop 1 / push d61, push t3 type:Tagged pos:5_0 <|@ | |
0 0 v70 EnterInlined y type:Tagged pos:5_0 <|@ | |
0 4 d72 LoadNamedField t3._y[in-object]@32 type:Tagged pos:5_16 <|@ | |
0 0 v73 LeaveInlined type:Tagged pos:5_5 <|@ | |
0 0 v74 Simulate id=34 push d72 type:Tagged pos:5_5 <|@ | |
0 0 v75 Goto B4 type:Tagged pos:5_5 <|@ | |
end_HIR | |
begin_LIR | |
64 label () () () () [hir:v60] <|@ | |
66 gap () ([xmm2|R] = [xmm1|R];) () () [hir:v60] <|@ | |
68 mul-d [xmm2|R]= [xmm2|R] [xmm1|R] [hir:d61] <|@ | |
70 gap ((0) = [xmm2|R];) () () () [hir:d61] <|@ | |
72 load-named-field [xmm1|R]= [rax|R] [hir:d72] <|@ | |
74 gap ((0) = [xmm1|R];) () () () [hir:d72] <|@ | |
76 gap () () () () [hir:v75] <|@ | |
78 goto B4 [hir:v75] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B4" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B3" | |
successors "B5" | |
xhandlers | |
flags | |
dominator "B3" | |
loop_depth 0 | |
first_lir_id 80 | |
last_lir_id 86 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v76 BlockEntry type:Tagged pos:2_47 <|@ | |
0 0 t82 ArgumentsObject t3 type:Tagged pos:6_0 <|@ | |
0 0 v83 Simulate id=-1 push t3 type:Tagged pos:6_0 <|@ | |
0 0 v84 EnterInlined y type:Tagged pos:6_0 <|@ | |
0 0 v87 LeaveInlined type:Tagged pos:6_5 <|@ | |
0 0 v88 Simulate id=43 push d72 type:Tagged pos:6_5 <|@ | |
0 0 v89 Goto B5 type:Tagged pos:6_5 <|@ | |
end_HIR | |
begin_LIR | |
80 label () () () () Dead block replaced with B5 [hir:v76] <|@ | |
82 gap () () () () [hir:v76] <|@ | |
84 gap () () () () [hir:v89] <|@ | |
86 goto B5 [hir:v89] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B5" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B4" | |
successors "B6" | |
xhandlers | |
flags | |
dominator "B4" | |
loop_depth 0 | |
first_lir_id 88 | |
last_lir_id 102 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v90 BlockEntry type:Tagged pos:2_41 <|@ | |
0 2 d91 Mul d72 d72 ! type:TaggedNumber pos:2_41 <|@ | |
0 0 v92 Simulate id=30 pop 2 / push d91 type:Tagged pos:2_41 <|@ | |
0 2 d93 Add d61 d91 ! type:TaggedNumber pos:2_32 <|@ | |
0 0 v95 LeaveInlined type:Tagged pos:2_9 <|@ | |
0 0 v96 Simulate id=17 pop 1 / push d93 type:Tagged pos:2_9 <|@ | |
0 0 v97 Goto B6 type:Tagged pos:2_9 <|@ | |
end_HIR | |
begin_LIR | |
88 label () () () () [hir:v90] <|@ | |
90 gap () ([xmm3|R] = [xmm1|R];) () () [hir:v90] <|@ | |
92 mul-d [xmm3|R]= [xmm3|R] [xmm1|R] [hir:d91] <|@ | |
94 gap ((0) = [xmm3|R];) ([xmm2|R];) () () [hir:d91] <|@ | |
96 add-d [xmm2|R]= [xmm2|R] [xmm3|R] [hir:d93] <|@ | |
98 gap ((0) = [xmm2|R];) () () () [hir:d93] <|@ | |
100 gap () () () () [hir:v97] <|@ | |
102 goto B6 [hir:v97] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B6" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B5" | |
successors "B7" | |
xhandlers | |
flags | |
dominator "B5" | |
loop_depth 0 | |
first_lir_id 104 | |
last_lir_id 114 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v98 BlockEntry type:Tagged pos:1_21 <|@ | |
0 2 d99 UnaryMathOperation sqrt d93 type:TaggedNumber pos:1_21 <|@ | |
0 0 v100 LeaveInlined type:Tagged pos:1_9 <|@ | |
0 0 v101 Simulate id=4 pop 1 / push d99 type:Tagged pos:1_9 <|@ | |
0 0 v102 Goto B7 type:Tagged pos:1_9 <|@ | |
end_HIR | |
begin_LIR | |
104 label () () () () [hir:v98] <|@ | |
106 gap () () () () [hir:v98] <|@ | |
108 math-sqrt [xmm1|R]= [xmm2|R] [hir:d99] <|@ | |
110 gap ((0) = [xmm1|R];) () () () [hir:d99] <|@ | |
112 gap () () () () [hir:v102] <|@ | |
114 goto B7 [hir:v102] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B7" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B6" | |
successors | |
xhandlers | |
flags | |
dominator "B6" | |
loop_depth 0 | |
first_lir_id 116 | |
last_lir_id 126 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v103 BlockEntry type:Tagged pos:238 <|@ | |
0 1 t107 Change d99 d to t changes[NewSpacePromotion] pos:238 <|@ | |
0 1 s108 Constant 1 type:Smi pos:238 <|@ | |
0 0 v105 Return t107 (pop s108 values) type:Tagged pos:238 <|@ | |
end_HIR | |
begin_LIR | |
116 label () () () () [hir:v103] <|@ | |
118 gap () () () () [hir:v103] <|@ | |
120 number-tag-d [rbx|R]= [xmm1|R] {[rbx|R]} [hir:t107] <|@ | |
122 gap ((0) = [rbx|R];) ([rax|R] = [rbx|R];) () () [hir:t107] <|@ | |
124 return = [rax|R] NULL [constant:108] [hir:v105] <|@ | |
126 gap () () () () [hir:v105] <|@ | |
end_LIR | |
end_block | |
end_cfg | |
begin_compilation | |
name "loop" | |
method "loop:9" | |
date 1432500821000 | |
end_compilation | |
begin_cfg | |
name "Z_Code generation" | |
begin_block | |
name "B0" | |
from_bci -1 | |
to_bci -1 | |
predecessors | |
successors "B1" | |
xhandlers | |
flags | |
loop_depth 0 | |
first_lir_id 0 | |
last_lir_id 18 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v0 BlockEntry type:Tagged <|@ | |
0 1 i166 Constant 1 type:Smi <|@ | |
0 1 t15 Constant 0x72389304161 <true> [map 0x371978044c9] <|@ | |
0 4 t5 Constant 0x72389304121 <undefined> [map 0x371978043c1] <|@ | |
0 3 t1 Context type:Tagged <|@ | |
0 3 t2 Parameter 0 type:Tagged <|@ | |
0 3 t3 Parameter 1 type:Tagged <|@ | |
0 0 t4 ArgumentsObject t2 t3 type:Tagged <|@ | |
0 0 v6 Simulate id=2 var[4] = t5, var[3] = t5, var[2] = t1, var[1] = t3, var[0] = t2 type:Tagged <|@ | |
0 0 v7 Goto B1 type:Tagged <|@ | |
end_HIR | |
begin_LIR | |
0 label () () () () [hir:v0] <|@ | |
2 gap () () () () [hir:v0] <|@ | |
4 context [rax|R]= [hir:t1] <|@ | |
6 gap ([stack:2] = [rax|R];) () () () [hir:t1] <|@ | |
8 parameter [stack:-2]= [hir:t2] <|@ | |
10 gap () ([stack:-2];) () () [hir:t2] <|@ | |
12 parameter [stack:-1]= [hir:t3] <|@ | |
14 gap () ([stack:-1];) () () [hir:t3] <|@ | |
16 gap () () () () [hir:v7] <|@ | |
18 goto B1 [hir:v7] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B1" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B0" | |
successors "B3" "B2" | |
xhandlers | |
flags | |
dominator "B0" | |
loop_depth 0 | |
first_lir_id 20 | |
last_lir_id 34 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v8 BlockEntry type:Tagged <|@ | |
0 0 v9 Simulate id=3 type:Tagged <|@ | |
0 0 v10 StackCheck t1 changes[NewSpacePromotion] type:Tagged <|@ | |
0 3 i11 Constant 0 type:Smi pos:18 <|@ | |
0 0 v16 Branch t15 goto (B3, B2) (None) type:Tagged pos:23 <|@ | |
end_HIR | |
begin_LIR | |
20 label () () () () [hir:v8] <|@ | |
22 gap () ([rsi|R] = [rax|R];) () () [hir:v8] <|@ | |
24 stack-check = [rsi|R] [id=3|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:2];[constant:5];[constant:5]] {[rsi|R];[stack:2]} [hir:v10] <|@ | |
26 gap () () () () [hir:v10] <|@ | |
28 lazy-bailout = [id=3|deopt_id=0|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:2];[constant:5];[constant:5]] [hir:v10] <|@ | |
30 gap () () () () [hir:v10] <|@ | |
32 gap () () () () [hir:v16] <|@ | |
34 goto B3 [hir:v16] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B2" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B1" | |
successors "B4" | |
xhandlers | |
flags "osr" | |
dominator "B1" | |
loop_depth 0 | |
first_lir_id 36 | |
last_lir_id 78 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v20 BlockEntry type:Tagged pos:23 <|@ | |
0 2 t21 UnknownOSRValue parameter @ 0 type:Tagged pos:23 <|@ | |
0 2 t22 UnknownOSRValue parameter @ 1 type:Tagged pos:23 <|@ | |
0 1 t23 UnknownOSRValue special @ 2 type:Tagged pos:23 <|@ | |
0 2 t24 UnknownOSRValue local @ 3 type:Tagged pos:23 <|@ | |
0 2 t25 UnknownOSRValue local @ 4 type:Tagged pos:23 <|@ | |
0 0 v26 Simulate id=22 var[4] = t25, var[3] = t24, var[2] = t23, var[1] = t22, var[0] = t21 type:Tagged pos:23 <|@ | |
0 0 v27 OsrEntry changes[NewSpacePromotion,OsrEntries] type:Tagged pos:23 <|@ | |
0 2 t28 Context type:Tagged pos:23 <|@ | |
0 0 v29 Simulate id=20 var[2] = t28 type:Tagged pos:23 <|@ | |
0 1 d177 Change t24 t to d type:TaggedNumber pos:23 <|@ | |
0 1 i178 Change t25 t to i type:TaggedNumber pos:23 <|@ | |
0 0 v30 Goto B4 type:Tagged pos:23 <|@ | |
end_HIR | |
begin_LIR | |
36 label () () () () [hir:v20] <|@ | |
38 gap () () () () [hir:v20] <|@ | |
40 unknown-osr-value [stack:-2]= [hir:t21] <|@ | |
42 gap () ([stack:-2];) () () [hir:t21] <|@ | |
44 unknown-osr-value [stack:-1]= [hir:t22] <|@ | |
46 gap () ([stack:-1];) () () [hir:t22] <|@ | |
48 unknown-osr-value [stack:-1]= [hir:t23] <|@ | |
50 gap () ([stack:-1];) () () [hir:t23] <|@ | |
52 unknown-osr-value [stack:0]= [hir:t24] <|@ | |
54 gap () ([stack:0];) () () [hir:t24] <|@ | |
56 unknown-osr-value [stack:1]= [hir:t25] <|@ | |
58 gap () ([stack:1];) () () [hir:t25] <|@ | |
60 osr-entry = [id=22|deopt_id=1|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[stack:-1];[stack:0];[stack:1]] [hir:v27] <|@ | |
62 gap () () () () [hir:v27] <|@ | |
64 context [rax|R]= [hir:t28] <|@ | |
66 gap ((0) = [rax|R];) () ([rbx|R] = [stack:0];) () [hir:t28] <|@ | |
68 double-untag [xmm2|R]= [rbx|R] [id=20|deopt_id=2|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[rax|R];[rbx|R];[stack:1]] [hir:d177] <|@ | |
70 gap ((0) = [xmm2|R];) ([rdx|R] = [stack:1];) () () [hir:d177] <|@ | |
72 tagged-to-i [rdx|R]= [rdx|R] [id=20|deopt_id=6|parameters=2|arguments_stack_height=0|[stack:-2];[stack:-1];[rax|R];[rbx|R];[stack:1]] [hir:i178] <|@ | |
74 gap ((0) = [rdx|R];) () () () [hir:i178] <|@ | |
76 gap () ([rcx|R] = [stack:-2]; [rdx|R] = [stack:-1]; [rbx|R] = [rax|R]; [xmm1|R] = [xmm2|R]; [rax|R] = [rdx|R];) () () [hir:v30] <|@ | |
78 goto B4 [hir:v30] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B3" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B1" | |
successors "B4" | |
xhandlers | |
flags | |
dominator "B1" | |
loop_depth 0 | |
first_lir_id 80 | |
last_lir_id 90 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v17 BlockEntry type:Tagged pos:23 <|@ | |
0 0 v18 Simulate id=20 var[4] = i11, var[3] = i11 type:Tagged pos:23 <|@ | |
0 1 d176 Constant 0 type:Smi pos:23 <|@ | |
0 0 v19 Goto B4 type:Tagged pos:23 <|@ | |
end_HIR | |
begin_LIR | |
80 label () () () () [hir:v17] <|@ | |
82 gap () () () () [hir:v17] <|@ | |
84 constant-d [xmm1|R]= [hir:d176] <|@ | |
86 gap ((0) = [xmm1|R];) () () () [hir:d176] <|@ | |
88 gap () ([rcx|R] = [stack:-2]; [rdx|R] = [stack:-1]; [rbx|R] = [stack:2]; [xmm1|R]; [rax|R] = [constant:11];) () () [hir:v19] <|@ | |
90 goto B4 [hir:v19] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B4" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B3" "B2" | |
successors "B5" | |
xhandlers | |
flags | |
dominator "B1" | |
loop_depth 0 | |
first_lir_id 92 | |
last_lir_id 138 | |
begin_states | |
begin_locals | |
size 5 | |
method "None" | |
0 t31 [ t2 t21 uses:0_0s_0i_0d_0t type:Tagged] | |
1 t32 [ t3 t22 uses:21_0s_0i_0d_0t type:Tagged] | |
2 t33 [ t1 t28 uses:4_0s_0i_0d_2t type:Tagged] | |
3 d34 [ d176 d177 uses:1_0s_0i_1d_0t type:TaggedNumber] | |
4 i35 [ i11 i178 uses:1_2s_0i_0d_0t type:TaggedNumber] | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v41 BlockEntry type:Tagged pos:23 <|@ | |
0 0 v42 Simulate id=20 type:Tagged pos:23 <|@ | |
0 1 i47 Constant 100000 type:Smi pos:43 <|@ | |
0 1 t59 Constant 0x19d452643261 <JS Function len (SharedFunctionInfo 0x19d452642c89)> pos:60 <|@ | |
0 2 t61 Constant 0x19d4526455d9 <JS Global Object> [map 0x3719780bf81] pos:60 <|@ | |
0 7 t62 Constant 0x72389374189 <FixedArray[115]> pos:1_0 <|@ | |
0 0 t66 CheckHeapObject t32 pos:1_247 <|@ | |
0 0 t67 CheckMaps t32 [0x591d200e399,0x591d200e3f1] pos:1_247 <|@ | |
0 2 t68 Constant 0x19d4526b21f1 <an Object with map 0x591d200e291> [map 0x591d200e291] pos:1_247 <|@ | |
0 0 t69 CheckMaps t68 [0x591d200e291](stability-check) pos:1_247 <|@ | |
0 1 t70 Constant 0x19d452643469 <JS Function Vec2.len (SharedFunctionInfo 0x19d452642ee9)> pos:1_247 <|@ | |
0 3 t75 Constant 0x72389394509 <a MathConstructor with map 0x3719780a3a9> [map 0x3719780a3a9] pos:2_16 <|@ | |
0 0 t76 CheckMaps t75 [0x3719780a3a9](stability-check) pos:2_21 <|@ | |
0 1 t77 Constant 0x72389394c31 <JS Function sqrt (SharedFunctionInfo 0x7238934adb9)> [map 0x371978069e9] pos:2_21 <|@ | |
0 1 t82 Constant 0x19d452643421 <JS Function Vec2.len2 (SharedFunctionInfo 0x19d452642e59)> pos:2_31 <|@ | |
0 4 d96 LoadNamedField t32._x[in-object]@24 type:Tagged pos:4_16 <|@ | |
0 3 d115 Mul d96 d96 ! type:TaggedNumber pos:3_23 <|@ | |
0 4 d126 LoadNamedField t32._y[in-object]@32 type:Tagged pos:6_16 <|@ | |
0 2 d145 Mul d126 d126 ! type:TaggedNumber pos:3_41 <|@ | |
0 2 d147 Add d115 d145 ! type:TaggedNumber pos:3_32 <|@ | |
0 3 d153 UnaryMathOperation sqrt d147 type:TaggedNumber pos:2_21 <|@ | |
0 0 v43 Goto B5 type:Tagged pos:23 <|@ | |
end_HIR | |
begin_LIR | |
92 label () ((0) = [rcx|R]; (0) = [rdx|R]; (0) = [rbx|R]; (0) = [xmm1|R]; (0) = [rax|R];) () () [hir:v41] <|@ | |
94 gap () () () () [hir:v41] <|@ | |
96 check-non-smi = [rdx|R] [id=20|deopt_id=3|parameters=2|arguments_stack_height=0|[rcx|R];[rdx|R];[rbx|R];[xmm1|R];[rax|R]] [hir:t66] <|@ | |
98 gap () () () () [hir:t66] <|@ | |
100 check-maps = [rdx|R] [id=20|deopt_id=4|parameters=2|arguments_stack_height=0|[rcx|R];[rdx|R];[rbx|R];[xmm1|R];[rax|R]] [hir:t67] <|@ | |
102 gap () () () () [hir:t67] <|@ | |
104 check-maps = NULL [hir:t69] <|@ | |
106 gap () () () () [hir:t69] <|@ | |
108 check-maps = NULL [hir:t76] <|@ | |
110 gap () () () () [hir:t76] <|@ | |
112 load-named-field [xmm2|R]= [rdx|R] [hir:d96] <|@ | |
114 gap ((0) = [xmm2|R];) ([xmm3|R] = [xmm2|R];) () () [hir:d96] <|@ | |
116 mul-d [xmm3|R]= [xmm3|R] [xmm2|R] [hir:d115] <|@ | |
118 gap ((0) = [xmm3|R];) () () () [hir:d115] <|@ | |
120 load-named-field [xmm2|R]= [rdx|R] [hir:d126] <|@ | |
122 gap ((0) = [xmm2|R];) ([xmm4|R] = [xmm2|R];) () () [hir:d126] <|@ | |
124 mul-d [xmm4|R]= [xmm4|R] [xmm2|R] [hir:d145] <|@ | |
126 gap ((0) = [xmm4|R];) ([xmm3|R];) () () [hir:d145] <|@ | |
128 add-d [xmm3|R]= [xmm3|R] [xmm4|R] [hir:d147] <|@ | |
130 gap ((0) = [xmm3|R];) () () () [hir:d147] <|@ | |
132 math-sqrt [xmm2|R]= [xmm3|R] [hir:d153] <|@ | |
134 gap ((0) = [xmm2|R];) () () () [hir:d153] <|@ | |
136 gap () ([xmm1|R]; [rax|R];) () () [hir:v43] <|@ | |
138 goto B5 [hir:v43] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B5" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B4" "B14" | |
successors "B6" "B15" | |
xhandlers | |
flags "dom-loop-succ" | |
dominator "B4" | |
loop_depth 1 | |
first_lir_id 140 | |
last_lir_id 146 | |
begin_states | |
begin_locals | |
size 2 | |
method "None" | |
3 d39 [ d34 d162 uses:3_0s_0i_1d_0t type:TaggedNumber] | |
4 i40 [ i35 i167 uses:2_2s_0i_0d_0t type:TaggedNumber] | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v44 BlockEntry type:Tagged pos:39 <|@ | |
0 0 i48 CompareNumericAndBranch LT i40 i47 goto (B6, B15) type:Tagged pos:41 <|@ | |
end_HIR | |
begin_LIR | |
140 label () ((0) = [xmm1|R]; (0) = [rax|R];) () () [hir:v44] <|@ | |
142 gap () () () () [hir:v44] <|@ | |
144 gap () () () () [hir:i48] <|@ | |
146 compare-numeric-and-branch if [rax|R] < [constant:47] then B6 else B15 [hir:i48] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B6" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B5" | |
successors "B7" | |
xhandlers | |
flags "dom-loop-succ" | |
dominator "B5" | |
loop_depth 1 | |
first_lir_id 148 | |
last_lir_id 154 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v49 BlockEntry type:Tagged pos:41 <|@ | |
0 0 v50 Simulate id=24 type:Tagged pos:41 <|@ | |
0 0 v51 Goto B7 type:Tagged pos:41 <|@ | |
end_HIR | |
begin_LIR | |
148 label () () () () Dead block replaced with B7 [hir:v49] <|@ | |
150 gap () () () () [hir:v49] <|@ | |
152 gap () () () () [hir:v51] <|@ | |
154 goto B7 [hir:v51] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B7" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B6" | |
successors "B8" | |
xhandlers | |
flags "dom-loop-succ" | |
dominator "B6" | |
loop_depth 1 | |
first_lir_id 156 | |
last_lir_id 166 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v55 BlockEntry type:Tagged pos:23 <|@ | |
0 0 v56 Simulate id=24 type:Tagged pos:23 <|@ | |
0 0 v57 StackCheck t33 changes[NewSpacePromotion] type:Tagged pos:23 <|@ | |
0 0 t63 ArgumentsObject t61 t32 type:Tagged pos:1_0 <|@ | |
0 0 v64 Simulate id=-1 var[3] = t5, push d39, push t59, push t61, push t32 type:Tagged pos:1_0 <|@ | |
0 0 v65 EnterInlined len type:Tagged pos:1_0 <|@ | |
0 0 t72 ArgumentsObject t32 type:Tagged pos:2_0 <|@ | |
0 0 v73 Simulate id=-1 var[2] = t62, push t70, push t32 type:Tagged pos:2_0 <|@ | |
0 0 v74 EnterInlined Vec2.len type:Tagged pos:2_0 <|@ | |
0 0 t84 ArgumentsObject t32 type:Tagged pos:3_0 <|@ | |
0 0 v85 Simulate id=-1 var[1] = t62, push t77, push t75, push t82, push t32 type:Tagged pos:3_0 <|@ | |
0 0 v86 EnterInlined Vec2.len2 type:Tagged pos:3_0 <|@ | |
0 0 t92 ArgumentsObject t32 type:Tagged pos:4_0 <|@ | |
0 0 v93 Simulate id=-1 var[1] = t62, push t32 type:Tagged pos:4_0 <|@ | |
0 0 v94 EnterInlined x type:Tagged pos:4_0 <|@ | |
0 0 v97 LeaveInlined type:Tagged pos:4_5 <|@ | |
0 0 v98 Simulate id=12 push d96 type:Tagged pos:4_5 <|@ | |
0 0 v99 Goto B8 type:Tagged pos:4_5 <|@ | |
end_HIR | |
begin_LIR | |
156 label () () () () [hir:v55] <|@ | |
158 gap () () () () [hir:v55] <|@ | |
160 stack-check = [rbx|R] [id=24|deopt_id=5|parameters=2|arguments_stack_height=0|[rcx|R];[rdx|R];[rbx|R];[xmm1|R];[rax|R]] {[rcx|R];[rdx|R];[rbx|R]} [hir:v57] <|@ | |
162 gap () () () () [hir:v57] <|@ | |
164 gap () () () () [hir:v99] <|@ | |
166 goto B8 [hir:v99] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B8" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B7" | |
successors "B9" | |
xhandlers | |
flags "dom-loop-succ" | |
dominator "B7" | |
loop_depth 1 | |
first_lir_id 168 | |
last_lir_id 174 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v100 BlockEntry type:Tagged pos:3_29 <|@ | |
0 0 t106 ArgumentsObject t32 type:Tagged pos:5_0 <|@ | |
0 0 v107 Simulate id=-1 push t32 type:Tagged pos:5_0 <|@ | |
0 0 v108 EnterInlined x type:Tagged pos:5_0 <|@ | |
0 0 v111 LeaveInlined type:Tagged pos:5_5 <|@ | |
0 0 v112 Simulate id=21 push d96 type:Tagged pos:5_5 <|@ | |
0 0 v113 Goto B9 type:Tagged pos:5_5 <|@ | |
end_HIR | |
begin_LIR | |
168 label () () () () Dead block replaced with B9 [hir:v100] <|@ | |
170 gap () () () () [hir:v100] <|@ | |
172 gap () () () () [hir:v113] <|@ | |
174 goto B9 [hir:v113] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B9" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B8" | |
successors "B10" | |
xhandlers | |
flags "dom-loop-succ" | |
dominator "B8" | |
loop_depth 1 | |
first_lir_id 176 | |
last_lir_id 182 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v114 BlockEntry type:Tagged pos:3_23 <|@ | |
0 0 v116 Simulate id=8 pop 2 / push d115 type:Tagged pos:3_23 <|@ | |
0 0 t122 ArgumentsObject t32 type:Tagged pos:6_0 <|@ | |
0 0 v123 Simulate id=-1 pop 1 / push d115, push t32 type:Tagged pos:6_0 <|@ | |
0 0 v124 EnterInlined y type:Tagged pos:6_0 <|@ | |
0 0 v127 LeaveInlined type:Tagged pos:6_5 <|@ | |
0 0 v128 Simulate id=34 push d126 type:Tagged pos:6_5 <|@ | |
0 0 v129 Goto B10 type:Tagged pos:6_5 <|@ | |
end_HIR | |
begin_LIR | |
176 label () () () () Dead block replaced with B10 [hir:v114] <|@ | |
178 gap () () () () [hir:v114] <|@ | |
180 gap () () () () [hir:v129] <|@ | |
182 goto B10 [hir:v129] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B10" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B9" | |
successors "B11" | |
xhandlers | |
flags "dom-loop-succ" | |
dominator "B9" | |
loop_depth 1 | |
first_lir_id 184 | |
last_lir_id 190 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v130 BlockEntry type:Tagged pos:3_47 <|@ | |
0 0 t136 ArgumentsObject t32 type:Tagged pos:7_0 <|@ | |
0 0 v137 Simulate id=-1 push t32 type:Tagged pos:7_0 <|@ | |
0 0 v138 EnterInlined y type:Tagged pos:7_0 <|@ | |
0 0 v141 LeaveInlined type:Tagged pos:7_5 <|@ | |
0 0 v142 Simulate id=43 push d126 type:Tagged pos:7_5 <|@ | |
0 0 v143 Goto B11 type:Tagged pos:7_5 <|@ | |
end_HIR | |
begin_LIR | |
184 label () () () () Dead block replaced with B11 [hir:v130] <|@ | |
186 gap () () () () [hir:v130] <|@ | |
188 gap () () () () [hir:v143] <|@ | |
190 goto B11 [hir:v143] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B11" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B10" | |
successors "B12" | |
xhandlers | |
flags "dom-loop-succ" | |
dominator "B10" | |
loop_depth 1 | |
first_lir_id 192 | |
last_lir_id 198 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v144 BlockEntry type:Tagged pos:3_41 <|@ | |
0 0 v146 Simulate id=30 pop 2 / push d145 type:Tagged pos:3_41 <|@ | |
0 0 v149 LeaveInlined type:Tagged pos:3_9 <|@ | |
0 0 v150 Simulate id=17 pop 1 / push d147 type:Tagged pos:3_9 <|@ | |
0 0 v151 Goto B12 type:Tagged pos:3_9 <|@ | |
end_HIR | |
begin_LIR | |
192 label () () () () Dead block replaced with B12 [hir:v144] <|@ | |
194 gap () () () () [hir:v144] <|@ | |
196 gap () () () () [hir:v151] <|@ | |
198 goto B12 [hir:v151] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B12" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B11" | |
successors "B13" | |
xhandlers | |
flags "dom-loop-succ" | |
dominator "B11" | |
loop_depth 1 | |
first_lir_id 200 | |
last_lir_id 206 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v152 BlockEntry type:Tagged pos:2_21 <|@ | |
0 0 v154 LeaveInlined type:Tagged pos:2_9 <|@ | |
0 0 v155 Simulate id=4 pop 1 / push d153 type:Tagged pos:2_9 <|@ | |
0 0 v156 Goto B13 type:Tagged pos:2_9 <|@ | |
end_HIR | |
begin_LIR | |
200 label () () () () Dead block replaced with B13 [hir:v152] <|@ | |
202 gap () () () () [hir:v152] <|@ | |
204 gap () () () () [hir:v156] <|@ | |
206 goto B13 [hir:v156] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B13" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B12" | |
successors "B14" | |
xhandlers | |
flags "dom-loop-succ" | |
dominator "B12" | |
loop_depth 1 | |
first_lir_id 208 | |
last_lir_id 214 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v157 BlockEntry type:Tagged pos:1_238 <|@ | |
0 0 v158 LeaveInlined type:Tagged pos:1_238 <|@ | |
0 0 v159 Simulate id=73 pop 1 / push d153 type:Tagged pos:1_238 <|@ | |
0 0 v160 Goto B14 type:Tagged pos:1_238 <|@ | |
end_HIR | |
begin_LIR | |
208 label () () () () Dead block replaced with B14 [hir:v157] <|@ | |
210 gap () () () () [hir:v157] <|@ | |
212 gap () () () () [hir:v160] <|@ | |
214 goto B14 [hir:v160] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B14" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B13" | |
successors "B5" | |
xhandlers | |
flags "dom-loop-succ" | |
dominator "B13" | |
loop_depth 1 | |
first_lir_id 216 | |
last_lir_id 230 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v161 BlockEntry type:Tagged pos:58 <|@ | |
0 3 d162 Add d39 d153 ! type:TaggedNumber pos:58 <|@ | |
0 0 v163 Simulate id=57 pop 2 / push d162 type:Tagged pos:58 <|@ | |
0 2 i167 Add i40 i166 type:TaggedNumber pos:49 <|@ | |
0 0 v169 Simulate id=20 pop 1 / var[4] = i167, var[3] = d162 type:Tagged pos:23 <|@ | |
0 0 v170 Goto B5 type:Tagged pos:23 <|@ | |
end_HIR | |
begin_LIR | |
216 label () () () () [hir:v161] <|@ | |
218 gap () ([xmm1|R];) () () [hir:v161] <|@ | |
220 add-d [xmm1|R]= [xmm1|R] [xmm2|R] [hir:d162] <|@ | |
222 gap ((0) = [xmm1|R];) () () () [hir:d162] <|@ | |
224 add-i [rax|R]= [rax|R] [constant:166] [hir:i167] <|@ | |
226 gap ((0) = [rax|R];) () () () [hir:i167] <|@ | |
228 gap () ([xmm1|R]; [rax|R];) () () [hir:v170] <|@ | |
230 goto B5 [hir:v170] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B15" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B5" | |
successors "B16" | |
xhandlers | |
flags | |
dominator "B5" | |
loop_depth 0 | |
first_lir_id 232 | |
last_lir_id 238 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v52 BlockEntry type:Tagged pos:41 <|@ | |
0 0 v53 Simulate id=21 var[4] = t5 type:Tagged pos:41 <|@ | |
0 0 v54 Goto B16 type:Tagged pos:41 <|@ | |
end_HIR | |
begin_LIR | |
232 label () () () () Dead block replaced with B16 [hir:v52] <|@ | |
234 gap () () () () [hir:v52] <|@ | |
236 gap () () () () [hir:v54] <|@ | |
238 goto B16 [hir:v54] <|@ | |
end_LIR | |
end_block | |
begin_block | |
name "B16" | |
from_bci -1 | |
to_bci -1 | |
predecessors "B15" | |
successors | |
xhandlers | |
flags | |
dominator "B15" | |
loop_depth 0 | |
first_lir_id 240 | |
last_lir_id 250 | |
begin_states | |
begin_locals | |
size 0 | |
method "None" | |
end_locals | |
end_states | |
begin_HIR | |
0 0 v171 BlockEntry type:Tagged pos:77 <|@ | |
0 1 t179 Change d39 d to t changes[NewSpacePromotion] pos:70 <|@ | |
0 1 s180 Constant 1 type:Smi pos:70 <|@ | |
0 0 v174 Return t179 (pop s180 values) type:Tagged pos:70 <|@ | |
end_HIR | |
begin_LIR | |
240 label () () () () [hir:v171] <|@ | |
242 gap () () () () [hir:v171] <|@ | |
244 number-tag-d [rbx|R]= [xmm1|R] {[rbx|R]} [hir:t179] <|@ | |
246 gap ((0) = [rbx|R];) ([rax|R] = [rbx|R];) () () [hir:t179] <|@ | |
248 return = [rax|R] NULL [constant:180] [hir:v174] <|@ | |
250 gap () () () () [hir:v174] <|@ | |
end_LIR | |
end_block | |
end_cfg |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment